以下代码创建一个有三页且带有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
。