如何使用 tikz 將文字放置在投影機下幻燈片上的絕對位置

如何使用 tikz 將文字放置在投影機下幻燈片上的絕對位置

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

相關內容