我想在beamer
幻灯片上的图形旁边放置一些文本。问题是,如果我简单地使用tikzpicture
环境,LaTeX 会将文本后无论之前放置了什么,无论是隐藏的还是显示的。我怎样才能知道tikz
使用页面坐标而不是从当前位置开始计算呢?
编辑: 最小工作示例。显然,这与我选择的列有关。
\documentclass[bigger]{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{columns}
\begin{column}{0.6\textwidth}
\only <1>{
\begin{tikzpicture}
\node at (0,0) {a};
\end{tikzpicture}
}
\only <2>{
\begin{tikzpicture}
\node at (0,0) {b};
\end{tikzpicture}
}
\only <3>{
\begin{tikzpicture}
\node at (0,0) {c};
\end{tikzpicture}
}
\end{column}
\end{columns}
\end{frame}
\end{document}
当我编译这个时,“a”,“b”和“c”并不出现在同一个位置,而是一个接一个地出现。
答案1
您的文本包含超出命令范围的空格\only
,即最后一个括号后的换行符\only{...}
。要删除这些,您需要添加最后一个%
符号:
\only<1>{...
...}%
你的完整代码将会是这样的:
\documentclass[bigger]{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{columns}
\begin{column}{0.6\textwidth}
\only <1>{
\begin{tikzpicture}
\node at (0,0) {a};
\end{tikzpicture}
}%
\only <2>{
\begin{tikzpicture}
\node at (0,0) {b};
\end{tikzpicture}
}%
\only <3>{
\begin{tikzpicture}
\node at (0,0) {c};
\end{tikzpicture}
}
\end{column}
\end{columns}
\end{frame}
\end{document}