XeLaTeX 在宏之后改变行距

XeLaTeX 在宏之后改变行距

我有一份论文文档,我注意到宏之后行距发生了变化,创建了部分标题。我不知道是什么原因造成的。如果有人知道的话请告诉我。

这是宏:

\renewcommand{\part}[1]{
  \refstepcounter{part}
  \addcontentsline{toc}{section}{\thepart~~\uppercase{#1}}%
  \clearpage
  \normalfont
  \vspace*{9cm}
 \begin{center}\huge \bfseries\thepart. \uppercase{#1}\end{center}%
 \markboth{}{}\par
 \nobreak
 \clearpage  
}

这是可编辑的源文档:https://www.writelatex.com/1099369kwfvst

答案1

\normalfont走错了地方(还有其他缺陷):

\renewcommand{\part}[1]{
  \cleardoublepage
  \refstepcounter{part}
  \addcontentsline{toc}{section}{\thepart~~\uppercase{#1}}%
  \vspace*{9cm}
  \begin{center}
    \normalfont\huge\bfseries
    \thepart. \uppercase{#1}
  \end{center}
  \markboth{}{}
  \cleardoublepage
}

导致\normalfont了这个问题。你可能还想

  \addcontentsline{toc}{section}{\thepart~~\texorpdfstring{\uppercase{#1}}{#1}}%

以避免出现警告hyperref。同样应该在

\newcommand{\upc}[1]{% zjednodušení pro velká písmena
  \texorpdfstring{\uppercase{#1}}{#1}}

并可能在其他的地方\uppercase使用。

您还需要

\setlength{\headheight}{14.5pt}

正如fancyhdr警告你的那样。

最后,BCOR=10mm类不知道article。包hyperref应该最后加载。不要加载xltxtra,而是fontspec

相关内容