This should help: \def\startLST[#1]% {\def\stopLST{End of #1}% \dostartbuffer[LST][startLST][stopLST]} This is almost the same as: \definebuffer[LST] \def\stopLST{End of LST} Except that it is a little bit more low-level and thereby allows an argument to \startLST. Using a local definition if \stopLST is another trick, to lift the argument to the end of the buffer. A less sophisticated but clearer approach is: \def\startLST[#1]% {\def\LSTArgs{#1}% \dostartbuffer[LST][startLST][stopLST]} \def\stopLST{End of \LSTArgs} Full example: \def\startLST[#1]% {\def\stopLST{End of #1}% \dostartbuffer[LST][startLST][stopLST]} \starttext \startLST[whatever] bla bla \stopLST alb alb \stoptext You'll have to fill in the commands etc. yourself of course. Greetings, Taco Peter Münster wrote:
On Tue, 31 May 2005, Hans Hagen wrote:
\definebuffer[crap]
\setupbuffer[crap][before=\blank\bgroup here we start,after=and here we end\egroup\blank]
[...]
Hello Hans and Taco, thank you for your hints, but I think, I did not explain my question well enough... I fact, all I need is to know, how I could write some verbatim text between 2 commands (\startXXX...\stopXXX) into a file, but with my own macros. Here an example in detail:
\newcount\LSTnum \newwrite\LSTfile \def\LSTfileprefix{\jobname-LST\LSTnum}
\def\startLST[#1]#2\stopLST{% \immediate\openout\LSTfile=\LSTfileprefix.tmp \immediate\write\LSTfile{#2}% Here I seek a solution for verbatim text! \immediate\closeout\LSTfile \immediate\write18{createListing.sh \LSTfileprefix #1}% #1 is for \lstset \externalfigure[\LSTfileprefix] \advance\LSTnum by 1 }
and then, the user types only:
\startLST[language=C] main() { return 0; } \stopLST
It's already possible to do this with some further macros (\finishLST after \stopLST for example), but I prefer only one \start/\stop pair.
Greetings, Peter