我的目标是重新创建以下框: 我所能实现的只是下面的框,但我想让上部的文本与标题位于同一行,就像在原始图像中一样,我尝试重新创建。 现在这是我使用 tcolorbox 包的方法:
\documentclass[a4paper,12pt]{extarticle}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{cmbright}
\usepackage[ngerman]{babel}
\usepackage{tikz}
\usepackage{tasks}
\definecolor{textnewGreen}{HTML}{66AE3E}
\definecolor{bgnewGreen}{HTML}{EBF4DE}
\usepackage[many]{tcolorbox}
\newtcolorbox{gruenebox}[1]{
enhanced,
skin=bicolor,
arc=0pt,
coltitle=white,
colframe=textnewGreen,
colback=bgnewGreen,
colbacklower=white,
fonttitle=\bfseries,
attach boxed title to top left={yshift*=-\tcboxedtitleheight},
boxed title style={colback=textnewGreen,frame code={
\path[fill=textnewGreen](frame.north west)
-- ([xshift=2mm]frame.north east)
-- (frame.south east)
-- (frame.south west)
-- (frame.north west)
[sharp corners]-- cycle;
}
},
fonttitle=\bfseries,
title={#1}}
\begin{document}
\begin{gruenebox}{Beispiel 1}
Schätze und begründe deine Schätzung.
\begin{tasks}
\task Wie hoch ist eine Getränkedose?
\task Wie viel wiegt eine volle Kiste mit 12 1-l Wasserflaschen?
\end{tasks}
\tcblower
\paragraph{Lösung}
\begin{tasks}
\task Eine Getränkedose ist ungefähr genauso hoch wie eine Handlänge. Eine Hand ist etwa 10 cm bis 20 cm lang.
\task Liter Wasser wiegt etwa 1 kg. 12 Liter wiegen also 12 kg. Dazu kommen noch das Gewicht der Kiste und das Gewicht der Flaschen. Also wiegt die Kiste zwischen 13 und 15 kg für Plastikflaschen, bei Glas noch mehr.
\end{tasks}
\end{gruenebox}
\end{document}
答案1
这里首先编辑标题detach
,然后将其(重新)插入到 的上部before upper*=<x- and y- offset>\titlebox{\tcbtitletext}
,其中\titlebox
是服装的\tcbox
。
神奇数字的解释
baseline=3pt
:这可以用一些倍数替换\baselineskip - \f@size pt
- 两个
.1pt
用于<x- and y- offset>
:使标题框和外部 tcolorbox 不只是接触,而且有一点重叠。参见这个答案了解更多详细信息。
\documentclass[a4paper,12pt]{extarticle}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{cmbright}
\usepackage[ngerman]{babel}
\usepackage{tikz}
\usepackage{tasks}
\definecolor{textnewGreen}{HTML}{66AE3E}
\definecolor{bgnewGreen}{HTML}{EBF4DE}
\usepackage[many]{tcolorbox}
\newtcbox{\titlebox}{
enhanced,
colupper=white,
colback=textnewGreen,
fontupper=\bfseries,
size=small,
baseline=3pt,
nobeforeafter,
frame code={
\path[fill=textnewGreen] (frame.north west)
-- ([xshift=2mm]frame.north east)
-- (frame.south east)
-- (frame.south west)
-- (frame.north west)
[sharp corners]-- cycle;
}
}
\makeatletter
\newtcolorbox{gruenebox}[1]{
enhanced,
skin=bicolor,
arc=0pt,
coltitle=white,
colframe=textnewGreen,
colback=bgnewGreen,
colbacklower=white,
fonttitle=\bfseries,
detach title,
title={#1},
before upper*={%
\vskip-\dimexpr\kvtcb@boxsep+\kvtcb@top+.1pt
\hspace*{-\dimexpr\kvtcb@boxsep+\kvtcb@leftupper+.1pt}%
\expandafter\titlebox\expandafter{\tcbtitletext} %
}
}
\makeatother
\begin{document}
\begin{gruenebox}{Beispiel 1}
Schätze und begründe deine Schätzung.
\begin{tasks}
\task Wie hoch ist eine Getränkedose?
\task Wie viel wiegt eine volle Kiste mit 12 1-l Wasserflaschen?
\end{tasks}
\tcblower
\paragraph{Lösung}
\begin{tasks}
\task Eine Getränkedose ist ungefähr genauso hoch wie eine Handlänge. Eine Hand ist etwa 10 cm bis 20 cm lang.
\task Liter Wasser wiegt etwa 1 kg. 12 Liter wiegen also 12 kg. Dazu kommen noch das Gewicht der Kiste und das Gewicht der Flaschen. Also wiegt die Kiste zwischen 13 und 15 kg für Plastikflaschen, bei Glas noch mehr.
\end{tasks}
\end{gruenebox}
\end{document}