几何中距离测量的精度

几何中距离测量的精度

在下面的MWE中,我将纸张边缘到正文的距离设置为25mm。

\documentclass[a4paper]{article}
\usepackage[showframe, paper = a4paper, tmargin = 25mm]{geometry}
\usepackage{lipsum}
\begin{document}
\lipsum
\end{document}

但是,当我在 Evince 等 PDF 查看器中以全尺寸检查纸张时,以及当我打印纸张时,用尺子测量时得到的结果是 27 毫米。为什么?geometry不准确吗?

答案1

tikz 声称它是 25 毫米:

\documentclass[a4paper]{article}
\usepackage[showframe, paper = a4paper, tmargin = 25mm]{geometry}
\usepackage{lipsum,tikz}

\begin{document}

\tikz[overlay,remember picture] \draw[<->,red] (current page.north) --++(0,-25mm)node[midway]{25mm};
\lipsum
\end{document}

在此处输入图片描述

答案2

让我们看看。输出的第一行是 6.94444pt 高(TeX 告诉我的,它是该行中字符的最大高度,即 'd'),其前面是\topskip3.05556pt 的粘连,因为

6.94444 + 3.05556 = 10

\topskip10pt 是十点大小文档的标准值。

纸张边缘到第一条基线的距离为 25mm 加\topskip。由于 3.05556pt = 1.074mm,因此纸张边缘到 'd' 顶部的距离为 26.074mm。

另一方面,如果您测量开口“L”的顶部,即 6.83331pt,则必须添加 0.11113pt = 0.039mm,得到 26.113mm。

如果从“o”的顶部测量,高度为 4.30554pt=1.513mm,则得到

25 + 1.074 + 1.513 = 27.587

毫米。

所以这只是决定如何进行测量的问题。

如果你设置\topskip=0pt,比如\begin{document}在Ulrike的代码中,你会得到

在此处输入图片描述

因此,该距离实际上是从纸张边缘到行上最高字符顶部测量的。

\documentclass[a4paper]{article}
\usepackage[showframe, paper = a4paper, tmargin = 25mm]{geometry}
\usepackage{lipsum,tikz}

\begin{document}
\topskip=0pt

\tikz[overlay,remember picture] \draw[<->,red] (current page.north) 
  --++(0,-25mm)node[midway]{25mm};
\lipsum
\end{document}

当然,仅仅为了符合愚蠢的规范而改变 TeX 的模型是错误的,但有时是必要的。

TeX 为什么使用\topskip?因为这样页面上第一个基线的位置将不依赖于行的内容(除非它的高度异常大),而如果\topskip设置为零,则无法保证这一点。

相关内容