我希望页码距离纸张上边缘 1 厘米。我该怎么做?我尝试使用表达式 ( 1cm - \normalsize
),但据我所知,它不起作用。
\documentclass[a4paper,14pt,indentfirst]{extreport}
\usepackage{lipsum}
\usepackage{geometry}
\geometry{left=3cm}
\geometry{right=1cm}
\geometry{top=2cm}
\geometry{bottom=2cm}
\geometry{headsep=5mm} % (1cm - \normalsize)
\usepackage{fancyhdr}
\fancypagestyle{plain}{
\fancyhf{}
\fancyhead[R]{\thepage}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
}
\pagestyle{plain}
\begin{document}
\lipsum[1]
\end{document}
答案1
\dimexpr 1cm - \headheight\relax
应该这么做。
\normalsize
设置字体大小。
答案2
我对你不得不遵守愚蠢的规定深表同情。
\documentclass[a4paper,14pt]{extreport}
\usepackage{lipsum}
\usepackage{geometry,layout}
\begingroup % capture the height of digits
\sbox0{\normalfont0}\global\dimen1=\ht0
\endgroup
\geometry{
left=3cm,
right=1cm,
top=2cm,
bottom=2cm,
headsep=\dimexpr 2cm-1cm-2\dimen1 \relax, % top minus prescribed distance minus twice the height of digits
headheight=17pt,
}
\usepackage{fancyhdr}
\fancypagestyle{plain}{%
\fancyhf{}%
\fancyhead[R]{\thepage}%
\renewcommand{\headrulewidth}{0pt}%
\renewcommand{\footrulewidth}{0pt}%
}
\pagestyle{plain}
\begin{document}
\lipsum[1]
\end{document}