
Como diz o título. Eu uso \beamerdefaultoverlayspecification{<+->}
na minha apresentação. Por padrão, o beamer exibe um novo quadro com o primeiro item ou trecho de texto já visível. No entanto, quero primeiro exibir apenas o título do quadro (por exemplo, o título é uma pergunta que quero explicar antes de fornecer as respostas). No momento, posso fazer isso manualmente assim:
\begin{frame}\frametitle{This title needs some explanation}
\pause
...
Mas isso tem que ser feito para cada quadro, e também tem todo tipo de efeitos inesperados (por exemplo, parece mexer com o contador de pausas do feixe, mas não entendo exatamente o que ele faz). Existe uma maneira de fazer uma pausa após o título do quadro por padrão para todos os quadros? E se houver, também é possível voltar ao comportamento padrão para um único quadro (caso eu não queira uma pausa após o título de um quadro específico)?
Responder1
Você pode corrigir \beamer@checkframetitle
o comando e adicionar \pause
o comando se booleano \ifafterftpause
for verdadeiro, para quadros sem pausa após o título do quadro, basta mudar para\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}
Com classe beamerswitch
Você precisa adicionar \mode<all>
no início
\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}