On 01/10/2015 02:01 PM, Hans Hagen wrote:
On 1/9/2015 1:24 PM, Pablo Rodriguez wrote:
[...] Footnotes that end with \par have wrong space with next footnote.
I don’t know whether this is intended. How could I avoid that in XML?
well, more unexpected .. messing with the depth is always tricky
Many thanks for your code, Hans. I’m afraid I cannot get it working: \setupbodyfont[40pt] \startbuffer[demo] <doc> <p>text<a href="#fn1" class="footnoteRef" id="fnref1"><sup>1</sup></a> with<a href="#fn2" class="footnoteRef" id="fnref2"><sup>2</sup></a> footnotes<a href="#fn3" class="footnoteRef" id="fnref3"><sup>3</sup></a></p> <div class="footnotes"> <hr/> <ol> <li id="fn1"><p>footnote one</p><p>In two paragraphs<a href="#fnref1">↩</a></p></li> <li id="fn2"><p>footnote two</p>In two paragraphs<a href="#fnref2">↩</a></li> <li id="fn3"><p>footnote three</p><p>In two paragraphs<a href="#fnref3">↩</a></p></li> </ol> </div> </doc> \stopbuffer \starttext \usemodule[html] \xmlregistersetup{xml:html:basics} \xmlregistersetup{xml:html:tables} \startxmlsetups xml:initialize \xmlsetsetup{#1}{a[@class='footnoteRef']}{xml:footnote:ref} \xmlsetsetup{#1}{div[@class='footnotes']}{} \stopxmlsetups \xmlregistersetup{xml:initialize} \startxmlsetups xml:doc \xmlflush{#1} \stopxmlsetups \startxmlsetups xml:footnote:set \startfootnote \xmlflush{#1} \stopfootnote \stopxmlsetups \startluacode local gsub = string.gsub function xml.expressions.idstring(str) return type(str) == "string" and gsub(str,"^#","") or "" end \stopluacode \startxmlsetups xml:footnote:ref \xmlfilter{main}{div[@class='footnotes']/ol/li[@id=idstring('\xmlatt{#1}{href}')]/command(xml:footnote:set)} \stopxmlsetups \xmlprocessbuffer{main}{demo}{} \unexpanded\def\handlenoteitself#tag#id% {\edef\currentnotenumber{#id}% \edef\currentnote{#tag}% \strc_constructions_initialize{#tag}% \strc_notes_synchronize \edef\currentconstructionlistentry{\ctxcommand{notelistindex("\currentnote",#id)}}% \reinstateconstructionnumberentry\currentconstructionlistentry \dontcomplain \strc_notes_interaction_check_display \strc_notes_set_reference_attribute_text \strc_constructions_stored_start \begstrut \strc_references_flush_destination_nodes \strc_notes_set_destination_attribute_text \strc_notes_inject_text \ifvmode\obeydepth\else\endstrut\fi % \obeydepth new 2015-01-10 \strc_constructions_stored_stop} \stoptext Sorry, but this is all Greek to me. What am I doing wrong here? Many thanks for your help, Pablo -- http://www.ousia.tk