[ PROMPT_NODE_27311 ]
Beamer Guide
[ SKILL_DOCUMENTATION ]
# LaTeX Beamer Guide for Scientific Presentations
## Overview
Beamer is a LaTeX document class for creating presentations with professional, consistent formatting. It's particularly well-suited for scientific presentations containing equations, code, algorithms, and citations. This guide covers Beamer basics, themes, customization, and advanced features for effective scientific talks.
## Why Use Beamer?
### Advantages
**Professional Quality**:
- Consistent, polished appearance
- Beautiful typography (especially for math)
- Publication-quality output
- Professional themes and templates
**Scientific Content**:
- Native equation support (LaTeX math)
- Code listings with syntax highlighting
- Algorithm environments
- Bibliography integration
- Cross-referencing
**Reproducibility**:
- Plain text source (version control friendly)
- Programmatic figure generation
- Consistent styling across presentations
- Easy to maintain and update
**Efficiency**:
- Reuse content across presentations
- Template once, use forever
- Automated elements (page numbers, navigation)
- No manual formatting
### Disadvantages
**Learning Curve**:
- Requires LaTeX knowledge
- Compilation time
- Debugging can be challenging
- Less WYSIWYG than PowerPoint
**Flexibility**:
- Complex custom layouts require effort
- Image editing requires external tools
- Some design elements easier in PowerPoint
- Animations more limited
**Collaboration**:
- Not ideal for non-LaTeX users
- Version conflicts possible
- Requires LaTeX installation
## Basic Beamer Document Structure
### Minimal Example
```latex
documentclass{beamer}
% Theme
usetheme{Madrid}
usecolortheme{beaver}
% Title information
title{Your Presentation Title}
subtitle{Optional Subtitle}
author{Your Name}
institute{Your Institution}
date{today}
begin{document}
% Title slide
begin{frame}
titlepage
end{frame}
% Content slide
begin{frame}{Slide Title}
Content goes here
end{frame}
end{document}
```
### Essential Packages
```latex
documentclass{beamer}
% Encoding and fonts
usepackage[utf8]{inputenc}
usepackage[T1]{fontenc}
% Graphics
usepackage{graphicx}
graphicspath{{./figures/}}
% Math
usepackage{amsmath, amssymb, amsthm}
% Tables
usepackage{booktabs}
usepackage{multirow}
% Colors
usepackage{xcolor}
% Algorithms
usepackage{algorithm}
usepackage{algorithmic}
% Code listings
usepackage{listings}
% Citations
usepackage[style=authoryear,backend=biber]{biblatex}
addbibresource{references.bib}
```
### Frame Basics
```latex
% Basic frame
begin{frame}{Title}
Content
end{frame}
% Frame with subtitle
begin{frame}{Title}{Subtitle}
Content
end{frame}
% Frame without title
begin{frame}
Content
end{frame}
% Fragile frame (for verbatim/code)
begin{frame}[fragile]{Code Example}
begin{verbatim}
def hello():
print("Hello")
end{verbatim}
end{frame}
% Plain frame (no header/footer)
begin{frame}[plain]
Full slide content
end{frame}
```
## Themes and Appearance
### Presentation Themes
Beamer includes many built-in themes controlling overall layout:
**Classic Themes**:
```latex
usetheme{Berlin} % Sections in header
usetheme{Copenhagen} % Minimal, clean
usetheme{Madrid} % Professional, rounded
usetheme{Boadilla} % Simple footer
usetheme{AnnArbor} % Vertical navigation
```
**Modern Themes**:
```latex
usetheme{CambridgeUS} % Blue theme
usetheme{Singapore} % Minimalist
usetheme{Rochester} % Very minimal
usetheme{Antibes} % Tree navigation
```
**Popular for Science**:
```latex
% Clean and minimal
usetheme{default}
usetheme{Copenhagen}
% Professional with navigation
usetheme{Madrid}
usetheme{Berlin}
% Traditional academic
usetheme{Pittsburgh}
usetheme{Boadilla}
```
### Color Themes
```latex
% Blue themes
usecolortheme{default} % Blue
usecolortheme{dolphin} % Cyan-blue
usecolortheme{seagull} % Grayscale
% Warm themes
usecolortheme{beaver} % Red/brown
usecolortheme{rose} % Pink/red
% Nature themes
usecolortheme{orchid} % Purple
usecolortheme{crane} % Orange/yellow
% Professional
usecolortheme{albatross} % Gray/blue
```
### Font Themes
```latex
usefonttheme{default} % Standard
usefonttheme{serif} % Serif fonts
usefonttheme{structurebold} % Bold structure
usefonttheme{structureitalicserif} % Italic serif
usefonttheme{professionalfonts} % Professional fonts
```
### Custom Colors
```latex
% Define custom colors
definecolor{myblue}{RGB}{0,115,178}
definecolor{myred}{RGB}{214,40,40}
% Apply to theme elements
setbeamercolor{structure}{fg=myblue}
setbeamercolor{title}{fg=myred}
setbeamercolor{frametitle}{fg=myblue,bg=white}
setbeamercolor{block title}{fg=white,bg=myblue}
```
### Minimal Custom Theme
```latex
% Remove navigation symbols
setbeamertemplate{navigation symbols}{}
% Page numbers
setbeamertemplate{footline}[frame number]
% Simple itemize
setbeamertemplate{itemize items}[circle]
% Clean blocks
setbeamertemplate{blocks}[rounded][shadow=false]
% Colors
setbeamercolor{structure}{fg=blue!70!black}
setbeamercolor{title}{fg=black}
setbeamercolor{frametitle}{fg=blue!70!black}
```
## Content Elements
### Lists
**Itemize**:
```latex
begin{frame}{Bullet Points}
begin{itemize}
item First point
item Second point
begin{itemize}
item Nested point
end{itemize}
item Third point
end{itemize}
end{frame}
```
**Enumerate**:
```latex
begin{frame}{Numbered List}
begin{enumerate}
item First item
item Second item
item Third item
end{enumerate}
end{frame}
```
**Description**:
```latex
begin{frame}{Definitions}
begin{description}
item[Term 1] Definition of term 1
item[Term 2] Definition of term 2
end{description}
end{frame}
```
### Columns
```latex
begin{frame}{Two Column Layout}
begin{columns}
% Left column
begin{column}{0.5textwidth}
begin{itemize}
item Point 1
item Point 2
end{itemize}
end{column}
% Right column
begin{column}{0.5textwidth}
includegraphics[width=textwidth]{figure.png}
end{column}
end{columns}
end{frame}
```
**Three Column Layout**:
```latex
begin{columns}[T] % Align at top
begin{column}{0.32textwidth}
Content A
end{column}
begin{column}{0.32textwidth}
Content B
end{column}
begin{column}{0.32textwidth}
Content C
end{column}
end{columns}
```
### Figures
```latex
begin{frame}{Figure Example}
begin{figure}
centering
includegraphics[width=0.8textwidth]{figure.pdf}
caption{Figure caption text}
end{figure}
end{frame}
```
**Side-by-Side Figures**:
```latex
begin{frame}{Comparison}
begin{columns}
begin{column}{0.5textwidth}
includegraphics[width=textwidth]{fig1.pdf}
caption{Condition A}
end{column}
begin{column}{0.5textwidth}
includegraphics[width=textwidth]{fig2.pdf}
caption{Condition B}
end{column}
end{columns}
end{frame}
```
**Subfigures**:
```latex
usepackage{subcaption}
begin{frame}{Multiple Panels}
begin{figure}
centering
begin{subfigure}{0.45textwidth}
includegraphics[width=textwidth]{fig1.pdf}
caption{Panel A}
end{subfigure}
hfill
begin{subfigure}{0.45textwidth}
includegraphics[width=textwidth]{fig2.pdf}
caption{Panel B}
end{subfigure}
caption{Overall figure caption}
end{figure}
end{frame}
```
### Tables
```latex
begin{frame}{Table Example}
begin{table}
centering
begin{tabular}{lcc}
toprule
Method & Accuracy & Time \
midrule
Method A & 0.85 & 10s \
Method B & 0.92 & 25s \
Method C & 0.88 & 15s \
bottomrule
end{tabular}
caption{Performance comparison}
end{table}
end{frame}
```
### Blocks
**Standard Blocks**:
```latex
begin{frame}{Block Examples}
% Standard block
begin{block}{Block Title}
Block content goes here
end{block}
% Alert block (red)
begin{alertblock}{Important}
Warning or important information
end{alertblock}
% Example block (green)
begin{exampleblock}{Example}
Example content
end{exampleblock}
end{frame}
```
**Theorem Environments**:
```latex
begin{frame}{Mathematical Results}
begin{theorem}
Statement of theorem
end{theorem}
begin{proof}
Proof goes here
end{proof}
begin{definition}
Definition text
end{definition}
begin{lemma}
Lemma statement
end{lemma}
end{frame}
```
## Overlays and Animations
### Progressive Disclosure with pause
```latex
begin{frame}{Revealing Content}
First point appears immediately
pause
Second point appears on click
pause
Third point appears on another click
end{frame}
```
### Overlay Specifications
**Itemize with Overlays**:
```latex
begin{frame}{Sequential Bullets}
begin{itemize}
item Appears on slide 1 and stays
item Appears on slide 2 and stays
item Appears on slide 3 and stays
end{itemize}
end{frame}
```
**Alternative Syntax**:
```latex
begin{frame}{Sequential Bullets}
begin{itemize}[] % Automatically sequential
item First point
item Second point
item Third point
end{itemize}
end{frame}
```
### Highlighting with Overlays
**Alert on Specific Slides**:
```latex
begin{frame}{Highlighting}
begin{itemize}
item Normal text
item Text highlighted on slide 2
item Normal text
end{itemize}
end{frame}
```
**Temporary Appearance**:
```latex
begin{frame}{Appearing and Disappearing}
Appears on all slides
only{Only visible on slide 2}
uncover{Appears on slide 3 and stays}
visible{Also appears on slide 4, but reserves space}
end{frame}
```
### Building Complex Figures
```latex
begin{frame}{Building a Figure}
begin{tikzpicture}
% Base elements (always visible)
draw (0,0) rectangle (4,3);
% Add on slide 2+
draw (1,1) circle (0.5);
% Add on slide 3+
draw[->, thick] (2,1.5) -- (3,2);
% Highlight on slide 4
node[red,thick] at (2,1.5) {Result};
end{tikzpicture}
end{frame}
```
## Mathematical Content
### Equations
**Inline Math**:
```latex
begin{frame}{Inline Math}
The equation $E = mc^2$ is famous.
We can also write $alpha + beta = gamma$.
end{frame}
```
**Display Math**:
```latex
begin{frame}{Display Equations}
Single equation:
begin{equation}
f(x) = int_{-infty}^{infty} e^{-x^2} dx = sqrt{pi}
end{equation}
Multiple equations:
begin{align}
E &= mc^2 \
F &= ma \
V &= IR
end{align}
end{frame}
```
**Equation Arrays**:
```latex
begin{frame}{Equation System}
begin{equation}
begin{cases}
dot{x} = f(x,y) \
dot{y} = g(x,y)
end{cases}
end{equation}
end{frame}
```
### Matrices
```latex
begin{frame}{Matrix Example}
begin{equation}
A = begin{bmatrix}
a_{11} & a_{12} & a_{13} \
a_{21} & a_{22} & a_{23} \
a_{31} & a_{32} & a_{33}
end{bmatrix}
end{equation}
end{frame}
```
## Code and Algorithms
### Code Listings
```latex
begin{frame}[fragile]{Python Code}
begin{lstlisting}[language=Python]
def fibonacci(n):
if n <= 1:
return n
return fibonacci(n-1) + fibonacci(n-2)
end{lstlisting}
end{frame}
```
**Custom Code Styling**:
```latex
lstset{
language=Python,
basicstyle=ttfamilysmall,
keywordstyle=color{blue},
commentstyle=color{green!60!black},
stringstyle=color{orange},
numbers=left,
numberstyle=tiny,
frame=single,
breaklines=true
}
begin{frame}[fragile]{Styled Code}
begin{lstlisting}
# This is a comment
def hello(name):
"""Greet someone"""
print(f"Hello, {name}")
end{lstlisting}
end{frame}
```
### Algorithms
```latex
begin{frame}{Algorithm Example}
begin{algorithm}[H]
caption{Quicksort}
begin{algorithmic}[1]
REQUIRE Array $A$, indices $low$, $high$
ENSURE Sorted array
IF{$low , thick] (0,0) -- (3,2);
% Node with text
node at (1.5,2) {Label};
end{tikzpicture}
end{frame}
```
### Flowcharts
```latex
usetikzlibrary{shapes,arrows,positioning}
begin{frame}{Workflow}
begin{tikzpicture}[node distance=2cm]
node[rectangle,draw] (start) {Start};
node[rectangle,draw,right=of start] (process) {Process};
node[rectangle,draw,right=of process] (end) {End};
draw[->,thick] (start) -- (process);
draw[->,thick] (process) -- (end);
end{tikzpicture}
end{frame}
```
### Plots
```latex
usepackage{pgfplots}
pgfplotsset{compat=1.18}
begin{frame}{Data Plot}
begin{tikzpicture}
begin{axis}[
xlabel={$x$},
ylabel={$y$},
width=8cm,
height=6cm
]
addplot[blue,thick] coordinates {
(0,0) (1,1) (2,4) (3,9)
};
addplot[red,dashed] {x};
end{axis}
end{tikzpicture}
end{frame}
```
## Compilation
### Basic Compilation
```bash
# Standard compilation
pdflatex presentation.tex
# With bibliography
pdflatex presentation.tex
biber presentation
pdflatex presentation.tex
pdflatex presentation.tex
```
### Modern Compilation (Recommended)
```bash
# Using latexmk (automated)
latexmk -pdf presentation.tex
# With continuous preview
latexmk -pdf -pvc presentation.tex
```
### Compilation Options
```bash
# Faster compilation (draft mode)
pdflatex -draftmode presentation.tex
# Specific engine
lualatex presentation.tex # Better Unicode support
xelatex presentation.tex # System fonts
# Output directory
pdflatex -output-directory=build presentation.tex
```
## Handouts and Notes
### Creating Handouts
```latex
% In preamble
documentclass[handout]{beamer}
% This removes overlays and creates one frame per slide
```
### Speaker Notes
```latex
usepackage{pgfpages}
setbeameroption{show notes on second screen=right}
begin{frame}{Slide Title}
Slide content visible to audience
note{
These notes are visible only to speaker:
- Remember to emphasize X
- Mention collaboration with Y
- Expect question about Z
}
end{frame}
```
### Handout with Notes
```latex
documentclass[handout]{beamer}
usepackage{pgfpages}
pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm]
```
## Best Practices
### Do's
- ✅ Use consistent theme throughout
- ✅ Keep equations simple and large
- ✅ Use progressive disclosure (pause, overlays)
- ✅ Include frame numbers
- ✅ Use vector graphics (PDF) for figures
- ✅ Test compilation early and often
- ✅ Use meaningful section names
- ✅ Keep backup slides in appendix
### Don'ts
- ❌ Don't use too many different fonts or colors
- ❌ Don't fill slides with dense text
- ❌ Don't use tiny font sizes
- ❌ Don't include complex animations (limited support)
- ❌ Don't forget fragile frames for code
- ❌ Don't mix themes inconsistently
- ❌ Don't ignore compilation warnings
## Troubleshooting
### Common Issues
**Missing Fragile**:
```
Error: Verbatim environment in frame
Solution: Add [fragile] option to frame
```
**Package Conflicts**:
```
Error: Option clash for package X
Solution: Load package in preamble only once
```
**Image Not Found**:
```
Error: File `figure.pdf' not found
Solution: Check path, use graphicspath, ensure file exists
```
**Overlay Issues**:
```
Problem: Overlays not working as expected
Solution: Check syntax vs , test incremental builds
```
### Debugging Tips
```latex
% Show frame labels
usepackage[notref,notcite]{showkeys}
% Draft mode (faster, shows boxes)
documentclass[draft]{beamer}
% Verbose error messages
errorcontextlines=999
```
## Templates and Examples
### Minimal Working Example
See `assets/beamer_template_conference.tex` for a complete, customizable template for conference talks.
### Resources
- Beamer User Guide: `texdoc beamer`
- Theme Gallery: https://deic.uab.cat/~iblanes/beamer_gallery/
- TikZ Examples: https://texample.net/tikz/
## Summary
Beamer excels at:
- Mathematical content
- Consistent professional formatting
- Reproducible presentations
- Version control
- Citations and cross-references
Choose Beamer when:
- Presentation contains significant math/equations
- You value version control and plain text
- Consistent styling is priority
- You're comfortable with LaTeX
Consider PowerPoint when:
- Extensive custom graphics needed
- Collaborating with non-LaTeX users
- Complex animations required
- Rapid prototyping needed
Source: claude-code-templates (MIT). See About Us for full credits.