[Tex/LaTex] Beamer — Revealing image in one minipage moves stuff in the other minipage

beamerfloatsminipage

I have two vertical minipages and when I reveal a picture in the right minipage, the text in the left one moves down a bit. I tried to use the columns environment, but I get the same result.

I'm talking here specifically about the transition between slide 2 and 3 where the text on the left is being lowered even though nothing is added/removed to that minipage and the transition from 3 to 4 where the opposite movement happens.

Below is a minimal working example:

\documentclass[11pt]{beamer}
\usepackage{mwe}

\begin{document}
\begin{frame}{title}{subtitle}
    \begin{minipage}{0.49\linewidth}
        \begin{itemize}
            \item<1-> Serial robots:
            \item[]\only<1> {\includegraphics[width=.8\textwidth]{example-image-10x16}}
            \item[]<2-> 
                Pros:\\ 
            - Easier kin. \& dyn. eq.\\ 
            - Extended reach
            \item[]<2-> 
                Cons: \\ 
            - Reduced stiffness \\ 
            - Low power/weight  
        \end{itemize}
    \end{minipage}
    \begin{minipage}{0.49\linewidth}
        \begin{itemize}
            \item<3-> Parallel robots:      
            \item[]\only<3>{\includegraphics[width=.8\textwidth]{example-image-10x16}}
            \item[]<4>
                Pros:  \\
            - High precision \\ 
            - Very light
            \item[]<4> 
                Cons: \\ 
            - Difficult equations \\ 
            - Smaller workspace
        \end{itemize}
    \end{minipage}
\end{frame}
\end{document}

Best Answer

Beamer tries centering both columns vertically. But in the third slide the right-column is too tall. So it looks like everything is pushed downward while they are just aligned at a new centre.

Two ways to go:

  • smash figures by \vbox to0cm{}. (not \smash since the baseline is is at the bottom of figures.)
  • assign \only<4> to the pros and cones of Parallel robots.
  • and, in any case, smash minipages for safety.

\documentclass[11pt]{beamer}
\usepackage{mwe}

\begin{document}
\begin{frame}{title}{subtitle}
    \begin{minipage}[c][0pt][c]{0.49\linewidth}
        \begin{itemize}
            \item<1-> Serial robots:
            \item[]\only<1> {\includegraphics[width=.8\textwidth]{example-image-10x16}}
            \item[]<2-> 
                Pros:\\ 
            - Easier kin. \& dyn. eq.\\ 
            - Extended reach
            \item[]<2-> 
                Cons: \\ 
            - Reduced stiffness \\ 
            - Low power/weight  
        \end{itemize}
    \end{minipage}
    \begin{minipage}[c][0pt][c]{0.49\linewidth}
        \begin{itemize}
            \item<3-> Parallel robots:      
            \item[]\only<3>{\vbox to0cm{\includegraphics[width=.8\textwidth]{example-image-10x16}}}
            \item[]<4>
                Pros:  \\
            - High precision \\ 
            - Very light
            \item[]<4> 
                Cons: \\ 
            - Difficult equations \\ 
            - Smaller workspace
        \end{itemize}
    \end{minipage}
\end{frame}
\begin{frame}{title}{subtitle}
    \begin{minipage}[c][0pt][c]{0.49\linewidth}
        \begin{itemize}
            \item<1-> Serial robots:
            \item[]\only<1> {\includegraphics[width=.8\textwidth]{example-image-10x16}}
            \item[]<2-> 
                Pros:\\ 
            - Easier kin. \& dyn. eq.\\ 
            - Extended reach
            \item[]<2-> 
                Cons: \\ 
            - Reduced stiffness \\ 
            - Low power/weight  
        \end{itemize}
    \end{minipage}
    \begin{minipage}[c][0pt][c]{0.49\linewidth}
        \begin{itemize}
            \item<3-> Parallel robots:      
            \item[]\only<3>{\includegraphics[width=.8\textwidth]{example-image-10x16}}
            \item[]<only@4>
                Pros:  \\
            - High precision \\ 
            - Very light
            \item[]<4> 
                Cons: \\ 
            - Difficult equations \\ 
            - Smaller workspace
        \end{itemize}
    \end{minipage}
\end{frame}
\frame{}
\end{document}
Related Question