Re: [NTG-context] define macros only visible in a definestartstop-block that have arguments?

2015-03-20 Thread Norbert Melzer
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 :

> 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
>> 
>> 1
>>  ...{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?

2015-03-20 Thread Hans Hagen

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

1
 ...{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
___

[NTG-context] define macros only visible in a definestartstop-block that have arguments?

2015-03-20 Thread Norbert Melzer
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





1

 ...{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
___