如何按 \hoffset 的负量水平跳过?

如何按 \hoffset 的负量水平跳过?

我尝试了以下操作但似乎没有任何效果:

\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

相关内容