* define macros only visible in a definestartstop-block that have arguments?
@ 2015-03-20 11:05 Norbert Melzer
2015-03-20 16:23 ` Hans Hagen
0 siblings, 1 reply; 3+ messages in thread
From: Norbert Melzer @ 2015-03-20 11:05 UTC (permalink / raw)
To: ntg-context
[-- Attachment #1.1: Type: text/plain, Size: 1517 bytes --]
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 error > error 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?
[-- Attachment #1.2: Type: text/html, Size: 5332 bytes --]
[-- Attachment #2: Type: text/plain, Size: 485 bytes --]
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: define macros only visible in a definestartstop-block that have arguments?
2015-03-20 11:05 define macros only visible in a definestartstop-block that have arguments? Norbert Melzer
@ 2015-03-20 16:23 ` Hans Hagen
2015-03-20 22:57 ` Norbert Melzer
0 siblings, 1 reply; 3+ messages in thread
From: Hans Hagen @ 2015-03-20 16:23 UTC (permalink / raw)
To: ntg-context
[-- Attachment #1: Type: text/plain, Size: 2577 bytes --]
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 error > error 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
-----------------------------------------------------------------
[-- Attachment #2: setups-003.tex --]
[-- Type: application/x-tex, Size: 771 bytes --]
[-- Attachment #3: Type: text/plain, Size: 485 bytes --]
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: define macros only visible in a definestartstop-block that have arguments?
2015-03-20 16:23 ` Hans Hagen
@ 2015-03-20 22:57 ` Norbert Melzer
0 siblings, 0 replies; 3+ messages in thread
From: Norbert Melzer @ 2015-03-20 22:57 UTC (permalink / raw)
To: mailing list for ConTeXt users
[-- Attachment #1.1: Type: text/plain, Size: 3491 bytes --]
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 <pragma@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 error > error 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
>
> ___________________________________________________________________________________
>
[-- Attachment #1.2: Type: text/html, Size: 5646 bytes --]
[-- Attachment #2: Type: text/plain, Size: 485 bytes --]
___________________________________________________________________________________
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
___________________________________________________________________________________
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-03-20 22:57 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-20 11:05 define macros only visible in a definestartstop-block that have arguments? Norbert Melzer
2015-03-20 16:23 ` Hans Hagen
2015-03-20 22:57 ` Norbert Melzer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).