Beamer frametitle:增加多行标题的间距

Beamer frametitle:增加多行标题的间距

我正在使用定制投影机主题,我遇到了占用多行的长框架标题问题。在这种情况下,标题会向上滑动,但我希望它使用向下的空间: 短标题很好用 长标题使用标题顶部的空间

我想在两种情况下保持相同的间距。我有什么选择?

  • 我可以定义一个\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}

两行长框架标题

相关内容