Re: [NTG-context] \stopbuffer in macro

2005-06-02 Thread Peter Münster
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

-- 
http://pmrb.free.fr/contact/
___
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context


Re: [NTG-context] \stopbuffer in macro

2005-06-02 Thread Taco Hoekwater


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



___
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context


Re: [NTG-context] \stopbuffer in macro

2005-06-02 Thread Hans Hagen

I once made the option

  \usememorybuffers

but i'm not sure if it does the same



Taco Hoekwater wrote:


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



___
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context






--

-
  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
-

___
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context


Re: [NTG-context] \stopbuffer in macro

2005-05-30 Thread Hans Hagen

Peter Münster wrote:

Hello,

how could I build some macros, that make usage of \startbuffer and
\stopbuffer?
Example:
\def\startXXX[#1]{\doSomeMagicSetups{#1}%
  \startbuffer[...]}
\def\stopXXX{\stopbuffer
  \doSomeSpecialWorkHere}
And then:
\startXXX[some options]
some text
\stopXXX



\definebuffer[crap]

\setupbuffer[crap][before=\blank\bgroup here we start,after=and here we 
end\egroup\blank]


\starttext

\input tufte

\startcrap
oeps oeps oeps oeps oesp
oeps oeps oeps oeps oesp
oeps oeps oeps oeps oesp
oeps oeps oeps oeps oesp
\stopcrap

\input tufte

\getcrap

\input tufte

\stoptext


wikiable

Hans

-
  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
-

___
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context