从report
班级切换到book
班级并开始使用fancyhdr
包来控制页眉/页脚后,我的页脚中的页码不再居中。
这是我的fancyhdr
设置:
\usepackage{fancyhdr}
\fancypagestyle{plain}{%
\fancyhf{} % clear all header and footer fields
\fancyfoot[C]{\thepage} % except the center
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}}
%activate the style:
\pagestyle{plain}
\usepackage{geometry}
\geometry{a4paper} %paper format
\geometry{left=27.5mm,right=27.5mm,bottom=27.5mm,top=27.5mm} %margins
这样,页码就会偏离中心。在偶数页上,它们位于中心的右侧,而在奇数页上,它们位于中心的左侧。我想要的是,在偶数页和奇数页的页脚中,页码完全居中(相对于页面而言)(就像我使用 classreport
而不是fancyhdr
s 时一样)。
答案1
geometry
解决方案是先加载fancyhdr
并应用设置,然后再配置fancyhdr
,而不是相反。
一个工作示例:
\documentclass{book}
\usepackage[english]{babel}
\usepackage{geometry}
\geometry{a4paper} %paper format
\geometry{left=27.5mm,right=27.5mm,bottom=27.5mm,top=27.5mm} %margins
\usepackage{fancyhdr}
\fancypagestyle{plain}{%
\fancyhf{} % clear all header and footer fields
\fancyfoot[C]{\thepage} % except the center
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}}
%activate the style:
\pagestyle{plain}
\begin{document}
\vspace*{\fill}
\centering\thepage
\end{document}
在此示例中,如果\usepackage{geometry}
将设置\geometry
移至 下方\pagestyle{plain}
,则会出现不希望出现的行为。当我看到这种依赖关系时,我想知道为什么手册geometry
中甚至没有提到。fancyhdr
答案2
碰巧我重新定义了一个几何图形,因为文档需要它。所以我的 headrule、fancyfoot 和一切都不能很好地工作。
\fancypagestyle{custom-fancy}{%
\newgeometry{
top=25mm,
left=30mm,
right=30mm,
bottom=25mm,
includeheadfoot
}
\fancyhf{}
\fancyhead[C]{Just a title}
\fancyfoot[C]{\thepage}
\renewcommand{\headrulewidth}{1pt}
\renewcommand{\footrulewidth}{1pt}
}
正如你所看到的,它溢出了,我在文档中读到这是因为所有的 head 和 foot 命令都是由\headwidth
\headwidth 是一个长度参数,它定义页眉和页脚的总宽度。
但这很奇怪,因为包装文档说
所以我发现最实用的解决方案就是重新定义这个值,并加入\setlength{\headwidth}{\linewidth}
我喜欢的风格。就这样。
\fancypagestyle{custom-fancy}{%
\newgeometry{
top=25mm,
left=30mm,
right=30mm,
bottom=25mm,
includeheadfoot
}
\fancyhf{}
\setlength{\headwidth}{\linewidth}
\fancyhead[C]{Just a title}
\fancyfoot[C]{\thepage}
\renewcommand{\headrulewidth}{1pt}
\renewcommand{\footrulewidth}{1pt}
}