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
-----------------------------------------------------------------
___________________________________________________________________________________
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