![哪一个:\only 或 \onslide ?(Beamer)](https://linux22.com/image/246275/%E5%93%AA%E4%B8%80%E4%B8%AA%EF%BC%9A%5Conly%20%E6%88%96%20%5Conslide%20%EF%BC%9F(Beamer).png)
在beamer
v3.0 指南(幻灯片 121)我发现:
如有细微差别,可更换高度
overlayarea
和overprint
使用环境。
但我不太清楚。
Beamer 中的\only
和有什么区别?\onslide
如何决定在特定情况下选择哪一个?
答案1
简而言之,\only<>{}
不会使支撑材料根本除了指定的幻灯片外,同时\onslide<>
呈现材料直到下一个\onslide
,有点像\item
,但在幻灯片关闭时,会覆盖它(根据 中给出的首选项\setbeamercovered
;即透明或不可见)。还有其他替代方案,例如,\uncover<>{}
,其功能类似于 ,\only
但行为类似于\onslide
;即获取特定的文本块并根据需要覆盖或显示它。
在某些情况下,它们的工作方式会有所不同。例如,\onslide
在其中一个amsmath
方程环境中使用(我发现)会产生可怕的错误:
\usepackage{amsmath}
...
\begin{align*}
a & \onslide<+-> b % Bad
a & \uncover<+->{b}% Good
\end{align*}
据推测这是因为align
手册在处理其内容时做了所谓的“邪恶的事情”。
您还会询问overlayarea
和环境;它们是和overprint
的花哨版本,它们分别为整个揭示序列保留空间。环境会自动执行此操作,但只允许您通过连续使用以“逐项”方式揭示,并且环境要求您准确说明覆盖区域的大小,但允许您在里面使用任何 Beamer 构造;然后它将生成所需数量的幻灯片,每个幻灯片上的该区域(包括必要的空白空间)中都会出现各种材料。\uncover
\onslide
overprint
\onslide
overlayarea