> ## Documentation Index
> Fetch the complete documentation index at: https://resources.latex-cloud-studio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Creating Presentations with Beamer - Complete Guide

> Create LaTeX presentations with Beamer. Learn slides, themes, animations, overlays, and professional techniques with examples.

export const RenderedOutput = ({title = "Rendered output", ctaHref, ctaLabel = "Open LaTeX Cloud Studio", children}) => {
  const [isExpanded, setIsExpanded] = useState(false);
  const trackEditorCta = () => {
    const target = new URL(ctaHref, window.location.href);
    globalThis.posthog?.capture?.("docs_app_cta_clicked", {
      source_page: window.location.pathname,
      source_section: "rendered_output",
      cta_variant: "first_compiled_example",
      target_url: target.toString(),
      target_utm_source: target.searchParams.get("utm_source"),
      target_utm_medium: target.searchParams.get("utm_medium"),
      target_utm_campaign: target.searchParams.get("utm_campaign"),
      target_utm_content: target.searchParams.get("utm_content")
    }, {
      transport: "sendBeacon",
      send_instantly: true
    });
  };
  return <details className="rendered-output" onToggle={event => setIsExpanded(event.currentTarget.open)}>
      <summary className="rendered-output__summary">
        <span className="rendered-output__title">{title}</span>
        <span className="rendered-output__hint" aria-hidden="true">View compiled result</span>
      </summary>
      {isExpanded && <div className="rendered-output__content">
          {children}
          {ctaHref && <aside className="rendered-output__cta" aria-label="Continue in the LaTeX editor">
              <span>
                <strong>Ready to use this syntax?</strong>
                Continue in the browser editor when you want to adapt the example in a real project.
              </span>
              <a href={ctaHref} onClick={trackEditorCta}>{ctaLabel}<span aria-hidden="true"> →</span></a>
            </aside>}
        </div>}
    </details>;
};

export const LatexSource = ({filename, source}) => {
  const [copyStatus, setCopyStatus] = useState("Copy");
  const copySource = async () => {
    try {
      await navigator.clipboard.writeText(source);
      setCopyStatus("Copied");
    } catch {
      setCopyStatus("Select and copy");
    }
  };
  return <figure className="latex-source">
      <figcaption className="latex-source__header">
        <span className="latex-source__filename">{filename}</span>
        <button type="button" className="latex-source__copy" onClick={copySource} aria-live="polite">
          {copyStatus}
        </button>
      </figcaption>
      <pre className="latex-source__pre" aria-label={`LaTeX source: ${filename}`} tabIndex="0">
        <code className="language-latex">{source}</code>
      </pre>
    </figure>;
};

export const LatexPreview = ({src, alt, caption, width, height}) => {
  const minZoom = 1;
  const maxZoom = 3;
  const zoomStep = 0.5;
  const measureSvgContent = async (assetSrc, pageWidth, pageHeight) => {
    const cacheKey = "__latexCloudSvgContentBoxCache";
    const contentBoxCache = globalThis[cacheKey] ?? new Map();
    globalThis[cacheKey] = contentBoxCache;
    if (contentBoxCache.has(assetSrc)) return contentBoxCache.get(assetSrc);
    const measurement = (async () => {
      const assetUrl = new URL(assetSrc, window.location.href);
      if (assetUrl.origin !== window.location.origin) {
        throw new Error("Rendered output must use a same-origin SVG asset.");
      }
      const response = await fetch(assetUrl, {
        credentials: "same-origin"
      });
      if (!response.ok) throw new Error(`Rendered output request failed with ${response.status}.`);
      const source = await response.text();
      const documentNode = new DOMParser().parseFromString(source, "image/svg+xml");
      if (documentNode.querySelector("parsererror")) throw new Error("Rendered output is not valid SVG.");
      const sourceSvg = documentNode.documentElement;
      sourceSvg.querySelectorAll("script, foreignObject").forEach(node => node.remove());
      [sourceSvg, ...sourceSvg.querySelectorAll("*")].forEach(node => {
        [...node.attributes].forEach(attribute => {
          if ((/^on/i).test(attribute.name)) node.removeAttribute(attribute.name);
          if ((attribute.name === "href" || attribute.name === "xlink:href") && !attribute.value.startsWith("#")) {
            node.removeAttribute(attribute.name);
          }
        });
      });
      const measurementHost = document.createElement("div");
      measurementHost.className = "latex-preview__measurement-host";
      const measuredSvg = document.importNode(sourceSvg, true);
      measuredSvg.setAttribute("aria-hidden", "true");
      measurementHost.appendChild(measuredSvg);
      document.body.appendChild(measurementHost);
      try {
        const measuredElements = [...measuredSvg.children].filter(node => !["defs", "desc", "metadata", "style", "title"].includes(node.tagName.toLowerCase()));
        const elementBounds = measuredElements.map(node => node.getBBox()).filter(box => [box.x, box.y, box.width, box.height].every(Number.isFinite) && box.width > 0 && box.height > 0);
        if (elementBounds.length === 0) {
          throw new Error("Rendered output has no measurable visible content.");
        }
        const sortedBounds = [...elementBounds].sort((left, right) => left.y - right.y);
        const clusterGap = pageHeight * 0.045;
        const clusters = [];
        sortedBounds.forEach(box => {
          const current = clusters[clusters.length - 1];
          if (!current || box.y - current.bottom > clusterGap) {
            clusters.push({
              boxes: [box],
              bottom: box.y + box.height
            });
            return;
          }
          current.boxes.push(box);
          current.bottom = Math.max(current.bottom, box.y + box.height);
        });
        const contentClusters = clusters.filter(cluster => {
          const clusterBox = cluster.boxes.reduce((combined, box) => {
            const right = Math.max(combined.x + combined.width, box.x + box.width);
            const bottom = Math.max(combined.y + combined.height, box.y + box.height);
            const x = Math.min(combined.x, box.x);
            const y = Math.min(combined.y, box.y);
            return {
              x,
              y,
              width: right - x,
              height: bottom - y
            };
          });
          const centerY = clusterBox.y + clusterBox.height / 2;
          const isMarginFurniture = cluster.boxes.length <= 2 && clusterBox.width < pageWidth * 0.2 && clusterBox.height < pageHeight * 0.04 && (centerY < pageHeight * 0.08 || centerY > pageHeight * 0.8);
          return !isMarginFurniture;
        });
        const visibleBounds = (contentClusters.length > 0 ? contentClusters : clusters).flatMap(cluster => cluster.boxes);
        const bounds = visibleBounds.reduce((combined, box) => {
          const right = Math.max(combined.x + combined.width, box.x + box.width);
          const bottom = Math.max(combined.y + combined.height, box.y + box.height);
          const x = Math.min(combined.x, box.x);
          const y = Math.min(combined.y, box.y);
          return {
            x,
            y,
            width: right - x,
            height: bottom - y
          };
        });
        const clampValue = (value, minimum, maximum) => Math.min(maximum, Math.max(minimum, value));
        const padding = Math.max(8, Math.min(pageWidth, pageHeight) * 0.025);
        const x = clampValue(bounds.x - padding, 0, pageWidth);
        const y = clampValue(bounds.y - padding, 0, pageHeight);
        const right = clampValue(bounds.x + bounds.width + padding, 0, pageWidth);
        const bottom = clampValue(bounds.y + bounds.height + padding, 0, pageHeight);
        return {
          x,
          y,
          width: right - x,
          height: bottom - y
        };
      } finally {
        measurementHost.remove();
      }
    })();
    contentBoxCache.set(assetSrc, measurement);
    measurement.catch(() => contentBoxCache.delete(assetSrc));
    return measurement;
  };
  const renderPreviewAsset = ({contentBox: assetContentBox, loading}) => {
    if (!assetContentBox) {
      return <img className="latex-preview__asset" src={src} alt={alt} width={width} height={height} loading={loading} draggable="false" />;
    }
    return <svg className="latex-preview__asset" viewBox={`${assetContentBox.x} ${assetContentBox.y} ${assetContentBox.width} ${assetContentBox.height}`} preserveAspectRatio="xMidYMid meet" role="img" aria-label={alt}>
        <image href={src} x="0" y="0" width={width} height={height} />
      </svg>;
  };
  const [isOpen, setIsOpen] = useState(false);
  const [frameMode, setFrameMode] = useState("content");
  const [viewMode, setViewMode] = useState("fit");
  const [zoom, setZoom] = useState(minZoom);
  const [contentBox, setContentBox] = useState(null);
  const [measurementStatus, setMeasurementStatus] = useState("loading");
  const dialogRef = useRef(null);
  const closeButtonRef = useRef(null);
  const viewportRef = useRef(null);
  const previousFocusRef = useRef(null);
  const dragRef = useRef(null);
  useEffect(() => {
    let isCurrent = true;
    setMeasurementStatus("loading");
    measureSvgContent(src, width, height).then(box => {
      if (!isCurrent) return;
      setContentBox(box);
      setMeasurementStatus("ready");
    }).catch(() => {
      if (!isCurrent) return;
      setContentBox(null);
      setFrameMode("page");
      setMeasurementStatus("error");
    });
    return () => {
      isCurrent = false;
    };
  }, [height, src, width]);
  const closeViewer = useCallback(() => {
    setIsOpen(false);
  }, []);
  const openViewer = () => {
    previousFocusRef.current = document.activeElement;
    setFrameMode(contentBox ? "content" : "page");
    setViewMode("fit");
    setZoom(minZoom);
    setIsOpen(true);
  };
  const applyZoom = useCallback(nextZoom => {
    const boundedZoom = Math.min(maxZoom, Math.max(minZoom, nextZoom));
    setViewMode("custom");
    setZoom(boundedZoom);
  }, []);
  const zoomIn = useCallback(() => {
    applyZoom(viewMode === "fit" ? minZoom + zoomStep : zoom + zoomStep);
  }, [applyZoom, viewMode, zoom]);
  const zoomOut = useCallback(() => {
    applyZoom(viewMode === "fit" ? minZoom : zoom - zoomStep);
  }, [applyZoom, viewMode, zoom]);
  useEffect(() => {
    if (!isOpen) return undefined;
    const previousOverflow = document.body.style.overflow;
    document.body.style.overflow = "hidden";
    closeButtonRef.current?.focus();
    return () => {
      document.body.style.overflow = previousOverflow;
      previousFocusRef.current?.focus?.();
    };
  }, [isOpen]);
  useEffect(() => {
    if (!isOpen) return undefined;
    const handleKeyDown = event => {
      if (event.key === "Escape") {
        event.preventDefault();
        closeViewer();
        return;
      }
      if ((event.key === "+" || event.key === "=") && !event.metaKey && !event.ctrlKey) {
        event.preventDefault();
        zoomIn();
        return;
      }
      if (event.key === "-" && !event.metaKey && !event.ctrlKey) {
        event.preventDefault();
        zoomOut();
        return;
      }
      if (event.key !== "Tab" || !dialogRef.current) return;
      const focusable = [...dialogRef.current.querySelectorAll('button:not([disabled]), a[href], [tabindex]:not([tabindex="-1"])')];
      if (focusable.length === 0) return;
      const first = focusable[0];
      const last = focusable[focusable.length - 1];
      if (event.shiftKey && document.activeElement === first) {
        event.preventDefault();
        last.focus();
      } else if (!event.shiftKey && document.activeElement === last) {
        event.preventDefault();
        first.focus();
      }
    };
    window.addEventListener("keydown", handleKeyDown);
    return () => {
      window.removeEventListener("keydown", handleKeyDown);
    };
  }, [closeViewer, isOpen, zoomIn, zoomOut]);
  const startDrag = event => {
    if (event.button !== 0 || !viewportRef.current) return;
    const viewport = viewportRef.current;
    dragRef.current = {
      pointerId: event.pointerId,
      x: event.clientX,
      y: event.clientY,
      scrollLeft: viewport.scrollLeft,
      scrollTop: viewport.scrollTop
    };
    viewport.setPointerCapture(event.pointerId);
    viewport.dataset.dragging = "true";
  };
  const continueDrag = event => {
    const drag = dragRef.current;
    const viewport = viewportRef.current;
    if (!drag || !viewport || drag.pointerId !== event.pointerId) return;
    viewport.scrollLeft = drag.scrollLeft - (event.clientX - drag.x);
    viewport.scrollTop = drag.scrollTop - (event.clientY - drag.y);
  };
  const stopDrag = event => {
    const viewport = viewportRef.current;
    if (viewport?.hasPointerCapture(event.pointerId)) viewport.releasePointerCapture(event.pointerId);
    if (viewport) delete viewport.dataset.dragging;
    dragRef.current = null;
  };
  const activeContentBox = frameMode === "content" ? contentBox : null;
  const activeWidth = activeContentBox?.width ?? width;
  const activeHeight = activeContentBox?.height ?? height;
  const activeRatio = activeWidth / activeHeight;
  const inlineContentBox = measurementStatus === "ready" ? contentBox : null;
  const inlineWidth = inlineContentBox?.width ?? width;
  const inlineHeight = inlineContentBox?.height ?? height;
  const inlineGeometry = {
    aspectRatio: `${inlineWidth} / ${inlineHeight}`,
    maxWidth: `${30 * inlineWidth / inlineHeight}rem`
  };
  const imageStyle = viewMode === "fit" ? {
    aspectRatio: `${activeWidth} / ${activeHeight}`,
    width: "100%",
    maxWidth: `${Math.max(16, activeRatio * 78)}dvh`
  } : {
    aspectRatio: `${activeWidth} / ${activeHeight}`,
    width: `${zoom * 100}%`,
    maxWidth: "none"
  };
  const zoomLabel = viewMode === "fit" ? frameMode === "content" ? "Fit content" : "Full page" : `${Math.round(zoom * 100)}%`;
  return <figure className="latex-preview">
      <button type="button" className="latex-preview__trigger" onClick={openViewer} aria-haspopup="dialog" aria-label={`Open zoomable preview: ${alt}`}>
        <span className="latex-preview__page" style={inlineGeometry}>
          {measurementStatus === "loading" ? <span className="latex-preview__loading" role="status">Preparing compiled output…</span> : renderPreviewAsset({
    src,
    alt,
    width,
    height,
    contentBox: inlineContentBox,
    loading: "lazy"
  })}
        </span>
        <span className="latex-preview__trigger-label" aria-hidden="true">
          <span className="latex-preview__trigger-icon">⌕</span>
          Open viewer
        </span>
      </button>
      <figcaption className="latex-preview__caption">
        <span>
          {caption}
          {measurementStatus === "error" && <span className="latex-preview__status" role="status"> Content fit is unavailable; the complete vector page is shown.</span>}
        </span>
        <a href={src} target="_blank" rel="noreferrer" className="latex-preview__source-link">Open SVG</a>
      </figcaption>

      {isOpen && <div className="latex-preview__backdrop" onMouseDown={event => {
    if (event.target === event.currentTarget) closeViewer();
  }}>
          <section ref={dialogRef} className="latex-preview__dialog" role="dialog" aria-modal="true" aria-label={`Rendered LaTeX viewer: ${alt}`}>
            <header className="latex-preview__toolbar">
              <div className="latex-preview__identity">
                <span className="latex-preview__eyebrow">Compiled LaTeX</span>
                <span className="latex-preview__filename">{alt}</span>
              </div>
              <div className="latex-preview__controls" aria-label="Preview controls">
                <button type="button" className={frameMode === "content" && viewMode === "fit" ? "is-active" : undefined} disabled={!contentBox} onClick={() => {
    setFrameMode("content");
    setViewMode("fit");
    setZoom(minZoom);
  }}>
                  Fit content
                </button>
                <button type="button" className={frameMode === "page" && viewMode === "fit" ? "is-active" : undefined} onClick={() => {
    setFrameMode("page");
    setViewMode("fit");
    setZoom(minZoom);
  }}>
                  Full page
                </button>
                <span className="latex-preview__zoom-group">
                  <button type="button" onClick={zoomOut} disabled={viewMode === "fit" || zoom <= minZoom} aria-label="Zoom out">−</button>
                  <output aria-live="polite" aria-label="Current zoom">{zoomLabel}</output>
                  <button type="button" onClick={zoomIn} disabled={viewMode !== "fit" && zoom >= maxZoom} aria-label="Zoom in">+</button>
                </span>
                <a href={src} target="_blank" rel="noreferrer">Open SVG</a>
                <button ref={closeButtonRef} type="button" className="latex-preview__close" onClick={closeViewer} aria-label="Close rendered LaTeX viewer">
                  Close
                </button>
              </div>
            </header>
            <div ref={viewportRef} className="latex-preview__viewport" data-view-mode={viewMode} onPointerDown={startDrag} onPointerMove={continueDrag} onPointerUp={stopDrag} onPointerCancel={stopDrag}>
              <span className="latex-preview__dialog-page" style={imageStyle}>
                {renderPreviewAsset({
    src,
    alt,
    width,
    height,
    contentBox: activeContentBox
  })}
              </span>
            </div>
            <footer className="latex-preview__viewer-note">
              Compiler-generated vector output · Use +/− to zoom · Drag to pan · Esc to close
            </footer>
          </section>
        </div>}
    </figure>;
};

Create stunning, professional presentations using LaTeX with the Beamer class. This comprehensive guide covers everything from basic slides to advanced animations, custom themes, and conference-ready presentations.

<Info>
  **Quick start**: LaTeX Cloud Studio includes Beamer presentation templates. Select "Presentation" when creating a new project to start with a ready-to-use template.

  **Prerequisites**: Basic LaTeX knowledge. See [Creating Your First Document](/learn/latex/basics/creating-first-document) for LaTeX basics.
</Info>

## Why Use Beamer for Presentations?

### Advantages of LaTeX Presentations

<CardGroup cols={2}>
  <Card title="Consistent Design" icon="palette">
    Professional themes with automatic formatting and consistent typography
  </Card>

  <Card title="Mathematical Excellence" icon="square-root-variable">
    Perfect rendering of equations, formulas, and scientific notation
  </Card>

  <Card title="Version Control" icon="code-branch">
    Plain text format works seamlessly with Git and collaboration tools
  </Card>

  <Card title="Cross-Platform" icon="globe">
    PDF output works everywhere, no compatibility issues
  </Card>
</CardGroup>

### When to Use Beamer

✅ **Perfect for:**

* Academic conferences and seminars
* Technical presentations with equations
* Reproducible research presentations
* Presentations requiring precise formatting
* Multi-author collaborative presentations

❌ **Consider alternatives for:**

* Quick informal presentations
* Heavily design-focused slideshows
* Presentations requiring live editing
* Non-technical audiences expecting flashy animations

## Getting Started with Beamer

### Basic Presentation Structure

<LatexSource filename="basic-presentation.tex" source={"\\documentclass{beamer}\n\n% Theme selection\n\\usetheme{Madrid}\n\\usecolortheme{default}\n\n% Packages\n\\usepackage[utf8]{inputenc}\n\\usepackage{graphicx}\n\\usepackage{amsmath}\n\\usepackage{hyperref}\n\n% Presentation metadata\n\\title{Your Presentation Title}\n\\subtitle{Optional Subtitle}\n\\author{Your Name}\n\\institute{Your Institution}\n\\date{\\today}\n\n% Logo (optional)\n\\logo{\\includegraphics[height=1cm]{logo.png}}\n\n\\begin{document}\n\n% Title slide\n\\frame{\\titlepage}\n\n% Table of contents\n\\begin{frame}\n\\frametitle{Outline}\n\\tableofcontents\n\\end{frame}\n\n% Section 1\n\\section{Introduction}\n\\begin{frame}\n\\frametitle{Introduction}\n\\begin{itemize}\n    \\item First point\n    \\item Second point\n    \\item Third point\n\\end{itemize}\n\\end{frame}\n\n% Section 2\n\\section{Main Content}\n\\begin{frame}\n\\frametitle{Key Concepts}\n\\begin{block}{Definition}\n    A block environment for definitions\n\\end{block}\n\\begin{alertblock}{Important}\n    An alert block for warnings\n\\end{alertblock}\n\\begin{exampleblock}{Example}\n    An example block\n\\end{exampleblock}\n\\end{frame}\n\n\\end{document}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This excerpt depends on project files such as images, bibliography data, or included TeX sources that are not part of this standalone code box. Its exact output is project-specific, so no fabricated preview is shown.
  </Info>
</RenderedOutput>

### Understanding Frame Structure

Each slide in Beamer is called a "frame":

<LatexSource filename="example.tex" source={"\\begin{frame}[options]\n\\frametitle{Slide Title}\n\\framesubtitle{Optional Subtitle}\n% Slide content goes here\n\\end{frame}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This code is a contextual or intentionally partial LaTeX excerpt, not a self-contained compilable document. Its visible result depends on the surrounding document, so the documentation shows the expected role without inventing a standalone preview.
  </Info>
</RenderedOutput>

**Common frame options:**

* `[fragile]` - Required for verbatim content or code
* `[allowframebreaks]` - Allows automatic slide splitting
* `[plain]` - No header/footer (useful for images)
* `[noframenumbering]` - Excludes from slide count
* `[c]` - Center content vertically
* `[t]` - Top-align content (default)

## Beamer Themes and Customization

### Built-in Themes Gallery

<Tabs>
  <Tab title="Presentation Themes">
    <LatexSource filename="example.tex" source={"% Professional themes\n\\usetheme{Berlin}     % Sections in header\n\\usetheme{Madrid}     % Clean and professional\n\\usetheme{AnnArbor}   % Section navigation\n\\usetheme{CambridgeUS} % Red accent\n\\usetheme{Warsaw}     % Blue with navigation\n\n% Minimalist themes\n\\usetheme{default}    % Basic, clean\n\\usetheme{Bergen}     % Simple sidebar\n\\usetheme{Boadilla}   % Minimal decoration\n\n% Conference themes\n\\usetheme{Pittsburgh} % Very minimal\n\\usetheme{Rochester}  % Simple top bar"} />

    <RenderedOutput title="Expected effect">
      <Info>
        This code is a contextual or intentionally partial LaTeX excerpt, not a self-contained compilable document. Its visible result depends on the surrounding document, so the documentation shows the expected role without inventing a standalone preview.
      </Info>
    </RenderedOutput>
  </Tab>

  <Tab title="Color Themes">
    <LatexSource filename="example.tex" source={"% Color theme options\n\\usecolortheme{default}  % Standard colors\n\\usecolortheme{beaver}   % Red accent\n\\usecolortheme{beetle}   % Blue/gray\n\\usecolortheme{crane}    % Orange accent\n\\usecolortheme{dolphin}  % Blue theme\n\\usecolortheme{dove}     % Grayscale\n\\usecolortheme{fly}      % Gray theme\n\\usecolortheme{lily}     % Light blue\n\\usecolortheme{orchid}   % Purple accent\n\\usecolortheme{rose}     % Green accent\n\\usecolortheme{seagull}  % Gray/blue\n\\usecolortheme{seahorse} % Purple/pink\n\\usecolortheme{whale}    % Dark blue\n\\usecolortheme{wolverine} % Yellow/blue"} />

    <RenderedOutput title="Expected effect">
      <Info>
        This code is a contextual or intentionally partial LaTeX excerpt, not a self-contained compilable document. Its visible result depends on the surrounding document, so the documentation shows the expected role without inventing a standalone preview.
      </Info>
    </RenderedOutput>
  </Tab>

  <Tab title="Font Themes">
    <LatexSource filename="example.tex" source={"% Font customization\n\\usefonttheme{default}       % Standard fonts\n\\usefonttheme{serif}         % Serif fonts\n\\usefonttheme{structurebold} % Bold structure\n\\usefonttheme{structureitalicserif} % Italic serif\n\\usefonttheme{structuresmallcapsserif} % Small caps\n\n% Professional math fonts\n\\usefonttheme{professionalfonts}"} />

    <RenderedOutput title="Expected effect">
      <Info>
        This code is a contextual or intentionally partial LaTeX excerpt, not a self-contained compilable document. Its visible result depends on the surrounding document, so the documentation shows the expected role without inventing a standalone preview.
      </Info>
    </RenderedOutput>
  </Tab>
</Tabs>

### Custom Theme Configuration

<LatexSource filename="custom-theme.tex" source={"% Define custom colors\n\\definecolor{customblue}{RGB}{0, 102, 204}\n\\definecolor{customgray}{RGB}{102, 102, 102}\n\\definecolor{customorange}{RGB}{255, 102, 0}\n\n% Apply custom colors\n\\setbeamercolor{title}{fg=white, bg=customblue}\n\\setbeamercolor{frametitle}{fg=white, bg=customblue}\n\\setbeamercolor{structure}{fg=customblue}\n\\setbeamercolor{normal text}{fg=black, bg=white}\n\\setbeamercolor{alerted text}{fg=customorange}\n\\setbeamercolor{example text}{fg=customgray}\n\n% Custom fonts\n\\setbeamerfont{title}{series=\\bfseries, size=\\Large}\n\\setbeamerfont{frametitle}{series=\\bfseries}\n\\setbeamerfont{footnote}{size=\\tiny}\n\n% Remove navigation symbols\n\\setbeamertemplate{navigation symbols}{}\n\n% Custom footer\n\\setbeamertemplate{footline}{\n    \\leavevmode\n    \\hbox{\n        \\begin{beamercolorbox}[wd=.333333\\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}\n            \\usebeamerfont{author in head/foot}\\insertshortauthor\n        \\end{beamercolorbox}\n        \\begin{beamercolorbox}[wd=.333333\\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}\n            \\usebeamerfont{title in head/foot}\\insertshorttitle\n        \\end{beamercolorbox}\n        \\begin{beamercolorbox}[wd=.333333\\paperwidth,ht=2.25ex,dp=1ex,right]{date in head/foot}\n            \\usebeamerfont{date in head/foot}\\insertshortdate{}\\hspace*{2em}\n            \\insertframenumber{} / \\inserttotalframenumber\\hspace*{2ex}\n        \\end{beamercolorbox}\n    }\n    \\vskip0pt\n}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This code is a contextual or intentionally partial LaTeX excerpt, not a self-contained compilable document. Its visible result depends on the surrounding document, so the documentation shows the expected role without inventing a standalone preview.
  </Info>
</RenderedOutput>

## Content Elements and Formatting

### Lists and Enumerations

<LatexSource filename="lists-formatting.tex" source={"\\begin{frame}\n\\frametitle{Types of Lists}\n\n% Bullet points\n\\begin{itemize}\n    \\item First level item\n    \\begin{itemize}\n        \\item Second level item\n        \\begin{itemize}\n            \\item Third level item\n        \\end{itemize}\n    \\end{itemize}\n    \\item<2-> Appears on second click\n    \\item<3-> Appears on third click\n\\end{itemize}\n\n% Numbered lists\n\\begin{enumerate}\n    \\item First numbered item\n    \\item Second numbered item\n    \\begin{enumerate}\n        \\item Nested enumeration\n        \\item Another nested item\n    \\end{enumerate}\n\\end{enumerate}\n\n% Description lists\n\\begin{description}\n    \\item[Term 1] Description of first term\n    \\item[Term 2] Description of second term\n\\end{description}\n\\end{frame}"} />

<RenderedOutput title="Rendered output" ctaHref="https://app.latex-cloud-studio.com/?utm_source=resources&utm_medium=rendered_output&utm_campaign=docs_open_app&utm_content=learn_latex_how_to_presentations">
  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-07/page-1.svg" alt="Compiled PDF page 1 from lists-formatting.tex" caption="Page 1 of 3. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />

  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-07/page-2.svg" alt="Compiled PDF page 2 from lists-formatting.tex" caption="Page 2 of 3. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />

  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-07/page-3.svg" alt="Compiled PDF page 3 from lists-formatting.tex" caption="Page 3 of 3. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />
</RenderedOutput>

### Blocks and Highlighting

<LatexSource filename="blocks-alerts.tex" source={"\\begin{frame}\n\\frametitle{Block Environments}\n\n% Standard block\n\\begin{block}{Standard Block Title}\n    Used for definitions, theorems, or general content that needs emphasis.\n\\end{block}\n\n% Alert block\n\\begin{alertblock}{Warning or Important Information}\n    Use this for critical information, warnings, or important notes.\n\\end{alertblock}\n\n% Example block\n\\begin{exampleblock}{Example or Case Study}\n    Perfect for examples, case studies, or practical applications.\n\\end{exampleblock}\n\n% Custom theorem environment\n\\begin{theorem}[Pythagorean Theorem]\n    For a right triangle: $a^2 + b^2 = c^2$\n\\end{theorem}\n\n% Highlighted text\n\\alert{This text is highlighted}\n\\structure{This text uses structure color}\n\\end{frame}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This code is a contextual or intentionally partial LaTeX excerpt, not a self-contained compilable document. Its visible result depends on the surrounding document, so the documentation shows the expected role without inventing a standalone preview.
  </Info>
</RenderedOutput>

### Columns and Layout

<LatexSource filename="columns-layout.tex" source={"\\begin{frame}\n\\frametitle{Two-Column Layout}\n\n\\begin{columns}[T] % [T] for top alignment\n\\begin{column}{0.5\\textwidth}\n    \\textbf{Left Column}\n    \\begin{itemize}\n        \\item Point 1\n        \\item Point 2\n        \\item Point 3\n    \\end{itemize}\n\\end{column}\n\n\\begin{column}{0.5\\textwidth}\n    \\textbf{Right Column}\n    \\begin{center}\n        \\includegraphics[width=0.8\\textwidth]{image.png}\n    \\end{center}\n\\end{column}\n\\end{columns}\n\n\\vspace{1em}\n\n% Three columns\n\\begin{columns}\n\\begin{column}{0.3\\textwidth}\n    \\centering\n    \\textbf{Column 1}\n\\end{column}\n\\begin{column}{0.3\\textwidth}\n    \\centering\n    \\textbf{Column 2}\n\\end{column}\n\\begin{column}{0.3\\textwidth}\n    \\centering\n    \\textbf{Column 3}\n\\end{column}\n\\end{columns}\n\\end{frame}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This excerpt depends on project files such as images, bibliography data, or included TeX sources that are not part of this standalone code box. Its exact output is project-specific, so no fabricated preview is shown.
  </Info>
</RenderedOutput>

## Animations and Overlays

### Basic Overlay Specifications

<LatexSource filename="overlays-basic.tex" source={"\\begin{frame}\n\\frametitle{Overlay Basics}\n\n% Simple overlays\n\\begin{itemize}\n    \\item<1-> Visible from slide 1 onward\n    \\item<2-> Visible from slide 2 onward\n    \\item<3-> Visible from slide 3 onward\n    \\item<2-3> Visible only on slides 2 and 3\n    \\item<4> Visible only on slide 4\n\\end{itemize}\n\n% Using \\only, \\uncover, \\visible\n\\only<1>{This text appears only on slide 1}\n\\uncover<2->{This text is uncovered from slide 2}\n\\visible<3->{This text is visible from slide 3}\n\n% Alert on specific slides\n\\alert<2>{This text is highlighted on slide 2}\n\n% Dynamic content\n\\only<1>{\\includegraphics[width=5cm]{img1.png}}\n\\only<2>{\\includegraphics[width=5cm]{img2.png}}\n\\only<3>{\\includegraphics[width=5cm]{img3.png}}\n\\end{frame}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This excerpt depends on project files such as images, bibliography data, or included TeX sources that are not part of this standalone code box. Its exact output is project-specific, so no fabricated preview is shown.
  </Info>
</RenderedOutput>

### Advanced Animation Techniques

<LatexSource filename="advanced-animations.tex" source={"\\begin{frame}\n\\frametitle{Progressive Reveal}\n\n% Incremental reveals\n\\begin{itemize}[<+->]\n    \\item First item (appears on click 1)\n    \\item Second item (appears on click 2)\n    \\item Third item (appears on click 3)\n\\end{itemize}\n\n% Replacing content\n\\only<1>{\n    \\begin{block}{Step 1}\n        Initial state of the system\n    \\end{block}\n}\n\\only<2>{\n    \\begin{block}{Step 2}\n        Intermediate transformation\n    \\end{block}\n}\n\\only<3>{\n    \\begin{block}{Step 3}\n        Final result\n    \\end{block}\n}\n\n% Highlighting changes\n\\begin{equation}\n    f(x) = \\alert<2>{a}x^2 + \\alert<3>{b}x + \\alert<4>{c}\n\\end{equation}\n\n\\begin{itemize}\n    \\item<2> \\alert<2>{$a$} controls the curvature\n    \\item<3> \\alert<3>{$b$} affects the slope\n    \\item<4> \\alert<4>{$c$} sets the y-intercept\n\\end{itemize}\n\\end{frame}"} />

<RenderedOutput title="Rendered output">
  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-11/page-1.svg" alt="Compiled PDF page 1 from advanced-animations.tex" caption="Page 1 of 4. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />

  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-11/page-2.svg" alt="Compiled PDF page 2 from advanced-animations.tex" caption="Page 2 of 4. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />

  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-11/page-3.svg" alt="Compiled PDF page 3 from advanced-animations.tex" caption="Page 3 of 4. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />

  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-11/page-4.svg" alt="Compiled PDF page 4 from advanced-animations.tex" caption="Page 4 of 4. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />
</RenderedOutput>

### Transition Effects

<LatexSource filename="transitions.tex" source={"% Frame transitions\n\\begin{frame}[t]\n\\frametitle{Transition Types}\n\\transdissolve<2> % Dissolve transition\n\\transblindshorizontal<3> % Horizontal blinds\n\\transblindsvertical<4> % Vertical blinds\n\\transboxin<5> % Box in\n\\transboxout<6> % Box out\n\\transdissolve<7> % Return to dissolve\n\n\\begin{itemize}\n    \\item<2-> Dissolve effect\n    \\item<3-> Horizontal blinds\n    \\item<4-> Vertical blinds\n    \\item<5-> Box in effect\n    \\item<6-> Box out effect\n    \\item<7-> Back to dissolve\n\\end{itemize}\n\\end{frame}"} />

<RenderedOutput title="Rendered output">
  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-12/page-1.svg" alt="Compiled PDF page 1 from transitions.tex" caption="Page 1 of 7. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />

  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-12/page-2.svg" alt="Compiled PDF page 2 from transitions.tex" caption="Page 2 of 7. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />

  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-12/page-3.svg" alt="Compiled PDF page 3 from transitions.tex" caption="Page 3 of 7. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />

  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-12/page-4.svg" alt="Compiled PDF page 4 from transitions.tex" caption="Page 4 of 7. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />

  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-12/page-5.svg" alt="Compiled PDF page 5 from transitions.tex" caption="Page 5 of 7. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />

  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-12/page-6.svg" alt="Compiled PDF page 6 from transitions.tex" caption="Page 6 of 7. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />

  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-12/page-7.svg" alt="Compiled PDF page 7 from transitions.tex" caption="Page 7 of 7. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />
</RenderedOutput>

## Graphics and Multimedia

### Including Images

<LatexSource filename="images-graphics.tex" source={"% Full-frame image\n\\begin{frame}[plain]\n\\begin{center}\n    \\includegraphics[height=\\paperheight]{full-image.jpg}\n\\end{center}\n\\end{frame}\n\n% Image with caption\n\\begin{frame}\n\\frametitle{Figure Example}\n\\begin{figure}\n    \\centering\n    \\includegraphics[width=0.7\\textwidth]{diagram.png}\n    \\caption{System architecture diagram}\n\\end{figure}\n\\end{frame}\n\n% Side-by-side images\n\\begin{frame}\n\\frametitle{Comparison}\n\\begin{columns}\n\\begin{column}{0.5\\textwidth}\n    \\begin{figure}\n        \\centering\n        \\includegraphics[width=\\textwidth]{before.png}\n        \\caption{Before}\n    \\end{figure}\n\\end{column}\n\\begin{column}{0.5\\textwidth}\n    \\begin{figure}\n        \\centering\n        \\includegraphics[width=\\textwidth]{after.png}\n        \\caption{After}\n    \\end{figure}\n\\end{column}\n\\end{columns}\n\\end{frame}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This excerpt depends on project files such as images, bibliography data, or included TeX sources that are not part of this standalone code box. Its exact output is project-specific, so no fabricated preview is shown.
  </Info>
</RenderedOutput>

### TikZ Diagrams in Presentations

<LatexSource filename="tikz-diagrams.tex" source={"\\usepackage{tikz}\n\\usetikzlibrary{shapes.geometric, arrows}\n\n\\begin{frame}\n\\frametitle{Process Flow Diagram}\n\\begin{center}\n\\begin{tikzpicture}[node distance=2cm]\n\\tikzstyle{process} = [rectangle, rounded corners,\n    minimum width=3cm, minimum height=1cm,\n    text centered, draw=black, fill=orange!30]\n\\tikzstyle{arrow} = [thick,->,>=stealth]\n\n% Nodes\n\\node (input) [process] {Input};\n\\node (process) [process, below of=input] {Process};\n\\node (output) [process, below of=process] {Output};\n\n% Arrows with overlays\n\\draw<2-> [arrow] (input) -- (process);\n\\draw<3-> [arrow] (process) -- (output);\n\n% Annotations\n\\node<4-> [right of=process, xshift=2cm]\n    {\\alert{Critical Step}};\n\\end{tikzpicture}\n\\end{center}\n\\end{frame}"} />

<RenderedOutput title="Rendered output">
  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-14/page-1.svg" alt="Compiled PDF page 1 from tikz-diagrams.tex" caption="Page 1 of 4. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />

  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-14/page-2.svg" alt="Compiled PDF page 2 from tikz-diagrams.tex" caption="Page 2 of 4. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />

  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-14/page-3.svg" alt="Compiled PDF page 3 from tikz-diagrams.tex" caption="Page 3 of 4. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />

  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-14/page-4.svg" alt="Compiled PDF page 4 from tikz-diagrams.tex" caption="Page 4 of 4. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />
</RenderedOutput>

### Tables and Data

<LatexSource filename="tables-data.tex" source={"\\begin{frame}\n\\frametitle{Experimental Results}\n\n\\begin{table}\n\\centering\n\\begin{tabular}{l|rrr}\n\\hline\n\\textbf{Method} & \\textbf{Accuracy} & \\textbf{Speed} & \\textbf{Memory} \\\\\n\\hline\nBaseline & 82.3\\% & 1.0x & 100 MB \\\\\n\\alert<2>{Our Method} & \\alert<2>{91.7\\%} & \\alert<2>{0.8x} & \\alert<2>{95 MB} \\\\\nState-of-art & 90.1\\% & 0.5x & 150 MB \\\\\n\\hline\n\\end{tabular}\n\\caption{Performance comparison}\n\\end{table}\n\n\\only<2>{\n\\begin{alertblock}{Key Achievement}\nOur method achieves better accuracy with lower memory usage!\n\\end{alertblock}\n}\n\\end{frame}"} />

<RenderedOutput title="Rendered output">
  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-15/page-1.svg" alt="Compiled PDF page 1 from tables-data.tex" caption="Page 1 of 2. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />

  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-15/page-2.svg" alt="Compiled PDF page 2 from tables-data.tex" caption="Page 2 of 2. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />
</RenderedOutput>

## Mathematical Content

### Equations and Formulas

<LatexSource filename="math-content.tex" source={"\\begin{frame}\n\\frametitle{Mathematical Equations}\n\n% Simple equation\n\\begin{equation}\n    E = mc^2\n\\end{equation}\n\n% Aligned equations with overlays\n\\begin{align}\n    f(x) &= ax^2 + bx + c \\\\\n    \\uncover<2->{f'(x) &= 2ax + b} \\\\\n    \\uncover<3->{f''(x) &= 2a}\n\\end{align}\n\n% Highlighting parts\n\\begin{equation}\n    \\sum_{i=1}^{n} \\alert<2>{x_i^2} =\n    \\uncover<3->{\\frac{n(n+1)(2n+1)}{6}}\n\\end{equation}\n\n% Theorem with proof\n\\begin{theorem}[Fundamental Theorem of Calculus]\n    If $f$ is continuous on $[a,b]$, then\n    \\[\\int_a^b f(x)\\,dx = F(b) - F(a)\\]\n    where $F'(x) = f(x)$.\n\\end{theorem}\n\n\\begin{proof}<2->\n    By the mean value theorem...\n\\end{proof}\n\\end{frame}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This code is a contextual or intentionally partial LaTeX excerpt, not a self-contained compilable document. Its visible result depends on the surrounding document, so the documentation shows the expected role without inventing a standalone preview.
  </Info>
</RenderedOutput>

### Matrix Animations

<LatexSource filename="matrix-animations.tex" source={"\\begin{frame}\n\\frametitle{Matrix Operations}\n\n% Progressive matrix reveal\n\\[\n\\begin{pmatrix}\n    a_{11} & \\uncover<2->{a_{12}} & \\uncover<3->{a_{13}} \\\\\n    \\uncover<2->{a_{21}} & \\uncover<2->{a_{22}} & \\uncover<3->{a_{23}} \\\\\n    \\uncover<3->{a_{31}} & \\uncover<3->{a_{32}} & \\uncover<3->{a_{33}}\n\\end{pmatrix}\n\\]\n\n% Matrix multiplication steps\n\\only<4>{\n    \\[\n    \\begin{pmatrix}\n        \\alert{1} & \\alert{2} \\\\\n        3 & 4\n    \\end{pmatrix}\n    \\begin{pmatrix}\n        \\alert{5} \\\\\n        \\alert{6}\n    \\end{pmatrix}\n    =\n    \\begin{pmatrix}\n        \\alert{17} \\\\\n        39\n    \\end{pmatrix}\n    \\]\n    Calculating first element: $1 \\times 5 + 2 \\times 6 = 17$\n}\n\\end{frame}"} />

<RenderedOutput title="Rendered output">
  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-17/page-1.svg" alt="Compiled PDF page 1 from matrix-animations.tex" caption="Page 1 of 4. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />

  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-17/page-2.svg" alt="Compiled PDF page 2 from matrix-animations.tex" caption="Page 2 of 4. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />

  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-17/page-3.svg" alt="Compiled PDF page 3 from matrix-animations.tex" caption="Page 3 of 4. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />

  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-17/page-4.svg" alt="Compiled PDF page 4 from matrix-animations.tex" caption="Page 4 of 4. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />
</RenderedOutput>

## Advanced Features

### Handout Mode and Notes

<LatexSource filename="handouts-notes.tex" source={"% In preamble for handout mode\n\\documentclass[handout]{beamer}\n% This removes all overlays and animations\n\n% Speaker notes\n\\begin{frame}\n\\frametitle{Main Slide Content}\n\\begin{itemize}\n    \\item Point 1\n    \\item Point 2\n    \\item Point 3\n\\end{itemize}\n\n\\note{\n    % These notes appear in presenter mode\n    \\begin{itemize}\n        \\item Expand on point 1\n        \\item Remember to mention example\n        \\item Time check: 5 minutes\n    \\end{itemize}\n}\n\\end{frame}\n\n% Notes on separate slide\n\\begin{frame}\n\\frametitle{Complex Topic}\nContent for audience...\n\\end{frame}\n\n\\note{\n\\begin{itemize}\n    \\item Detailed explanation for speaker\n    \\item Key points to emphasize\n    \\item Possible questions from audience\n\\end{itemize}\n}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This is document setup or preamble code. It changes the behavior of a containing document but does not produce an honest standalone page by itself.
  </Info>
</RenderedOutput>

### Creating Handouts

<LatexSource filename="handout-layout.tex" source={"% Multiple slides per page\n\\usepackage{pgfpages}\n\n% 2 slides per page\n\\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm]\n\n% 4 slides per page\n\\pgfpagesuselayout{4 on 1}[a4paper,border shrink=5mm,landscape]\n\n% With notes on the side\n\\setbeameroption{show notes on second screen=right}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This code is a contextual or intentionally partial LaTeX excerpt, not a self-contained compilable document. Its visible result depends on the surrounding document, so the documentation shows the expected role without inventing a standalone preview.
  </Info>
</RenderedOutput>

### Bibliography and Citations

<LatexSource filename="bibliography-beamer.tex" source={"% In preamble\n\\usepackage[backend=biber,style=authoryear]{biblatex}\n\\addbibresource{references.bib}\n\n\\begin{frame}\n\\frametitle{Literature Review}\n\nKey findings from \\textcite{smith2023} show that...\n\n\\begin{itemize}\n    \\item Result 1 \\parencite{jones2022}\n    \\item Result 2 \\parencite{brown2023}\n\\end{itemize}\n\n\\vfill\n\\tiny\n\\printbibliography[heading=none]\n\\end{frame}\n\n% Or traditional approach\n\\begin{frame}[allowframebreaks]\n\\frametitle{References}\n\\bibliographystyle{apalike}\n\\bibliography{references}\n\\end{frame}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This excerpt depends on project files such as images, bibliography data, or included TeX sources that are not part of this standalone code box. Its exact output is project-specific, so no fabricated preview is shown.
  </Info>
</RenderedOutput>

### Multimedia Integration

<LatexSource filename="multimedia.tex" source={"% Including videos (requires multimedia package)\n\\usepackage{multimedia}\n\n\\begin{frame}\n\\frametitle{Video Demonstration}\n\n\\movie[width=8cm,height=6cm,poster,showcontrols]{\n    \\includegraphics[width=8cm]{video-poster.png}\n}{video.mp4}\n\n% Alternative: hyperlink to video\n\\href{run:./videos/demo.mp4}{\n    \\includegraphics[width=0.8\\textwidth]{video-thumbnail.png}\n}\n\\end{frame}\n\n% Sound effects\n\\sound[automute,inlinesound]{\n    \\includegraphics[width=2cm]{speaker-icon.png}\n}{sound.wav}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This excerpt depends on project files such as images, bibliography data, or included TeX sources that are not part of this standalone code box. Its exact output is project-specific, so no fabricated preview is shown.
  </Info>
</RenderedOutput>

## Best Practices and Tips

### Presentation Design Guidelines

<Warning>
  **Common Pitfalls to Avoid:**

  * Too much text on slides (use notes instead)
  * Overusing animations (keep it professional)
  * Inconsistent formatting between slides
  * Small fonts (minimum 20pt for body text)
  * Complex diagrams without buildup
</Warning>

### Effective Slide Design

<Tabs>
  <Tab title="Content Guidelines">
    **The 6×6 Rule:**

    * Maximum 6 bullet points per slide
    * Maximum 6 words per bullet point
    * Use speaker notes for details

    **Visual Hierarchy:**

    1. Title: 28-32pt
    2. Main text: 20-24pt
    3. Footnotes: 14-16pt
    4. Captions: 16-18pt
  </Tab>

  <Tab title="Color Usage">
    **Color Best Practices:**

    * Use high contrast (dark on light or light on dark)
    * Limit to 3-4 colors maximum
    * Test on projector (colors may appear different)
    * Consider colorblind-friendly palettes

    **Professional Color Schemes:**

    <LatexSource filename="example.tex" source={"% Blue theme\n\\definecolor{mainblue}{RGB}{0,51,102}\n\\definecolor{lightblue}{RGB}{204,229,255}\n\n% Green theme\n\\definecolor{maingreen}{RGB}{0,102,51}\n\\definecolor{lightgreen}{RGB}{229,255,204}"} />

    <RenderedOutput title="Expected effect">
      <Info>
        This is setup or structural LaTeX code. It changes available commands or document behavior, but it does not produce meaningful standalone page content by itself.
      </Info>
    </RenderedOutput>
  </Tab>

  <Tab title="Typography">
    **Font Selection:**

    * Sans-serif for slides (better readability)
    * Serif for handouts (if needed)
    * Consistent font throughout
    * Avoid decorative fonts

    **Text Formatting:**

    * Bold for emphasis (not underline)
    * Italics sparingly
    * Consistent bullet styles
    * Proper spacing between elements
  </Tab>
</Tabs>

### Performance Optimization

<LatexSource filename="optimization.tex" source={"% Compile faster during development\n\\includeonlyframes{current} % Tag frames with label={current}\n\n% Reduce file size\n\\pdfcompresslevel=9\n\\pdfobjcompresslevel=3\n\n% Optimize images\n% Convert images to PDF beforehand\n% Use appropriate resolution (150-300 dpi for projection)\n\n% Disable navigation symbols for cleaner look\n\\setbeamertemplate{navigation symbols}{}\n\n% Preload frequently used images\n\\pgfdeclareimage[height=1cm]{logo}{university-logo}\n\\logo{\\pgfuseimage{logo}}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This code is a contextual or intentionally partial LaTeX excerpt, not a self-contained compilable document. Its visible result depends on the surrounding document, so the documentation shows the expected role without inventing a standalone preview.
  </Info>
</RenderedOutput>

### Accessibility Considerations

<Info>
  **Making Presentations Accessible:**

  * Use high contrast themes
  * Provide alternative text for images
  * Ensure logical reading order
  * Include slide numbers
  * Distribute handouts with full content
  * Use clear, simple language
</Info>

## Troubleshooting Common Issues

### Compilation Errors

<Accordion title="Frame too large for slide">
  **Problem**: Content exceeds slide dimensions

  **Solutions**:

  * Use `[allowframebreaks]` option
  * Split into multiple frames
  * Reduce font size (last resort)
  * Use `\small` or `\footnotesize` environments
</Accordion>

<Accordion title="Overlays not working">
  **Problem**: Overlay specifications ignored

  **Solutions**:

  * Check for conflicting packages
  * Ensure correct syntax: `<2->` not `<2-`
  * Use `\only` instead of `\uncover` for images
  * Verify frame is not in handout mode
</Accordion>

<Accordion title="Missing figures or logos">
  **Problem**: Images not appearing

  **Solutions**:

  * Check file paths (relative vs absolute)
  * Verify image format compatibility
  * Include graphics package
  * Set graphics path: `\graphicspath{{./images/}}`
</Accordion>

### Platform-Specific Issues

<Tabs>
  <Tab title="PDF Viewer Issues">
    **Adobe Reader**:

    * Best compatibility with animations
    * Supports multimedia content
    * Full-screen mode: Ctrl+L

    **Other Viewers**:

    * Preview (Mac): Limited animation support
    * Evince (Linux): Good basic support
    * Browser PDFs: May not show transitions
  </Tab>

  <Tab title="Projector Setup">
    **Resolution**:

    * Design for 4:3 or 16:9 aspect ratio
    * Test beforehand when possible
    * Have backup: handouts or static PDF

    **Display**:

    * Mirror vs extended display
    * Presenter view setup
    * Test animations and colors
  </Tab>
</Tabs>

## Conference Presentation Template

### Complete Academic Conference Template

<LatexSource filename="conference-template.tex" source={"\\documentclass[aspectratio=169]{beamer}\n% Use aspectratio=43 for 4:3 displays\n\n% Packages\n\\usepackage[utf8]{inputenc}\n\\usepackage[T1]{fontenc}\n\\usepackage{lmodern}\n\\usepackage{amsmath,amssymb,amsthm}\n\\usepackage{graphicx}\n\\usepackage{tikz}\n\\usepackage{booktabs}\n\\usepackage[backend=biber,style=authoryear-comp]{biblatex}\n\\addbibresource{references.bib}\n\n% Theme\n\\usetheme{Madrid}\n\\usecolortheme{seahorse}\n\\usefonttheme{professionalfonts}\n\n% Custom colors\n\\definecolor{myblue}{RGB}{0,102,204}\n\\definecolor{myred}{RGB}{204,0,0}\n\\definecolor{mygreen}{RGB}{0,153,0}\n\n% Settings\n\\setbeamertemplate{navigation symbols}{}\n\\setbeamertemplate{footline}[frame number]\n\\setbeamersize{text margin left=1em,text margin right=1em}\n\n% Metadata\n\\title[Short Title]{Full Conference Presentation Title}\n\\subtitle{Conference Name 2024}\n\\author[A. Author]{Alice Author\\inst{1} \\and Bob Coauthor\\inst{2}}\n\\institute[Inst.]{\n    \\inst{1}Department of Computer Science\\\\\n    University Name\n    \\and\n    \\inst{2}Research Institute\\\\\n    Another University\n}\n\\date{\\today}\n\n\\AtBeginSection[]{\n    \\begin{frame}\n    \\vfill\n    \\centering\n    \\begin{beamercolorbox}[sep=8pt,center,shadow=true,rounded=true]{title}\n        \\usebeamerfont{title}\\insertsectionhead\\par\n    \\end{beamercolorbox}\n    \\vfill\n    \\end{frame}\n}\n\n\\begin{document}\n\n% Title page\n\\frame{\\titlepage}\n\n% Outline\n\\begin{frame}\n\\frametitle{Outline}\n\\tableofcontents\n\\end{frame}\n\n% Section 1: Introduction\n\\section{Introduction}\n\n\\begin{frame}\n\\frametitle{Motivation}\n\\begin{columns}\n\\begin{column}{0.6\\textwidth}\n    \\begin{itemize}\n        \\item<1-> Current challenges in the field\n        \\item<2-> Limitations of existing approaches\n        \\item<3-> Our novel contribution\n    \\end{itemize}\n\n    \\vspace{1em}\n    \\uncover<4->{\n    \\begin{block}{Research Question}\n        How can we improve performance while maintaining efficiency?\n    \\end{block}\n    }\n\\end{column}\n\\begin{column}{0.4\\textwidth}\n    \\begin{center}\n        \\includegraphics[width=\\textwidth]{problem-diagram.png}\n    \\end{center}\n\\end{column}\n\\end{columns}\n\\end{frame}\n\n% Continue with more sections...\n\n\\end{document}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This excerpt depends on project files such as images, bibliography data, or included TeX sources that are not part of this standalone code box. Its exact output is project-specific, so no fabricated preview is shown.
  </Info>
</RenderedOutput>

## Advanced Presentation Techniques

### Working with Overlays in Complex Scenarios

<LatexSource filename="complex-overlays.tex" source={"\\begin{frame}\n\\frametitle{Advanced Overlay Techniques}\n\n% Conditional content based on slide number\n\\alt<2>{%\n    \\textcolor{red}{This appears in red on slide 2}%\n}{%\n    \\textcolor{blue}{This appears in blue on other slides}%\n}\n\n% Temporal specifications\n\\temporal<3>{Before}{On slide 3}{After}\n\n% Complex overlay with multiple conditions\n\\begin{itemize}\n    \\item<1-> Always visible\n    \\item<2-4> Visible on slides 2-4\n    \\item<3,5> Visible on slides 3 and 5 only\n    \\item<-3,5-> Visible on slides 1-3 and from 5 onward\n\\end{itemize}\n\n% Overlay-aware environments\n\\begin{onlyenv}<2-4>\n    \\begin{block}{Temporary Block}\n        This entire block only exists on slides 2-4\n    \\end{block}\n\\end{onlyenv}\n\\end{frame}"} />

<RenderedOutput title="Rendered output">
  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-25/page-1.svg" alt="Compiled PDF page 1 from complex-overlays.tex" caption="Page 1 of 5. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />

  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-25/page-2.svg" alt="Compiled PDF page 2 from complex-overlays.tex" caption="Page 2 of 5. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />

  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-25/page-3.svg" alt="Compiled PDF page 3 from complex-overlays.tex" caption="Page 3 of 5. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />

  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-25/page-4.svg" alt="Compiled PDF page 4 from complex-overlays.tex" caption="Page 4 of 5. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />

  <LatexPreview src="/images/rendered/learn-latex-how-to-presentations-25/page-5.svg" alt="Compiled PDF page 5 from complex-overlays.tex" caption="Page 5 of 5. Generated from the shown source with pdfLaTeX in the pinned LaTeXCloud TeX Live 2026 environment. The visible fragment is compiled inside the documented minimal article wrapper." width={362.835} height={272.126} />
</RenderedOutput>

### Creating Poster Presentations

Beamer also supports academic poster creation with special themes:

<LatexSource filename="beamer-poster.tex" source={"\\documentclass[final,hyperref={pdfpagelabels=false}]{beamer}\n\\usepackage[orientation=portrait,size=a0,scale=1.4]{beamerposter}\n\n\\usetheme{confposter}\n\\setbeamercolor{block title}{fg=white,bg=blue!70!black}\n\\setbeamercolor{block body}{fg=black,bg=white}\n\\setbeamercolor{block alerted title}{fg=white,bg=orange!70!black}\n\\setbeamercolor{block alerted body}{fg=black,bg=orange!10}\n\n\\begin{document}\n\\begin{frame}[t]\n\\begin{columns}[t]\n\n% Left column\n\\begin{column}{.32\\linewidth}\n\\begin{block}{Introduction}\n    Content for introduction section...\n\\end{block}\n\n\\begin{block}{Methods}\n    Methodology description...\n\\end{block}\n\\end{column}\n\n% Middle column\n\\begin{column}{.32\\linewidth}\n\\begin{block}{Results}\n    \\begin{figure}\n        \\includegraphics[width=\\linewidth]{results.png}\n        \\caption{Main findings}\n    \\end{figure}\n\\end{block}\n\n\\begin{alertblock}{Key Finding}\n    Highlight your most important result\n\\end{alertblock}\n\\end{column}\n\n% Right column\n\\begin{column}{.32\\linewidth}\n\\begin{block}{Discussion}\n    Interpretation of results...\n\\end{block}\n\n\\begin{block}{References}\n    \\tiny\n    \\bibliographystyle{abbrv}\n    \\bibliography{poster}\n\\end{block}\n\\end{column}\n\n\\end{columns}\n\\end{frame}\n\\end{document}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This excerpt depends on project files such as images, bibliography data, or included TeX sources that are not part of this standalone code box. Its exact output is project-specific, so no fabricated preview is shown.
  </Info>
</RenderedOutput>

### Integration with External Tools

#### Using Matplotlib Figures

<CodeGroup>
  ```python generate-figures.py theme={null}
  import matplotlib.pyplot as plt
  import numpy as np

  # Set LaTeX-compatible settings
  plt.rcParams['text.usetex'] = True
  plt.rcParams['font.family'] = 'serif'
  plt.rcParams['font.size'] = 12

  # Create figure
  fig, ax = plt.subplots(figsize=(6, 4))
  x = np.linspace(0, 2*np.pi, 100)
  y = np.sin(x)

  ax.plot(x, y, 'b-', linewidth=2)
  ax.set_xlabel(r'$x$')
  ax.set_ylabel(r'$\sin(x)$')
  ax.set_title(r'Sine Wave: $y = \sin(x)$')
  ax.grid(True, alpha=0.3)

  # Save for Beamer
  fig.savefig('sine_wave.pdf', bbox_inches='tight', dpi=300)
  ```
</CodeGroup>

#### Integrating Videos and GIFs

<LatexSource filename="video-integration.tex" source={"% Method 1: Using media9 package (modern approach)\n\\usepackage{media9}\n\n\\begin{frame}\n\\frametitle{Video Demonstration}\n\\includemedia[\n  width=0.8\\linewidth,\n  height=0.6\\linewidth,\n  activate=pageopen,\n  flashvars={\n    source=demo.mp4\n    &autoPlay=true\n  }\n]{\\includegraphics[width=0.8\\linewidth]{video-poster.png}}{VPlayer.swf}\n\\end{frame}\n\n% Method 2: External viewer launch\n\\href{run:./videos/demo.mp4}{\n  \\includegraphics[width=0.8\\linewidth]{video-preview.png}\n}\n\n% Method 3: Animated GIF alternative\n\\animategraphics[loop,controls,width=\\linewidth]{12}{animation-}{0}{23}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This excerpt depends on project files such as images, bibliography data, or included TeX sources that are not part of this standalone code box. Its exact output is project-specific, so no fabricated preview is shown.
  </Info>
</RenderedOutput>

## Resources and Further Learning

### Essential Packages for Presentations

<CardGroup cols={2}>
  <Card title="beamer" icon="presentation-screen">
    Core presentation class with themes and layouts
  </Card>

  <Card title="pgfpages" icon="copy">
    Create handouts with multiple slides per page
  </Card>

  <Card title="multimedia" icon="play">
    Include videos and sound in presentations
  </Card>

  <Card title="animate" icon="film">
    Create animations from image sequences
  </Card>

  <Card title="tikz" icon="draw-polygon">
    Create professional diagrams and animations
  </Card>

  <Card title="pdfpc" icon="desktop">
    PDF presenter console with notes and timer
  </Card>
</CardGroup>

### Quick Reference Commands

| Command                 | Purpose                       | Example                      |
| ----------------------- | ----------------------------- | ---------------------------- |
| `\pause`                | Simple pause between content  | `Text \pause more text`      |
| `\only<n>{content}`     | Show content only on slide n  | `\only<2>{Slide 2 only}`     |
| `\uncover<n->{content}` | Reveal content from slide n   | `\uncover<3->{From slide 3}` |
| `\alert<n>{text}`       | Highlight text on slide n     | `\alert<2>{Important!}`      |
| `\item<n->`             | Reveal list item from slide n | `\item<2-> Second point`     |

### Presentation Workflow

1. **Planning Phase**
   * Outline your talk structure
   * Allocate time per section
   * Plan visual elements

2. **Design Phase**
   * Choose appropriate theme
   * Create consistent style
   * Design animations purposefully

3. **Content Creation**
   * Write concise bullet points
   * Create supporting graphics
   * Add speaker notes

4. **Practice Phase**
   * Test all animations
   * Check timing
   * Verify on target equipment

5. **Delivery**
   * Have backup formats ready
   * Test equipment beforehand
   * Keep handouts available

### Converting Between Formats

#### From PowerPoint to Beamer

While there's no perfect conversion tool, here's a workflow:

1. **Export content**: Save PowerPoint as RTF or plain text
2. **Extract images**: Save all images separately as PNG/PDF
3. **Rebuild in Beamer**: Use the content and images in Beamer structure
4. **Recreate animations**: Map PowerPoint animations to Beamer overlays

#### From Beamer to Other Formats

<CodeGroup>
  ```bash conversion-commands.sh theme={null}
  # Convert to PowerPoint (via LibreOffice)
  pdf2odp presentation.pdf presentation.odp
  libreoffice --convert-to pptx presentation.odp

  # Extract slides as images
  convert -density 300 presentation.pdf slide-%03d.png

  # Create handout version
  pdfnup --nup 2x3 --frame true presentation.pdf -o handout.pdf
  ```
</CodeGroup>

### Accessibility Best Practices

<LatexSource filename="accessible-presentation.tex" source={"% Provide alternative text\n\\pdfcompresslevel=9\n\\usepackage{accsupp}\n\n\\newcommand{\\AltText}[2]{%\n  \\BeginAccSupp{Alt={#2}}#1\\EndAccSupp{}%\n}\n\n% Use in presentation\n\\begin{frame}\n\\frametitle{Data Visualization}\n\\AltText{\n  \\includegraphics[width=0.8\\textwidth]{chart.png}\n}{Bar chart showing 40% increase in performance from 2022 to 2023}\n\\end{frame}\n\n% Ensure reading order\n\\setbeamertemplate{navigation symbols}{}\n\\usepackage{bookmark}\n\\bookmarksetup{open,numbered}"} />

<RenderedOutput title="Expected effect">
  <Info>
    This excerpt depends on project files such as images, bibliography data, or included TeX sources that are not part of this standalone code box. Its exact output is project-specific, so no fabricated preview is shown.
  </Info>
</RenderedOutput>

### Performance Tips for Large Presentations

1. **Optimize images before including**:
   ```bash theme={null}
   # Reduce PDF size
   gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook \
      -dNOPAUSE -dQUIET -dBATCH -sOutputFile=compressed.pdf input.pdf
   ```

2. **Use external figures**:
   ```latex theme={null}
   \pgfdeclareimage[width=5cm]{myimage}{figure.pdf}
   \pgfuseimage{myimage}
   ```

3. **Compile sections separately during development**:
   ```latex theme={null}
   \includeonly{section2} % Only compile section 2
   ```

## Related Resources

<CardGroup cols={2}>
  <Card title="Article Writing" icon="file-lines" href="/learn/latex/how-to/writing-research-paper">
    Learn to write research papers in LaTeX
  </Card>

  <Card title="Graphics & Figures" icon="image" href="/learn/latex/figures/inserting-images">
    Master image handling in LaTeX
  </Card>

  <Card title="TikZ Graphics" icon="draw-polygon" href="/learn/latex/how-to/tikz-diagrams">
    Create professional diagrams
  </Card>

  <Card title="Templates" icon="file-code" href="/templates/presentation">
    Ready-to-use presentation templates
  </Card>
</CardGroup>

<Tip>
  **Pro tip**: Start with a simple theme and gradually add complexity. Focus on content first, then enhance with animations and graphics. Remember: the best presentations support your talk, not overshadow it.
</Tip>

Ready to create your presentation? Check out our [presentation templates](/templates/presentation) or start with the basic template above!

## Start in LaTeX Cloud Studio

<CardGroup cols={2}>
  <Card title="Open in LaTeX Cloud Studio" icon="cloud" href="https://app.latex-cloud-studio.com/?utm_source=resources&utm_medium=card&utm_campaign=docs_open_app&utm_content=presentations_open_app">
    Write, compile, and iterate directly in your browser.
  </Card>

  <Card title="Start from Presentation Template" icon="file-text" href="/templates/presentation">
    Use a ready-made template, then adapt it to your content.
  </Card>
</CardGroup>
