编辑

编辑

我注意到,在 Beamer 中,放置在“itemize”环境内的“Columns”环境不尊重项目的缩进:

\documentclass{beamer}
\begin{document}

\begin{frame}
\begin{itemize}
  \item item 1
    \begin{columns}[t] % contents are top vertically aligned
      \begin{column}{0.5\textwidth} 
        Contents of first column \\ split into two lines
      \end{column}
      \begin{column}{0.5\textwidth} 
        Contents of second column \\ split into two lines
      \end{column}
    \end{columns}
\item item 2    
\end{itemize}
\end{frame} % 

\end{document}

这种行为正常吗? 是否应该包含缩进以将列与项目内容对齐?

我知道我可以通过在开头插入一个空列来解决这个问题:

\begin{column}{\leftmargini}
\end{column}

但我想知道是否存在更优雅的本地解决方案。

答案1

我认为,您应该改变环境的使用方式。在外部,使用columns-environment 来定义特定幻灯片的布局。然后用内容填充您的列,例如 -environment itemize

-environmentitemize没有提供columns-environment,因此必然会像您的示例中那样失败。

编辑

正如建议的那样:这是与类似环境的用法tabular

\documentclass{beamer}
\usepackage{tabularx}           % adapts columnwidth
\usepackage{array}              % for creating new columntypes
\usepackage{ragged2e}           % for line wrapping within words

%% Define a new column for your tabular in the itemize environment.
\newcolumntype{L}{>{\RaggedRight\arraybackslash}X}

\begin{document}

\begin{frame}
  \frametitle{Two columns in \texttt{itemize}}
  \begin{itemize}
  \item item 1
    \begin{tabularx}{\linewidth}{@{} *{2}{L} @{}} % @{} to remove
                                % white space at the left and right
                                % border of the table
      Contents of first column \newline split into two lines
   & Contents of second column \newline split into two lines 
    \end{tabularx}
  \item item 2    
  \end{itemize}
\end{frame}

\end{document}

其结果如下:

在此处输入图片描述

相关内容