兩列中疊加步驟

兩列中疊加步驟

我有以下幻燈片:

\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}

我不明白為什麼它會這樣做。如果 \beamerdefaultoverlayspecation{<+->} 有效,則在列印標題後,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}}

之後,清單前不會出現任何空白頁面,並且覆蓋會像預期一樣貫穿兩列。

相關內容