tcolorbox 标题位于顶部和底部,文本居中

tcolorbox 标题位于顶部和底部,文本居中

我想在框架的右下方放置一个标题,同时在左上方保留正常标题。

我的黑客使用的解决方案\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一些文本

在此处输入图片描述

相关内容