消除进入边缘的 mdframed 框架的过满水平盒警告

消除进入边缘的 mdframed 框架的过满水平盒警告

我喜欢使用底片和让mdframed框架进入边缘,这样文本就不会受到影响。然而,这会导致leftmarginrightmargin

段落第 16-16 行的 \hbox 过满(宽了 0.43031pt)

我不想消除全部过满框警告,因为我仍然想知道文本是否存在问题。

那么,我该如何消除仅针对框架而不针对文本的警告呢?

参考:

代码:

\documentclass{article}
\usepackage{showframe}
\usepackage{lipsum}
\usepackage{mdframed}

\mdfdefinestyle{MyStyle}{%
    leftmargin=-5pt,
    rightmargin=-5pt,
    backgroundcolor=yellow!25,
}%

\begin{document}
\begin{mdframed}[style=MyStyle]
    \noindent\lipsum[1]
\end{mdframed}
\end{document}

答案1

过满\hbox警告取决于长度\hfuzz。将其设置为较长的​​值会将其从输出警告中删除。例如,

\newcommand{\ignoreoverfullhboxes}{\setlength{\hfuzz}{\maxdimen}}

(或小于 的值\maxdimen;默认值为\hfuzz0.1pt\ignoreoverfullhboxes在需要的地方发出(并将其范围限定在环境中)。

使用etoolbox,你可以在每个环境\ignoreoverfullhboxes开始时使用mdframed

\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\AtBeginEnvironment{mdframed}{\ignoreoverfullhboxes}

相关内容