投影机中各列之间的分离

投影机中各列之间的分离

我正在尝试创建一张包含三列的科学海报(在 Beamer 环境中)。效果很好,唯一的问题是列之间的间隔太大,而且我找不到覆盖 Beamer 指定的默认值的方法。

我知道,在表格环境中,我可以使用\renewcommand\tabcolsep{6pt} 是否有类似的column环境?

我将\begin{columns} \column{.3\textwidth}其用于我的专栏。我使用beamerposter包,但据我了解,它嵌入在beamer文档类中,因此我认为 beamer 的命令也可以正常工作。

谢谢。这是一个可行的示例。您可以看到两列之间的间距约为 2 厘米,我希望能够修改这个间距。

\documentclass{beamer}
\mode<presentation>

\usepackage{lipsum}
\usepackage[orientation=landscape,size=a0,scale=1.4,debug]{beamerposter}


% Display a grid to help align images
\beamertemplategridbackground[1cm]

\begin{document}
\begin{frame}[t]{} 
    \vspace{-40pt}
\begin{columns}[t]
\begin{column}[t]{0.305\linewidth}

\lipsum

\end{column}

\begin{column}[t]{0.305\linewidth}

\lipsum

\end{column}

\begin{column}[t]{0.305\linewidth}

\lipsum

\end{column}

\end{columns}
\end{frame}
\end{document}

答案1

减少列间距的唯一方法是增加列宽。您可以手动执行此操作,也可以定义辅助长度来为您进行计算;在下面的示例中,您只需设置所需的值,就会为\MyColSep\MyColWd提供产生所需间隔的列宽:

\documentclass{beamer}
\usepackage[orientation=landscape,size=a0,scale=1.4,debug]{beamerposter}
\usepackage{lipsum}
\usepackage{calc}

\beamertemplategridbackground[1cm]

\newlength\MyColSep
\setlength\MyColSep{1cm}
\newlength\MyColWd
\setlength\MyColWd{0.3333\textwidth-0.6666666\MyColSep}

\begin{document}

\begin{frame}[t]{} 

\begin{columns}[t]

\begin{column}[t]{\MyColWd}
\lipsum[1-3]
\end{column}
\begin{column}[t]{\MyColWd}
\lipsum[1-3]
\end{column}
\begin{column}[t]{\MyColWd}
\lipsum[1-3]
\end{column}

\end{columns}

\end{frame}

\end{document}

在此处输入图片描述

要控制边距,您可以使用\setbeamersize,a 和onlytextwidth环境选项columns

\documentclass{beamer}
\usepackage[orientation=landscape,size=a0,scale=1.4,debug]{beamerposter}
\usepackage{lipsum}
\usepackage{calc}

\beamertemplategridbackground[1cm]

\setbeamersize{text margin left=3cm,text margin right=3cm}
\newlength\MyColSep
\setlength\MyColSep{1cm}
\newlength\MyColWd
\setlength\MyColWd{0.3333\textwidth-0.66666\MyColSep}

\begin{document}

\begin{frame}[t]{} 

\begin{columns}[onlytextwidth]
\begin{column}[t]{\MyColWd}
\lipsum[1-3]
\end{column}
\begin{column}[t]{\MyColWd}
\lipsum[1-3]
\end{column}
\begin{column}[t]{\MyColWd}
\lipsum[1-3]
\end{column}
\end{columns}

\end{frame}

\end{document}

答案2

为了得到你想要的,你需要调整两个都海报的外边距和列的大小。如果你只是增加列所占的比例\textwidth,你的左右边距就会太窄,所以你也需要手动调整。以下是一个例子:

\documentclass{beamer}
\usepackage{beamerposter}
\setlength{\oddsidemargin}{1in} % adjust as necessary
\usepackage{lipsum}

\begin{document}

\begin{frame}
\begin{columns} 
\column{.33\textwidth} % adjust this size as necessary (or use Gonzalo's command).
\lipsum[1-5]
\column{.33\textwidth}
\lipsum[1-5]
\column{.33\textwidth}
\lipsum[1-5]
\end{columns}
\end{frame}

\end{document}

代码输出

答案3

我自己也为此苦恼过(虽然是为了演示而不是为了制作海报),我想到最简单的解决方案是插入负水平空间。这有点老套,但提供了很大的灵活性。

\documentclass{beamer}
\usepackage{beamerposter}
\usepackage{lipsum}

\begin{document}

\begin{frame}
\begin{columns} 
\begin{column}{.33\textwidth}
\lipsum[1-5]
\end{column}
\hspace{-0.33cm}\begin{column}{.33\textwidth}
\lipsum[1-5]
\end{column}
\hspace{-0.33cm}\begin{column}{.33\textwidth}
\lipsum[1-5]
\end{column}
\end{columns}
\end{frame}
\end{document}

相关内容