欄位中的tikz圖片幹擾了其他欄位

欄位中的tikz圖片幹擾了其他欄位

我想要一張有兩列的幻燈片,其中一列是文本,另一列是 tikz 圖片。問題是,當我將一列設為 tikz 圖片時,它不允許文字從頁面頂部開始,而是將文字推到 tikz 圖片層級以下。任何建議將不勝感激。說明這一點的原始碼如下:

\documentclass[10pt]{beamer}
\title{My title is quite short}
\author[My Team]{My Name}
\date{\today}
\usepackage{tikz}
\begin{document}
\begin{frame}[t]
\frametitle{My slide title -- What I want}
Both columns start from the top of the page, which is what I want.  I
just want one column to be a tikz drawing.
\begin{columns}[t]
\begin{column}{0.5\textwidth}
\begin{itemize}
\item A
\item A
\item A
\end{itemize}
\end{column}
\begin{column}{0.5\textwidth}
\begin{itemize}
\item B
\item B
\item B
\end{itemize}
\end{column}
\end{columns}
\end{frame}
\begin{frame}[t]
\frametitle{My slide title -- Not what I want}
The text column begins vertically where the tikz picture ends.
\begin{columns}[t]
\begin{column}{0.5\textwidth}
\begin{itemize}
\item A
\item A
\item A
\end{itemize}
\end{column}
\begin{column}{0.5\textwidth}
\begin{tikzpicture}
\draw (0,0) circle (1cm);
\draw (0,-2) circle (1cm);
\end{tikzpicture}
\end{column}
\end{columns}
\end{frame}
\end{document}

答案1

您可以為該選項使用適當的值baseline;例如current bounding box.north

\documentclass[10pt]{beamer}
\usepackage{tikz}

\begin{document}

\begin{frame}[t]
\frametitle{My slide title -- What I want}
Both columns start from the top of the page, which is what I want.  I
just want one column to be a tikz drawing.
\begin{columns}[t]
\begin{column}{0.5\textwidth}
\begin{itemize}
\item A
\item A
\item A
\end{itemize}
\end{column}
\begin{column}{0.5\textwidth}
\begin{tikzpicture}[baseline=(current bounding box.north)]
\draw (0,0) circle (1cm);
\draw (0,-2) circle (1cm);
\end{tikzpicture}
\end{column}
\end{columns}
\end{frame}

\end{document}

在此輸入影像描述

答案2

beamer提供兩種頂級模式:

  • t將導致列的第一行對齊。如果t使用全域選項,則為預設值。

  • T與該選項類似t,但T對齊第一行的頂部,同時t對齊第一行的所謂基線。如果與此選項一起發生奇怪的事情t(例如,如果圖形隨著該選項突然「下降」t而不是「上升」),請嘗試改用此選項。

這裡你的例子使用T而不是t

\begin{frame}[t]
  \frametitle{My slide title -- Not what I want}
  The text column begins vertically where the tikz picture ends.
   % T instead of t !!!
  \begin{columns}[T]
    \begin{column}{0.5\textwidth}
      \begin{itemize}
      \item A
      \item A
      \item A
      \end{itemize}
    \end{column}
    \begin{column}{0.5\textwidth}
      \begin{tikzpicture}
        \draw (0,0) circle (1cm);
        \draw (0,-2) circle (1cm);
      \end{tikzpicture}
    \end{column}
  \end{columns}
\end{frame}

在此輸入影像描述

答案3

我有一個部分解決方案。加載\usepackage{multicol}然後你可以這樣做:

\begin{multicols}{2}

\begin{itemize}
\item A
\item A
\item A
\vfill 
\end{itemize}

\begin{tikzpicture}
\draw (0,0) circle (1cm);
\draw (0,-2) circle (1cm);
\end{tikzpicture}

\end{multicols}

相關內容