Rewrite the port's README as Markdown
Converts it and fills in what was missing: install instructions, links to ltx-talk, trantor, veraPDF and the presenter viewers, the upstream issues behind the speaker-notes workaround and the overlay tagging bug, and how to use the notes machinery in another document. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
103
slides_template/README.ltx-talk.md
Normal file
103
slides_template/README.ltx-talk.md
Normal file
@@ -0,0 +1,103 @@
|
||||
# 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
|
||||
```
|
||||
|
||||
The notes are a kludge. They exist to be read while talking and not shared.
|
||||
Only the slides build is expected to validate with tools like
|
||||
[veraPDF](https://verapdf.org/).
|
||||
|
||||
## Speaker notes
|
||||
|
||||
ltx-talk has no `\note` command. Its README and website list speaker notes
|
||||
among what the class is for, but the feature is unwritten (see
|
||||
[issue #156](https://github.com/josephwright/ltx-talk/issues/156)).
|
||||
|
||||
`talk-notes.sty` defines `\note` so that it records its text to a side file and
|
||||
contributes nothing to the slides. `mknotes` reads that file afterwards and
|
||||
builds the presenter PDF.
|
||||
|
||||
The assembled page puts the slide on the left and, on the right, a grey band
|
||||
carrying the section and position in the talk, a thumbnail of the current
|
||||
slide flush into the corner, and the notes below. Previous and next slides are
|
||||
left to the viewer: [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.
|
||||
|
||||
## Known gaps
|
||||
|
||||
Frame titles must be given as `\frametitle{...}` inside the frame, not as the
|
||||
argument to `\begin{frame}{...}`. Only the command form is tagged.
|
||||
|
||||
ltx-talk tags frame titles at H4, well below sections, and its manual calls the
|
||||
relationship between frame titles and sectioning "still very much open".
|
||||
|
||||
[Issue #33](https://github.com/josephwright/ltx-talk/issues/33): `\only<1>` and
|
||||
`\only<2>` produce output that fails validation. The `\pause` and `<+->` forms
|
||||
used here are unaffected.
|
||||
|
||||
ltx-talk is version 0.5.x and warns that almost all interfaces may change.
|
||||
`talk-notes.sty` reads two internals, `\g__talk_frame_int` and
|
||||
`\g__talk_slide_int` — the first thing to check if a release breaks the notes
|
||||
build.
|
||||
Reference in New Issue
Block a user