From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/20647 Path: news.gmane.org!not-for-mail From: Taco Hoekwater Newsgroups: gmane.comp.tex.context Subject: Re: \stopbuffer in macro Date: Thu, 02 Jun 2005 19:27:30 +0200 Message-ID: <429F4182.3080208@elvenkind.com> References: <429B8F23.40908@wxs.nl> Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable X-Trace: sea.gmane.org 1117733608 15168 80.91.229.2 (2 Jun 2005 17:33:28 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 2 Jun 2005 17:33:28 +0000 (UTC) Original-X-From: ntg-context-bounces@ntg.nl Thu Jun 02 19:33:18 2005 Return-path: Original-Received: from ronja.vet.uu.nl ([131.211.172.88] helo=ronja.ntg.nl) by ciao.gmane.org with esmtp (Exim 4.43) id 1DdtXs-0001Sz-54 for gctc-ntg-context-518@m.gmane.org; Thu, 02 Jun 2005 19:31:52 +0200 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 14AFB127E7; Thu, 2 Jun 2005 19:34:59 +0200 (CEST) Original-Received: from ronja.ntg.nl ([127.0.0.1]) by localhost (smtp.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 05205-01; Thu, 2 Jun 2005 19:34:58 +0200 (CEST) Original-Received: from ronja.vet.uu.nl (localhost.localdomain [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 70D87127E0; Thu, 2 Jun 2005 19:31:09 +0200 (CEST) Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 644E3127E0 for ; Thu, 2 Jun 2005 19:31:08 +0200 (CEST) Original-Received: from ronja.ntg.nl ([127.0.0.1]) by localhost (smtp.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 04877-06 for ; Thu, 2 Jun 2005 19:31:07 +0200 (CEST) Original-Received: from post-22.mail.nl.demon.net (post-22.mail.nl.demon.net [194.159.73.192]) by ronja.ntg.nl (Postfix) with ESMTP id 75162127CF for ; Thu, 2 Jun 2005 19:31:07 +0200 (CEST) Original-Received: from boo.demon.nl ([82.161.175.147]:44993 helo=[192.168.1.3]) by post-22.mail.nl.demon.net with esmtp (Exim 4.43) id 1DdtX7-0006wy-Dm for ntg-context@ntg.nl; Thu, 02 Jun 2005 17:31:07 +0000 User-Agent: Mozilla Thunderbird 1.0 (X11/20050215) X-Accept-Language: en-us, en Original-To: ntg-context@ntg.nl In-Reply-To: X-Virus-Scanned: amavisd-new at ntg.nl X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.5 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: ntg-context-bounces@ntg.nl Errors-To: ntg-context-bounces@ntg.nl X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on smtp.ntg.nl X-Virus-Scanned: amavisd-new at ntg.nl Xref: news.gmane.org gmane.comp.tex.context:20647 X-Report-Spam: http://spam.gmane.org/gmane.comp.tex.context:20647 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=FCnster wrote: > On Tue, 31 May 2005, Hans Hagen wrote: >=20 >=20 >>\definebuffer[crap] >> >>\setupbuffer[crap][before=3D\blank\bgroup here we start,after=3Dand her= e we=20 >>end\egroup\blank] >=20 >=20 > [...] >=20 > Hello Hans and Taco, > thank you for your hints, but I think, I did not explain my question we= ll > enough... > I fact, all I need is to know, how I could write some verbatim text bet= ween > 2 commands (\startXXX...\stopXXX) into a file, but with my own macros. > Here an example in detail: >=20 > \newcount\LSTnum > \newwrite\LSTfile > \def\LSTfileprefix{\jobname-LST\LSTnum} >=20 > \def\startLST[#1]#2\stopLST{% > \immediate\openout\LSTfile=3D\LSTfileprefix.tmp > \immediate\write\LSTfile{#2}% Here I seek a solution for verbatim te= xt! > \immediate\closeout\LSTfile > \immediate\write18{createListing.sh \LSTfileprefix #1}% #1 is for \ls= tset > \externalfigure[\LSTfileprefix] > \advance\LSTnum by 1 > } >=20 > and then, the user types only: >=20 > \startLST[language=3DC] > main() > { > return 0; > } > \stopLST >=20 > It's already possible to do this with some further macros (\finishLST a= fter > \stopLST for example), but I prefer only one \start/\stop pair. >=20 > Greetings, Peter >=20