对于这段代码,我得到了未定义的控制序列 \thenextitem。我认为这与定义的范围有关,但我不想将其设为全局,因为我想对每个列表项执行多次。有什么想法可以正确执行此操作吗?
\documentclass{beamer}
\usepackage{pgfpages}
\setbeameroption{show notes on second screen=right}
\begin{document}
\begin{frame}
\def\thenextitem{
text for the next item
}
\begin{itemize}
\item<1->\thenextitem
\note[item]<1->{\thenextitem..and some extra text}
\end{itemize}
\end{frame}
\end{document}
答案1
如果您不想将其设置为全局,那么您可以将定义限制在框架和注释框架周围的组中。
\documentclass{beamer}
\usepackage{pgfpages}
\setbeameroption{show notes on second screen=right}
\begin{document}
{
\def\thenextitem{
text for the next item
}
\begin{frame}
\begin{itemize}
\item<1->\thenextitem
\note[item]<1->{\thenextitem..and some extra text}
\end{itemize}
\end{frame}
}
\end{document}
但是如果你想在一帧内多次使用类似的东西,事情就会变得更加复杂。也许另一种方法会更简单:
\documentclass{beamer}
\usepackage{pgfpages}
\setbeameroption{show notes on second screen=right}
\newcommand{\mynote}[2]{%
\item #1
\note[item]{#1 #2}
}
\begin{document}
\begin{frame}
\begin{itemize}
\mynote{text for main and notes}{additional notes}
\end{itemize}
\end{frame}
\end{document}