프레임 상단(프레임 제목 및 기본 프레임 헤드라인 위)에 다음과 같은 텍스트 줄을 배치하고 싶습니다.
\begin{frame}
My top of frame text
\frametitle{My title}
My frame body
\end{frame}
하지만 비머는 자동으로 다시 포맷됩니다. 의견 있으십니까? 감사해요.
답변1
\smash
여기에서는 프레임 제목 위에 왼쪽 정렬 스택을 추가했습니다 . 단순한 일반 텍스트 일 때와 동일한 간격을 갖는 것으로 보입니다 \frametitle
. OP의 전체 MWE가 있으면 이 접근 방식이 적절한지 이해하는 데 도움이 됩니다.
\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}
답변2
이것은 "기본" Beamer 솔루션입니다.
\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}
기본적으로 이는 frame
패치된 템플릿을 포함하는 사용자 정의 환경을 생성합니다 frametitle
. 이렇게 하면 myframe
제목 위의 텍스트를 원할 때마다 호출할 수 있고 frame
원하지 않을 때는 기본값을 호출할 수 있습니다.
필요한 경우 패치를 전역으로 만들 수 있습니다(만 제거하면 됩니다 newenvironment
).