[NTG-context] [Fwd: Line numbering]

Hans Hagen pragma at wxs.nl
Thu Sep 7 18:22:18 CEST 2006

Aditya Mahajan wrote:
> Hi CVR,
>
>
>> From: CV Radhakrishnan <cvr at river-valley.org>
>> Reply-To: mailing list for ConTeXt users <ntg-context at ntg.nl>
>> To: Mailing list for ConTeXt users <ntg-context at ntg.nl>
>> Subject: [NTG-context] Line numbering
>> Date: Sat, 02 Sep 2006 10:13:31 +0530
>>
>> Dear all,
>>
>> Forgive me if I sound naive.  I searched the archives, but could not
>> find the solution for my following problem:
>>
>> I need to have line numbers for the text formatted in two columns.  The
>> numbers for left column shall appear in the left side and that for right
>> column shall appear in the right side of the page.  location=inmargin
>> option to the \setuplinenumbering doesn't help much.  Please take a look
>> at the following image:
>>
>>  http://www.river-valley.com/cvr/one.png
>>
>> which will give you an idea of my requirement.  Any help in this matter
>> will be highly apprecaited and thanks in advance.
>>
>
> I do not know how to automate what you want. An ugly solution is to
> specify the column breaks yourself, something like
>
> \unprotect
> \def\dosetuplinenumbering[#1]%
>    {\getparameters[\??rn][\c!start=1,\c!step=1,#1]%
> %    \global\linenumber\plusone
> %    Do not reset linenumber. Why is this here?
>    }
> \protect
>
>
> \starttext
> \startcolumns
> \setuplinenumbering[location=inleft]
>    \startlinenumbering
>      \input knuth
>    \stoplinenumbering
>    \column
>    \setuplinenumbering[location=inright]
>    \startlinenumbering[continue]
>      \input knuth
>    \stoplinenumbering
> \stopcolumns
> \stoptext
>

proof of concept:

\newcounter\TestNumber

\let\normaldodoplacelinenumber\dodoplacelinenumber

\def\dodoplacelinenumber
{\doglobal\increment\TestNumber
\xypos{lnm:\TestNumber}%
\ifdim\MPx{lnm:\TestNumber}>.5\makeupwidth
\swapmacros\inleftmargin\inrightmargin
\fi
\normaldodoplacelinenumber}

\setuplinenumbering[location=inleft]

\startcolumns
\startlinenumbering
\input tufte \endgraf
\input tufte \endgraf
\input tufte \endgraf
\stoplinenumbering
\stopcolumns

\stoptext

in order to let this work ok (spacing) we need to write a nice patch (and also use the opportunity to clean up some code) which will take a couple of hours, so not today ..

Hans

-----------------------------------------------------------------