beamer's own user guide offers one blunt rule for a talk: at most one frame per minute. The same guide records that Till Tantau wrote the first version of the LaTeX class in February 2003 for his own PhD defence, and that before then it had been "a small private collection of macros that make using the seminar class easier"; a month later he put it on CTAN at the request of some colleagues. This page is not about writing frames — the sibling page on the beamer class covers those. It is about everything between a finished .tex file and a room with a projector in it: turning the deck 16:9 with aspectratio=169, deleting the navigation symbols nobody asked for, slide numbers that stay honest once you add backup slides, section title slides, notes that only you can see, and what to do when a 121-page deck starts taking three and a half seconds a run.
Making beamer 16:9 with aspectratio=169, and what the default really is
One word does it: \documentclass[aspectratio=169]{beamer}. And the default is still 4:3 — whatever the projector in the room happens to be in 2026, beamer left alone gives you 4:3. Compiled with beamer 3.71 as shipped in TeX Live 2024 and measured with pdfinfo, the default page comes out at 362.835 × 272.126 pt (128 × 96 mm) and aspectratio=169 at 453.543 × 255.118 pt (160 × 90 mm). The part people miss is that going 16:9 does not only make the slide wider: the height drops from 96 mm to 90 mm. A frame you packed to the bottom edge in 4:3 will overflow the moment you add aspectratio=169. That is why the ratio is a decision you make first, not last.
| Class option | Size | Measured by pdfinfo | Note |
|---|---|---|---|
aspectratio=43 | 128 × 96 mm | 362.835 × 272.126 pt | the default; what you get with no option |
aspectratio=169 | 160 × 90 mm | 453.543 × 255.118 pt | today's projector standard; 6 mm shorter |
aspectratio=1610 | 160 × 100 mm | 453.543 × 283.465 pt | matches many laptop screens |
aspectratio=149 | 140 × 90 mm | 396.85 × 255.118 pt | a less extreme wide format |
aspectratio=32 | 135 × 90 mm | 382.677 × 255.118 pt | 3:2 |
aspectratio=141 | 148.5 × 105 mm | 420.945 × 297.638 pt | exactly A6 landscape — pdfinfo even labels it "A6" |
aspectratio=54 | 125 × 100 mm | 354.331 × 283.465 pt | 5:4, for older projectors |
aspectratio=2013 | 140 × 91 mm | 396.85 × 257.953 pt | 20:13 — the digits are the ratio |
It pays to know how those dimensions actually reach the PDF. beamer.cls hands its computed width and height to geometry as papersize={...}, and geometry is what rewrites \pdfpagewidth and \pdfpageheight. That matters more than it looks. In plain LaTeX, \documentclass[letterpaper]{article} still produces an A4 PDF — measured at 595.276 × 841.89 pt — because TeX Live's pdftexconfig.tex has already set \pdfpagewidth = 210 true mm and the standard classes never touch it. beamer redoes that override itself, so it never falls into the trap. The flip side: if you add preamble code that pokes \pdfpagewidth by hand, only beamer's own dimension arithmetic is left behind, and centred figures drift. Leave it alone.
% decide this before you place a single figure
\documentclass[aspectratio=169]{beamer}
% inside a frame, always express sizes relative to the slide,
% never in absolute cm, so a later ratio change survives
\includegraphics[width=0.8\textwidth]{plot.pdf}
\includegraphics[height=0.6\textheight]{photo.jpg}Removing the navigation symbols: \setbeamertemplate{navigation symbols}{}
One line in the preamble does it: \setbeamertemplate{navigation symbols}{}. Those faint marks are not decoration but a real set of links assembled from six parts. The definition in beamerouterthemedefault.sty is nothing but \insertslidenavigationsymbol, \insertframenavigationsymbol, \insertsubsectionnavigationsymbol, \insertsectionnavigationsymbol, \insertdocnavigationsymbol and \insertbackfindforwardnavigationsymbol set side by side, and each carries two to four hyperlinks of its own. Compile a one-frame deck with the default theme and count: the PDF carries 20 /Link annotations on that single slide. Empty the template and it drops to 0; keep only {\insertframenavigationsymbol} and it drops to 4.
| Part | Where its links go | Links |
|---|---|---|
\insertslidenavigationsymbol | previous and next slide, plus the viewer's "go to page" | 3 |
\insertframenavigationsymbol | end of the previous frame, start and end of this one, start of the next | 4 |
\insertsubsectionnavigationsymbol | the four subsection boundaries, same shape as for frames | 4 |
\insertsectionnavigationsymbol | the four section boundaries | 4 |
\insertdocnavigationsymbol | first and last page of the presentation | 2 |
\insertbackfindforwardnavigationsymbol | the viewer menu commands GoBack, Find and GoForward | 3 |
Whether to keep them is a question about the length of the talk. beamer's guidelines say as much: a longer talk needs more navigational help — a ninety-minute lecture benefits from a sidebar showing where you are, whereas a table of contents in a ten-minute introduction just looks silly. In practice that means: for a fifteen-minute conference talk, remove them (nobody clicks, and they print onto the paper too); for a semester of lecture slides, keep them (students reread the PDF at their desks and want to jump to a section). The middle setting, keeping only frame stepping, is {\insertframenavigationsymbol}. Note also that some themes, \usetheme{metropolis} among them, already suppress the symbols, so if they will not go away, suspect the theme first.
% remove all six symbols
\setbeamertemplate{navigation symbols}{}
% or keep only the frame-stepping pair
\setbeamertemplate{navigation symbols}{\insertframenavigationsymbol}Slide numbers: \insertframenumber and \inserttotalframenumber
By hand you write \insertframenumber/\inserttotalframenumber into the footline template, but when the theme already prints a number in its footer it is safer to pick one of beamer's own named templates: \setbeamertemplate{page number in head/foot}[totalframenumber] gives you "3 / 12" (beamerbaseauxtemplates.sty defines three of them — framenumber, totalframenumber and appendixframenumber). The thing that trips people is that the number counts frames, not PDF pages. A frame containing one \pause becomes two PDF pages, yet the corner reads the same "3 / 3" on both. The number not moving when you press the arrow key is not a bug.
The second trap is that the total is a lie on the first compile. \inserttotalframenumber can only be known once the whole deck has been typeset, so beamer writes the answer into the auxiliary .nav file — open one and you will find the line \headcommand {\gdef \inserttotalframenumber {3}}. Delete .aux and .nav, run once, and the footer shows the broken fractions 2/1 and 3/1; the second run finally produced 2/3 and 3/3. Always compile a talk twice — that is the iron rule of beamer. Then put [noframenumbering] on the title slide and on the backup slides so the total counts only the talk: a deck whose first content slide measured "2/3" became "1/2" simply by not counting the title page. To give the appendix its own count instead, place \appendix and select [appendixframenumber]: the main part then reads "2/2" and the backup slide "1/1".
\documentclass[aspectratio=169]{beamer}
\usetheme{Madrid}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{page number in head/foot}[appendixframenumber]
\begin{document}
% the title page should not eat frame number 1
\begin{frame}[plain,noframenumbering]\titlepage\end{frame}
\begin{frame}{Results}\end{frame}
% everything after \appendix is counted separately
\appendix
\begin{frame}{Backup: full derivation}\end{frame}
\end{document}A title slide at the start of every section: \AtBeginSection
Put \AtBeginSection[]{...} in the preamble and write a frame containing \tableofcontents[currentsection] inside it. That alone inserts a "you are here" slide at every \section{...}. The empty brackets [] are the argument used for unnumbered sections (\section*), meaning "do nothing there"; forget them and title slides sprout in front of your appendix headings too. Give the inserted frame [noframenumbering,plain] — as the previous section showed, that keeps the total honest, and it also strips the theme's furniture. For a finer grain there is \AtBeginSubsection[]{...}, and to split a ninety-minute lecture into two halves there is \part{...}, which gives each part its own table of contents.
This device has one side effect that will cost you five minutes if you do not know it. \tableofcontents is typeset from the .toc file, so on the first compile not a single section slide appears. Measured on a deck of two sections and four frames with no auxiliary files present: the first run produced 5 pages, the second 7. Before searching for "\AtBeginSection not working", run it again.
% the [] argument is what runs for \section*, i.e. nothing
\AtBeginSection[]{%
\begin{frame}[noframenumbering,plain]
\tableofcontents[currentsection]
\end{frame}%
}
% same idea one level down
\AtBeginSubsection[]{%
\begin{frame}[noframenumbering,plain]
\tableofcontents[currentsection,currentsubsection]
\end{frame}%
}Slides for the room, notes for you: two routes to a presenter display
There are two routes. The first needs nothing but beamer: \setbeameroption{show notes on second screen=right}, which makes the PDF itself twice as wide. Measured on a one-frame deck, the page comes out at 725.669 × 272.126 pt (256 × 96 mm) with the page count unchanged at 1 — a single sheet whose left half is for the room and whose right half is for you. Use =bottom and it doubles vertically instead (362.835 × 544.252 pt). No extra software is required, provided whatever drives the projector can crop to the left half. The second route is the pdfpc package shipped with TeX Live 2024 (v0.7.1, 2023/10/21), which stores the notes and the timing in the PDF's own metadata. Write \usepackage[overridenote]{pdfpc} and the body of \note{...} becomes a pdfpc note; write \pdfpcsetup{duration=20, lastminutes=3} and a twenty-minute countdown with a three-minute warning travels inside the file.
One honest caveat: PDF Presenter Console itself is not part of TeX Live. The pdfpc package ships only the LaTeX half that writes the metadata; the two-screen application (GPLv3+) is installed separately. Which cuts the other way too: in a venue where you cannot install anything, the wide PDF from show notes on second screen opens in any reader at all, so exporting one as insurance costs nothing. Writing the notes themselves — the syntax of \note{...}, and interleaving dedicated note pages with show notes — belongs to the handouts page.
% route 1: one PDF, twice as wide, no extra software
\setbeameroption{show notes on second screen=right}
% route 2: notes and a countdown clock stored inside the PDF
\usepackage[overridenote]{pdfpc}
\pdfpcsetup{duration=20, lastminutes=3}When a long deck compiles slowly: \includeonlyframes and draft
Put [label=cur] on the frame you are editing and \includeonlyframes{cur} in the preamble. Only that frame is emitted; the rest is still typeset and then thrown away. Measure it: a deck of 40 frames, each with three overlay steps and a TikZ drawing, comes to 121 pages and takes 3.51 s per run on this Mac under TeX Live 2024. Add \includeonlyframes{cur} and it becomes 3 pages and 1.39 s. Remembering that you need two passes, the wait drops from about seven seconds to under three. The class option draft works differently: it replaces the headline, footline and sidebar with plain grey rules — the substitution is written out in beamerbasemisc.sty. The page count stays at 121 and the run took 2.76 s. Use draft while you are tightening figure placement, and \includeonlyframes when you want to look at one slide's layout forty times in a row.
% preamble: build only the frame you are working on
\includeonlyframes{cur}
% body: the label must match
\begin{frame}[label=cur]{The slide I am fighting with}
\includegraphics[width=\textwidth]{big-figure.pdf}
\end{frame}The PDF you project is not the PDF you hand out: exporting and printing
Do not print the talk PDF as it stands. The reason is dimensional: a 16:9 slide is 160 × 90 mm and A4 is 210 × 297 mm, so one slide per sheet leaves two-thirds of the paper blank — and a frame with three \pause marks has already become four pages, which turns a thirty-minute talk into a 120-sheet brick. The proper answer is to build a second PDF with \documentclass[handout]{beamer} and pgfpages, which the handouts page covers in detail. If you would rather not touch the source at all, pdfjam ships with TeX Live and does it as post-processing: running pdfjam --nup 2x2 --frame true --paper a4paper --landscape put two measured slides onto a single A4 landscape page (841.89 × 595.276 pt).
# four slides to an A4 sheet, without touching the source
pdfjam --nup 2x2 --frame true --paper a4paper --landscape \
--outfile talk-4up.pdf talk.pdf
# check what you actually produced before you print 40 copies
pdfinfo talk-4up.pdf | grep -E "Pages|Page size"- Lock the aspect ratio first —
aspectratio=169adds width but also cuts the height from 96 mm to 90 mm. Changing it late overflows every frame you packed. - Always compile twice — both the frame total and the section title slides come through
.navand.toc, so the first run shows broken numbers like2/1. [noframenumbering]on the title and the backups — then the total counts only the talk. For a self-contained appendix,\appendixplus[appendixframenumber].- For a fifteen-minute talk, delete the navigation — one line,
\setbeamertemplate{navigation symbols}{}. For a long lecture, keep it. - Arrive with three PDFs — the talk, an insurance copy built with
show notes on second screen, and the handout. The third one is on the handouts page. - Check the fonts are embedded — run
pdfinfoandpdffontsover the file before it goes on the memory stick.