![消除进入边缘的 mdframed 框架的过满水平盒警告](https://linux22.com/image/269991/%E6%B6%88%E9%99%A4%E8%BF%9B%E5%85%A5%E8%BE%B9%E7%BC%98%E7%9A%84%20mdframed%20%E6%A1%86%E6%9E%B6%E7%9A%84%E8%BF%87%E6%BB%A1%E6%B0%B4%E5%B9%B3%E7%9B%92%E8%AD%A6%E5%91%8A.png)
我喜欢使用底片和让mdframed
框架进入边缘,这样文本就不会受到影响。然而,这会导致leftmargin
rightmargin
段落第 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
;默认值为\hfuzz
)0.1pt
。\ignoreoverfullhboxes
在需要的地方发出(并将其范围限定在环境中)。
使用etoolbox
,你可以在每个环境\ignoreoverfullhboxes
开始时使用mdframed
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\AtBeginEnvironment{mdframed}{\ignoreoverfullhboxes}