2007/1/31, Hans Hagen <pragma@wxs.nl>:
Wolfgang Schuster wrote:
> On Tue, 30 Jan 2007 10:05:23 -0500 (EST)
> Aditya Mahajan <
adityam@umich.edu> wrote:
>
>
>> On Tue, 30 Jan 2007, Wolfgang Schuster wrote:
>>
>>
>>> On Mon, 29 Jan 2007 10:15:34 -0500 (EST)
>>> Aditya Mahajan <
adityam@umich.edu> wrote:
>>>
>>>
>>>> On Mon, 29 Jan 2007, Wolfgang Schuster wrote:
>>>>
>>>>
>>>>> Hi all,
>>>>>
>>>>>
>>>>> I have a module with a envrionment defined in the following way:
>>>>>
>>>>> \def\startFOO#1\stopFOO{...#1...}
>>>>>
>>>>>
>>>>> I try currently to write a command \defineFOO[MYFOO] that expands to my
>>>>> already created environment.
>>>>>
>>>>> \startMYFOO#1\stopMYFOO -> \startFOO#1\stopFOO
>>>>>
>>>>>
>>>>> I know it is possible to make this in the following way:
>>>>>
>>>>> \def\startMYFOO#1\stopMYFOO{\startFOO#1\stopFOO}
>>>>>
>>>>> but this not what I want.
>>>>>
>>>> Something like this
>>>>
>>>> \def\defineFOO[#1]%
>>>> {\setvalue{\c!start#1}{\startFOO}
>>>> \setvalue{\c!stop#1} {\stopFOO}}
>>>>
>>>>
>>> Hi Aditya,
>>>
>>>
>>> this can only be used if you define your environment in this way:
>>>
>>> \def\startFOO{...}
>>> \def\stopFoo{...}
>>>
>>>
>>> I defined my environment in this way:
>>>
>>> \def\startFOO#1\stopFOO{...}
>>>
>>> This means TeX reads everything from \startFOO till \stopFOO and looks
>>> afterwards at the replacement text.
>>>
>> I am not sure how something like that you work.
>>
>>
>>> I used tried the first way with saving the content into a buffer and
>>> using the buffer content.
>>>
>> If you want to write to a buffer and later use it, there are low level
>> macros to define your own buffer commands. Have a look at the R module
>> to see an example. Depending on your usage, you will have to keep
>> track of the buffer numbers on your own.
>>
>> Aditya
>>
>
> Hi Aditya,
>
> I tried to use a buffer but you cannot make something like this:
>
> \starttext
>
> \placefigure
> {}
> {\startbuffer{mybuffer}
> Floating text from a buffer
> \stopbuffer
> \getbuffer{mybuffer}}
>
> \stoptext
>
> with content saved in a buffer.
>
no, there is \setbuffer but in general (at least not in context mkii)
buffers are to be defined at the outer level
> It's not a real problem but I wanted to know if it is possible to
> define a environment in the way I wanted.
>
Hi Hans,
I looked into core-buf but this was not what I was looking for.
What I want is a command like this:
\def\defineFOO[#1]%
{\expandafter\def\csname start#1\endcsname##1\csname stop#1\endcsname%
{\startFOO##1\stopFOO}}
and after I wrote
\defineFOO[MYFOO]
I can use the next command
\startMYFOO...\stopMYFOO
Wolfgang