使用 \flushbottom 时,在可破坏的 tcolorbox 内拉伸胶水

使用 \flushbottom 时,在可破坏的 tcolorbox 内拉伸胶水

这个问题与我的另一个在那个问题中,我描述了我尝试用另一种框架绘制技术进行替换tcolorbox,这种技术不会引入下面描述的问题,但会产生新的问题(尽管对于高级 TeX 用户来说可能更容易解决)。

问题

tcolorbox需要打破时,其内部内容的垂直粘连不会拉伸,导致页面布局不均匀。如何解决?我尝试了多种方法,但都失败了。

代码

\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[many]{tcolorbox}
\usepackage{tikz}
\flushbottom
\newcommand{\object}{\par\tikz[]{\draw (0,0) rectangle (\textwidth,3); \node at (\textwidth/2,1.5) {Content}}}

\tcbset{my-frame/.style={
    breakable,
    before skip=\medskipamount,
    after skip=\medskipamount
}}

\begin{document}
\begin{tcolorbox}[my-frame]
    \object
    \medskip % not stretched
    \object
\end{tcolorbox}
 % stretched too much
\begin{tcolorbox}[my-frame]
    \object
    \medskip % not stretched
    \object
    \medskip % not stretched
    \object
    \medskip % not stretched
    \object
    \medskip % not stretched
    \object
\end{tcolorbox}
\end{document}

插图

如下图所示,vspace盒子之间被拉伸,而vspace盒子内部则没有: 盒子之间的垂直空间被拉伸,而盒子内部的垂直空间则没有。

预期结果

svspace应均匀调整: 均匀调整的空间

我认为我所问的问题无法用 tcolorbox 实现,因为它在底层使用了一些类似 minipage 的东西。我很高兴听到其他不会引发此类问题的框绘制方法。我不需要任何花哨的功能,我只想能够在一些跨越多页的段落(如定理和证明)下绘制彩色背景。

相关内容