Abfrage der Beamer-Dokumentklassenoption „Aspectratio“ in einer .sty-Datei

Abfrage der Beamer-Dokumentklassenoption „Aspectratio“ in einer .sty-Datei

Ich schreibe meinen eigenen Latex-Beamer-Stil. Ich möchte je nach dem in der Dokumentklasse in der Hauptdatei gewählten Seitenverhältnis unterschiedliche Hintergrundgrafiken verwenden, wie \documentclass[12pt, aspectratio=169]{beamer}

Wie kann ich also auf den Wert des Seitenverhältnisses in meiner .sty-Datei zugreifen?

Antwort1

Eine Möglichkeit könnte darin bestehen, das \ifdimcomp{⟨dimen expression⟩}{⟨relation⟩}{⟨dimen expression⟩}{⟨true⟩}{⟨false⟩}Makro zum Testen unterschiedlicher Papierbreiten (und Höhen im Fall von 169und 1610) zu verwenden:

\documentclass[
    aspectratio=169
%   aspectratio=43
    ]{beamer}
    
\begin{document}

\makeatletter
\ifdimcomp{\beamer@paperwidth}{=}{12.80cm}{43}{}
\ifdimcomp{\beamer@paperwidth}{=}{14.85cm}{141}{}
\ifdimcomp{\beamer@paperwidth}{=}{13.50cm}{32}{}
\ifdimcomp{\beamer@paperwidth}{=}{12.50cm}{54}{}
\ifdimcomp{\beamer@paperwidth}{=}{14.00cm}{149}{}
\ifdimcomp{\beamer@paperwidth}{=}{16.00cm}{
    \ifdimcomp{\beamer@paperheight}{=}{10.00cm}{1610}{}
    \ifdimcomp{\beamer@paperheight}{=}{9.00cm}{169}{}
}{}
\makeatother

\end{document}

Mit demaktuelle Beamer-Entwicklungsversion(das in Beamer v3.70 oder neuer enthalten sein sollte), kann man jetzt einfach das \insertaspectratioMakro verwenden:

\documentclass[
    aspectratio=169
%   aspectratio=43
    ]{beamer}

\begin{document}

\begin{frame}
\insertaspectratio
\end{frame}

\end{document}

verwandte Informationen