[Tex/LaTex] Separation between columns in beamer

beamercolumnsspacing

I am trying to create a scientific poster (in a beamer environment) with three columns. It works very well, my only problem is that the separation between the columns is too large and I cannot find a way to overwrite the default value assigned by beamer.

I know, in a tabular environment, I could have used \renewcommand\tabcolsep{6pt}
Is there anything similar for a columnenvironment?

I use \begin{columns} \column{.3\textwidth} for my columns. And I use the beamerposter package, but from my understanding it is embedded in a beamer document class, so I assume that beamer's commands would work as well.

Thank you.
Here is a working example. You can see that the space between two columns is about 2 cm, I would like to be able to modify this space.

\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}

Best Answer

The only way to decrease the intercolumn space is to increase the column width. You can do this manually, or you can define auxiliary lengths to do the calculations for you; in the following example, you simply set the desired value for \MyColSep and the \MyColWd will give you the column width producing the desired separation:

\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}

enter image description here

To control the margins you can use \setbeamersize,a and the onlytextwidth option for the columns environment:

\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}
Related Question