tcolorbox 内的垂直间距 \vfill

tcolorbox 内的垂直间距 \vfill

为什么\vfill里面不起作用tcolorbox?这是我的MuWE(最小不工作示例)

\documentclass[]{scrartcl}
\usepackage[many]{tcolorbox}
    \newtcolorbox{bilety}
    {   enhanced,
        space to upper,
        height=5cm,
        %borderline={0.3mm}{0mm}{black!75, dashed},
        segmentation style={black, solid, opacity=0, line width=0pt},
        colback =  black!5!white,
        colframe = black!15!white,
        sharpish corners,
    }

\begin{document}

        \begin{bilety}
             some text
             \vfill
             some other text
        \end{bilety}

\end{document}

-------------------------PDF 输出是----------------------

在此处输入图片描述

\vskip确实如此!

    \begin{bilety}
         some text
         \vskip 3cm
         some other text
    \end{bilety}

-------------------------PDF 输出是----------------------

在此处输入图片描述

答案1

在这种情况下,这不是错误,而是一项功能。内部文本框与固定高度设置脱钩,原因有很多,例如下部框部分支持和易碎性。因此,您无法使用\vfill,因为内部文本框没有固定高度。

但是,您可以minipage在里面使用具有固定高度的tcolorbox。您可以将此小页面放入框设置选项中:

\documentclass[]{scrartcl}
\usepackage[many]{tcolorbox}

\newtcolorbox{bilety}
{   enhanced,
    space to upper,
    %height=5cm,
    segmentation style={black, solid, opacity=0, line width=0pt},
    colback =  black!5!white,
    colframe = black!15!white,
    sharpish corners,
    before upper={\begin{minipage}[t][4cm]{\linewidth}},
    after upper={\end{minipage}},
}

\begin{document}

  \begin{bilety}
    some text
    \par\vfill
    some other text
  \end{bilety}

\end{document}

更新(2018年11月16日):

text fill或者,可以使用该选项自动插入minipage具有适应的固定高度:

\documentclass[]{scrartcl}
\usepackage[many]{tcolorbox}

\newtcolorbox{bilety}
{   enhanced,
    %space to upper,
    height=5cm,
    %segmentation style={black, solid, opacity=0, line width=0pt},
    colback =  black!5!white,
    colframe = black!15!white,
    sharpish corners,
    text fill,
}

\begin{document}

  \begin{bilety}
    some text
    \par\vfill
    some other text
  \end{bilety}

\end{document}

在此处输入图片描述

相关内容