如何删除 tcolorbox 中不需要的第一个 parskip

如何删除 tcolorbox 中不需要的第一个 parskip

在下面的例子中,如何删除环境顶部边缘tcolorbox和定理第一行之间的第一个 parskip?

\documentclass[parskip=half-]{scrartcl}

\usepackage{amsthm}
\usepackage{thmtools}
\usepackage{tcolorbox}
\usepackage{lipsum}

% \newtheorem{theorem}{Theorem}
\declaretheorem[name=Theorem]{theorem}

\begin{document}

\begin{tcolorbox}[parbox=false]
  \begin{theorem}
    \lipsum[1-2]
  \end{theorem}
\end{tcolorbox}

\end{document}

如果我使用 amsthm\newtheorem而不是 thmtool \declaretheorem(注释掉\usepackage{thmtools}),空格就会消失。

在此处输入图片描述

答案1

这可能不是最佳解决方案,但您可以parbox从中删除该选项tcolorbox,然后\parskip在定理中设置:

\documentclass[parskip=half-]{scrartcl}

\usepackage{amsthm}
\usepackage{thmtools}
\usepackage{tcolorbox}
\usepackage{lipsum}

\declaretheorem[name=Theorem]{theorem}

\makeatletter
\addtotheorempostheadhook{\leavevmode\parskip\scr@parskip}
\makeatother

\begin{document}

\begin{tcolorbox}
  \begin{theorem}
    \lipsum[1-2]
  \end{theorem}
\end{tcolorbox}

\end{document}

输出

相关内容