我需要定义一个 tcolorbox,上面有一个标题,下面有一个标题,如图所示。但我找不到解决方案适当地在 tcolorbox 的下部插入花哨的“POR QUE?”。
我使用了“底层框式标题”,如下面的代码所示,但我不知道如何引用框下部的上角用于下层框标题的第二部分。如下面的代码所示,第二个标题在框中具有绝对位置。因此,如果上部变大,则其文本将位于“POR QUE”上方。
\newtcolorbox{openningbox}{enhanced, jigsaw, colback=white, colframe=white, lower separated=false,
\titlefont, title={O QU\^E?},
boxed title style={empty,arc=0pt,outer arc=0pt,boxrule=0pt},
attach boxed title to top left={ yshift=-10 mm},
underlay boxed title={
\fill[green] ($(title.north west) + (0,-7mm)$) coordinate (x1) -- ++ (23 mm,0mm) arc [start angle=-90, end angle=90, x radius=3mm, y radius=3mm] coordinate (x2) -- ++ (-23 mm,0mm) -- cycle;
\fill[green] ($(frame.north west) + (0,-53mm)$) coordinate (c1) -- ++ (23 mm,0mm) arc [start angle=-90, end angle=90, x radius=3mm, y radius=3mm] coordinate (c2) -- ++ (-23 mm,0mm) -- cycle;
\node[right] at ($(c1)!0.5!(c2)+ (-8mm,0)$) {POR QU\^E?};}
}
你知道怎样完成它吗?
答案1
您可以使用before upper
和before lower
插入字幕。
平均能量损失
\documentclass{article}
\usepackage{lipsum}
\usepackage{tcolorbox}
\newtcolorbox{openningbox}{
frame empty,
arc = 8pt,
lower separated = false,
before upper = \tcbsubtitle{O QU\^E?},
before lower = \tcbsubtitle{POR QU\^E?},
font upper = \sffamily,
font lower = \sffamily,
sharp corners = north,
subtitle style = {
frame empty,
fontupper = \sffamily\bfseries,
colback = cyan!90!black,
coltext = black!70,
width = 3cm,
arc = 8pt,
rounded corners = east
}
}
\begin{document}
\begin{openningbox}{}
\lipsum*[1]
\tcblower
\lipsum*[2]
\end{openningbox}
\end{document}