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}

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}
Try adding a \vrule
between the two columns:
\begin{columns}[c]
\begin{column}{0.5\textwidth}
\includegraphics<1>[width=0.35\textwidth]{picture.jpg}
\end{column}
\hspace{-50pt}
\vrule{}
\begin{column}{0.50\textwidth}
\includegraphics<1>[width=0.35\textwidth]{picture.jpg}
\end{column}
\end{columns}
Best Answer
A bit hacky, but with the
dashrule
package and\rotatebox
macro fromgraphicx
you can achieve something like the following (MWE taken from the other question you linked):You need to enclose the
\hdashrule
macro into a rotatebox and manually adjust the starting point of the rule after the rotation with a\hskip
.You can control the dashing factor, thickness, length, etc. of the rule via the
\hdashrule
command parameters explained in the package documentation.TikZ solution
Just for fun, here is a TikZ based alternative solution:
I just defined a
\vdashrule
command that takes advantage of theoverlay
andremember picture
TikZ options, which let you anchor the rule to frame borders (or everywhere else in the frame, if you like).The length of the rule is specified with an argument and the style can be controlled via the TikZ options.
The visual result is pretty much the same as the previous screenshot.