为什么\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}