使用 beamerswitch 类

使用 beamerswitch 类

正如标题所示。我\beamerdefaultoverlayspecification{<+->}在演示中使用。默认情况下,beamer 会显示一个新框架,其中第一个项目或文本片段已经可见。但是,我首先只想显示框架标题(例如,标题是我想在继续提供答案之前解释的问题)。现在,我可以像这样手动执行此操作:

\begin{frame}\frametitle{This title needs some explanation}
  \pause
...

但这必须对每一帧都执行,而且还会产生各种意想不到的效果(例如,它似乎会干扰 beamerpauses 计数器,但我不明白它到底是做什么的)。有没有办法让所有帧默认在 frametitle 后暂停?如果有,是否也可以恢复为单个帧的默认行为(以防我不想在特定帧的标题后暂停)?

答案1

如果布尔值为真,则可以修补 \beamer@checkframetitle命令并添加 命令,对于在帧标题后没有暂停的帧,只需更改为\pause\ifafterftpause\afterftpausefalse

\documentclass{beamer}
\usepackage{lipsum}

\newif\ifafterftpause
\afterftpausetrue % default

\makeatletter
\def\beamer@checkframetitle{%
\@ifnextchar\bgroup\beamer@inlineframetitle{{}\ifafterftpause\pause\fi}}
\def\beamer@inlineframetitle#1{%
\@ifnextchar\bgroup{\frametitle{#1}\framesubtitle}{\frametitle{#1}\relax}%
\ifafterftpause\pause\fi    
 }
\makeatother     

\begin{document}

\begin{frame}
\frametitle{Title}
    \lipsum[2]

\pause

\begin{itemize}
\item text
\item text
\end{itemize}

\end{frame}

{\afterftpausefalse %  no pause after  frame title    

\begin{frame}{Title}
    \lipsum[1]
\end{frame}
}

\begin{frame}{Title}
    \lipsum[2]

\pause

\begin{itemize}
\item text
\item text
\end{itemize}

\end{frame}

\end{document}

使用 beamerswitch 类

您需要\mode<all>在开头添加

\PassOptionsToClass{aspectratio=169,10pt}{beamer} 
\documentclass[beamer]{beamerswitch}
\usepackage{lipsum}

\newif\ifafterftpause
\afterftpausetrue % default

\makeatletter
\def\beamer@checkframetitle{%
\@ifnextchar\bgroup\beamer@inlineframetitle{{}\ifafterftpause\pause\fi}}
  \def\beamer@inlineframetitle#1{%
    \@ifnextchar\bgroup{\frametitle{#1}\framesubtitle}{\frametitle{#1}\relax}%
\ifafterftpause\pause\fi    
  }
\makeatother

\title{Title}

\begin{document}

% for beamerswitch class
\mode  
<all>

{\afterftpausefalse\frame{\titlepage}}

\begin{frame}
\frametitle{Title}
    \lipsum[2]

\pause

\begin{itemize}
\item text
\item text
\end{itemize}

\end{frame}

{\afterftpausefalse %  no pause after  frame title    

\begin{frame}{Title}
    \lipsum[1]
\end{frame}
}

\begin{frame}{Title}
    \lipsum[2]

\pause

\begin{itemize}
\item text
\item text
\end{itemize}

\end{frame}

\end{document}

相关内容