Skip to main content
โšก Calmops

Creating Professional Presentations with LaTeX Beamer

LaTeX Beamer is a powerful document class for creating professional presentations. This comprehensive guide covers everything from basic slide creation to advanced animations, themes, and handout generation.

Getting Started with Beamer

Basic Document Structure

\documentclass{beamer}

\usetheme{Madrid}
\usecolortheme{whale}

\title{Your Presentation Title}
\subtitle{Optional Subtitle}
\author{Your Name}
\institute{Your Institution}
\date{\today}

\begin{document}

\begin{frame}
\titlepage
\end{frame}

\begin{frame}
\tableofcontents
\end{frame}

\section{First Section}
\begin{frame}
First Slide Content
\end{frame}

\end{document}

Required Packages

% Core packages
\usepackage{beamerthemesplit}
\usepackage{beamercolorthemeowl}

% Graphics
\usepackage{graphicx}
\usepackage{tikz}

% Math support
\usepackage{amsmath}
\usepackage{amssymb}

% Additional symbols
\usepackage{pifont}

% Source code
\usepackage{listings}

Beamer Themes

Theme Categories

Beamer provides three types of themes:

% Presentation themes (layout)
\usetheme{default}      % No theme
\usetheme{AnnArbor}     % Colorful sidebar
\usetheme{Antibes}      % Tree-like navigation
\usetheme{Bergen}       % Sidebar with sections
\usetheme{Berkeley}     % Informative sidebar
\usetheme{Berlin}       % Minimal
\usetheme{Boadilla}     % Simple, clean
\usetheme{CambridgeUS}  % Professional
\usetheme{Copenhagen}   % Split header
\usetheme{Darmstadt}    % Elegant
\usetheme{Dresden}      % Header with sections
\usetheme{Frankfurt}   % Header with blocks
\usetheme{Goettingen}  % Sidebar on right
\usetheme{Hannover}    % Sidebar on left
\usetheme{Ilmenau}     % Classic
\usetheme{JuanLesPins} % Modern
\usetheme{Luebeck}     % Header with blocks
\usetheme{Madrid}      % Professional (default)
\usetheme{Malmoe}      % Simple
\usetheme{Marburg}     % Minimal sidebar
\usetheme{Montpellier} % Simple
\usetheme{PaloAlto}    % Sidebar
\usetheme{Pittsburgh}  % Simple
\usetheme{Rochester}   % Header blocks
\usetheme{Singapore}   % Modern
\usetheme{Szeged}      % Split header
\usetheme{Warsaw}      % Navigation bubbles

Color Themes

% Color themes
\usecolortheme{default}
\usecolortheme{albatross}    % Blue background
\usecolortheme{beaver}       % Gray with blue
\usecolortheme{beetle}       % Dark gray
\usecolortheme{crane}        % Orange
\usecolortheme{dolphin}      % Blue-gray
\usecolortheme{dove}         % White/gray
\usecolortheme{fly}          % Dark blue
\usecolortheme{lily}         % Light
\usecolortheme{orchid}       % Blue
\usecolortheme{rose}         % Pink
\usecolortheme{seagull}      % Gray
\usecolortheme{seahorse}     % Light blue
\usecolortheme{sidebartab}   % Minimal
\usecolortheme{structure}    % Base
\usecolortheme{whale}        % Dark blue (popular)
\usecolortheme{wolverine}    % Yellow/blue

Inner and Outer Themes

% Inner themes (content)
\useinnertheme{default}
\useinnertheme{circles}      % Itemize with circles
\useinnertheme{rectangles}  % Itemize with rectangles
\useinnertheme{rounded}     % Rounded boxes
\useinnertheme{inmargin}    % Margin notes

% Outer themes (headers/footers)
\useoutertheme{default}
\useoutertheme{infolines}    % Information lines
\useoutertheme{miniframes}  % Mini frames
\useoutertheme{shadow}      % With shadow
\useoutertheme{sidebar}     % Sidebar
\useoutertheme{slide}       % No decorations
\useoutertheme{smoosh}      % Comprehensive
\useoutertheme{tree}        % Tree navigation

Frame Environments

Standard Frames

\begin{frame}
\ frameletitle{Frame Title}
% Content here
\end{frame}

% Frame without title
\begin{frame}
Content without title
\end{frame}

% Frame with subtitle
\begin{frame}
\ frameletitle[short]{Long Title}
\ framesubtitle{Subtitle}
\end{frame}

Fragile Frames (for Verbatim)

% Use [fragile] for verbatim, listings, etc.
\begin{frame}[fragile]
\ frameletitle{Code Example}
\begin{verbatim}
def hello():
    print("Hello, World!")
\end{verbatim}
\end{frame}

Multiple Columns

\begin{frame}
\ frameletitle{Two Column Layout}

\begin{columns}
\begin{column}{0.5\textwidth}
Left column content
\begin{itemize}
\item Item 1
\item Item 2
\end{itemize}
\end{column}

\begin{column}{0.5\textwidth}
Right column content
\begin{block}{Block Title}
Block content
\end{block}
\end{column}
\end{columns}
\end{frame}

Itemization and Lists

Itemize Environments

\begin{frame}
\ frameletitle{Itemization}

\begin{itemize}
\item First item
\item Second item
\item Third item
\end{itemize}

\begin{enumerate}
\item First numbered
\item Second numbered
\item Third numbered
\end{enumerate}

\begin{description}
\item[Term 1] Description 1
\item[Term 2] Description 2
\end{description}
\end{frame}

Nested Itemize

\begin{frame}
\ frameletitle{Nested Lists}

\begin{itemize}
\item Main item
  \begin{itemize}
  \item Subitem
  \item Subitem
    \begin{itemize}
    \item Sub-subitem
    \end{itemize}
  \end{itemize}
\item Another main item
\end{itemize}
\end{frame}

Custom Item Colors

\setbeamercolor{item}{fg=blue}
\setbeamercolor{subitem}{fg=red}
\setbeamercolor{subsubitem}{fg=green}

% Or use overlay specifications
\begin{itemize}
\item<1-> First item (shows from slide 1)
\item<2-> Second item (shows from slide 2)
\item<3-> Third item (shows from slide 3)
\end{itemize}

Overlays and Animations

Basic Overlay Specifications

\begin{frame}
\ frameletitle{Overlay Basics}

\begin{itemize}
\item<1> Shows only on slide 1
\item<2-> Shows from slide 2 onwards
\item<1-3> Shows from slide 1 to 3
\item<1,3> Shows only on slides 1 and 3
\item<-2> Shows up to slide 2
\item<+-> Incremental (each click reveals next)
\end{itemize}
\end{frame}

Uncover and Visible

\begin{frame}
\ frameletitle{Uncover vs Visible}

\begin{itemize}
\uncover<1-2>{Item 1 (covered on slide 1-2)}
\uncover<2-3>{Item 2 (covered on slide 2-3)}
\visible<3->{Item 3 (visible from slide 3)}
\invisible<1>{Hidden on slide 1}
\end{itemize}
\end{frame}

Alert and Emphasis

\begin{frame}
\ frameletitle{Emphasis}

Normal text \alert<1>{alerted on slide 1}
\alert<2>{alerted on slide 2}

\emp<3>{emphasized on slide 3}
\emp<1-2>{emphasized on slides 1-2}
\end{frame}

Transition Effects

% Set transition for a frame
\begin{frame}[transition=fade]
\ frameletitle{Fade Transition}
\end{frame}

\begin{frame}[transition=slidelevel]
\ frameletitle{Slide Transition}
\end{frame}

\begin{frame}[transition=box]
\ frameletitle{Box Transition}
\end{frame}

\begin{frame}[transition=circle]
\ frameletitle{Circle Transition}
\end{frame}

\begin{frame}[transition=zoom]
\ frameletitle{Zoom Transition}
\end{frame}

% Global transition setting
\setbeamerfont{somefont}{size=\large}

Blocks and Boxes

Standard Blocks

\begin{frame}
\ frameletitle{Blocks}

\begin{block}{Block Title}
Block content goes here.
\end{block}

\begin{alertblock}{Alert Block}
Important information.
\end{alertblock}

\begin{exampleblock}{Example Block}
Example content.
\end{exampleblock}
\end{frame}

Custom Blocks

% Define custom block
\newblock{myblock}{My Custom Block}

\begin{frame}
\ frameletitle{Custom Blocks}

\begin{myblock}{Custom Title}
Custom block content.
\end{myblock}
\end{frame}

Colored Boxes

\begin{frame}
\ frameletitle{Colored Boxes}

\begin{beamercolorbox}[wd=5cm,center,shadow=true]{block title}
Boxed Content
\end{beamercolorbox}

\begin{beamercolorbox}[wd=5cm,center,rounded=true,colframe=blue]{block body}
Rounded Blue Box
\end{beamercolorbox}
\end{frame}

Graphics and Figures

Including Images

\begin{frame}
\ frameletitle{Graphics}

\begin{figure}
\includegraphics[width=0.8\textwidth]{image.pdf}
\caption{Figure Caption}
\label{fig:label}
\end{figure}
\end{frame}

Multiple Images

\begin{frame}
\ frameletitle{Multiple Figures}

\begin{columns}
\begin{column}{0.5\textwidth}
\begin{figure}
\includegraphics[width=\textwidth]{fig1.pdf}
\caption{First Figure}
\end{figure}
\end{column}

\begin{column}{0.5\textwidth}
\begin{figure}
\includegraphics[width=\textwidth]{fig2.pdf}
\caption{Second Figure}
\end{figure}
\end{column}
\end{columns}
\end{frame}

TikZ Integration

\begin{frame}
\ frameletitle{TikZ Graphics}

\begin{tikzpicture}
\draw[->] (-2,0) -- (2,0);
\draw[->] (0,-2) -- (0,2);
\draw[thick,blue] (0,0) circle (1);
\node at (0,1.5) {$y$};
\node at (1.5,0) {$x$};
\end{tikzpicture}
\end{frame}

Tables

Basic Tables

\begin{frame}
\ frameletitle{Tables}

\begin{table}
\begin{tabular}{|c|c|c|}
\hline
A & B & C \\
\hline
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9 \\
\hline
\end{tabular}
\caption{Simple Table}
\end{table}
\end{frame}

Booktabs Tables

\usepackage{booktabs}

\begin{frame}
\ frameletitle{Booktabs Tables}

\begin{table}
\begin{tabular}{lrr}
\toprule
Item & Quantity & Price \\
\midrule
Apple & 10 & \$5.00 \\
Banana & 20 & \$3.00 \\
Orange & 15 & \$4.50 \\
\bottomrule
Total & 45 & \$12.50 \\
\end{tabular}
\caption{Professional Table}
\end{table}
\end{frame}

Striped Tables

\usepackage[table]{xcolor}

\begin{frame}
\ frameletitle{Striped Table}

\begin{tabular}{|l|l|}
\hline
\rowcolor{blue!20}
Header & Header \\
\hline
Data & Data \\
\rowcolor{gray!20}
Data & Data \\
\hline
\end{tabular}
\end{frame}

Mathematics in Beamer

Equations

\begin{frame}
\ frameletitle{Mathematics}

\begin{equation}
E = mc^2
\end{equation}

\begin{block}{Formula}
\[
\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
\]
\end{block}
\end{frame}

Multiple Equations

\begin{frame}
\ frameletitle{Aligned Equations}

\begin{align}
\frac{d}{dx}(f \cdot g) &= f' \cdot g + f \cdot g' \\
\frac{d}{dx}\left(\frac{f}{g}\right) &= \frac{f' \cdot g - f \cdot g'}{g^2}
\end{align}
\end{frame}

Theorem Environments

\begin{frame}
\ frameletitle{Theorems}

\begin{Theorem}[Pythagorean Theorem]
$a^2 + b^2 = c^2$
\end{Theorem}

\begin{Proof}
Proof content here...
\end{Proof}
\end{frame}

Source Code Listings

Using Listings

\usepackage{listings}
\lstset{
  language=Python,
  basicstyle=\ttfamily,
  keywordstyle=\color{blue},
  stringstyle=\color{red},
  commentstyle=\color{green},
  showstringspaces=false
}

\begin{frame}[fragile]
\ frameletitle{Source Code}

\begin{lstlisting}
def fibonacci(n):
    if n <= 1:
        return n
    return fibonacci(n-1) + fibonacci(n-2)

print(fibonacci(10))
\end{lstlisting}
\end{frame}

Using Minted

\usepackage{minted}

\begin{frame}[fragile]
\ frameletitle{Minted Example}

\begin{minted}{python}
def quicksort(arr):
    if len(arr) <= 1:
        return arr
    pivot = arr[len(arr) // 2]
    left = [x for x in arr if x < pivot]
    middle = [x for x in arr if x == pivot]
    right = [x for x in arr if x > pivot]
    return quicksort(left) + middle + quicksort(right)
\end{minted}
\end{frame}

Bibliography

\begin{frame}
\ frameletitle{References}

\begin{thebibliography}{10}
\beamertemplatebookbibitems
bibitem{Author2024}
Author, Name.
\newblock Title of the book.
\newblock Publisher, 2024.

\beamertemplatearticlebibitems
bibitem{Author, Name.
\new2023}
Authorblock Article title.
\newblock Journal Name, 2023.
\end{thebibliography}
\end{frame}

Table of Contents

\begin{frame}
\tableofcontents
\end{frame}

% With sections highlighted
\begin{frame}
\tableofcontents[pausesections]
\end{frame}

% Currentsection highlighted
\begin{frame}
\tableofcontents[currentssection]
\end{frame}
% Add navigation symbols
\setbeamertemplate{navigation symbols}{
  \usebeamerfont{footline}%
  \insertframenumber/\inserttotalframenumber
}

% Or remove them
\setbeamertemplate{navigation symbols}{}

Mini Frames

\usetheme[compress]{Berlin}

\begin{frame}
\ frameletitle{Mini Frames}
Mini frame navigation at top.
\end{frame}

Handouts

Creating Handouts

% Presentation mode (default)
\documentclass[beamer]{beamer}

% Handout mode
\documentclass[handout]{beamer}

% Multiple slides per page
\documentclass[handout,9pt]{beamer}
\usetheme{default}
\usepackage{pgfpages}
\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm]

Article Mode

% article mode separates content
\documentclass[article]{beamer}
\usepackage{beamerarticle}

\begin{frame}
Content
\end{frame}

Notes Pages

\begin{frame}
\ frameletitle{Frame with Notes}
Main content
\note{
This is a speaker note.
It won't appear in the presentation.
}
\end{frame}

Complete Example

\documentclass[aspectratio=169]{beamer}

\usetheme{Madrid}
\usecolortheme{whale}

\title[Short Title]{Full Presentation Title}
\subtitle{Presentation Subtitle}
\author{Author Name}
\institute{Institution Name}
\date{\today}

\begin{document}

\begin{frame}
\titlepage
\end{frame}

\begin{frame}
\tableofcontents
\end{frame}

\section{Introduction}

\begin{frame}
\ frameletitle{Outline}
\begin{itemize}
\item Introduction
\item Methods
\item Results
\item Conclusion
\end{itemize}
\end{frame}

\section{Main Content}

\begin{frame}
\ frameletitle{Background}
\begin{block}{Key Point}
This is an important block of text.
\end{block}
\end{frame}

\begin{frame}
\ frameletitle{Mathematics}
\begin{equation}
E = mc^2
\end{equation}
\end{frame}

\begin{frame}[fragile]
\ frameletitle{Code Example}
\begin{verbatim}
import numpy as np
x = np.array([1, 2, 3])
print(x)
\end{verbatim}
\end{frame}

\section{Conclusion}

\begin{frame}
\ frameletitle{Conclusion}
\begin{itemize}
\item Summary of findings
\item Future work
\item Questions?
\end{itemize}
\end{frame}

\begin{frame}
\ frameletitle{Thank You}
\begin{center}
\Large{Thank you for your attention!}
\end{center}
\end{frame}

\end{document}

External Resources

Comments