
我正在使用一個客製化投影儀主題,我遇到了佔據多行的長框架標題的問題。在這種情況下,標題向上滑動,但我更喜歡它使用向下的空間:
我想在這兩種情況下保持相同的間距。我有什麼選擇?
- 我可以定義一個
\frametitle[long]{longFrameTitle}
具有更大間隔的選項嗎? - 我可以寫一個 if 語句,在標題長度超過 n 個字元時自動增加間距嗎?
我可以定義一個叫做 的東西
\longframetitle
嗎?我可以在每個帶有長標題的框架上手動插入間距嗎?
我正在尋找最簡單的解決方案,因為這只是幾個幀中的問題。
到目前為止我嘗試過但沒有成功:
\setbeamertemplate{frametitle}{%
\begin{beamercolorbox}[
wd=\paperwidth,
leftskip=1cm,
rightskip=1cm,
ht=5ex,dp=1.5ex
]{frame title}%
\usebeamerfont{frame title}\insertframetitle%
\end{beamercolorbox}%
}
\setbeamertemplate{longframetitle}{%
\begin{beamercolorbox}[
sep=-7cm,
wd=\paperwidth,
leftskip=1cm,
rightskip=1cm,
ht=5ex,dp=1.5ex
]{frame title}%
\usebeamerfont{frame title}\insertframetitle%
\end{beamercolorbox}%
}
答案1
一個看起來很有效的解決方案是使用以下巨集:
\newcommand{\longframetitle}[2]{\frametitle{\tikz[inner xsep=0pt,baseline]{\node[anchor=base west] (titlePos) {\phantom{short fittitius title}};
\node[anchor=base west,text width=#1 ex] at (titlePos.base west) {#2};
}}}%\longframetitle{lenght of the line of the multiline title in ex}{title}
根據您的具體情況:
\documentclass[11pt]{beamer}
\usetheme{leipzig}
\begin{document}
\title{short Title}
\newcommand{\longframetitle}[2]{\frametitle{\tikz[inner xsep=0pt,baseline]{\node[anchor=base west] (titlePos) {\phantom{short fittitius title}};
\node[anchor=base west,text width=#1 ex] at (titlePos.base west) {#2};
}}}%\longframetitle{lenght in ex}{title}
\begin{frame}
\frametitle{short Title}
\end{frame}
\begin{frame}
\longframetitle{50}{Looooooooooooooooooong Title which\\[-2pt] occupies multiple lines}
\end{frame}
\end{document}