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