两列重叠步骤

两列重叠步骤

我有以下幻灯片:

\documentclass[beamer]{beamerswitch}
\usetheme{metropolis}
\beamerdefaultoverlayspecification{<+->}

\begin{document}
\begin{frame}\frametitle{My title}

  \begin{columns}[t]
    \begin{column}{0.49\textwidth}
      \begin{block}{Left side}
        \begin{itemize}
        \item First item;
        \item Second item;
        \end{itemize}
      \end{block}
    \end{column}

    \begin{column}{0.49\textwidth}
      \begin{block}{Right side}
        \begin{itemize}
        \item First item;
        \item Second item;
        \end{itemize}
      \end{block}
    \end{column}
  \end{columns}
\end{frame}
\end{document}

当我编译它时,我得到了 9 页。在幻灯片 1-2 上,只显示标题。“左侧”出现在幻灯片 3 上,而“右侧”出现在幻灯片 7 上。

我应该进行哪些更改才能使“左侧”出现在幻灯片 1 上,并且幻灯片 2 和 6 上没有额外的步骤?我想保留文档的默认叠加规范。

编辑:通过反复试验,我找到了以下解决方案:

\documentclass[beamer]{beamerswitch}
\usetheme{metropolis}
\beamerdefaultoverlayspecification{<+->}

\begin{document}
\begin{frame}\frametitle{My title}
\beamerdefaultoverlayspecification{} %switch off for this slide

  \begin{columns}[t]
    \begin{column}{0.49\textwidth}
      \begin{block}{Left side}
        \begin{itemize}[<+(1)->]
        \item First item;
        \item Second item;
        \end{itemize}
      \end{block}
    \end{column}

    \begin{column}{0.49\textwidth}
      \begin{block}{\uncover<4->{Right side}}
        \begin{itemize}[<+(2)->]
        \item First item;
        \item Second item;
        \end{itemize}
      \end{block}
    \end{column}
  \end{columns}
\end{frame}
\end{document}

我不明白它为什么会这样做。如果 \beamerdefaultoverlayspecification{<+->} 生效,beamer 在打印标题后会摆两次姿势。为什么?似乎有什么东西在改变 beamerpauses 计数器的值,但如果我理解手册没有问题,那么列和块环境都不应该这样做。那么是什么注入了所有这些暂停?

答案1

下次再试。[<+(1)->]

\documentclass[beamer]{beamerswitch}
\usetheme{metropolis}
%\beamerdefaultoverlayspecification{<+->}

\begin{document}
\begin{frame}\frametitle{My title}

  \begin{columns}[t]
    \begin{column}{0.49\textwidth}
      \begin{block}{Left side}
        \begin{itemize}[<+(1)->]
        \item First item;
        \item Second item;
        \end{itemize}
      \end{block}
    \end{column}

    \begin{column}{0.49\textwidth}
      \begin{block}{Right side}
        \begin{itemize}[<+(1)->]
        \item First item;
        \item Second item;
        \end{itemize}
      \end{block}
    \end{column}
  \end{columns}
\end{frame}
\end{document}

在此处输入图片描述

答案2

不幸的是,我无法解释为什么会发生这种情况,但以下通过使用 etoolbox 修补columnscolumn环境为我解决了该问题:

\usepackage{etoolbox}
% when using columns we get two empty pages before itemize without this, 
% when using \beamerdefaultoverlayspecification{<+->} 
\preto\columns{\addtocounter{beamerpauses}{-1}}
\preto\column{\addtocounter{beamerpauses}{-1}}

此后,列表前不再出现空白页,并且覆盖将按预期贯穿两列。

相关内容