根据 Beamer 'aspectratio' 更改代码

根据 Beamer 'aspectratio' 更改代码

我已经搜索过beameraspectratio。我发现如何自动创建 4:3 和 16:9 版本的 LaTeX Beamer 幻灯片?,这与我的问题很接近,但并没有解决它。

我有时确实需要切换回具有 4:3 宽高比的旧设备。更改aspectratio文档序言中的开关并重新运行 LaTeX 是没有问题的。虽然这在 98% 的时间内为我提供了足够的幻灯片,但有些幻灯片会出现 \hbox 过满错误。

有没有办法解决这个问题,通过使用两个不同的 LaTeX 代码块,一个是在aspectratio给出时选择的,=169另一个是在 定义为 时选择的=43

就像是

\ifx{aspectratio}{43}
   code special to\\
   this ratio
\else
   normal code with longer lines
\fi

将会有很大帮助。

答案1

也许作为一种解决方法:

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

\begin{document}
test 

\ifnum\aspectratio=169 %
    foo
\else
    bar
\fi

\end{document}

随着当前 beamer 开发版本(应该包含在 beamer v3.70 或更新版本中),现在可以使用宏\insertaspectratio来访问演示文稿的纵横比:

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

\begin{document}

\begin{frame}

\ifnum\insertaspectratio=169
  do something
\else
  something else
\fi
\end{frame}

\end{document}

相关内容