ビーマーのフレームタイトルの上にテキストを配置する

ビーマーのフレームタイトルの上にテキストを配置する

フレームの上部(フレームのタイトルとデフォルトのフレームの見出しの上)に次のようなテキスト行を配置します。

\begin{frame}
    My top of frame text
    \frametitle{My title}
    My frame body
\end{frame}

しかし、beamer は自動的に再フォーマットします。何か提案はありますか? ありがとうございます。

答え1

\smashここでは、フレーム タイトルの上に左揃えの ed スタックを追加しました。 が\frametitle単なるプレーン テキストの場合と同じ間隔になっているようです。 OP から完全な MWE を入手できれば、このアプローチが適切かどうかを理解するのに役立つでしょう。

\documentclass{beamer}
\usepackage{stackengine}
\renewcommand\stackalignment{l}
\begin{document}
\begin{frame}
    My top of frame text
%\frametitle{My title}
    \frametitle{\stackon{My title}{%
      \smash{\scriptsize extra text above the frame title}}}
    My frame body
\end{frame}
\end{document}

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

答え2

これは「ネイティブ」な Beamer ソリューションです。

\documentclass{beamer}

\makeatletter
\newenvironment{myframe}[2][c]{%
    \addtobeamertemplate{frametitle}{\hskip-.7\beamer@leftmargin\scriptsize #2\vspace*{-.2cm}}{}
    \begin{frame}[#1]%
}{%
    \end{frame}
}
\makeatother

\begin{document}
\begin{myframe}{text above}
\frametitle{frame title}
\end{myframe}

\begin{frame}
\frametitle{frame title}
\end{frame}
\end{document}

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

frame基本的に、これはパッチされたテンプレートを埋め込むカスタム環境を作成しますframetitle。この方法では、myframeタイトルの上にテキストが必要なときに を呼び出し、frame必要がないときにはデフォルトを呼び出すことができます。

必要に応じて、パッチをグローバルにすることができます ( を削除するだけですnewenvironment)。

関連情報