有人可以帮忙定义一个新命令吗?
我有以下内容来围绕全大写的内容创建一个彩色框:
\documentclass[]{scrreprt}
\newcommand{\sect}[1]{
\colorbox{black}{\textcolor{white}{\MakeUppercase{\textbf{#1}}}}\\% Section title
}
\usepackage[table,xcdraw]{xcolor}
\begin{document}
\sect{Hallö}
\sect{Hallo}
\end{document}
然而,德语中元音的变异使用让它看起来不太美观,因为框变高了,文本不再居中。仅仅将文本置于框内居中并不是解决方案,因为无论内容如何,框的高度都应该相同。
我尝试使用\makebox
但失败了
谢谢你!
答案1
您可以将“O”和“Ö”之间的高度差添加到深度中。
\documentclass[]{scrreprt}
\usepackage[table,xcdraw]{xcolor}
\newcommand{\UCstrut}{%
\begingroup
\settoheight{\dimen0}{O}%
\settoheight{\dimen2}{Ö}%
\vrule width 0pt height \dimen2 depth \dimexpr\dimen2-\dimen0\relax
\endgroup
}
\newcommand{\sect}[1]{%
\colorbox{black}{\color{white}\bfseries\UCstrut\MakeUppercase{#1}}% Section title
}
\begin{document}
\sect{Hallö} \sect{Hallo}
\end{document}