
我想在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}