[NTG-context] define macros only visible in a definestartstop-block that have arguments?
Hi! I have trouble to define macros which are only visible inside a block defined using `\definestartstop`: ```tex \setuppapersize[A6] \definestartstop[Foo][before={Foo}] \definestartstop[Bar][before={\bgroup\define\Foo{Foo}},after={\egroup}] %\definestartstop[Baz][before={\bgroup\define[1]\Foo{Foo#1}},after={\egroup}] \starttext \startFoo Bar \stopFoo \startBar \Foo Bar \stopBar % \startBaz %\Foo{Bar} % \stopBaz \stoptext ``` The code as above works and typesets FooBar on two separate lines. But if I uncomment everything `Baz`-related, I end up with the following error: ```plain tex errorerror on line 4 in file C:/HIDDEN/mwe.tex: ! Illegal parameter number in definition of \m_syst_action_yes to be read again 1 argument ...{Baz}][{before={\bgroup \define [1]\Foo {Foo##1 }},after={\egroup }}] \doifnextoptionalelse ...ef \m_syst_action_yes {#1 }\def \m_syst_action_nop {... l.4 ...bgroup\define[1]\Foo{Foo#1}},after={\egroup}] 1 \setuppapersize[A6] 2 \definestartstop[Foo][before={Foo}] 3 \definestartstop[Bar][before={\bgroup\define\Foo{Foo}},after={\egroup}] 4 \definestartstop[Baz][before={\bgroup\define[1]\Foo{Foo#1}},after={\egroup}] 5 6 \starttext 7 \startFoo 8 Bar 9 \stopFoo 10 11 \startBar 12 \Foo Bar 13 \stopBar 14 ``` Can someone help me get this running? ___ 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 ___
Re: [NTG-context] define macros only visible in a definestartstop-block that have arguments?
OK, took me a while to figure out that this was not an empty response but an attachement was available ;) I did a quick test run and realized that it seems to do what I want, I'll take a further look into it tommorrow, thank you! 2015-03-20 17:23 GMT+01:00 Hans Hagen pra...@wxs.nl: On 3/20/2015 12:05 PM, Norbert Melzer wrote: Hi! I have trouble to define macros which are only visible inside a block defined using `\definestartstop`: ```tex \setuppapersize[A6] \definestartstop[Foo][before={Foo}] \definestartstop[Bar][before={\bgroup\define\Foo{Foo}},after={\egroup}] %\definestartstop[Baz][before={\bgroup\define[1]\Foo{Foo#1}} ,after={\egroup}] \starttext \startFoo Bar \stopFoo \startBar \Foo Bar \stopBar % \startBaz %\Foo{Bar} % \stopBaz \stoptext ``` The code as above works and typesets FooBar on two separate lines. But if I uncomment everything `Baz`-related, I end up with the following error: ```plain tex errorerror on line 4 in file C:/HIDDEN/mwe.tex: ! Illegal parameter number in definition of \m_syst_action_yes to be read again 1 argument ...{Baz}][{before={\bgroup \define [1]\Foo {Foo##1 }},after={\egroup }}] \doifnextoptionalelse ...ef \m_syst_action_yes {#1 }\def \m_syst_action_nop {... l.4 ...bgroup\define[1]\Foo{Foo#1}},after={\egroup}] 1 \setuppapersize[A6] 2 \definestartstop[Foo][before={Foo}] 3 \definestartstop[Bar][before={\bgroup\define\Foo{Foo}},after={\egroup}] 4 \definestartstop[Baz][before={\bgroup\define[1]\Foo{Foo#1}}, after={\egroup}] 5 6 \starttext 7 \startFoo 8 Bar 9 \stopFoo 10 11 \startBar 12 \Foo Bar 13 \stopBar 14 ``` Can someone help me get this running? ___ 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 ___ -- - 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 ___ ___ 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 ___
Re: [NTG-context] define macros only visible in a definestartstop-block that have arguments?
On 3/20/2015 12:05 PM, Norbert Melzer wrote: Hi! I have trouble to define macros which are only visible inside a block defined using `\definestartstop`: ```tex \setuppapersize[A6] \definestartstop[Foo][before={Foo}] \definestartstop[Bar][before={\bgroup\define\Foo{Foo}},after={\egroup}] %\definestartstop[Baz][before={\bgroup\define[1]\Foo{Foo#1}},after={\egroup}] \starttext \startFoo Bar \stopFoo \startBar \Foo Bar \stopBar % \startBaz %\Foo{Bar} % \stopBaz \stoptext ``` The code as above works and typesets FooBar on two separate lines. But if I uncomment everything `Baz`-related, I end up with the following error: ```plain tex errorerror on line 4 in file C:/HIDDEN/mwe.tex: ! Illegal parameter number in definition of \m_syst_action_yes to be read again 1 argument ...{Baz}][{before={\bgroup \define [1]\Foo {Foo##1 }},after={\egroup }}] \doifnextoptionalelse ...ef \m_syst_action_yes {#1 }\def \m_syst_action_nop {... l.4 ...bgroup\define[1]\Foo{Foo#1}},after={\egroup}] 1 \setuppapersize[A6] 2 \definestartstop[Foo][before={Foo}] 3 \definestartstop[Bar][before={\bgroup\define\Foo{Foo}},after={\egroup}] 4 \definestartstop[Baz][before={\bgroup\define[1]\Foo{Foo#1}},after={\egroup}] 5 6 \starttext 7 \startFoo 8 Bar 9 \stopFoo 10 11 \startBar 12 \Foo Bar 13 \stopBar 14 ``` Can someone help me get this running? ___ 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 ___ -- - 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 - setups-003.tex Description: TeX document ___ 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 ___