我的 LaTeX 文件编译得很好。然而,在读取我的.log
文件时,我看到许多重复的
Package Fancyhdr Warning: \headheight is too small
在谷歌中搜索它,我发现了一些“修复”,但首先我想知道错误是什么。
这是什么fancyhdr
?这是什么\headheight
?错误是什么意思?
答案1
首先,这只是一个警告,不同于错误。
fancyhdr
是一个包提供广泛的功能,既可用于构建页眉和页脚,也可用于控制它们的使用(例如,有时 LATEX 会自动更改正在使用的标题样式)。
(来自
fancyhdr
自述)\headheight
是与页面标题相关的(垂直)高度。它位于页面上的什么位置?以下是示意图(来自geometry
包裹 文档):上图中的符号与
geometry
设置相对应,但与 使用的长度相似fancyhdr
。这警告提到当前分配给标题的空间太小,应该扩大。更全面地查看该消息实际上会告诉您建议的最低限度高度应该是。
您可以忽略此警告,但页面布局将自动调整
fancyhdr
,因此各个页面的布局会有所不同。以下示例突出显示了这一点:\documentclass{article} \usepackage{fancyhdr,lipsum} \pagestyle{fancy} \fancyhead[C]{\rule{.5\textwidth}{4\baselineskip}}% Add something BIG in the header \begin{document} \lipsum[1-10] \end{document}
请注意,页眉规则在各个页面之间保持相同的高度(红色箭头)。但是,页面上的第一行文本在错误页面之后立即被向下推
\headheight
。fancyhdr
手动调整了这一点,如警告文本:Package Fancyhdr Warning: \headheight is too small (12.0pt): Make it at least 51.60004pt. We now make it that large for the rest of the document. This may cause the page layout to be inconsistent, however.
为了纠正这个问题,我们添加了
\setlength{\headheight}{52pt}% ...at least 51.60004pt
序言部分:
\documentclass{article} \usepackage{fancyhdr,lipsum} \pagestyle{fancy} \fancyhead[C]{\rule{.5\textwidth}{4\baselineskip}}% Add something BIG in the header \setlength{\headheight}{52pt}% ...at least 51.60004pt \begin{document} \lipsum[1-10] \end{document}
记录、加载或放置您的geometry
设置前正在加载fancyhdr
/选择\pagestyle{fancy}
。