Com classe beamerswitch

Com classe beamerswitch

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@checkframetitleo comando e adicionar \pauseo comando se booleano \ifafterftpausefor 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}

informação relacionada