Beamer #
Bugs & quirks #
\newenvironment<>
#
Does not make environment incremental-overlay-aware, aka, cannot use [<+->]
.
<0>
frames #
\begin{frame}<0>
- Hides a frame in presentation (default) mode (not handout mode), and does not count the frame in total pages
\begin{frame}<mode/all:0>
- Hides a frame in given mode/all modes, but counts the frame in total pages.
Natbib colouring problem #
This solution only colours the closing bracket, but the link scope stays the same (without closing bracket). (Ref: 1, 2, seems to be fixed but not really)
\let\oldcite=\cite
\renewcommand{\cite}[1]{\textcolor{NordGreen}{\oldcite{#1}}}
! Illegal parameter number in definition of \iterate.
#
Ref: tikz pgf - Error: Illegal Parameter number in definition of \iterate - TeX - LaTeX Stack Exchange
Whenever there is #
in a Beamer frame, must write \#
(tested, URL will work) or ####
(not tested), or mark the frame as fragile (\begin{frame}[fragile]
).
Buttons #
\begin{frame}
\frametitle{Summary}\label{summary}
\hyperlink{details}{\beamergotobutton{Details}}
\end{frame}
\begin{frame}
\frametitle{Details}\label{details}
\hyperlink{summary}{\beamerreturnbutton{Return}}
\end{frame}
Formatting text #
Highlight #
highlighting - Highlight/color a part of text in block in beamer - TeX - LaTeX Stack Exchange
Note page #
Show note pages #
%\setbeameroption{hide notes} % Only slides
%\setbeameroption{show only notes} % Only notes
\setbeameroption{show notes on second screen=right} % Both
Write notes #
Inside frames: (default outcome: 1 enumerate
list per frame)
\begin{frame}
\frametitle{Blah}
\note[item]{Notes...}
\note[item]{...blah.}
\end{frame}
Outside frames: (default outcome: 1 itemize
list per frame)
\begin{frame}
\frametitle{Blah blah}
\end{frame}
\note[itemize]{
\item Notes...
\item ...blah blah.
}
Overlay-aware notes #
In incremental overlay:
\begin{frame}
\frametitle{Blah}
\begin{itemize}[<+->]
\item<.-> 1st slide \& stay
\note[item]<.>{1st slide only}
\note[item]<+>{2nd slide only}
\item 3rd slide \& stay
...
\end{itemize}
\end{frame}
Plain template but change line height #
In Intel Macs, Beamer internal styles are stored at path /usr/local/texlive/2022/texmf-dist/tex/latex/beamer/
. Commands used in note page are stored in file beamerbasenotes.sty
, and templates for note page are stored in file beamerbaseauxtemplates.sty
.
After close inspections, I found these lines to be relevant: (Ref)
\makeatletter
% For outside frame notes, beamerbasenotes.sty L64-69
% First three lines seems redundant because outside notes always use itemize
\define@key{beamernotes}{enumerate}[true]{%
\def\beamer@noteenvstart{\begin{enumerate}\itemsep=0pt\parskip=8pt}%
\def\beamer@noteenvend{\end{enumerate}}}
\define@key{beamernotes}{itemize}[true]{%
\def\beamer@noteenvstart{\begin{itemize}\itemsep=0pt\parskip=8pt}%
\def\beamer@noteenvend{\end{itemize}}}
% For inside frame notes, beamerbasenotes.sty L178-195
\def\beamer@setupnote{%
\gdef\beamer@notesactions{%
\beamer@outsideframenote{%
\beamer@atbeginnote%
\beamer@notes%
\ifx\beamer@noteitems\@empty\else
\begin{enumerate}\itemsep=0pt\parskip=8pt%
\beamer@noteitems%
\end{enumerate}%
\fi%
\beamer@atendnote%
}%
\gdef\beamer@notesactions{}%
}
}
\makeatother
Changing the values of \itemsep
and \parskip
in all three instances will give different line height results.
Use itemize
for both inside and outside slides #
Just change the inside notes above from enumerate
to itemize
. (Ref)
\makeatletter
\def\beamer@setupnote{%
\gdef\beamer@notesactions{%
\beamer@outsideframenote{%
\beamer@atbeginnote%
\beamer@notes%
\ifx\beamer@noteitems\@empty\else
\begin{itemize}\itemsep=0pt\parskip=8pt%
\beamer@noteitems%
\end{itemize}%
\fi%
\beamer@atendnote%
}%
\gdef\beamer@notesactions{}%
}
}
\makeatother
Insert vertical space above notes #
After inspecting L781-L812 of beamerbaseauxtemplates.sty
:
\makeatletter
\defbeamertemplate{note page}{plainer}
{%
\vskip4em
\insertnote
}
\makeatother
\setbeamertemplate{note page}[plainer]
Further customisation #
beamer - Note page showing the next frame - TeX - LaTeX Stack Exchange
Page number #
Reset page number at appendix #
\usepackage{appendixnumberbeamer}
\begin{document}
% Frames.
\appendix
% Less important Frames.
\end{document}
Presentation software #
- Cimbali/pympress
- pdfpc/pdfpc
- Présentation.app (No support for
\note
) - Skim
Refs: