横向页面的标题大小不正确

横向页面的标题大小不正确

以下代码创建一个有三页且带有wavedot标题规则的文档,其中中间一页是横向的typearea

问题是:横向页面中的 headrule 没有填满文本宽度,而在纵向页面中它可以正常工作。

原因是什么以及如何使每页的标题规则以正确的尺寸绘制?

代碼:

\documentclass{article}
\usepackage{geometry,fancyhdr,xcolor}
\usepackage[usegeometry]{typearea}
\geometry{showframe}
\pagestyle{fancy}\fancyhf{}

\newcommand\landscapepageon[1][]
{%
  \cleardoublepage
  \savegeometry{prelandscape}
  \KOMAoptions{paper=landscape,DIV=current,#1}
  \recalctypearea
  \bgroup
}
\newcommand\landscapepageoff{%
  \cleardoublepage
  \egroup
  \KOMAoptions{paper=portrait}
  \recalctypearea
  \loadgeometry{prelandscape}
}
\renewcommand{\headrule}{%
  \bfseries\color{red}\leavevmode\cleaders\hbox{${\sim}{\cdot}$}\hfill\null%
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
\begin{document}
portait page
\landscapepageon
landscape page
\landscapepageoff
portrait page again
\end{document}

答案1

我猜测中间页的页眉宽度与第一页相同。

我不确定,但以下内容对于这三页来说都是可以的。

\renewcommand{\headrule}{%
  \makebox[\textwidth][s]{\bfseries\color{red}\leavevmode\cleaders\hbox{${\sim}{\cdot}$}\hfill\null}%
}

只需将一个盒子添加\textwidth到您的即可\headrule

相关内容