列宽总和不等于列环境的总宽度

列宽总和不等于列环境的总宽度

我在列beamerposter中嵌入了一些块。

我现在的问题是它们的宽度似乎加起来不正确。特别是如果我有两列 10cm 宽,整个列将大于一列 20cm。看起来列分隔符在任何地方都不起作用。

\documentclass[final]{beamer}
\usepackage[scale=1]{beamerposter} % Use the beamerposter package for laying out the poster
\setbeamercolor{block title}{bg=blue,fg=white} % Colors of the block titles
\begin{document}
\begin{frame}[t] % The whole poster is enclosed in one beamer frame
\begin{columns}[t,totalwidth=20cm]
\begin{column}{20cm}\begin{block}{a}b\end{block}\end{column}
\end{columns}
\begin{columns}[t,totalwidth=20cm]
\begin{column}{10cm}\begin{block}{a}b\end{block}\end{column}
\begin{column}{10cm}\begin{block}{a}b\end{block}\end{column}
\end{columns}
\end{frame}
\end{document}

在此处输入图片描述

答案1

看起来,columns不包括文本的任何侧边距,而block包括。但它们的宽度与文本宽度相同。通过包含一些行(长行 20 厘米,短行 10 厘米),10 厘米的(文本)列之间的间距变得更加清晰。

在此处输入图片描述

一个解决方案是将 10 厘米列的宽度减少 8pt,如下图所示。我从日志中满溢的水平盒子中获得了 8pt。由于列的宽度减小,10 厘米的线条有点误导,因为它们比文本长。

在此处输入图片描述

第二张图片的代码是(删除-8pt以获取第一张)。

\documentclass[final]{beamer}
\usepackage{lipsum}
\usepackage{calc}
\usepackage{tikz}
\usepackage[scale=1]{beamerposter} % Use the beamerposter package for laying out the poster
\setbeamercolor{block title}{bg=blue,fg=white} % Colors of the block titles
\begin{document}
\begin{frame}[t] % The whole poster is enclosed in one beamer frame
  \tikz[|-|] \draw(0,0)--+(20cm,0);
  \begin{columns}[t,totalwidth=20cm]
    \begin{column}{20cm}
      \tikz[|-|] \draw(0,0)--+(20cm,0);
     \begin{block}{a}
        \tikz[|-|] \draw(0,0)--+(20cm,0);
     \end{block}
    \end{column}
  \end{columns}
  \begin{columns}[t,totalwidth=20cm]
    \begin{column}{10cm-8pt}
     \begin{block}{A}
        \tikz[|-|] \draw(0,0)--+(10cm,0);
        \lipsum[2]
     \end{block}
    \end{column}%
    \begin{column}{10cm-8pt}
     \begin{block}{B}
        \tikz[|-|] \draw(0,0)--+(10cm,0);
        \lipsum[3]
     \end{block}
    \end{column}
  \end{columns}
\end{frame}
\end{document}

相关内容