0

I'm working on a command to produce multiple itemized beamer slides where each item is revealed on the next slide (but the future bullets can still be seen).

Unfortunately, it doesn't quite work. The bullets begin improperly spaced and the last bullet doesn't even show up until the last slide that's generated.

My incorrect solution uses a nested multido command instead of foreach because I need to use the indices.

Here's a MWE:

\documentclass{beamer}
\setbeamertemplate{frametitle}[default][center]
\usepackage{multido, arrayjob, ifthen} %arrays, etc, for the multiSlideItems command

%command for multi-slide lists in beamer    
%usage: \multiSlideItems{SlidesTitle}{Pre-listContent}{listLength}{List-as-&-separatedArray}{Post-listContent}
\newcommand{\multiSlideItems}[5]{
\newarray\SlideItems
\readarray{SlideItems}{#4}
\multido{\i=1+1}{#3}{%
    {\begin{frame}
        \frametitle{#1}
        #2 %The pre-list stuff
        {\begin{itemize}
            {\multido{\ii=1+1}{#3}{%
                \ifthenelse{\i<\ii}{%
                    \item \phantom{\SlideItems(\ii)}}{%
                    \item \SlideItems(\ii)}}}
        \end{itemize}
        \ifthenelse{\i<#3}{\phantom{#5}}{#5}} %post-list stuff to display if the list has been fully revealed
    \end{frame}}}
}

\begin{document}
\multiSlideItems{X}{}{3}{A&B&C}{}
\end{document}
2

You can make beamer do the work for you:

\documentclass{beamer}
\setbeamertemplate{frametitle}[default][center]

\newenvironment{myitemize}{%
\begingroup
    \setbeamercolor{itemize item}{parent=structure}
    \setbeamercolor{alerted text}{fg=black}
    \setbeamercolor{itemize/enumerate body}{fg=white}
    \begin{itemize}[<alert@+->]
}{
    \end{itemize}
\endgroup
}


\begin{document}

\begin{frame}
\frametitle{X}
\begin{myitemize}
    \item A
    \item B
    \item C
\end{myitemize}
\end{frame}
\end{document}
  • Is there a way to get this to display the stuff after the list to only show up when the last item appears? – Kyle Oct 9 '17 at 18:46
  • 1
    @Kyle \pause. – user36296 Oct 9 '17 at 18:48

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.