当创建一个演示文稿,其内容就像数学老师在传统黑板上书写一样时,会出现一些问题。在 MWE 中,当删除“%”以激活最后一行时,第一行会向上移动。
有没有一种实用的方法来设计这样的演示文稿?我想过相对坐标,但没有成功。最好的办法是先修复标题,然后再添加其他内容。(在我看来,通过对齐环境等来设计完整的最终状态是不切实际的。所以我想到了使用 tikz。)
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{tikzpicture}
\onslide<1->{\node at (5,4) {Headline: Topic of the day};}
\onslide<2->{\node at (1,1) {$5a=5b$};}
\onslide<3->{\node at (1,0) {$a=b$};}
\onslide<4->{\node at (5,0.5) {Here we have done something};}
%\node at (1,-2) {$x=y$};
\end{tikzpicture}
\end{frame}
\end{document}
答案1
该库的目的正是overlay-beamer-styles
避免此类跳转。而不是\onslide
使用 pgf 键visible on
。
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{overlay-beamer-styles}
\begin{document}
\begin{frame}%[t] %<- is in general better IMHO
\begin{tikzpicture}
\node[visible on=<1->] at (5,4) {Headline: Topic of the day};
\node[visible on=<2->] at (1,1) {$5a=5b$};
\node[visible on=<3->] at (1,0) {$a=b$};
\node[visible on=<4->] at (5,0.5) {Here we have done something};
%\node at (1,-2) {$x=y$};
\end{tikzpicture}
\end{frame}
\end{document}
一般情况下,我还建议使用[t]
框架选项。它使内容顶部对齐,因此如果您在下方添加一些内容\pause
,则不会出现跳转。
答案2
即使使用固定的边界框也可以解决问题。
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{tikzpicture}
\useasboundingbox (0,2); %<- bounding box
\onslide<1->{\node at (5,4) {Headline: Topic of the day};}
\onslide<2->{\node at (1,1) {$5a=5b$};}
\onslide<3->{\node at (1,0) {$a=b$};}
\onslide<4->{\node at (5,0.5) {Here we have done something};}
\node at (1,-2) {$x=y$};
\end{tikzpicture}
\end{frame}
\end{document}