Fancyhdr 设置了错误的 headheight

Fancyhdr 设置了错误的 headheight

fancyhdr我在设置时遇到了一些问题\headheight。该软件包似乎添加了太多内容\headheight。这是我当前的设置:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{textcomp}
\usepackage{lastpage}
\usepackage[includeheadfoot,margin=0.3in,headheight=54pt,landscape]{geometry}
\usepackage{longtable}
\usepackage{tabu}
\usepackage{fancyhdr}
\usepackage{ragged2e}

\setlength{\parindent}{0pt}
\fancypagestyle{header}{ 
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\setlength{\headheight}{54pt}
\fancyhead{}
\fancyfoot{}
\fancyhead[C]{
\begin{minipage}[t][20pt]{\textwidth}
\flushleft
\begin{minipage}[t]{0.33\textwidth}
\flushleft
Print date: 2016{-}Jun{-}21 11:57:51
\newline 
R1023
\end{minipage}
\begin{minipage}[t]{0.33\textwidth}
\centering
Company Name
\end{minipage}
\begin{minipage}[t]{0.33\textwidth}
\flushright
Page \thepage\ of \pageref{LastPage}
\end{minipage}
\end{minipage}
\begin{minipage}[t]{\textwidth}
\centering
\begin{Large}\textbf{Title}\end{Large}
\linebreak 
\begin{large}Subtitle\end{large}
\flushleft{\begin{small}More Text\end{small}}
\end{minipage}
}
\fancyfoot[C]{ 
}
}
\pagestyle{header}

\begin{document}
Page 1
\newpage
Page 2
\end{document}

如您所见,\headheight第一页上的 geometry 设置为 54pt,但第二页上的软件包fancyhdr将其重置为 ~70pt,导致页面上留下大量空白。我在页眉中遗漏了什么导致尺寸增加吗?

答案1

您的主要问题源于不正确的headheight设置。您可以消除设置headheight来自geometry的选择,看看fancyhdr建议.log,或者将标题放在一个框中并自己测量(记住要考虑这个框的heightde pth)。前者更容易。

以下结构看起来更简洁,并使用了一些自动化方法来计算时间和日期(使用datetime2):

在此处输入图片描述

\documentclass{article}

\usepackage{lastpage}
\usepackage[includeheadfoot,margin=0.3in,headheight=74pt,headsep=0pt,landscape]{geometry}
\usepackage{fancyhdr,tabularx}
\usepackage[english]{datetime2}

\DTMnewdatestyle{dashdate}{%
  \renewcommand{\DTMdisplaydate}[4]{\number##1-\DTMenglishshortmonthname{##2}-\number##3}%
  \renewcommand{\DTMDisplaydate}{\DTMdisplaydate}%
}
\DTMsetdatestyle{dashdate}
\DTMsettimestyle{default}

\fancypagestyle{header}{
  \renewcommand{\headrulewidth}{0pt}
  \renewcommand{\footrulewidth}{0pt}
  \fancyhf{}
  \fancyhead[L]{%
    \begin{tabularx}{\textwidth}{@{}X>{\centering\arraybackslash}X>{\raggedleft\arraybackslash}X@{}}
      Print date: \DTMtoday~\DTMcurrenttime & % http://tex.stackexchange.com/q/994/5764
      Company Name &
      Page \thepage~of~\pageref{LastPage} \\
      R1023 \\
      & \Large\bfseries Title \\
      & \large Subtitle \\
      \\
      \small More text
    \end{tabularx}% 
  }
}
\pagestyle{header}

\begin{document}

Page 1

\newpage
Page 2

\end{document}

页眉的高度74pt取决于打印的内容.log 没有它:

软件包 Fancyhdr 警告:\headheight 太小(12.0pt):
至少将其设置为 73.60002pt。
我们现在将其设置为与文档其余部分一样大。
但是,这可能会导致页面布局不一致。

相关内容