我目前正在调整\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}}}