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
,或者将标题放在一个框中并自己测量(记住要考虑这个框的h
eight
和d
e p
th)。前者更容易。
以下结构看起来更简洁,并使用了一些自动化方法来计算时间和日期(使用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。
我们现在将其设置为与文档其余部分一样大。
但是,这可能会导致页面布局不一致。