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
___________________________________________________________________________________

Reply via email to