ビーマー: フレーム環境に新しいオプションを追加する方法

ビーマー: フレーム環境に新しいオプションを追加する方法

一部のフレームでは、タイトルをフレームの左側で回転させたい場合があります。これは、16x9 形式でより頻繁に発生します。

それを可能にするオプションを追加するために、フレーム環境を再定義するにはどうすればよいですか。この新しいオプションが使用されない場合は、元のフレームの動作が適用されます。

このようなもの:

\documentclass{beamer}
\begin{document}

\begin{frame}[rotatetitle]
  \frametitle{My Rotated Title}
\end{frame}
\end{document}

ここに画像の説明を入力してください

これは、\frametitle{} コマンドのオプションにもなります。

この特定の問題は、\frametitle コマンドの新しいバリエーション (現在実行中) で解決できますが、オプションでオン/オフを切り替えたいオプションのフレーム動作がいくつかあります。たとえば、テキスト幅を広げたり、フッター ラインを非表示にしたりします。そのため、すべての既定の動作と、fragile などの既存のオプションを維持しながら、\frame 環境にオプションとオプションの動作を追加する一般的なメカニズムを探しています。そのようなメカニズムとはどのようなものでしょうか。

- アクセル

答え1

同じテクニックを使うこともできますhttps://topanswers.xyz/tex?q=1163#a1370

\documentclass[aspectratio=169,t]{beamer}

\usepackage{tikz}

\defbeamertemplate*{frametitle}{regular}{\insertframetitle}
\defbeamertemplate{frametitle}{rotated}{%
\begin{tikzpicture}[remember picture,overlay]
  \node[rotate=90,anchor=north east] at (current page.north west) {\insertframetitle};
\end{tikzpicture}%
}


\makeatletter
\providebool{rotatedframe}
\define@key{beamerframe}{rotated}[true]{
  \booltrue{rotatedframe}
  \begingroup
  \setbeamertemplate{frametitle}[rotated]
}

\apptocmd{\beamer@reseteecodes}{%
  \ifbool{rotatedframe}{%
    \endgroup
    \boolfalse{rotatedframe}
  }{}
}{}{}
\makeatother

\begin{document}

\begin{frame}
\frametitle{normal title}
This page shall have the regular frametitle
\end{frame}

\begin{frame}[rotated]
\frametitle{rotated title}
This page shall have the special frametitle
\end{frame}

\begin{frame}
\frametitle{normal title}
This page shall have the regular frametitle
\end{frame}
\end{document}

関連情報