‘layout’ 包生成的图表中有一个神秘的测量值

‘layout’ 包生成的图表中有一个神秘的测量值

包裹layout

生成当前文档布局的概述

包装layout的用户手册,2014/10/28,第1页)

使用此包,以下 LaTeX 文档

\documentclass{article}
\usepackage{layout}
\begin{document}
\layout
\end{document}

生成以下 pdf 文件

LaTeX 文档布局

图例表明垂直虚线与左边缘的距离为

一英寸 + \hoffset

“一英寸”设置从何而来?它是硬编码到 LaTeX 引擎中吗?为什么它没有像图表中的其他布局元素那样的名称?

我对虚线水平线与页面上边缘的距离同样感到困惑。

答案1

左侧和顶部一英寸是 TeX 内置的惯例,尽管需要进行一些解释。首先,我将忽略 pdfTeX 的发展。

TeX 本身没有“物理页面”的概念。它只具有 和的值\hoffset\voffset这些值写入 DVI 文件中,以供设备驱动程序解释(用于打印或预览)。

按照惯例,全部DVI 文件的设备驱动程序将页面内容的左上角设置为距页面左边距 1 英寸,距上边距 1 英寸。为什么?因为这是第一个设备驱动程序所做的,并且该惯例在 TeXbook 中有详细说明。

与传统 TeX 相比,pdfTeX 确实具有物理页面的概念,但当然其作者选择遵循惯例,以免使文档无效并允许它们在有pdftexpdflatex无更改的情况下进行编译。

LaTeX 设置页面参数的方式与普通 TeX 不同,但它遵守设备驱动程序内置的总体约定。

可以设置\hoffset\voffset-1in,从而简化测量;但这会滥用参数,这些参数应该只用于修复由于设备驱动程序导致的微小错位。LaTeX 可能为此提供了一个接口,但必须记住,当 LaTeX 首次发布时,它的许多用户来自纯 TeX 和知道关于\hoffset\voffset

总之,您应该接受这是一个奇怪的现象。geometry如果您想更改页面参数,请使用。

还有一个专门针对此问题的包,即vmargin,它使用 和\hoffset\voffset将它们设置为 -1in。请在网站上查找因此选择而出现的问题。

其实,pdftex引入了两个参数,分别是\pdfhorigin\pdfvorigin,都默认设置为1in,但操作起来同样很麻烦。

相关内容