我有以下幻灯片:
\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 修补columns
和column
环境为我解决了该问题:
\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}}
此后,列表前不再出现空白页,并且覆盖将按预期贯穿两列。