3

I am doing a poster using beamerposter . The text inside a block always seems to have no left margin. Can anyone tell me a way of introducing a left margin in a block ?

Here is a sample of how a block looks. Notice that the text starts off with no left margin.

enter image description here

It would be nice if you could tell me how to define left, right, top and bottom margins within the block. Please note that I have nested blocks, though the nested ones have a different environment name (i called then insideBlocks). Hence I wouldn't want the margins for the block environment to affect the margins for my insideBlocks environment.

Hope I am clear.

2 Answers 2

5

I think this can be achieved in many ways. One possibility is to define a new block environment with custom margins, like this:

 \documentclass{beamer}
 \usetheme{Frankfurt}

\newenvironment<>{myblock}[1]{%
 \begin{actionenv}#2%
 \def\insertblocktitle{\leftskip=10pt\rightskip=10pt\vspace{10pt} #1\vspace{10pt}}%
 \par%
 \usebeamertemplate{block begin}\leftskip=10pt\rightskip=10pt\vspace{10pt}}
 {\par\vspace{10pt}\usebeamertemplate{block end}
 \end{actionenv}}


\begin{document}
\begin{frame}

\begin{myblock}{example title to show 10pt up, down, left and right margins}
 example text to show 10pt up, down, left and right margins
\end{myblock}

\begin{block}{example title to show standard margins}
 example text to show standard margins
\end{block}

\end{frame}
\end{document}

In the new environment (I called it myblock) \leftskip, \rightskip and \vspace are used to set the margins. As an example I set everything to 10pt. If you don't want, e.g. a right margin, just remove the rightskip from the code. I assumed you also wanted to customize the title text margin, if you don't want to just remove the leftskip etc. from \def\insertblocktitle{}. the result is: enter image description here

Another possibility would be with the tcolorbox package, which lets you set margins like this:

\documentclass{beamer} 
\usepackage{tcolorbox}                                 
\tcbuselibrary{skins}                                  


\tcbset{                                               % custom tcolorbox  
        skin=enhanced,                                 
        frame style={fill=blue},                       % sets the frame color
        bottom=10pt,                                    % distance between the body text and the bottom frame
        top=10pt,                                      % distance between the body text and the top frame
        left=10pt,
        right=10pt,
        boxrule=0pt,                                   % frame width
        bottomtitle=10pt,                               % distance between the title text and the bottom title frame               
        toptitle=10pt,                                  % distance between the title text and the top title frame
        lefttitle=10pt,                                  % title text left margin
        righttitle=10pt
}  
\begin{document}
\begin{frame}  
\begin{tcolorbox}[title=test]
 test
\end{tcolorbox}
\end{frame}
\end{document}

result is: enter image description here

edit: I didn't add the beamerposterpackage in my example code because it works both in beamer and beamerposter without modifications.

2
  • Thanks a lot for the prompt reply. The text is now left-margined. This helps me, but It would be nice if you could tell me how to shift the block itself to the right. In otherwords, is it possible to see the background to the left of this block ? Actually that was what I intended for. Nevertheless the solution you told is also good for me. Is my description too confusing ? Hope not. Apr 14, 2013 at 13:32
  • if you want to move the entire block to the right, you could for example use the columns environment. I believe this question has been asked many times, but if you want me to give an example I'll add it to my answer.
    – d-cmst
    Apr 14, 2013 at 13:56
0

You could use the upcoming version v0.3 of the tcolorbox inner theme (https://www.ctan.org/pkg/beamertheme-tcolorbox ). Using this theme, the nested blocks will automatically be a bit smaller than the surrounding block:

\documentclass{beamer}
\usetheme{Warsaw}
\usepackage[size=a4,orientation=portrait]{beamerposter}

\useinnertheme{tcolorbox}

\begin{document}

\begin{frame}
\begin{block}{title}
content...
\begin{block}{title}
content...
\end{block}
\end{block}
\end{frame}

\end{document}

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .