3

See the end for code.

Let's say I have a frame in Beamer, and I want it to open with an image visible in a right column. I then want the text to appear with button presses (thus, pauses). How do I do this?

Below is example code of a left-aligned image that works perfect, but I need to move it to the right side:

\documentclass{beamer}
\mode<presentation> {
  \usetheme{Marburg}
  \usecolortheme{beaver}
  \setbeamercolor{author in sidebar}{fg = purple}
  \setbeamercolor{section in sidebar}{fg = white}
  \setbeamercolor{subsection in sidebar shaded}{fg = purple}
  \setbeamercolor{subsection in sidebar}{fg = pink}
  \useinnertheme{default}
}

\usepackage{graphicx}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{hyperref}
\usepackage{caption}
\usepackage{multicol}
\usepackage[none]{hyphenat}
\usepackage[english]{babel}
\usepackage{mathtools}
\usepackage{booktabs}
\usepackage{subcaption}
\usepackage{ulem}


\begin{document}
\begin{frame}
  \frametitle{Example}
  \begin{columns}

    \begin{column}{0.5\textwidth}
      \begin{figure}[H]
        \includegraphics[width = \linewidth]{example-image-a}
        \caption{EXAMPLE A}\pause
      \end{figure}
    \end{column}
    
    \begin{column}{0.5\textwidth}
      \begin{itemize}
      \item Item 1\pause
      \item Item 2\pause
      \item Item 3
      \end{itemize}
    \end{column}
    
  \end{columns}
\end{frame}

\end{document}
2
  • Welcome to TeX.SE! Can you please make your codesnippet be compilable, then we do not have to guess what you are doing ...
    – Mensch
    Commented Oct 4, 2021 at 14:57
  • @Mensch Yeah sure I'll add that now Commented Oct 4, 2021 at 14:57

1 Answer 1

1

You don't need a column environment within the columns environment. You can use the \column command to create a new column. Subsequent columns will appear to the right of existing columns, so put the code for your list, then create a new column containing your figure. Also, you don't need a figure environment unless you specifically want the caption.

The \pause command is not limited to the columns environment, thus pauses everything thereafter. You have much better control using overlay specifications (see section 9 in the beamer documentation). Adding [<+->] after \begin{itemize} will increment the list (+) and keep items visible thereafter (-). This does not affect the other column containing the figure.

\documentclass{beamer}
\mode<presentation> {
  \usetheme{Marburg}
  \usecolortheme{beaver}
  \useinnertheme{default}
}

\begin{document}
\begin{frame}
\frametitle{Example}
\begin{columns}
\column{0.5\textwidth}
    \begin{itemize}[<+->]
    \item Item 1
    \item Item 2
    \item Item 3
    \end{itemize}
\column{0.5\textwidth}
    \begin{figure}[H]
    \includegraphics[width = \linewidth]{example-image-a}
    \caption{EXAMPLE A}
    \end{figure}
\end{columns}
\end{frame}
\end{document}

enter image description here

5
  • I think that the OP wants the image on the right visible on all the slides... maybe you need to use explicit <> overlays.
    – Rmano
    Commented Oct 4, 2021 at 16:09
  • Thanks @Rmano! Edited.
    – erik
    Commented Oct 4, 2021 at 16:20
  • Thank you! Is there any way to show the picture and hide "item 1" until after the first button press? Commented Oct 4, 2021 at 16:32
  • Found it! Thanks for mentioning the documentation, I checked section 9 and found I could do [<+(1)->] Commented Oct 4, 2021 at 16:46
  • 1
    @TheAkashain you can also go manual and use <1>, <2-> ,<3-> etc in specific items. That way you can also use a specific <> specifier for you \column and make that appears when you like (for example, <2-4> to make it visible in steps 2,3,4... independently from its position in the input file. Really, \pause is ok just for simple, linear things...
    – Rmano
    Commented Oct 5, 2021 at 7:53

You must log in to answer this question.

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