On Dec 14, 2010, at 9:33 PM, Jon Crump wrote:

> All,
> 
> Thanks to Thomas's help, I've been making my way up the learning curve.
> 
> My TEI xml has empty lb elements indicating lines in the original and
> corresponding lb elements in the translation. I'd like to be able to
> set these numbers in the margin so that readers may coordinate the
> lineation. So far I have this:
> 
> \startxmlsetups xml:lb
>       \lineNumbers{\xmlatt{#1}{n}}
>       \xmlflush{#1}
> \stopxmlsetups
> 
> \defineinmargin [lineNumbers] [outer] [normal]
> 
> which works, but I'd like to be able to set only every fifth or tenth
> line number. Is there a way to perform some arithmetic on the value of
> the n attribute and then execute \lineNumbers accordingly?
> 
> for example:
> 
> if n%5 == 0 then \lineNumbers else ignore <lb>
> 
> Thanks,
> Jon

This is easy with a lua function. Since you know python, I guess the following 
example will be easy for you:

\startluacode
  function filter(s)
    if math.mod(s,5) == 0 then
      context.color( { "darkred" }, s )
    else
      context.color( { "darkblue" }, s )
    end
  end
\stopluacode

\define[1]\MyNumber%
  {\ctxlua{filter(#1)}\endgraf}

\starttext

\dorecurse{25}{\MyNumber{\recurselevel}}

\stoptext

This should get you going, I hope

Good luck

Thomas
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to