amsmath 在列表内对齐

amsmath 在列表内对齐

在下面的代码中,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类,因此兼容性非常重要。

我已将其添加到下次升级要解决的问题列表中。

感谢您的举报。

相关内容