标题在框内垂直居中,忽略可能的重音

标题在框内垂直居中,忽略可能的重音

我目前正在调整\part命令以自定义目录,如下所示[直接从book.cls类中提取的代码]:

\def\@part[#1]#2{%
    \ifnum \c@secnumdepth >-2\relax%
      \refstepcounter{part}%
      \addcontentsline{toc}{part}{\texorpdfstring{%
      \setlength\fboxsep{2pt}%
      \noindent\protect\colorbox{ocre!20}{\strut\protect\parbox[c][][c]{\ecart}%
      {\color{ocre!70}\bfseries\protect\centering\thepart}}\hskip6pt\colorbox{ocre!40}%
      {\strut\protect\parbox[c][][c]{\linewidth-4\fboxsep-\ecart-6pt}{\color{white}%
      \protect\centering\MakeUppercase{#1}}}}{#1}}%
    \else%
...

我没有提供其余相当长的代码,但结果如下所示: 在此处输入图片描述

很明显,重音字母è会影响标题在框内的垂直对齐。有没有办法避免这种情况?如果垂直对齐忽略重音字母,我会很高兴。否则,命令\vphantom是一种可能性。

答案1

如果没有实际示例,很难进行测试,但通常情况下,这\strut足以覆盖重音字母,但是您使用了,\parbox[c]因此文本垂直居中,因此如果添加重音,文本会向下移动。如果您使用[b][t](对于单行框而言相同),则文本将在基线上对齐,因此当有重音时不会移动。

或者,您可以通过添加来隐藏内容的垂直大小\smash

\leavevmode\protect\smash{\MakeUppercase{#1}}}

相关内容