使用geometry
,可以通过指定从下方的文本主体到上方的标题的距离来设置标题的位置headsep
:
\documentclass{article}
\usepackage[showframe, headsep = 5mm]{geometry}
\usepackage{lipsum, fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{A header plus the page number: \thepage}
\begin{document}
\lipsum
\end{document}
另一方面,在 MS Word 中,页眉的位置是通过指定从上方页边距到下方页眉的距离来设置的:
我现在的问题是,有人给我提供了指南,告诉我 MS Word 中的设置,我必须弄清楚如何将其转换为 LaTeX。而这个设置我搞不懂。我该如何在的帮助下设置geometry
从上方的页边距到下方的页眉的距离(在这种情况下我只需设置headsep = 0pt
)?
答案1
您应该top
与设置一起指定includehead
:
\documentclass{article}
\usepackage[showframe,includehead,top=5mm]{geometry}
\usepackage{lipsum, fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{A header plus the page number: \thepage}
\begin{document}
\lipsum
\end{document}
来自geometry
用户手册includehead
图2显示了(和)的含义includefoot
:
如果现在要指定页面顶部(边距)到文本主体顶部的距离,请另外设置headsep
和headheight
。例如,我们可以默认设置headheight
为\baselineskip
,然后设置
\geometry{
showframe,
includehead,
top=5mm,
headsep=\dimexpr20mm-\baselineskip,
headheight=\baselineskip
}
使正文顶部25mm
与页面顶部边距准确对齐。
答案2
这是我最终的做法:
\documentclass{article}
\usepackage[showframe,
tmargin = 24mm,% distance from page margin to body text
headheight = 4.22mm,% height of header (the minimum required by fancyhdr)
% tmargin (24mm) - headsep (X mm) - headheight (4.22mm) = 16mm (= the desired distance from page margin to header) =
headsep = 3.78mm,% distance from body text to header
]{geometry}
\usepackage{lipsum, fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{A header plus the page number: \thepage}
\begin{document}
\lipsum
\end{document}
答案3
你可以手动计算正确的值,因为你只需要设置一次,不是吗?如果值经常变化,你可以使用此代码
\makeatletter
\geometry{
showframe,
top=20mm,
headsep = \dimexpr\Gm@tmargin-\headheight-5mm\relax,
}
\makeatother
其中\makeatletter
启用@
作为命令名称的一部分。然后在\dimexpr
(维度表达终止于\relax
)我们使用顶部边距,必须设置前 headsep
宽度top
(!),然后减去\headheight
和额外的 5 毫米。结果是页眉从页面顶部开始 5 毫米。