Coloque texto encima del título del marco en el proyector

Coloque texto encima del título del marco en el proyector

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 \smashpila de edición alineada a la izquierda encima del título del marco. Parece tener el mismo espacio que cuando \frametitlees 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}

ingrese la descripción de la imagen aquí

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}

ingrese la descripción de la imagen aquí

Básicamente, esto crea un frameentorno personalizado que incorpora una frametitleplantilla parcheada. De esta manera puedes llamar myframecuando quieras al texto sobre el título y al predeterminado framecuando no lo quieras.

Si es necesario, el parche se puede hacer global (simplemente elimine el archivo newenvironment).

información relacionada