beamer: Cómo agregar una nueva opción para el entorno del marco

beamer: Cómo agregar una nueva opción para el entorno del marco

En algún cuadro quiero que el título gire en el lado izquierdo del cuadro. Esto sucede con más frecuencia en formatos 16x9.

¿Cómo puedo redefinir el entorno del marco para agregar una opción que me permita hacerlo? Si no se utiliza esta nueva opción, se aplica el comportamiento del marco original.

Algo como esto:

\documentclass{beamer}
\begin{document}

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

ingrese la descripción de la imagen aquí

También podría ser una opción para el comando \frametitle{}.

Si bien podría resolver este problema en particular con una nueva variante del comando \frametitle (que estoy haciendo ahora), tengo en mente varios comportamientos de marcos opcionales que me gustaría activar y desactivar con opciones. Algunos ejemplos son: ampliar el ancho del texto y suprimir la línea del pie. Así que estoy buscando un mecanismo general para agregar opciones y comportamiento opcional al entorno \frame, manteniendo todo el comportamiento predeterminado y las opciones existentes, como frágil. ¿Cuál sería ese mecanismo?

--Axel

Respuesta1

Podrías usar la misma técnica que enhttps://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}

información relacionada