我正在尝试使用 fancyhdr 包制作自定义页眉。出于某种原因,如果我没有指定 \headheight=3cm,文档的其余部分就会出现错误的页眉高度,即使是带有 \pagestyle{plain} 的页面也是如此。不过,带有长页眉的页面正好符合要求。我需要将页眉添加到新章节开始的页面之一。我只需要使用空白处而不影响其余布局。我也很乐意使用没有 fancyhdr 包的其他解决方案。
\documentclass[12pt]{report}
\usepackage[top=1in, bottom=1in]{geometry}
\pagestyle{plain}
\usepackage{fancyhdr}
\usepackage{lipsum}
\fancypagestyle{longheader}{
\fancyhf{}%
\fancyhead[R]{a\\b\\c\\d\\e}
\fancyfoot[C]{\thepage}%
%\headheight=3cm
}
\begin{document}
\chapter{}
\thispagestyle{longheader}
This page looks exactly as it should.
\chapter{}
This page is shifted.\\
\lipsum[1-7]
\end{document}
答案1
您可以使用顶部对齐\parbox
并隐藏其深度。请注意,生成的标题与文本区域重叠,您必须确保有足够的空间。
\documentclass[12pt]{report}
\usepackage[top=1in, bottom=1in,
headheight=14.5pt% <- added
]{geometry}
\pagestyle{plain}
\usepackage{fancyhdr}
\usepackage{lipsum}
%\usepackage{showframe}% to show the page layout
\fancypagestyle{longheader}{
\fancyhf{}
\fancyhead[R]{\parbox[t][1ex]{\linewidth}{%
\raggedleft a\\b\\c\\d\\e\\
\rule[\ht\strutbox]{\linewidth}{.4pt}%
}}
\fancyfoot[C]{\thepage}
\renewcommand{\headrulewidth}{0pt}
}
\begin{document}
\chapter{}
\thispagestyle{longheader}
This page looks exactly as it should.
\chapter{}
This page is shifted.
\lipsum[1-7]
\end{document}