我正在尝试开始使用纯文本(实际上是 texlive2010 附带的 pdftex)编写文档,但我在页面布局方面遇到了一些问题。我的问题是,什么时候决定页面的尺寸和边距?
据我调查,\plainoutput
plain.tex 中的例程仅设置了页眉、页脚等的高度和宽度\box255
,但从未定义页面尺寸(如 A4、信纸、纵向、横向等)和边距。此外,TEXBOOK 表示默认情况下页面布局1in
每边都有边距(第 251 页),但我不知道这些边距是何时定义的,也不知道为什么在我的最终 pdf 输出中文档显示为 A4 大小,1in
左边距为 ,0.7in
右边距约为 。所以问题又来了,这些尺寸是何时决定的?
答案1
1 英寸的偏移实际上来自 TeX 本身,这有点麻烦,因为您需要在任何计算中尽可能晚地考虑它们。
纸张尺寸在配置文件中定义(我忘记了它的名字),但使用 PDFTeX,您应该能够使用命令\pdfpagewidth
(默认210 true mm
为 A4)和\pdfpageheight
(默认297 true mm
为 A4)。
与页面布局最相关的设置是:
\hsize
为了H水平尺寸(字体宽度)\vsize
为了五垂直尺寸(字体块高度)\hoffset
为了H水平抵消(距纸张左边缘 1 英寸)\voffset
为了五垂直抵消(距纸张顶边 1 英寸偏移)
\hoffset
对于跨页布局,您只需在输出例程中切换即可。
因为您定义了\hsize
和\hoffset
,所以不需要定义边距,但我想您可以编写一个宏来根据给定的边距计算\hsize
和。\hoffset