我需要为\hfuzz
包含大量幻灯片的投影仪框架设置一个非常大的值。然后我发现(很困难)我必须\hfuzz\maxdimen
在每个\onslide
命令之后发出。
(实际上,我不需要它们那大。我输入了一些代码,这些代码即使在更改字体大小后也会显示不同数量的溢出水平框(10.0pt 到 50.0pt 或类似的)。但它们不会超出框架宽度。\hfuzz
我没有为每种情况设置不同数量,而是决定盲目使用\maxdimen
。我只是想摆脱警告信息,我似乎对这些信息过敏。)
以下是上述场景的一个非常简化的版本。
\documentclass{beamer}
\usepackage{verbatim}
\begin{document}
% 1
\hfuzz\maxdimen
\begin{frame}[fragile]
% 2
% \hfuzz\maxdimen
\begin{overprint}
% 3
\showthe\hfuzz
% \hfuzz\maxdimen
\onslide<+>
\showthe\hfuzz
% 4
% \hfuzz\maxdimen
\verb@ A long long long long long long long long text to be displayed@
\onslide<+>
\showthe\hfuzz
% 5
% \hfuzz\maxdimen
\verb@ Another long long long long long long long long text to be displayed@
\end{overprint}
\end{frame}
\end{document}
实际上,在上面的代码中,只有 %4 和 %5\hfuzz
在每个\onslide
命令之后抑制了溢出的 hbox 消息。
经过进一步调查,\showthe\hfuzz
在三个地方插入证据表明,在命令\hfuzz
之后重置为默认的 0.5pt 值\onslide
。
> 16383.99998pt. l.3 \showthe\hfuzz ? > 0.5pt. l.6 \showthe\hfuzz ............... ? > 0.5pt. l.11 \showthe\hfuzz
为什么实施者决定
\hfuzz
每次之后都重置\onslide
?有什么方法可以设置
\hfuzz
特定\maxdimen
帧或包含覆盖的一组帧吗?
答案1
可能 beamer 的用途\sloppy
是将其设置\hfuzz
为 0.5pt。
很难想象为什么你需要这么满的盒子,但无论如何,对于任何文件,如果你把
\hfuzz=\maxdimen
\newdimen\hfuzz
在前导码中,原语\hfuzz
将被设置为 maxdimen 并且不可访问,任何设置 dimen 的代码\hfuzz
都只会设置 dimen 寄存器而不会影响日志输出。