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}

Связанный контент