
如標題所說。我\beamerdefaultoverlayspecification{<+->}
在我的演示中使用。預設情況下,beamer 顯示一個新框架,其中第一個項目或文字段已經可見。但是,我想首先僅顯示框架標題(例如,標題是我想在繼續提供答案之前解釋的問題)。現在,我可以像這樣手動執行此操作:
\begin{frame}\frametitle{This title needs some explanation}
\pause
...
但這必須對每一幀進行,而且它還會產生各種意想不到的效果(例如,它似乎與beamerpauses計數器混淆,但我不明白它到底做了什麼)。有沒有辦法預設在所有幀的幀標題之後暫停?如果有的話,是否也可以恢復為單幀的預設行為(如果我不想在特定幀上的標題之後暫停)?
答案1
如果布林值為 true,您可以修補 \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}