我如何计算像 (1cm - fontsize) 这样的表达式?

我如何计算像 (1cm - fontsize) 这样的表达式?

我希望页码距离纸张上边缘 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}

在此处输入图片描述

相关内容