包裹layout
生成当前文档布局的概述
(包装layout
的用户手册,2014/10/28,第1页)
使用此包,以下 LaTeX 文档
\documentclass{article}
\usepackage{layout}
\begin{document}
\layout
\end{document}
生成以下 pdf 文件
图例表明垂直虚线与左边缘的距离为
一英寸 + \hoffset
“一英寸”设置从何而来?它是硬编码到 LaTeX 引擎中吗?为什么它没有像图表中的其他布局元素那样的名称?
我对虚线水平线与页面上边缘的距离同样感到困惑。
答案1
左侧和顶部一英寸是 TeX 内置的惯例,尽管需要进行一些解释。首先,我将忽略 pdfTeX 的发展。
TeX 本身没有“物理页面”的概念。它只具有 和的值\hoffset
,\voffset
这些值写入 DVI 文件中,以供设备驱动程序解释(用于打印或预览)。
按照惯例,全部DVI 文件的设备驱动程序将页面内容的左上角设置为距页面左边距 1 英寸,距上边距 1 英寸。为什么?因为这是第一个设备驱动程序所做的,并且该惯例在 TeXbook 中有详细说明。
与传统 TeX 相比,pdfTeX 确实具有物理页面的概念,但当然其作者选择遵循惯例,以免使文档无效并允许它们在有pdftex
或pdflatex
无更改的情况下进行编译。
LaTeX 设置页面参数的方式与普通 TeX 不同,但它有遵守设备驱动程序内置的总体约定。
它可以设置\hoffset
为\voffset
-1in,从而简化测量;但这会滥用参数,这些参数应该只用于修复由于设备驱动程序导致的微小错位。LaTeX 可能为此提供了一个接口,但必须记住,当 LaTeX 首次发布时,它的许多用户来自纯 TeX 和知道关于\hoffset
和\voffset
。
总之,您应该接受这是一个奇怪的现象。geometry
如果您想更改页面参数,请使用。
还有一个专门针对此问题的包,即vmargin
,它使用 和\hoffset
,\voffset
将它们设置为 -1in。请在网站上查找因此选择而出现的问题。
其实,pdftex
引入了两个参数,分别是\pdfhorigin
和\pdfvorigin
,都默认设置为1in,但操作起来同样很麻烦。