忽略变异元音的彩色框

忽略变异元音的彩色框

有人可以帮忙定义一个新命令吗?

我有以下内容来围绕全大写的内容创建一个彩色框:

\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}

在此处输入图片描述

相关内容