我有一些牢不可破的可变高度并排 tcolorboxes。
我希望在这些框的底部左侧有一条线,并在右侧与该线在同一级别上显示“请在此处分开”的文本。
我没有固定高度,所以我无法设置这个属性(?)。
\documentclass[notitlepage]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[many]{tcolorbox}
\usepackage{lipsum}
\begin{document}
\begin{tcolorbox}[sidebyside,sidebyside align=top]
on left: \lipsum[1]
\vfill
\mbox{}{ \hrule}
\tcblower
text
\vfill
please separate here
\end{tcolorbox}
\begin{tcolorbox}[sidebyside,sidebyside align=top]
text
\vfill
\mbox{}{ \hrule}
\tcblower
on right:\lipsum[2]
\vfill
please separate here
\end{tcolorbox}
\end{document}
答案1
并排的上下内容分别tcolorbox
放在环境中。除非指定了minipage
的高度,否则在其中使用的 不会产生任何效果。minipage
\vfill
以下示例通过 option 模拟了所需的效果。使用了overlay
一些内部尺寸和两个(可避免的)魔法数字(10pt、12pt)。tcolorbox
\documentclass[notitlepage]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[many]{tcolorbox}
\usepackage{lipsum}
\makeatletter
\tcbset{
my sidebyside/.style={
sidebyside, sidebyside align=top,
enhanced, geometry nodes,
bottom=2mm+14.4pt,
overlay={
\draw ([shift={(\kvtcb@leftupper+\kvtcb@boxsep, 10pt)}]frame.south west)
-- ([shift={(-.5*\kvtcb@sbs@gap, 10pt)}]frame.south);
\node[shift={(.5*\kvtcb@sbs@gap, 10pt)}, inner sep=0pt, anchor=base west] at (frame.south) {please separate here};
}
}
}
\makeatother
\begin{document}
\begin{tcolorbox}[my sidebyside]
\lipsum[2]
\tcblower
right-side is shorter
\end{tcolorbox}
\begin{tcolorbox}[my sidebyside]
left-side is shorter
\tcblower
\lipsum[2]
\end{tcolorbox}
\end{document}