这与
我很好奇为什么覆盖命令\visible
(和\invisible
,,\uncover
)\onslide
会在等式后添加额外的垂直空格;而\only
(和\alt
)却不会。
这是否与使用 定义\visible
et al (除)有关?(定义见)。\onslide
\alt
..\tex\latex\beamer\base\beamerbaseoverly.sty
平均能量损失
\documentclass{beamer}
\usetheme{Warsaw}
\newcommand\entry{
Text:
%
\begin{equation*}
ax=b
\end{equation*}
%
}
\begin{document}
\begin{frame}
\begin{block}{No overlay command}
\entry
\end{block}
\begin{block}{\textbackslash visible, or \textbackslash invisible, \textbackslash uncover, \textbackslash onslide}
\visible<1->{\entry}
\end{block}
\begin{block}{\textbackslash only or \textbackslash alt}
\only<1->{\entry}%
% {\entry} % uncomment if using \alt
\end{block}
\end{frame}
\end{document}
输出
答案1
最终答案如下:
当
\[display math\]
遇到 时\par
,会取消 后的空格\]
。
只需切换回 即可证明这一点$$old display math$$
。
讽刺的是,在一个投票最多的问题中为什么 \[ ... \] 比 $$ ... $$ 更可取?,人们说的间距$$
错误和$$
已经过时。
为什么和为什么不\]
相遇\par
通常我们只要写\[1+1\]
一下就可以了。但是对于覆盖规范,我们需要将内容放在括号中。并且 是 ,与{\[1+1\]}
分隔\]
开\par
,因此保留空格。
\only
、\alt
和其他叠加规范
Beamer 在覆盖规范方面做了很多工作。但有时它只是重复使用现有的命令。例如,\visible
最终定义为
\def\visible{\alt{\do_nothing}{\hide_what_follows}}
所以\visible<2->{\[1+1\]}
会变成
\alt<2->{\do_nothing}{\hide_what_follows}{\[1+1\]}
这里被 括号\[1+1\]
包围。⟶没有遇到。⟶ 保留空格。\]
\par
\par
如果我们添加这样的显式\visible<2->{\[1+1\]\par}
,它将变成
\alt<2->{\do_nothing}{\hide_what_follows}{\[1+1\par\]}
并且这里\]
遇到了\par
。⟶
空格被取消了。
另一方面,当我们\alt
直接使用时,我们通常会写
\alt<2->{}{\[1+1\]}
这种情况下,周围的括号不是问题,因为 TeX 会在宏扩展的时候把它去掉。⟶遇到.
⟶ 空格就被取消了。\]
\par