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
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
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.steenvoorden@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.steenvoorden@cs.ru.nl