From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/53252 Path: news.gmane.org!not-for-mail From: Wolfgang Schuster Newsgroups: gmane.comp.tex.context Subject: startnarrower Date: Sat, 3 Oct 2009 18:08:22 +0200 Message-ID: <6A909F6F-77A9-4826-9A66-E5A09E521C9E@googlemail.com> Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (Apple Message framework v1076) Content-Type: text/plain; charset="us-ascii"; Format="flowed"; DelSp="yes" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1254586122 11470 80.91.229.12 (3 Oct 2009 16:08:42 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 3 Oct 2009 16:08:42 +0000 (UTC) To: mailing list for ConTeXt users Original-X-From: ntg-context-bounces@ntg.nl Sat Oct 03 18:08:35 2009 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane.org Original-Received: from balder.ntg.nl ([195.12.62.10]) by lo.gmane.org with esmtp (Exim 4.50) id 1Mu79v-0007ms-0q for gctc-ntg-context-518@m.gmane.org; Sat, 03 Oct 2009 18:08:35 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 06231C9B21; Sat, 3 Oct 2009 18:08:34 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at balder.ntg.nl Original-Received: from balder.ntg.nl ([127.0.0.1]) by localhost (balder.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id EF1uw5jThHec; Sat, 3 Oct 2009 18:08:31 +0200 (CEST) Original-Received: from balder.ntg.nl (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 45BBDC9B07; Sat, 3 Oct 2009 18:08:30 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 0D60CC9B0D for ; Sat, 3 Oct 2009 18:08:27 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at balder.ntg.nl Original-Received: from balder.ntg.nl ([127.0.0.1]) by localhost (balder.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id M04-g6hcxYUo for ; Sat, 3 Oct 2009 18:08:23 +0200 (CEST) Original-Received: from mail-fx0-f214.google.com (mail-fx0-f214.google.com [209.85.220.214]) by balder.ntg.nl (Postfix) with ESMTP id A70A3C9B07 for ; Sat, 3 Oct 2009 18:08:23 +0200 (CEST) Original-Received: by fxm10 with SMTP id 10so1861852fxm.8 for ; Sat, 03 Oct 2009 09:08:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:received:received:from:content-type :content-transfer-encoding:subject:date:message-id:to:mime-version :x-mailer; bh=hQ1l3gwULmOslIhTOUDaiHYWWCAhF7aGVmS9XbXqwSM=; b=xPTi+3voyNvPmlkI5RalvOP/5monjoeA0nV0TZUnVyi/Lk+Qum/5BXWC+JgBQ07qdJ HllSUryD3A/AgoYVityAWeC0gaRnCFayYWmu95o93aE6XLjn9Gsr37AYR9iHvPFe9JYl 1Va1b07vXRZQBCGQXUn2YIBAvddl55MbqhMFM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=from:content-type:content-transfer-encoding:subject:date:message-id :to:mime-version:x-mailer; b=Q7UH0cxu9y4fSSns4qZQM1T5JaPGjxFbd6yCPfay2XbgpE3Ucr4bk5cwv9yf2OXz7W 2aFBmDgUvUUS5gVxD+Nfcjcs0jF85qVk+PmtFxlXBnxYVEjQ1uyb0ZCTbQTUZz4UFERL VKyuXGBLmhYtKYy5wX6qwWedU6MSvR/HssoC0= Original-Received: by 10.86.159.37 with SMTP id h37mr3462221fge.79.1254586103411; Sat, 03 Oct 2009 09:08:23 -0700 (PDT) Original-Received: from ?192.168.2.23? (p54955319.dip.t-dialin.net [84.149.83.25]) by mx.google.com with ESMTPS id 3sm2429104fge.17.2009.10.03.09.08.22 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sat, 03 Oct 2009 09:08:22 -0700 (PDT) X-Mailer: Apple Mail (2.1076) X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.12 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 Xref: news.gmane.org gmane.comp.tex.context:53252 Archived-At: Hi Hans, here is a new attempt to get a more generalized version of the startnarrower macros, now mkiv only. Wolfgang \unprotect \def\narrowerparameter #1{\csname\donarrowerparameter{\??sl \@@narrower}#1\endcsname} \def\donarrowerparameter #1#2{\ifcsname#1#2\endcsname#1#2\else \expandafter\donarrowerparentparameter\csname#1\s!parent\endcsname#2\fi} \def\donarrowerparentparameter#1#2{\ifx#1\relax\s!empty\else \donarrowerparameter#1#2\fi} \getparameters [\??sl] [\c!before=\endgraf, \c!after=\endgraf, \c!left=1.5em, \c!right=1.5em, \c!middle=1.5em] \def\definenarrower {\dodoubleempty\dodefinenarrower} \def\dodefinenarrower[#1][#2]% {\getparameters[\??sl#1][\s!parent=\??sl,#2]% \setvalue{\e!start#1}{\dodoubleempty\dostartnarrower[#1]}% \setvalue{\e!stop #1}{\dostopnarrower}} \def\setupnarrower {\dodoubleempty\dosetupnarrower} \def\dosetupnarrower[#1][#2]% {\doifelsenothing{#2} {\getparameters[\??sl][#1]} {\def\docommand##1{\getparameters[\??sl##1][#2]}% \processcommacommand[#1]\docommand}} \definenarrowermethod[\v!left ]{\global\advance\ctxleftskip \narrowerparameter\c!left \relax} \definenarrowermethod[\v!middle ]{\global\advance\ctxmidskip \narrowerparameter\c!middle\relax} \definenarrowermethod[\v!right ]{\global\advance\ctxrightskip \narrowerparameter\c!right \relax} \definenarrowermethod[-\v!left ]{\global\advance\ctxleftskip - \narrowerparameter\c!left \relax} \definenarrowermethod[-\v!middle]{\global\advance\ctxmidskip - \narrowerparameter\c!middle\relax} \definenarrowermethod[-\v!right ]{\global\advance\ctxrightskip- \narrowerparameter\c!right \relax} \definenarrowermethod[\v!reset ]{\global\ctxleftskip \zeropoint \global\ctxmidskip \zeropoint \global\ctxrightskip\zeropoint\relax} \definenarrowermethod[\v!none ]{} \def\dostartnarrower[#1][#2]% {\bgroup \ifsecondargument % \doifsomethingelse{#2}? \dodostartnarrower[#1][#2]% \else \dodostartnarrower[#1][\v!middle]% \fi} \def\dodostartnarrower[#1][#2]% {\edef\@@narrower{#1}% \narrowerparameter\c!before \global\ctxleftskip \zeropoint \global\ctxrightskip\zeropoint \global\ctxmidskip \zeropoint \processcommalistwithparameters[#2]\donarrower \advance\leftskip \dimexpr\ctxleftskip +\ctxmidskip\relax \advance\rightskip\dimexpr\ctxrightskip+\ctxmidskip\relax \seteffectivehsize} \def\dostopnarrower {\narrowerparameter\c!after \egroup} \def\v!narrower{narrower} \definenarrower[\v!narrower] \protect \definenarrower[wide] [before={\blank[2*line]},after={\blank [2*line]},middle=0.5em] \definenarrower[narrow][before={\blank[4*line]},after={\blank [4*line]},middle=4.0em] \starttext \input ward \startnarrower \input ward\endgraf \stopnarrower \input ward \startnarrow \input ward\endgraf \stopnarrow \input ward \startwide \input ward\endgraf \stopwide \input ward \stoptext ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________