使用 fancyhdr 和 geometry 导致边距不一致

使用 fancyhdr 和 geometry 导致边距不一致

对于我的家庭作业,我通常使用该fancyhdr包创建一个标题,其中包含组(A、B、C 等)、作业标题、我的姓名 + 学生编号和日期。除此之外,我几乎总是使用该geometry包来调整页边距。

出现的问题是边距似乎每页都在变化,或者更具体地说:第一页的边距与其他页的边距不同。为了说明这个问题,请考虑以下 MWE。

\documentclass[a4paper]{article}
\usepackage{fancyhdr,lipsum} % lipsum for filler text
\usepackage[margin=4.4cm]{geometry}
\begin{document}
\lhead{Group, homework corrector\\$\,$\\}
\rhead{Homework title\\Name (student number)\\\today}
\pagestyle{fancy}
\lipsum[1-5]    % filler text
\newpage
\lipsum[6-10]   % filler text
\newpage
\lipsum[11-15]  % filler text
\end{document}

这里[a4paper]似乎有必要不让geometry改变纸张的尺寸,lipsum用于填充,并且有 3 页写着表明第二页和第三页具有相同的页边距,与第一页的页边距不同。问题不应该来自fancyhdr和之间的冲突geometry,因为当后者被注释掉时也会出现这种情况。

现在我想实现两件事,以及相应的问题:

  1. 如上所述,如何确保整个文档的边距一致?
  2. \thispagestyle{fancy}当使用而不是 时,如何让第二页和后续页面的文本从第一页页眉的起始高度开始 \pagestyle{fancy}

我曾尝试通过重新定义 的长度来解决第二点\headheight,但我觉得这有点草率,因为无法确保页眉在第一页上添加的高度恰好是该高度。以下是我尝试解决第二个问题的方法:

\documentclass[a4paper]{article}
\usepackage{fancyhdr,lipsum} % lipsum for filler text
\usepackage[margin=4.4cm]{geometry}
\begin{document}
\lhead{Group, homework corrector\\$\,$\\}
\rhead{Homework title\\Name (student number)\\\today}
\thispagestyle{fancy}
\lipsum[1-5]    % filler text
\newpage
\setlength{\headheight}{-3\baselineskip}
\lipsum[6-10]   % filler text
\newpage
\lipsum[11-15]  % filler text
\end{document}

答案1

添加headheight=35pt选项geometryshowframe这里只是为了清楚地显示结果)。

\documentclass[a4paper]{article}
\usepackage{fancyhdr,lipsum} % lipsum for filler text
\usepackage[margin=4.4cm,headheight=35pt,showframe]{geometry}
\begin{document}
\lhead{Group, homework corrector\\$\,$\\}
\rhead{Homework title\\Name (student number)\\\today}
\pagestyle{fancy}
\lipsum[1-5]    % filler text
\newpage
\lipsum[6-10]   % filler text
\newpage
\lipsum[11-15]  % filler text
\end{document}

在此处输入图片描述

你是如何得到这个的35pt?如果我不添加该选项,在日志文件中(以及在终端上)我会收到警告

Package Fancyhdr Warning: \headheight is too small (12.0pt):
 Make it at least 34.54448pt.
 We now make it that large for the rest of the document.
 This may cause the page layout to be inconsistent, however.

相关内容