在下面的代码中,itemize 环境中的等式对于页面来说太宽了,但我没有收到过满的 hbox 警告(我觉得这很烦人,因为有时确切地知道过满的 hbox 有多宽很有用)。
我想知道在这些情况下如何让编译器产生“通常的”水平盒溢出警告。我也很好奇为什么会发生这种情况。任何帮助都将不胜感激。
\documentclass[a4paper,12pt,draft]{article}
\usepackage{amsmath}
%
\begin{document}
The text that appears here shows the complete page width.
No doubt the long equation displays ok now.
\begin{align}
A + Bz + Cz^2 + Dz^3 + Ez^4 + Fz^5 + G z^6 + H z^7 + I z^8 + J z^9 + K z^{10} = 0.
\end{align}
%
\begin{itemize}
\item The text that appears here shows the width within the list.
The equation below will overspill the right
margin, without producing a warning.
\begin{align}
A + Bz + Cz^2 + Dz^3 + Ez^4 + Fz^5 + G z^6 + H z^7 + I z^8 + J z^9 + K z^{10} = 0.
\end{align}
\end{itemize}
\end{document}
答案1
这看起来确实像是一个错误。首先,如果默认使用 LaTeX,则可以获得更好的显示效果,如下所示。AmsTeX 有时会用作\vfuzz
临时寄存器,因此我想尝试在环境中重新定义它,但没有取得太大成功(很可能它在宏中被设置为高值)。
\documentclass[a4paper,12pt,draft]{article}
\usepackage{amsmath}
%
\begin{document}
\overfullrule=10pt
The text that appears here shows the complete page widthened.
No doubt the long equation displays ok now.
\begin{align}
A + Bz + Cz^2 + Dz^3 + Ez^4 + Fz^5 + G z^6 + H z^7 + I z^8 + J z^9 + K z^{100000} = 0.
\end{align}
%
\begin{itemize}
\item The text that appears here shows the width within the list.
The equation below will overspill the right
margin, without producing a warning.
\begin{align}
\vfuzz=0pt
A + Bz + Cz^2 + Dz^3 + Ez^4 + Fz^5 + G z^6 + H z^7 + I z^8 + J z^9 + K z^{1000000000} = 0
\end{align}
\item The text that appears here shows the width within the list.
The equation below will overspill the right
margin, without producing a warning.
\[A + Bz + Cz^2 + Dz^3 + Ez^4 + Fz^5 + G z^6 + H z^7 + I z^8 + J z^9 + K z^{1000000000} = 0 \]
\end{itemize}
\end{document}
答案2
供参考,这是我今天从 AMS 技术支持收到的电子邮件。
ian,
毫无疑问这是一个错误,但是是关于这是哪种类型的错误的问题。如果你将文档类行更改为
\documentclass[11pt,draft]{amsart}
您将会看到效果完全不同。特别是,在两种情况下,对齐公式均以页面宽度为中心 - 这是一个设计特性,在缩小的列表环境中不将多行显示居中,但这似乎在文章类中被覆盖。已请求以较窄的文本为中心,这将在下一次升级中考虑,预计将于 2011 年初的某个时间进行;如果请求被接受,这可能会成为一个选项,以避免影响现有文档。
如果您将“article”替换为“amsart”,您将看到确实报告了超额行。所以这也是特定于article类,而不是ams类。但是,由于amsmath广泛用于非ams类,因此兼容性非常重要。
我已将其添加到下次升级要解决的问题列表中。
感谢您的举报。