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. Wolfgang
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}} Aditya
On Mon, 29 Jan 2007 10:15:34 -0500 (EST)
Aditya Mahajan
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 used tried the first way with saving the content into a buffer and using the buffer content. This did no longer work when you try to write: \placefloat {\startFOO ... \stopFOO} or \starcombination[...] {\startFOO ... \stopFOO} {} ... \stopcombination Wolfgang
On Tue, 30 Jan 2007, Wolfgang Schuster wrote:
On Mon, 29 Jan 2007 10:15:34 -0500 (EST) Aditya Mahajan
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
On Tue, 30 Jan 2007 10:05:23 -0500 (EST)
Aditya Mahajan
On Tue, 30 Jan 2007, Wolfgang Schuster wrote:
On Mon, 29 Jan 2007 10:15:34 -0500 (EST) Aditya Mahajan
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. It's not a real problem but I wanted to know if it is possible to define a environment in the way I wanted. Wolfgang
Wolfgang Schuster wrote:
On Tue, 30 Jan 2007 10:05:23 -0500 (EST) Aditya Mahajan
wrote: On Tue, 30 Jan 2007, Wolfgang Schuster wrote:
On Mon, 29 Jan 2007 10:15:34 -0500 (EST) Aditya Mahajan
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.
-- ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
2007/1/31, Hans Hagen
Wolfgang Schuster wrote:
On Tue, 30 Jan 2007 10:05:23 -0500 (EST) Aditya Mahajan
wrote: On Tue, 30 Jan 2007, Wolfgang Schuster wrote:
On Mon, 29 Jan 2007 10:15:34 -0500 (EST) Aditya Mahajan
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
2007/1/31, Wolfgang Schuster
2007/1/31, Hans Hagen
: 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
Hi all, I found now a solution for my problem. Thanks for all messages. Wolfgang
participants (3)
-
Aditya Mahajan
-
Hans Hagen
-
Wolfgang Schuster