![在 .sty 文件中查询 beamer 文档类选项aspectratio](https://linux22.com/image/391968/%E5%9C%A8%20.sty%20%E6%96%87%E4%BB%B6%E4%B8%AD%E6%9F%A5%E8%AF%A2%20beamer%20%E6%96%87%E6%A1%A3%E7%B1%BB%E9%80%89%E9%A1%B9aspectratio%20.png)
我正在编写自己的 Latex Beamer 样式。我想根据主文件中的 documentclass 中选择的纵横比使用不同的背景图形,例如
\documentclass[12pt, aspectratio=169]{beamer}
那么我如何才能访问 .sty 文件中的aspectratio 值呢?
答案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 开发版本(应该包含在 beamer v3.70 或更新版本中),现在可以简单地使用宏\insertaspectratio
:
\documentclass[
aspectratio=169
% aspectratio=43
]{beamer}
\begin{document}
\begin{frame}
\insertaspectratio
\end{frame}
\end{document}