我想在框架的右下方放置一个标题,同时在左上方保留正常标题。
我的黑客使用的解决方案\tcbsubtitle[after={\vspace*{-34pt}}]{}
似乎有效,但它弄乱了valign=center
盒子的内容:
那么,让标题和文本在框中垂直居中的正确方法是什么?
代码:
\documentclass{article}
\usepackage[many]{tcolorbox}
\begin{document}
\begin{tcolorbox}[
title={Top Title},
halign=center,
valign=center,
nobeforeafter,
height=3cm,
]
Some text%
\tcbsubtitle[after={\vspace*{-34pt}}]{\hfill End-Title}% <-- Note: \vspace hack!
\end{tcolorbox}%
\end{document}
答案1
看来,使用下部作为副标题是唯一的解决方案。副标题是颜色框内的新颜色框。在 tcolorbox 中文档见第 22 页写道“上部为必填项”所以它无法被抑制。我想出了一个类似的解决方案:
\documentclass{article}
\usepackage[many]{tcolorbox}
\begin{document}
\begin{tcolorbox}[space to upper,
skin=bicolor,
colbacklower=black!75,
collower=white,
title={Top Title},
halign=center,
valign=center,
nobeforeafter,
halign lower=flush right,
bottom=0mm,
height=3cm
]
Some text 3cm%
\tcblower
End-Title
\end{tcolorbox}%
\begin{tcolorbox}[space to upper,
skin=bicolor,
colbacklower=black!75,
collower=white,
title={Top Title},
halign=center,
valign=center,
nobeforeafter,
halign lower=flush right,
bottom=0mm,
height=6cm
]
Some text 6cm%
\tcblower
End-Title
\end{tcolorbox}%
\end{document}
答案2
当有人找到更好的解决方案并且您的tcolorbox
标题没有下部时,您可以尝试将下部放在双色框中作为结尾标题。
\documentclass{article}
\usepackage[many]{tcolorbox}
\begin{document}
\begin{tcolorbox}[
enhanced,
bicolor,
title={Top Title},
halign=center,
valign=center,
nobeforeafter,
height=3cm,
colbacklower = black!75!white,
halign lower = right,
collower=white,
space to upper,
bottom = 0pt,
]
Some text
\tcblower
End Title
\end{tcolorbox}%
\end{document}
答案3
另一个“黑客”可能有用
\documentclass{article}
\usepackage[many]{tcolorbox}
\usepackage{lipsum}
\makeatletter
\tcbset{
experimental split/.code={
\let\tcb@split@SL=\tcb@split@L},
}
\makeatother
\begin{document}
\begin{tcolorbox}[%
experimental split,
breakable,
bicolor,
collower=white,
halign=center,
valign lower=top,
toptitle=1.5mm,
bottomtitle=1.5mm,
title={Top Title},
colbacklower=black!75,
]%
%\lipsum[1]
Some text
\tcblower
\hfill End-Title
\end{tcolorbox}
\end{document}
我从打破上部和下部之间的 tcolorbox。以下是自定义的tcolorbox
一些文本