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 use a custom Beamer theme for my presentations. In my presentations I'd like to use blocks (\begin{block}…\end{block}). These blocks are rendered slightly too wide to fit into my theme. Is there a way how I can set the default width of blocks, e.g. to .9\textwidth?

share|improve this question

2 Answers 2

up vote 11 down vote accepted

If you do not require a new block environment with customizable width, but simply want to change the width of the original block environments, add the following to your preamble:

\addtobeamertemplate{block begin}{%
  \setlength{\textwidth}{0.9\textwidth}%
}{}

\addtobeamertemplate{block alerted begin}{%
  \setlength{\textwidth}{0.9\textwidth}%
}{}

\addtobeamertemplate{block example begin}{%
  \setlength{\textwidth}{0.9\textwidth}%
}{}
share|improve this answer

You could define your own block environment with an optional parameter for its width and provide a default value such as .9\textwidth.

Here's an example:

\documentclass{beamer}
\usetheme{Warsaw}
\usepackage[english]{babel}

\newenvironment<>{varblock}[2][.9\textwidth]{%
  \setlength{\textwidth}{#1}
  \begin{actionenv}#3%
    \def\insertblocktitle{#2}%
    \par%
    \usebeamertemplate{block begin}}
  {\par%
    \usebeamertemplate{block end}%
  \end{actionenv}}

\begin{document}

\begin{frame}
\begin{block}{Standard}
  Normal block
\end{block}
\begin{varblock}[4cm]{New block}
  Variable width, here 4cm
\end{varblock}
\begin{varblock}{New block}
  If no width was given, .9\textbackslash textwidth will be used
\end{varblock}
\end{frame}

\end{document}

variable blocks example

I posted this example here in 2008.

share|improve this answer
    
(+1) I initially provided a link to this thread. Definitively better that you answered yourself. –  chl Mar 3 '11 at 12:56
    
@chl: thanks for the link! I noticed your comment right after posting. I just remembered that earlier thread. In addition to the older post I took the chance to create and post a screenshot. –  Stefan Kottwitz Mar 3 '11 at 13:12
    
Thanks for your answer! I'll definitely remember it for when I need something like this. However, the answer which I accepted does exactly what I desired right now. –  tobyS Mar 3 '11 at 14:18
    
For the sake of completeness, in order to center the shortened block, one has to surround it with \begin{cenetr}\begin{minipage}{block_width}<shortened block> \end{minipage}\end{center} –  Dror Jan 27 '12 at 9:38
    
@Dror: Well, that way one can even use the regular block environment ... –  user25287 Jan 31 '13 at 9:13

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.