Dear Thomas, Luigi and Hans, my second sample might be related to the first one. But I’m not sure it is a bug. Here is the code: \setuppapersize[A8] \newcounter\MyCounter \def\CritApp#1#2{\increment\MyCounter% \startlinenote[Varia:\MyCounter]{#1] #2}#1% \prewordbreak\stoplinenote[Varia:\MyCounter]} \starttext \startlinenumbering \startlinenote[one]{hyphenated}this is a test on \startlinenote[two]{with nested linenote}hyphenation\prewordbreak\stoplinenote[two]\stoplinenote[one] \CritApp{this is a test on \CritApp{hyphenation}{nested linenote: bad line number}}{not hyphenated} \stoplinenumbering \stoptext A command such as \CritApp above is intended to generate all linenote references automagically. It works fine, but I cannot nest \CritApp linenotes. The problem is in within this line: \startlinenote[Varia:\MyCounter]{#1] #2}#1% If I replace "{#1] #2}#1" with {#2}#1, nesting \CritApp linenotes, everything works as expected. Is this a bug? Many thanks for your help, Pablo -- http://www.ousia.tk
On 11/18/2013 8:55 PM, Pablo Rodriguez wrote:
Dear Thomas, Luigi and Hans,
my second sample might be related to the first one. But I’m not sure it is a bug.
Here is the code:
\setuppapersize[A8] \newcounter\MyCounter \def\CritApp#1#2{\increment\MyCounter% \startlinenote[Varia:\MyCounter]{#1] #2}#1% \prewordbreak\stoplinenote[Varia:\MyCounter]}
\starttext \startlinenumbering \startlinenote[one]{hyphenated}this is a test on \startlinenote[two]{with nested linenote}hyphenation\prewordbreak\stoplinenote[two]\stoplinenote[one]
\CritApp{this is a test on \CritApp{hyphenation}{nested linenote: bad line number}}{not hyphenated} \stoplinenumbering \stoptext
A command such as \CritApp above is intended to generate all linenote references automagically.
It works fine, but I cannot nest \CritApp linenotes. The problem is in within this line:
\startlinenote[Varia:\MyCounter]{#1] #2}#1%
If I replace "{#1] #2}#1" with {#2}#1, nesting \CritApp linenotes, everything works as expected.
Is this a bug?
you need to separate cases: (1) some macro that uses grouping with nested notes (2) hyphenation here is an example of the first case \setuppapersize [A8][A7] \setuplayout [location=middle] \unexpanded\def\doCritApp#1#2#3% {\startlinenote[#1]{#2 #3}(#2)\stoplinenote[#1]} \newcounter\MyCounter \unexpanded\def\CritApp {\doglobal\increment\MyCounter \normalexpanded{\doCritApp{Varia:\MyCounter}}} % \setupnotes[linenote][split=verystrict,scope=page] \starttext \startlinenumbering \startlinenote[one]{note one} one one one one one one one one one one one one one one one \startlinenote[two]{note two} two two two two two two two \stoplinenote[two] one one one one one one one one one one one one one one one \stoplinenote[one] \par \CritApp {(one one one one one one) \CritApp {(two two)} {two two two two two two} (one one one one one one)} {one one one one one one} \stoplinenumbering \stoptext so, in your macro you need to make sure that the counter (1) gets incremented global and (2) gets expanded in time. Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On 11/18/2013 11:25 PM, Hans Hagen wrote:
[...] \unexpanded\def\doCritApp#1#2#3% {\startlinenote[#1]{#2 #3}(#2)\stoplinenote[#1]}
\newcounter\MyCounter \unexpanded\def\CritApp {\doglobal\increment\MyCounter \normalexpanded{\doCritApp{Varia:\MyCounter}}} [...] so, in your macro you need to make sure that the counter (1) gets incremented global and (2) gets expanded in time.
Many thanks for your help, Hans. I know that it works, but I cannot understand what it actually the above commands do. Where could I find what expansion is? (Sorry for the basic question, but I don’t know what it is.) Many thanks for your help again, Pablo -- http://www.ousia.tk
participants (2)
-
Hans Hagen
-
Pablo Rodriguez