Запросить параметр класса документа-прожектора aspectratio в файле .sty

Запросить параметр класса документа-прожектора aspectratio в файле .sty

Я пишу свой собственный стиль Latex Beamer. Я хочу использовать различную фоновую графику в зависимости от соотношения сторон, выбранного в documentclass в основном файле, например \documentclass[12pt, aspectratio=169]{beamer}

Так как же мне получить доступ к значению соотношения сторон в моем файле .sty?

решение1

Одним из способов может быть использование \ifdimcomp{⟨dimen expression⟩}{⟨relation⟩}{⟨dimen expression⟩}{⟨true⟩}{⟨false⟩}макроса для проверки различной ширины бумаги (и высоты в случае 169и 1610):

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

Стекущая версия разработки проектора(который должен быть включен в beamer v3.70 или более новую версию), теперь можно просто использовать макрос \insertaspectratio:

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

\begin{document}

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

\end{document}

Связанный контент