我的文档中有几个tcolorbox
'e,我想让它们都具有相同高度的标题部分。但是我的一些标题的字符位于基线下方,而其他标题则没有。因此,例如,“简介”和“结论”的标题框大小相同,但“背景”和“后续步骤”的标题框更高(因为“g”和“p”位于基线下方)。
我想要一个可以使用的宏,这样它们都具有相同的样式。到目前为止,我已经完成了...
\newtcolorbox{mybox}[1]
{
colback=white,
arc=5mm,
boxsep=5mm,
colframe=white,
top=3mm,
toptitle=3mm,
bottomtitle=3mm,
halign title=center,
coltitle=blue!20!black,
fonttitle=\Huge,
title = #1
}
如何才能控制标题区域的总高度,而不依赖于标题中的字符?
答案1
您可以\strut
在标题前面使用。
\documentclass{book}
\usepackage{tcolorbox}
\newtcolorbox{mybox}[1]
{
colback=white,
arc=5mm,
boxsep=5mm,
colframe=white,
top=3mm,
toptitle=3mm,
bottomtitle=3mm,
halign title=center,
colbacktitle=blue,
fonttitle=\Huge,
title = \strut #1
}
\begin{document}
\begin{mybox}{mmm}
test
\end{mybox}
\begin{mybox}{tg}
test
\end{mybox}
\end{document}
正如 Alan Munn 指出的那样在他的评论中,您也可以使用adjusted title
而不是title
。有关此选项的更多信息,请参阅tcolorbox
手册第 18 页。
\documentclass{book}
\usepackage{tcolorbox}
\newtcolorbox{mybox}[1]
{
colback=white,
arc=5mm,
boxsep=5mm,
colframe=white,
top=3mm,
toptitle=3mm,
bottomtitle=3mm,
halign title=center,
colbacktitle=blue,
fonttitle=\Huge,
adjusted title = #1
}
\begin{document}
\begin{mybox}{mmm}
test
\end{mybox}
\begin{mybox}{tg}
test
\end{mybox}
\end{document}
(如果您的框在标题中使用了不同的字体系列,则它们的高度将会有所不同,因为第二种方法在内部使用\vphantom
)