Beamer {columns} 环境内部和外部项目的对齐

Beamer {columns} 环境内部和外部项目的对齐

我注意到 Beamercolumns环境内部和外部的项目未水平对齐。 有办法解决这个问题吗?

代码

\documentclass{beamer}

\begin{document}

\begin{frame}[t]{Title}
\begin{itemize}
    \item item outside columns
    \item item outside columns
\end{itemize}

\begin{columns}
    \column{.6\textwidth}
    \begin{itemize}
        \item item in first column
    \end{itemize}

    \column{.4\textwidth}
    text in second column
\end{columns}
\end{frame}

\end{document}

输出

在此处输入图片描述

答案1

\documentclass{beamer}

\begin{document}

\begin{frame}[t]{Title}
\begin{itemize}
    \item item outside columns
    \item item outside columns
\end{itemize}

\begin{columns}[totalwidth=\textwidth]
    \column{.6\textwidth}
    \begin{itemize}
        \item item in first column
    \end{itemize}

    \column{.4\textwidth}
    text in second column
\end{columns}
\end{frame}

\end{document}

生成的幻灯片的图像

对于文档范围的解决方案,您可以使用onlytextwidth类选项(需要 beamer v3.65 或更新版本)

\documentclass[onlytextwidth]{beamer}

\begin{document}

\begin{frame}[t]{Title}
\begin{itemize}
    \item item outside columns
    \item item outside columns
\end{itemize}

\begin{columns}
    \column{.6\textwidth}
    \begin{itemize}
        \item item in first column
    \end{itemize}

    \column{.4\textwidth}
    text in second column
\end{columns}
\end{frame}

\end{document}

答案2

添加到萨姆卡特[totalwidth=\textwidth]的回答,下图说明了将选项(或等效地[onlytextwidth])传递给环境的效果columns

在此处输入图片描述

从场景 4 中可以看出,默认情况下,columns环境会占据整个\paperwidth。因此在场景 3 中,当两列的总宽度只有 时,它们之间会有额外的空间\textwidth,这比 短\paperwidthonlytextwidth指定选项后,columns环境会占用与 相同的宽度\textwidth,因此项目的水平对齐是正确的,如场景 2 所示。

代码

\documentclass[handout]{beamer}
\usepackage{tikz}

\newcommand\colwidth[1]{\tikz{
    \draw[|-|](0,0)-- node[fill=white]{\texttt{#1}} (\textwidth,0);
}}

\newcommand\colenv[3][]{
    \begin{columns}[#1]
        \column{.6 #2}
        \begin{itemize}
            \item item in first column
        \end{itemize}
        \colwidth{.6\textbackslash{}#3}

        \column{.4 #2}
        text in second column
        \colwidth{.4\textbackslash{}#3}
    \end{columns}
}

\begin{document}

\begin{frame}

\alert{1. Outside \texttt{columns} environment}
\begin{itemize}
    \item item outside columns
\end{itemize}
\colwidth{\textbackslash{}textwidth}

\bigskip

\alert{2. \texttt{columns} environment with width options}
\colenv[onlytextwidth]{\textwidth}{textwidth} % equivalently, [totalwidth=\textwidth]

\bigskip

\alert{3. \texttt{columns} environment w/o width option, width=\texttt{\textbackslash{}textwidth}}
\colenv{\textwidth}{textwidth}

\bigskip

\alert{4. \texttt{columns} environment w/o width option, width=\texttt{\textbackslash{}paperwidth}}
\colenv{\paperwidth}{paperwidth}

\end{frame}

\end{document}

相关内容