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