fleqn 和 autonum 导致水平盒溢出

fleqn 和 autonum 导致水平盒溢出

我正在使用autonum和 ,amsmath并带有fleqn左对齐方程的选项。但是,这种组合似乎会Overfull \hbox在行处生成警告\begin{document}。我正在使用最新的 Macports TeXLive 发行版。

以下是 MWE:

\documentclass{article}

\usepackage[fleqn]{amsmath}
\usepackage{autonum}

\begin{document}

Some filler text.

\end{document}

以下是 pdflatex 构建日志显示的内容:

Overfull \hbox (5.00003pt too wide) in paragraph at lines 6--6
 [] 
 []


Overfull \hbox (5.00003pt too wide) in paragraph at lines 6--6
 [] 
 []


Overfull \hbox (15.00003pt too wide) detected at line 6
 []$[]     $ 
 []


Overfull \hbox (5.00003pt too wide) in paragraph at lines 6--6
 [] 
 []


Overfull \hbox (5.00003pt too wide) in paragraph at lines 6--6
 [] 
 []

我实际上没有看到任何排版问题,所以看起来警告只是让日志变得杂乱。如果我删除该fleqn选项,警告就会消失。

使用autonum带有左对齐方程的包是否存在一些看不见的问题?我该如何修复或隐藏这些警告并保持行为fleqn不变?

答案1

这是由于设置相关参数的时间问题。不过,可以通过在autonum执行试探性数学环境时忽略框满消息来修复此问题,以便建立一些内部值。

代码

\def\autonum@saveEnvironmentSubcommands#1#2#3{%
\begin{textblock}{1}[1,1](0,0)%
\begin{#2}%

(第 107-109 行autonum.sty)最好是

\def\autonum@saveEnvironmentSubcommands#1#2#3{%
\begin{textblock}{1}[1,1](0,0)%
\hfuzz=\maxdimen % ignore overfull box messages
\begin{#2}%

并且您可以对其进行修补,直到它在包中被修复:

\documentclass{article}

\usepackage[fleqn]{amsmath}
\usepackage{autonum}

\makeatletter
\patchcmd{\autonum@saveEnvironmentSubcommands}
  {(0,0)\begin}
  {(0,0)\hfuzz=\maxdimen\begin}                              
  {}{}
\makeatother

\begin{document}

Some filler text.
\begin{equation}\label{a}
1=1
\end{equation}
%\ref{a}

\end{document}

此设置\hfuzz将是本地环境的textblock,因此不会影响文档的其余部分。

相关内容