我尝试了以下操作但似乎没有任何效果:
\hskip -\hoffset
\hskip -\the\hoffset
\hskip 0pt minus\hoffset
\hskip 0pt minus\the\hoffset
引用的正确语法是什么hoffset
?
更新
完整示例:
\pdfpagewidth=210mm
\pdfpageheight=297mm
\hsize=\pdfpagewidth \advance\hsize by -50mm
\vsize=\pdfpageheight \advance\vsize by -50mm
\advance\hoffset by -1in \advance\hoffset by 25mm
\advance\voffset by -1in
\def\falz{\vrule width25mm height.1mm depth0pt}
\hbox {The distance between the paper border and the left side of the
line is 25mm, because hoffset is set to 25mm.}
\hbox{\hskip-25mm\falz Skipping by the numerical value works.}
\hbox{\hskip-\hoffset\falz But skipping by -hoffset does not work.}
\bye
答案1
标准参考点距左侧和顶部边距 1 英寸。如果您希望它距两者均为 25 毫米,您可以这样做
\advance\hoffset\dimexpr25mm-1in\relax
\advance\voffset\dimexpr25mm-1in\relax
或者,因为已知 1in = 25.4mm,
\advance\hoffset -0.4mm
\advance\voffset -0.4mm
一个更简单的方法pdftex
是
\pdfhorigin=25mm
\pdfvorigin=25mm
如果我使用以下方式编译xetex
\pdfpagewidth=210mm
\pdfpageheight=297mm
\hsize=\pdfpagewidth \advance\hsize by -50mm
\vsize=\pdfpageheight \advance\vsize by -50mm
\advance\hoffset-0.4mm
\advance\voffset-0.4mm
\vglue -24mm % back up vertically by almost 25mm
\vglue-\topskip % remove the topskip
\moveright-24mm\vbox{\hrule width 3cm depth 4pt}
\bye
如您所见,规则左侧和上方有 1 毫米的空白。
如果我使用 25mm,我会得到
请注意,XeTeX 实际上并不知道输出在物理页面上的放置方式:在这方面,它与 TeX 相同,并且依赖于输出驱动程序。对于 TeX,符合要求的 DVI 驱动程序将使用 (1in,1in) 作为原点,对于 也是如此xdvipdfmx
。