ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* 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).