如何在 Plain TeX 中用绝对坐标画一条线?

如何在 Plain TeX 中用绝对坐标画一条线?

怎样在纸张顶部画一条长 3cm,距纸张左侧 15cm 的垂直线?

答案1

纯 e-TeX 解决方案。对于非零\hoffset或 ,需要进行调整\voffset

\headline={%
  \vbox to 0pt{
    \vskip\dimexpr-1in+22.5pt-8.5pt\relax
    \hbox to 0pt{\kern\dimexpr-1in+15cm\relax
      \vrule height 3cm\relax
      \hss}}}
Hello World!
\bye

如果您不想\headline为此做出牺牲,您也可以重新定义\makeheadline(这甚至是真正的 Knuth TeX)。

\def\makeheadline{
  \setbox0=\hbox to 0pt{\hskip-1in\hskip15cm \vrule depth 3cm \hss}
  \ht0=0pt \dp0=0pt
  \vbox to 0pt{\vskip-1in \box0 \vss}
  % orignal \makeheadline follows
  \vbox to 0pt{\vskip-22.5pt
    \line{\vbox to 8.5pt{}\the\headline}\vss}\nointerlineskip}
Hello World!
\bye

在此处输入图片描述

答案2

假设 John Kormylo 已经正确理解了你想要的线的位置,那么在 Plain TeX 中你可以这样做:

\input tikz.tex
\tikz[remember picture,overlay]{\draw (current page.north west) ++(15cm,0) -- ++(0,-3cm);}
\bye

相关内容