19

I'm using beamer to create some slides for a presentation. I've got a block containing a bulleted list. The list only has three items, and all three items are bunched up in a small block at the top of the slide.

Is there a way to spread the bullets vertically, so that the block expands to take up the whole slide, and the bullet points are equally spaced down the slide?

Minimal example:

\documentclass[t]{beamer}

\usecolortheme{rose}

\title[Review of EpiSimS for Pandemic Flu]{Review of\\ \emph{EpiSimS Simulation of a Multi-Component Strategy for Pandemic Influenza}}
\author{Robin Wilson}
\institute{ICSS}
\date{\today}

\begin{document} 
\begin{frame}{Why this paper?}
    \begin{block}{Reasons}
    \begin{itemize}
        \vfill\item Agent-based modelling is a \textbf{growing field}
        \vfill\item Pandemic Flu is a \textbf{major threat}
        \vfill\item EpiSimS is one of the most \textbf{recent}, most \textbf{sophisticated} ABMs
    \end{itemize}
    \end{block}
\end{frame}
\end{document}
6

A sort of nasty hack would be

\begin{frame}{Why this paper?}
    \begin{block}{Reasons}
       \vbox to .6\vsize{
           \begin{itemize}
               \vfill\item Agent-based modelling is a \textbf{growing field}
               \vfill\item Pandemic Flu is a \textbf{major threat}
               \vfill\item EpiSimS is one of the most \textbf{recent}, most \textbf{sophisticated} ABMs
           \end{itemize}
        }
    \end{block} 
\end{frame} 
14
  • Instead of repeatedly writing \vfill you could make the item separation space stretchable:

    \setlength{\itemsep}{\fill}
    
  • The block environment prevents the stretching by this \itemsep or \vfill. Removing the block environment would show it. But you may stretch the block by putting the contents into a minipage environment depending on the text height.

The frame may become:

\begin{frame}{Why this paper?}
  \begin{block}{Reasons}
    \begin{minipage}[t][.6\textheight][c]{\linewidth}
      \begin{itemize}
        \setlength\itemsep{\fill}
        \item Agent-based modelling is a \textbf{growing field}
        \item Pandemic Flu is a \textbf{major threat}
        \item EpiSimS is one of the most \textbf{recent}, most
              \textbf{sophisticated} ABMs
     \end{itemize}
   \end{minipage}
  \end{block}
\end{frame}

Output:

example frame

  • \setlength{\itemsep}{\fill} does nothing to the spacing in my slides, but \setlength{\itemsep}{12pt} alters the bullet point separation in the expected way. – Sander Heinsalu Feb 24 at 13:04
11

The list is bunched up at the top of the slide because you set the class option t. So I would either drop this option or override it for the slide in question (using \begin{frame}[c]{Why this paper?}).

3

If you need to spread vertically every itemize in the presentation (document), then you can write in your preamble:

\let\olditem\item
\renewcommand{\item}{\setlength{\itemsep}{\fill}\olditem}

This is useful because the line \setlength{\itemsep}{\fill} only alters one single itemize.

  • This is great for simple lists, but it doesn't look great for nested lists. The last subitem for an item will be right next to the next item, instead of having a space between subitem and next item. – EL_DON May 2 '17 at 17:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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