Я борюсь с этим очень простым трюком (ванильный plainTeX), который не могу взломать...
Как нарисовать вертикальную (т. е. перпендикулярную горизонту) линию, которая идет от верха (или верхнего поля, или как можно выше) текущей страницы к текущей позиции (в частности, к позиции текста в момент вызова макроса, решающего эту задачу)?
P.S. Возможно, непонятно, но текущее положение подразумевается как горизонтальное, так и вертикальное. Т.е.
Here I \myruler am...
Another paragraph...
будет производить что-то вроде
|
|
|
|
|
Here I | am...
Another paragraph...
решение1
Одним из вариантов является использование \pagetotal
измерения, которое содержит накопленную естественную высоту текущей страницы:
\newdimen\ruleht
\def\myrule{\par
\ruleht=\pagetotal
\vskip-\the\ruleht\llap{\vrule height\the\ruleht}
}
\def\Text{%some filler text for the example
text text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text text text
text text text text text text text text text\par}
\Text\Text\myrule
\bye
решение2
Основываясь на ответе Гонсало, возможно, что-то вроде
\hsize=24pc
\def\lipsum{Lorem ipsum dolor sit amet. }
\def\llipsum{\lipsum\lipsum}
\def\lipsumV{\llipsum\llipsum\lipsum}
\def\pgtotrule{\dimen0=\pagetotal
\advance\dimen0 by\ht\strutbox
\advance\dimen0 by\baselineskip
\smash{\vrule height\dimen0 depth\dp\strutbox}}
\lipsumV
\lipsumV
\llipsum \lipsum \pgtotrule \lipsumV
\bye