# ltx-talk port This branch is the presentation template ported from beamer to the [ltx-talk](https://github.com/josephwright/ltx-talk) class. ltx-talk was written with tagging as a design goal. ## Requirements * LuaLaTeX * TeX Live 2025 or newer (ltx-talk needs LaTeX 2025-11-01 or later); `texlive-latex-recommended` ships the class * `python3-pypdf`, for assembling the notes PDF You can install all three on Debian with: ``` apt install texlive-latex-recommended python3-pypdf ``` ## Building ``` make slides # the deck; this is what gets uploaded make notes # double-width slide + notes pages for presenting make pdfpc # build the notes PDF and open it in pdfpc ``` Share the slides build, not the notes build: only the slides are tagged and expected to validate with tools like [veraPDF](https://verapdf.org/). ## Migrating from beamer | beamer | here | |---|---| | `\begin{frame}{Title}` | `\frametitle{Title}` inside the frame | | `\begin{frame}[standout]{}` | `\standout{...}` | | `\sectionpage` from the theme | `\section{...}` then `\sectionpage` | | `\subsectionpage` | `\subsection{...}` then `\subsectionpage` | | `\note{...}`, `\note[item]{...}` | same, after `\usepackage{talk-notes}` | | `\appendix` | same | | `\alert{...}`, `\item<2->`, `\pause` | same | | `\only<1>{...}` | avoid; use `\pause` or `\begin{itemize}[<+->]` | Use `\frametitle`, not the braced argument: by default the class treats `\begin{frame}{Title}` as body text, so the title is not tagged as a heading. Give every `\includegraphics` an `alt={...}` description, and declare table header rows with `\tagpdfsetup{table/header-rows={1}}` before the tabular. ## Speaker notes ltx-talk has no `\note` command (see [issue #156](https://github.com/josephwright/ltx-talk/issues/156)). `talk-notes.sty` defines one that records its text to a side file and contributes nothing to the slides; `mknotes` reads that file afterwards and builds the presenter PDF. Present it with [dspdfviewer](https://github.com/dannyedel/dspdfviewer), [pdfpc](https://pdfpc.github.io/), or the web viewers [Beamer Viewer](https://beamerviewer.euxane.eu/) and [backstage](https://bckstg.xyz/). ### Installing speaker notes To use speaker notes in another ltx-talk document, copy two files out of this repository: - `mknotes` - `talk-notes.sty` Load the package in the preamble: ```latex \usepackage{talk-notes} ``` Write notes with `\note{...}`, or `\note<2->{...}` to bind one to particular slides of a frame. As in beamer, plain notes run together as text, each starting a new paragraph, and `\note[item]{...}` adds an entry to a numbered list printed after them. Build the deck, then assemble the presenter PDF: ``` ./mknotes example ``` That reads `example.pdf` and `example.notes` and writes `example-notes.pdf`, the double-width version you present from. The slides in `example.pdf` are untouched. If `fonts.tex` is present it is used for the notes pages, so they match the deck. `--preamble FILE` names a different fragment. ## Theme `trantor.sty` is [Marco Pompili's](https://github.com/mrc-pop) [Metropolis-like theme](https://github.com/mrc-pop/trantor) for ltx-talk.