这个警告是什么意思?(fancyhdr 和 headheight)

这个警告是什么意思?(fancyhdr 和 headheight)

我的 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}
    

    请注意,页眉规则在各个页面之间保持相同的高度(红色箭头)。但是,页面上的第一行文本在错误页面之后立即被向下推\headheightfancyhdr手动调整了这一点,如警告文本:

    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}

相关内容