Beamer Frametitle: Abstand für mehrzeilige Titel vergrößern

Beamer Frametitle: Abstand für mehrzeilige Titel vergrößern

Ich verwende einbenutzerdefinierter BeamerThema und ich habe ein Problem mit langen Rahmentiteln, die mehrere Zeilen einnehmen. In diesem Fall gleitet der Titel nach oben, aber ich hätte es vorgezogen, wenn er den Platz nach unten nutzt: Kurzer Titel funktioniert gut Lange Titel verwenden Platz über dem Titel

Ich möchte in beiden Fällen den gleichen Abstand beibehalten. Welche Möglichkeiten habe ich?

  • \frametitle[long]{longFrameTitle}Kann ich eine Option mit größerem Abstand definieren ?
  • Kann ich eine if-Anweisung schreiben, die den Abstand automatisch vergrößert, wenn der Titel länger als n Zeichen ist?
  • Kann ich etwas namens definieren \longframetitle?

  • Kann ich bei langen Titeln in jedem Frame manuell Abstände einfügen?

Ich suche nach der einfachsten Lösung, da es nur bei einigen Frames ein Problem ist.

Was ich bisher versucht habe, aber nicht funktioniert hat:

\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}%
}

Antwort1

Eine sehr einfache Lösung, die zu funktionieren scheint, ist die Verwendung des folgenden Makros:

\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}

Zu Ihrem konkreten Fall:

\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}

langer Rahmentitel auf zwei Zeilen

verwandte Informationen