Thanks Otared! Works like a charm! Out of curiosity, could you explain the mechanics behind this? I know it is a commonly used trick in TeX macro definitions, but I don’t know how it changes TeX’s understanding of the tokes it parses.
Cheers, Tim Op vr 9 feb. 2018 om 20:50 schreef Otared Kavian <ota...@gmail.com>: > Hi Tim, > > Welcome back to ConTeXt! > When one defines a command, in particular when using the brackets […], it > is wise to put a percent sign at the end of the line if one changes the > line on which the macro is defined. > In your case, saying > > \definemacro\see[#1:#2]% > {\dosee{#1}{#2}} > > suppresses the problem you are reporting (at least here on my machine > running MacOS 10.13.3 and the latest beta as yours). > > Best regards: OK > > On 9 Feb 2018, at 19:03, Tim Steenvoorden <tim.steenvoor...@gmail.com> > wrote: > > Dear all, > > After some time I’m back to ConTeXt and I dug up some old macros. I used > to define a \see macro to automatically insert labels like “chapter”, > "figure" etc. in front of a reference based on the structure of the label. > Below you'll find its definition. > > It worked in MKIV about two years ago, nevertheless, now ConTeXt hangs > when placing punctuation after the command. I.e. TeX hangs with an > emergency stop (“*" on the terminal) after all files have been processed > (after cont-yes.mkiv is closed). > > What am I doing wrong that such a thing happens? > > I’m on macOS 10.13.3 with minimals beta 2018.02.09 00:04. > > Cheers, > Tim > > > –––––– > > \starttext > > \definemacro\see[#1:#2] > {\dosee{#1}{#2}} > > \starttexdefinition dosee #1#2 > \doifdefinedelse{in#1} > {\getvalue{in#1}[#1:#2]} > {\writestatus{references}{reference format in#1 not defined} > \in[#1:#2]} > \stoptexdefinition % #3 is optional and gobbled by \in > > \definereferenceformat[inchp] > [text=\word{\labeltext{chapter}}] > > \setuplabeltext[en] > [chapter=Chapter~] > > \chapter[chp:first]{First} > > Works: > \see[chp:first] > > Hangs: > \see[chp:first], > > \stoptext > > –––––– > -- > ---- > T.J. Steenvoorden, MSc > > PhD Candidate | Radboud University Nijmegen > Faculty of Science | Department of Software Science > Mercator 1 Building | Room 01.08 > Toernooiveld 212 | 6525 EC | Nijmegen | The Netherlands > +31 24 365 22 91 | t.steenvoor...@cs.ru.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://context.aanhet.net > archive : https://bitbucket.org/phg/context-mirror/commits/ > wiki : http://contextgarden.net > > ___________________________________________________________________________________ > > > > ___________________________________________________________________________________ > 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://context.aanhet.net > archive : https://bitbucket.org/phg/context-mirror/commits/ > wiki : http://contextgarden.net > > ___________________________________________________________________________________ -- ---- T.J. Steenvoorden, MSc PhD Candidate | Radboud University Nijmegen Faculty of Science | Department of Software Science Mercator 1 Building | Room 01.08 Toernooiveld 212 | 6525 EC | Nijmegen | The Netherlands +31 24 365 22 91 | t.steenvoor...@cs.ru.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://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________