비머: 프레임 환경에 대한 새로운 옵션을 추가하는 방법

비머: 프레임 환경에 대한 새로운 옵션을 추가하는 방법

일부 프레임에서는 제목을 프레임 왼쪽에서 회전시키고 싶습니다. 이는 16x9 형식에서 더 자주 발생합니다.

옵션을 추가하기 위해 프레임 환경을 재정의하려면 어떻게 해야 합니까? 이 새 옵션을 사용하지 않으면 원래 프레임 동작이 적용됩니다.

이 같은:

\documentclass{beamer}
\begin{document}

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

여기에 이미지 설명을 입력하세요

\frametitle{} 명령에 대한 옵션일 수도 있습니다.

\frametitle 명령의 새로운 변형(지금 수행 중)을 사용하여 이 특정 문제를 해결할 수 있지만 몇 가지 선택적 프레임 동작을 염두에 두고 옵션을 사용하여 켜고 끄고 싶습니다. 예: 텍스트 너비를 더 넓게 만들고 바닥선을 억제합니다. 그래서 나는 모든 기본 동작과 깨지기 쉬운 기존 옵션을 유지하면서 \frame 환경에 옵션과 선택적 동작을 추가하는 일반적인 메커니즘을 찾고 있습니다. 그러한 메커니즘은 무엇입니까?

--악셀

답변1

에서와 동일한 기술을 사용할 수 있습니다.https://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}

관련 정보