我怎样才能使灰色部分与标题框(红色部分)一样高?我尝试更改bottom
和middle
,但middle
会改变文本和下方框之间的空间(我不想要),即使没有,我仍然会目测所有的尺寸。
\documentclass{article}
\usepackage[many]{tcolorbox}
\usepackage{lipsum}
\newlength{\cornerwidth}
\setlength{\cornerwidth}{.5mm}
% --------------------------
\begin{document}
\tcbset{title={1 January 2001},
center title,
halign lower=center,
boxrule=\cornerwidth,
sharp corners,
bicolor,
collower=black,
colback=white,
colframe=black!75,
colbacklower=black!40,
colbacktitle=red,
coltitle=black}
\begin{tcolorbox}[overlay={\draw[tcbcolframe, line width=\cornerwidth] (segmentation.west)--(segmentation.east);}]
\lipsum[1]
\tcblower
89.50
\end{tcolorbox}
\end{document}
答案1
我不建议尝试调整tcblower
零件几何形状以适应title
,而是建议使用一个棘手的解决方案:忘记和title
,lowerbox
并使用两个tcbsubtitle
自动添加before upper
和after upper
选项的命令。
作为内容tcbsubtitle
的一部分tcolorbox
,它们显示与顶部和底部边框的垂直距离。boxsep
选项定义的垂直空间可以用负top
和bottom
值进行补偿。这些top
和bottom
值应用于主标题tcolorbox
,但每个副标题可以使用不同的特定值。
由于 everytcbtitle
或多或少都是常规的tcbox
,而不是 atitle
加 a tcbox
,因此不需要像toptitle
in one 和top
into the other 这样的特定选项。我们可以为两个字幕定义一个通用的几何形状和样式,但仍然对顶部和底部使用特定设置。以下代码显示了如何执行此操作。
我认为此代码解决了问题 1、2 和 3(参见上面的评论)。
\documentclass{article}
\usepackage[many]{tcolorbox}
\usepackage{lipsum}
% --
\tcbset{
titlecommon/.style={
fontupper=\Large\bfseries\sffamily,
top=2mm,
bottom=2mm,
halign=center,
sharp corners,
leftrule=0.5mm, %to draw left side in subtitle box
rightrule=0.5mm, %to draw right side in subtitle box
opacityfill=.5, %to test subtitles geometry and positioning
},
toptitle/.style={
titlecommon,
colframe=green,
colback=green!20,
},
bottomtitle/.style={
titlecommon,
colframe=red,
colback=red!20,
},
}
\newtcolorbox{twotitle}[3][]{
enhanced,
sharp corners,
colback=white,
colframe=black!75,
notitle,
before upper={\tcbsubtitle[toptitle]{#2}},
after upper={\tcbsubtitle[bottomtitle]{#3}},
top=-1.5mm, %-boxsep-toprule
bottom=-1.5mm, %-boxsep-bottomrule
#1,
}
\begin{document}
\begin{twotitle}[colback=orange!20]{Title}{Test}
\lipsum[1]
\end{twotitle}
\end{document}
答案2
您可以向标题添加自定义支柱……这会使顶线更高,而不是底线更小。
\documentclass{article}
\usepackage[many]{tcolorbox}
\usepackage{lipsum}
\newlength{\cornerwidth}
\setlength{\cornerwidth}{.5mm}
% ----------------------------
\newcommand\mystrut{\rule[-6pt]{0pt}{19pt}}
\begin{document}
\tcbset{title={1 January 2001\mystrut},
center title,
halign lower=center,
boxrule=\cornerwidth,
sharp corners,
bicolor,
collower=black,
colback=white,
colframe=black!75,
colbacklower=black!40,
colbacktitle=red,
coltitle=black}
\begin{tcolorbox}[overlay={\draw[line width=\cornerwidth] (segmentation.west)--(segmentation.east);}]
\lipsum[1]
\tcblower
89.50
\end{tcolorbox}
\end{document}
尝试降低下部盒子的高度:
\documentclass{article}
\usepackage[many]{tcolorbox}
\usepackage{lipsum}
\newlength{\cornerwidth}
\setlength{\cornerwidth}{.5mm}
% ----------------------------
\begin{document}
\tcbset{title={1 January 2001},
center title,
halign lower=center,
boxrule=\cornerwidth,
sharp corners,
bicolor,
collower=black,
colback=white,
colframe=black!75,
colbacklower=black!40,
colbacktitle=red,
coltitle=black}
\begin{tcolorbox}[overlay={\draw[line width=\cornerwidth] (segmentation.west)--(segmentation.east);}]
\lipsum[1]
\tcblower \makebox{\smash{\raisebox{-3pt}{89.50}}}
\end{tcolorbox}
\end{document}