如何使用 \pagestyle{uheadings} 固定页眉中行的不同位置(行与页码和段落之间的空格)

如何使用 \pagestyle{uheadings} 固定页眉中行的不同位置(行与页码和段落之间的空格)

我注意到,在我处理的文档中,页眉中的行的位置在页面之间不断变化。基本上,行和页码之间有两个略有(但明显)不同的垂直空格。

\doublespacing我设法使用和发现该线的位置不同\singlespacing

这是 MWE:(需要运行两次 - 使用\doublespacing\singlespacing来查看线位置的差异)

\documentclass[12pt,a4paper,oneside]{mwbk}
\usepackage{enumitem}
\usepackage[cp1250]{inputenc}
\fussy
\addtolength{\textwidth}{1,5cm}
\addtolength{\hoffset}{0cm}
\addtolength{\textheight}{0cm}
\addtolength{\voffset}{0cm}

\usepackage{setspace}
\pagestyle{uheadings}

\usepackage{lipsum}

\begin{document}

\doublespacing         %different position when using \singlespacing
%\singlespacing

\lipsum[1-10] 

\end{document}

你知道吗当我在文档中使用不同的间距时,如何修复线条的位置并且根据代码中的内容(单倍行距或双倍行距),行的位置也不同。

答案1

您必须在页眉中恢复单倍行距:

\makeatletter
\renewcommand\hf@uheadings{%
  \def\@oddhead{\vtop{\linespread{1}%
      \hb@xt@\textwidth{%
        \reset@font{\heading@font\rightmark}\hfil\thepage\strut}%
      \vskip2pt\hrule\vskip-2.4pt}}%
  \let\@oddfoot\@empty
  \def\@evenhead{\vtop{\linespread{1}%
      \hb@xt@\textwidth{%
        \reset@font\strut\thepage\hfil\heading@font\leftmark}%
      \vskip2pt\hrule\vskip-2.4pt}}%
  \let\@evenfoot\@empty
  }
\makeatother
\pagestyle{uheadings}

相关内容