
Ich möchte den Frametitel in einer Beamer-Präsentation anpassen. Ich habe ein Problem mit dem Zeilenabstand, daher verwende ich die size*-Variante.
Die Deklaration lautet size*={<fontsize in pt>}{<baselineskip>}
. Ich möchte die Schriftgröße des Frametitels jedoch nicht festlegen, daher muss ich die Schriftgröße (z. B. \huge) in pt konvertieren.
Hier ist ein Beispiel:
\setbeamerfont{frametitle}{%
size*={%
\fontsize2pt{\huge}%
}{1.5ex},%
shape=\scshape%
}
Gibt es eine einfache Möglichkeit, dies zu tun?
Antwort1
Mit können Sie einen Befehl erstellen, mit dem Sie den Wert in Einheiten der aktuellen Schriftart \f@size
abrufen können . Diesen Wert können Sie dann für Ihre Definition verwenden. Verwenden Sie , um den Wert der im obligatorischen Argument angegebenen Schriftgröße abzurufen. Diese Länge wird in der Länge gespeichert, die Sie dann im ersten Argument von verwenden können :pt
\myfontsize
pt
\myftsize
size*
\documentclass{beamer}
\newlength\myftsize
\makeatletter
\newcommand\myfontsize[1]{%
\begingroup
#1
\global\setlength\myftsize{\f@size pt}%
\endgroup
}
\makeatother
\myfontsize{\huge}
\setbeamerfont{frametitle}{%
size*={\myftsize}{1.5ex},
shape=\scshape
}
\begin{document}
\begin{frame}
\frametitle{Test frame}
test
\end{frame}
\end{document}