フレームの上部(フレームのタイトルとデフォルトのフレームの見出しの上)に次のようなテキスト行を配置します。
\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
)。