我最近开始使用该geometry
软件包来格式化文档的边距。但是,我注意到页眉/页脚的宽度保持不变。我该如何纠正这个问题?
这是一个MWE
:
\documentclass{article}
\usepackage{geometry}
\usepackage{fancyhdr}
\pagestyle{fancy}
\usepackage{blindtext}
\lhead{}
\chead{Header}
\rhead{}
\lfoot{}
\cfoot{Footer}
\rfoot{\thepage}
\renewcommand{\headrulewidth}{1pt}
\renewcommand{\footrulewidth}{1pt}
\begin{document}
\newgeometry{margin=0.5in, bottom=1in, top=1in}
\Blinddocument
\end{document}
答案1
fancyhdr
必须加载和调整页眉/页脚内容后任何边距更改都会受到 影响geometry
,这样就fancyhdr
可以检测到这些更改。在您的示例中,不需要\newgeometry
after —— 只需将边距更改指定为包选项即可。\begin{document}
geometry
\documentclass{article}
\usepackage[margin=0.5in,bottom=1in,top=1in]{geometry}
\usepackage{fancyhdr}
\pagestyle{fancy}
\usepackage{blindtext}
\lhead{}
\chead{Header}
\rhead{}
\lfoot{}
\cfoot{Footer}
\rfoot{\thepage}
\renewcommand{\headrulewidth}{1pt}
\renewcommand{\footrulewidth}{1pt}
\begin{document}
\Blinddocument
\end{document}
答案2
如果你真的之后需要使用\newgeometry
改变页面形状\begin{document}
,最近的包titleps
会很有用:
\documentclass{article}
\usepackage{geometry}
\usepackage{titleps}
\usepackage{blindtext}
\newpagestyle{jay}{%
\sethead{}{Header}{}%
\setfoot{}{Footer}{\thepage}%
\setheadrule{1pt}%
\setfootrule{1pt}%
}
\pagestyle{jay}
\begin{document}
\Blindtext
\newgeometry{margin=0.5in, bottom=1in, top=1in}
\Blinddocument
\end{document}
但如果不需要这种形状的改变,请遵循 lockstep 的建议。
答案3
谢谢,我遇到了同样的问题。我使用了此代码,通过反复试验,我发现如果将0.005\textwith
文本放在页脚或标题中,则文本是可见的:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
\usepackage{lipsum}
\pagestyle{fancy}
\lhead{Exam}
\chead{}
\rhead{Page \thepage}
\lfoot{}
\cfoot{}
\rfoot{}
\usepackage[left=1.5cm, right=1.5cm, top=2cm, bottom=2cm]{geometry}
\fancyheadoffset{0.005\textwidth}
\begin{document}
\lipsum[1]
\newpage
\lipsum[1]
\end{document}