Quiero colocar una línea de texto en la parte superior de un marco (encima del título del marco y del título predeterminado del marco), como por ejemplo:
\begin{frame}
My top of frame text
\frametitle{My title}
My frame body
\end{frame}
pero el proyector se reformatea automáticamente. ¿Tienes alguna sugerencia? Gracias.
Respuesta1
Aquí, agregué una \smash
pila de edición alineada a la izquierda encima del título del marco. Parece tener el mismo espacio que cuando \frametitle
es simplemente texto sin formato. Tener un MWE completo del OP habría ayudado a comprender si este enfoque es adecuado.
\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}
Respuesta2
Esta es una solución Beamer "nativa":
\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}
Básicamente, esto crea un frame
entorno personalizado que incorpora una frametitle
plantilla parcheada. De esta manera puedes llamar myframe
cuando quieras al texto sobre el título y al predeterminado frame
cuando no lo quieras.
Si es necesario, el parche se puede hacer global (simplemente elimine el archivo newenvironment
).