[NTG-context] still struggling with footnotes

Achim Jander achim at jander.de
Wed Jan 5 16:54:50 CET 2011


Am 03.01.2011 16:51, schrieb Achim Jander:
> Hi all,
> I am still trying to get the footnote numbers aligned in a special 
> way: flushright, but the width depends on the width of the max 
> footnote-number on page,
> so to get
> 1
> 2
> and
> ~9
> 10
>
> After reading the manuals and the source given in strc-not.lua thats 
> how far i am at the moment:
>
> \enabletrackers[structures.notes]
>
> \setupnote[footnote][numbercommand=, way=bypage]
> \setupnotedefinition[footnote][location=left,distance=1em,hang=4,headalign={flushright},width=1em] 
>
>
>
> \def\getmaxnote[#1]{\ctxlua{
>     local n = structures.notes.getn("#1",n)
>     local current = structures.notes.get("#1",n)
>     local cr = current.references
>     local result = cr.realpage
>
> -- calculate the width of cr.number and store in maxwidth
> -- loop through the notes until act.realpage <> cr.realpage
> -- and for each note calculate the width, compare with maxwidh and 
> store the max
> -- then set the width to the correct maxwidth
>
> -- context.setupnotedefinition({"footnote"}, {width=maxwidth})
>
> }
> }
>
> \appendtoks
>  \getmaxnote[footnote]
> \to\everybeforenoteinsert
>
> \showframe
>
>  \starttext
> \dorecurse {100} {
> test  \footnote{test }
> }
> \stoptext
>
> Now I can not figure out how to get the "real" footnote-number of the 
> note (is there any way?) And does this approach make sense at all?
> Any hints welcome, i tear my hair for hours now
>
> Greetings,
> Achim


Hi again,

now i found out how to get the footnote-number:

   local num = current.numberdata
   local test = num.numbers
   local num = tostring(test[1])

but i also found out, that my plan of iterating through the notes was 
indeed senseless, because at this stage the next footnote is not known. 
(i should have tested that first).
So my new plan is, to calculate the correct width in 
everybeforenoteinsert, and to compare it with the first one of the page.
My question now: is there any possibility to restart the page when i 
find that i need a greater width?
eg to invoke a command \justdoitagainsam??

Sorry that i make so much noise about such a silly footnote-thing, but 
all my books have many footnotes, and all the notes have to be 
typesetted like that (not my idea)
So without, i could hardly use ConTeXt anyway and that would be sad...

Greetings,
Achim


More information about the ntg-context mailing list