beamer: Como adicionar uma nova opção para o ambiente de quadros

beamer: Como adicionar uma nova opção para o ambiente de quadros

Em algum quadro, quero que o título seja girado no lado esquerdo do quadro. Isso acontece com mais frequência nos formatos 16x9.

Como posso redefinir o ambiente do quadro para adicionar uma opção que me permita fazer isso. Se esta nova opção não for utilizada, o comportamento original do quadro será aplicado.

Algo assim:

\documentclass{beamer}
\begin{document}

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

insira a descrição da imagem aqui

Também poderia ser uma opção para o comando \frametitle{}.

Embora eu pudesse resolver esse problema específico com uma nova variante do comando \frametitle (que estou fazendo agora), tenho vários comportamentos de quadro opcionais em mente, que gostaria de ativar e desativar com opções. Os exemplos são: aumentar a largura do texto e suprimir a linha do rodapé. Portanto, estou procurando um mecanismo geral para adicionar opções e comportamentos opcionais ao ambiente \frame, mantendo ao mesmo tempo todo o comportamento padrão e opções existentes, como frágil. O que seria tal mecanismo?

--Axel

Responder1

Você poderia usar a mesma técnica que emhttps://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}

informação relacionada