Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I'm trying to write a poster using beamerposter package. I would want to structure it using 3/4 columns, and each column should have a certain number of blocks.

I would want to define my own theme and i desire a rounded beamercolourbox for the block title, while the block body beamercolourbox should be a little narrower than the title one, even if centered with respect to it. The following code produces the block body beamercolourbox ragged left.

\setbeamertemplate{block begin}{
\vskip.75ex %
\begin{beamercolorbox}[rounded=true,leftskip=1cm,colsep*=.75ex]{block title}%
\usebeamerfont*{block title}\insertblocktitle
\end{beamercolorbox}%
\vskip.5ex %
\usebeamerfont{block body}%
\begin{beamercolorbox}[wd=.95\linewidth,colsep*=.75ex,sep=.75ex,vmode]{block body}%
} %
\setbeamertemplate{block end}{ %
\end{beamercolorbox} %
}

I tried enclosing all into a center environment as follows, but nothing has changed:

\setbeamertemplate{block begin}{
\vskip.75ex %
\begin{center}%
\begin{beamercolorbox}[rounded=true,leftskip=1cm,colsep*=.75ex]{block title}%
\usebeamerfont*{block title}\insertblocktitle
\end{beamercolorbox}%
\vskip.5ex %
\usebeamerfont{block body}%
\begin{beamercolorbox}[wd=.95\linewidth,colsep*=.75ex,sep=.75ex,vmode]{block body}%
} %
\setbeamertemplate{block end}{ %
\end{beamercolorbox} %
\end{center}%
}

Then i tried by using \hfill (as follows), but now the position is "better" but not yet centered, as it is slightly down left-positioned with respect to the title beamercolorbox.

\setbeamertemplate{block begin}{
\vskip.75ex %
\begin{beamercolorbox}[rounded=true,leftskip=1cm,colsep*=.75ex]{block title}%
\usebeamerfont*{block title}\insertblocktitle
\end{beamercolorbox}%
\vskip.5ex %
\usebeamerfont{block body}%
\hfill%
\begin{beamercolorbox}[wd=.95\linewidth,colsep*=.75ex,sep=.75ex,vmode]{block body}%
} %
\setbeamertemplate{block end}{ %
\end{beamercolorbox} %
\hfill%
}

Any idea on how to solve this issue? Thank you in advance for your attention. Regards.

share|improve this question
add comment

1 Answer 1

up vote 1 down vote accepted

You could use something like this:

\documentclass{beamer}

\newlength\bodywd
\setlength\bodywd{.95\linewidth}

\setbeamercolor{block title}{fg=olive,bg=olive!20}
\setbeamercolor{block body}{fg=blue,bg=blue!20}

\setbeamertemplate{block begin}{%
 \vskip.75ex%
 \begin{beamercolorbox}[rounded=true,leftskip=1cm,colsep*=.75ex]{block title}%
  \usebeamerfont*{block title}\insertblocktitle%
  \end{beamercolorbox}%
  \vskip.5ex %
  \usebeamerfont{block body}%
  \hspace*{.5\dimexpr\linewidth-\bodywd\relax}%
  \begin{beamercolorbox}[wd=\bodywd,colsep*=.75ex,sep=.75ex,vmode]{block body}%
}
\setbeamertemplate{block end}{%
  \end{beamercolorbox}%
\hfill\null%
}

\begin{document}

\begin{frame}
\begin{block}{The Title}
text
\end{block}
\end{frame}

\end{document}

enter image description here

The idea is to keep the width of body block in an auxiliar length \bodywd and to add, before the block, a horizontal space given by 0.5(\linewidth-\bodywd).

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.