宏的可选

宏的可选

beamer文档中,您可以找到具有两个<⟨overlay specification⟩>' 的宏。例如:

\alt<⟨overlay specification⟩>{⟨default text⟩}{⟨alternative text⟩}<⟨overlay specification⟩>

但是,我找不到解释有什么区别?似乎只能使用一个<(overlay specification)>。这是向后兼容性问题吗?在下面的 MWE 中,我似乎无法发现差异:

\documentclass{beamer}
\begin{document}
\begin{frame}
  \frametitle{Foo}
  \begin{itemize}[<+->]
  \item Foo
  \item \alt<2>{Hello}{World}
  \item Bar
  \end{itemize}
\end{frame}
\begin{frame}
  \frametitle{Bar}
  \begin{itemize}[<+->]
  \item Foo
  \item \alt{Hello}{World}<2>
  \item Bar
  \end{itemize}
\end{frame}
\end{document}

那么,这到底是怎么回事呢?

答案1

如果我理解正确的话,这是为了方便你的工作。可选参数的自然位置当然是在所有其他参数之前:

\alt<2>{this}{that}

但是,假设您定义了一个带有覆盖的宏,并在使用时指定,那么您可以执行以下操作:

\newcommand\macro{\alt{this}{that}}
...
\macro<2>

当然,还有另一种(也许更合适的)方法来实现这一点,参见beameruserguide.pdf,第 86 页,第段\renewcommand<>反向\only

\newcommand<>\macro{\alt#1{this}{that}}
...
\macro<2>

但你喜欢哪一种就看个人喜好了。我觉得在强制参数后面加上可选参数很奇怪,所以我当然会使用后者。

相关内容