第 81 页Beamer v3.20 用户指南描述命令的行为\onslide
。具体来说,当给出可选的文本参数时,有三种形式:
\onslide⟨overlay specification⟩{⟨text⟩}
,\onslide+⟨overlay specification⟩{⟨text⟩}
, 和\onslide*⟨overlay specification⟩{⟨text⟩}
。
根据用户指南,
如果存在 ⟨text⟩ 参数,
\onslide
(没有 ⟨modifier⟩) 映射到\uncover
,\onslide+
映射到\visible
, 并且\onslide*
映射到\only
。
这引出了三个问题:
- 这种映射是精确对应关系吗?
\onslide
如果是这样,那么允许接受可选的 ⟨text⟩ 参数有什么意义:为什么不直接要求用户使用\uncover
、\visible
和\only
?- 此外,如果是这样,有什么理由选择一种形式而不是另一种形式作为最佳实践?
答案1
如果{text}
存在并且确实以括号开头,\onslide
则会分别落到\only
、\visible
或\uncover
。
但是如果没有括号,它就会变成\only
,\beamer@noargsvisibleonslide
和 ,我隐约认为它们是和\beamer@noargsonslide
的 switch 变体。(我真的不喜欢“可以 switch 或有参数”的风格,所以我现在不太想深入研究这个问题。;))\visible
\uncover