beamerswitchクラス

beamerswitchクラス

タイトルの通りです。私は\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}

関連情報