定义范围,使用 beamer 中的注释

定义范围,使用 beamer 中的注释

对于这段代码,我得到了未定义的控制序列 \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}

在此处输入图片描述

相关内容