考虑以下 MWE:
\documentclass{article}
\usepackage{lipsum}
\usepackage{tcolorbox}
%%% this two following packages are used in the format I have to use
\usepackage[parfill]{parskip}
\begin{document}
\lipsum[1]
\begin{tcolorbox}
checking content
\end{tcolorbox}
\lipsum[1]
\end{document}
它编译得很好,有正确对齐的框,但它给出了一个
mwe-tcbox.tex|12 warning| Overfull \hbox (30.0pt too wide) in paragraph at lines 12--12
我尝试过 tcbset
调整后的技巧从这个答案,但它不起作用;行
\tcbset{before app=\parfillskip0pt}
(添加[hooks]
到tcolorbox
包中)没有声音,但是没有解决警告。
如果我从代码中删除,\usepackage[parfill]{parskip}
一切就都好了 --- 但我真的不能这么做,因为它是我必须用于此文档width=0.9\linewidth
的格式。我可以使用类似 tcolorbox 选项中的某些东西来破解它,但是 --- 这是一种破解。
我也能设法使用静音警告silence
使用包--- 但同样,这也会关闭真实的警告。
我可以避免警告并仍然使用颜色框的完整文本宽度吗?
答案1
parfill
该包中的选项设置parskip
为\parfillskip
,30pt plus 1fil
以避免段落的最后一行(几乎)与右边距齐平:难怪你会得到一行恰好超出 30pt 的超额行。
重新定义parskip
发行风格\parfillskip=0pt
:
\documentclass[draft]{article}
\usepackage{lipsum}
\usepackage{tcolorbox}
%%% this two following packages are used in the format I have to use
\usepackage[parfill]{parskip}
\tcbset{
parskip/.style={
before={\par\pagebreak[0]\parindent=0pt},
after={\parfillskip=0pt\par},
},
}
\begin{document}
\lipsum[1]
\begin{tcolorbox}
checking content
\end{tcolorbox}
\lipsum[1]
\the\parfillskip
\end{document}
我添加了\the\parfillskip
显示它已正确重置以及draft
证明没有过满的盒子的选项。