tcolorbox 和 amsthm 最新版本的顶部边​​距令人烦恼

tcolorbox 和 amsthm 最新版本的顶部边​​距令人烦恼

安装全新 TeXLive (2023) 后,我注意到在 tcolorboxes 中使用 amsthm 环境时边距存在一个烦人的问题。左侧是我在更新之前得到的(预期)结果,右侧是全新 TeXLive 2023 安装生成的结果。

tcolorbox 中令人烦恼的边距

如您所见,现在在“定理”/“证明”关键字之前添加了一些垂直空间(在第二种情况下更明显,但两者都表现出类似的问题),我找不到它来自哪里(除了它以某种方式与非空 parskip 相关)或者我如何摆脱它。

以下是 MWE 产生上述结果的结果(在 2023 TeXLive 与之前的安装上):

\documentclass {article}
\usepackage{amsthm}
\usepackage{tcolorbox}
\tcbuselibrary{skins,theorems,breakable}
\usepackage{lipsum}

\setlength{\parskip}{1.2ex plus 0.6ex minus 0.2ex}

\tcolorboxenvironment{proof}{blanker,before skip=4mm plus 1mm minus 1mm,after=\par,parbox=false,breakable,
                             left=2mm,borderline west={0.6mm}{0pt}{black}}

\theoremstyle{plain}
\newtheorem{thm}{Theorem}

\tcolorboxenvironment{thm}{breakable,before skip=4mm plus 1mm minus 1mm,after=\par,parbox=false,
                           boxrule=0pt,left=1mm,right=1mm,top=1mm,bottom=1mm,enhanced jigsaw}

\begin{document}
\lipsum[1][1-3]
\begin{thm} \lipsum[2][1-3] \end{thm}
\lipsum[3][1-3]
\begin{proof} \lipsum[4][1-3] \end{proof}
\lipsum[5][1-3]
\end{document}

我很乐意接受任何可以帮助我找到解决方案的建议,以免让我发疯:)

答案1

如果您删除两个定义中的键parbox=false,则输出将符合预期。

\documentclass {article}
\usepackage{amsthm}
\usepackage{tcolorbox}
\tcbuselibrary{skins,theorems,breakable}
\usepackage{lipsum}

\setlength{\parskip}{1.2ex plus 0.6ex minus 0.2ex}

\tcolorboxenvironment{proof}{blanker,before skip=4mm plus 1mm minus 1mm,after=\par,breakable,
                             left=2mm,borderline west={0.6mm}{0pt}{black}}

\theoremstyle{plain}
\newtheorem{thm}{Theorem}

\tcolorboxenvironment{thm}{breakable,before skip=4mm plus 1mm minus 1mm,after=\par,
                           boxrule=0pt,left=1mm,right=1mm,top=1mm,bottom=1mm,enhanced jigsaw}

\begin{document}
\lipsum[1][1-3]
\begin{thm} \lipsum[2][1-3] \end{thm}
\lipsum[3][1-3]
\begin{proof} \lipsum[4][1-3] \end{proof}
\lipsum[5][1-3]
\end{document}

相关内容