Skip to content

Beamer Transitions

Yuchen Jin edited this page Dec 8, 2022 · 3 revisions

Usages

Configure frame transitions

For the itemize, enumerate or similar environments, you can use

\begin{itemize}
  \item<1-> First sentence.
  \item<2-> Second sentence.
  \item<2> Only shown in the second step
  \item<3-> Third sentence.
\end{itemize}

For any block or some other things, you can make the transition to cover all of the contents:

\begin{frame}{Example}

\onslide<1->{
  \begin{block}{}
    Shown on all pages.
  \end{block}
}

\only<1>{
  \begin{block}{}
    Only shown in the first page.
  \end{block}
}

\only<2>{
  Only shown in the second page.
}

\end{frame}

When using different document class mode

If you are not using beamer mode, you need to specify the transition case:

\documentclass[...,trans]{beamer}

...

\begin{document}

...

\begin{frame}{Example}
\onslide<trans:1->{
  \begin{block}{}
    Shown on all pages.
  \end{block}
}
\end{frame}

...

\end{document}

Certainly, you can make the transitions work in different modes:

\documentclass[...,handout]{beamer}

...

\begin{document}

...

\begin{frame}{Example}
\onslide<1-|trans:1-|handout:1->{
  \begin{block}{}
    Shown on all pages.
  \end{block}
}
\end{frame}

...

\end{document}

Add transition methods to your slides separately

For example, if we have multiple different pages, we can configure the transition method of each page separately:

\begin{frame}{Example}{First frame}
  \transfade[duration=0.5]
  \begin{itemize}
    ...
  \end{itemize}
\end{frame}

\begin{frame}{Example}{Second frame}
  \transboxin[duration=0.5]
  \begin{itemize}
    ...
  \end{itemize}
\end{frame}

Add a transition method globally

If you want to add the same transition method to each step (page), you can add the following command before your document environment:

\addtobeamertemplate{frametitle}{\transfade[duration=0.5]}{}

\begin{document}
...
\end{document}

Do not forget the last {} bracket of this command!

⚠️ Note that you cannot set different animations for a specific frame, if you use this method!

What transition methods you can use

The following examples are copied from the document of beamer.

\transblindshorizontal<⟨overlay specification⟩>[⟨options⟩]

Show the slide as if horizontal blinds were pulled away.

Example: \transblindshorizontal


\transblindsvertical<⟨overlay specification⟩>[⟨options⟩]

Show the slide as if vertical blinds were pulled away.

Example: \transblindsvertical<2,3>


\transboxin<⟨overlay specification⟩>[⟨options⟩]

Show the slide by moving to the center from all four sides.

Example: \transboxin<1>


\transboxout<⟨overlay specification⟩>[⟨options⟩]

Show the slide by showing more and more of a rectangular area that is centered on the slide center.

Example: \transboxout


\transcover<⟨overlay specification⟩>[⟨options⟩]

Show the slide by covering the content that was shown before.

Example: \transcover


\transdissolve<⟨overlay specification⟩>[⟨options⟩]

Show the slide by slowly dissolving what was shown before.

Example: \transdissolve[duration=0.2]


\transfade<⟨overlay specification⟩>[⟨options⟩]

Show the slide by slowly fading what was shown before.

Example: \transfade


\transfly<⟨overlay specification⟩>[⟨options⟩]

Show the slide by letting the new content fly in before removing the old slide.

Example: \transfly[direction=180]


\transglitter<⟨overlay specification⟩>[⟨options⟩]

Show the slide with a glitter effect that sweeps in the specified direction.

Example: \transglitter<2-3>[direction=90]


\transpush<⟨overlay specification⟩>[⟨options⟩]

Show the slide by pushing what was shown before off the screen using the new content.

Example: \transpush


\transreplace<⟨overlay specification⟩>[⟨options⟩]

Replace the previous slide directly (default behaviour).

\transsplitverticalin<⟨overlay specification⟩>[⟨options⟩]

Show the slide by sweeping two vertical lines from the sides inward.

Example: \transsplitverticalin


\transsplitverticalout<⟨overlay specification⟩>[⟨options⟩]

Show the slide by sweeping two vertical lines from the center outward.

Example: \transsplitverticalout


\transsplithorizontalin<⟨overlay specification⟩>[⟨options⟩]

Show the slide by sweeping two horizontal lines from the sides inward.

Example: \transsplithorizontalin


\transsplithorizontalout<⟨overlay specification⟩>[⟨options⟩]

Show the slide by sweeping two horizontal lines from the center outward.

Example: \transsplithorizontalout


\transwipe<⟨overlay specification⟩>[⟨options⟩]

Show the slide by sweeping a single line in the specified direction, thereby “wiping out” the previous contents.

Example: \transwipe[direction=90]


You can also specify how long a given slide should be shown, using the following overlay-specification-aware command:

\transduration<⟨overlay specification⟩>{⟨number of seconds⟩}

In full screen mode, show the slide for ⟨number of seconds⟩. If zero is specified, the slide is shown as short as possible. This can be used to create interesting pseudo-animations.

Example: \transduration<2>{1} Notice that the duration of a slide transition is entire separate from the type of transition which takes place. Most notably, to cancel an existing auto-advance you need to use.

Example: \transduration{} possibly with an overlay specification.