
Я используюиндивидуальный проектортема и у меня проблема с длинными заголовками фреймов, которые занимают несколько строк. В этом случае заголовок скользит вверх, но я бы предпочел, чтобы он использовал пространство вниз:
Я бы хотел сохранить одинаковый интервал в обоих случаях. Какие у меня есть варианты?
- Могу ли я определить вариант
\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}