我认为一个好的解决方案是如何在tcolorbox的下半部分上面放一条线和如何使 tcolorbox 的下半部分与标题一样高可以将lower
文本替换为tcbsubtitle
。但正如您在以下示例中看到的,这会在字幕和下边框之间引入垂直空白空间。您知道这个空间在哪里定义以及如何避免它吗?
\documentclass{article}
\usepackage[many]{tcolorbox}
\usepackage{lipsum}
% --
\begin{document}
\begin{tcolorbox}[
title={Title},
center title,
toptitle=1mm,
bottomtitle=1mm,
sharp corners,%
colback=white,
colframe=black!75,
]
\lipsum[1]
\tcbsubtitle[halign=center]{Text}
\end{tcolorbox}
\end{document}
答案1
经过一番调查,我发现底部的空白来自boxsep
参数,因此如果 abottom=-boxesp
是固定的,这个空白就会消失。如果字幕框的底部应该覆盖 tcolorbox 的底部,则bottom=-boxsep-bottomrule
应该使用。
使用boxsep
和的实际值bottomrule
来自动计算值可能会很好,但目前我只能手动完成。
\documentclass{article}
\usepackage[many]{tcolorbox}
\usepackage{lipsum}
% --
\makeatother
\tcbset{
twotitle/.style={
title={Title},
center title,
toptitle=1mm,
bottomtitle=1mm,
sharp corners,%
colback=white,
colframe=black!75,
bottom=-1mm-0.5mm, %-boxsep-bottomrule
}
}
\makeatletter
\begin{document}
\begin{tcolorbox}[twotitle]
\lipsum[1]
\tcbsubtitle[enhanced, opacityfill=.5, halign=center, colback=red, colframe=green, ]{Text}
\end{tcolorbox}
\end{document}