使用 fancyhdr 设置带有长标题的自定义页面样式时文本发生偏移

使用 fancyhdr 设置带有长标题的自定义页面样式时文本发生偏移

我正在尝试使用 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}

在此处输入图片描述

相关内容