From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/67153 Path: news.gmane.org!not-for-mail From: Aditya Mahajan Newsgroups: gmane.comp.tex.context Subject: Re: Macro for acronyms Date: Fri, 18 Mar 2011 23:08:33 -0400 (EDT) Message-ID: References: Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1300504145 14805 80.91.229.12 (19 Mar 2011 03:09:05 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 19 Mar 2011 03:09:05 +0000 (UTC) To: mailing list for ConTeXt users Original-X-From: ntg-context-bounces@ntg.nl Sat Mar 19 04:09:01 2011 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.69) (envelope-from ) id 1Q0mXE-00009Y-BI for gctc-ntg-context-518@m.gmane.org; Sat, 19 Mar 2011 04:09:00 +0100 Original-Received: from localhost (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 5F01BCAAD7; Sat, 19 Mar 2011 04:08:54 +0100 (CET) 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 ZctOLKfTdSrJ; Sat, 19 Mar 2011 04:08:54 +0100 (CET) Original-Received: from balder.ntg.nl (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 3E56ACAAF6; Sat, 19 Mar 2011 04:08:51 +0100 (CET) Original-Received: from localhost (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id A0731CAAF6 for ; Sat, 19 Mar 2011 04:08:48 +0100 (CET) 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 noN1+1i-Urkd for ; Sat, 19 Mar 2011 04:08:45 +0100 (CET) Original-Received: from filter1-ams.mf.surf.net (filter1-ams.mf.surf.net [192.87.102.69]) by balder.ntg.nl (Postfix) with ESMTP id D02CBCAAD7 for ; Sat, 19 Mar 2011 04:08:45 +0100 (CET) Original-Received: from hackers.mr.itd.umich.edu (smtp.mail.umich.edu [141.211.14.81]) by filter1-ams.mf.surf.net (8.14.3/8.14.3/Debian-5+lenny1) with ESMTP id p2J38mBJ009621 for ; Sat, 19 Mar 2011 04:08:49 +0100 Original-Received: FROM adi-netbook (bas3-montreal02-1096682363.dsl.bell.ca [65.94.11.123]) By hackers.mr.itd.umich.edu ID 4D841E3E.D6F19.9389 ; Authuser adityam; 18 Mar 2011 23:08:46 EDT In-Reply-To: User-Agent: Alpine 2.01 (LNX 1266 2009-07-14) X-Bayes-Prob: 0.0001 (Score 0, tokens from: @@RPTN) X-CanIt-Geo: ip=141.211.14.81; country=US; region=MI; city=Ann Arbor; postalcode=48109; latitude=42.2923; longitude=-83.7145; metrocode=505; areacode=734; http://maps.google.com/maps?q=42.2923,-83.7145&z=6 X-CanItPRO-Stream: uu:ntg-context@ntg.nl (inherits from uu:default, base:default) X-Canit-Stats-ID: 06EkP8MWb - db7ae9acf034 - 20110319 X-Scanned-By: CanIt (www . roaringpenguin . com) on 192.87.102.69 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:67153 Archived-At: On Sat, 19 Mar 2011, Cecil Westerhof wrote: > At the moment I have I my document: > {\switchtobodyfont[1.25em]\bf M}ust > > {\switchtobodyfont[1.25em]\bf S}hould > > {\switchtobodyfont[1.25em]\bf C}ould > > {\switchtobodyfont[1.25em]\bf N}ot now > > But I like to have a macro for this, so I could just do: > \Acronym{Must Should Could Not~now} > > Is more readable and when I want a change (for example another color for the > first letter), this is much easier to implement. How should I implement such > a macro? Use recursion! \definestartstop [FancyFirstLetter] [style={\switchtobodyfont[big]\bf}, color=red] \def\FancyUppercase#1% {\dostartFancyUppercase#1\dostopFancyUppercase} \def\dostartFancyUppercase#1#2\dostopFancyUppercase {\FancyFirstLetter{#1}#2} \def\Acronym#1% {\dostartAcronym#1 \dostopAcronym} \def\dostartAcronym#1 #2\dostopAcronym {\doifsomething{#1} {\FancyUppercase{#1} %space \dostartAcronym#2 \dostopAcronym}} \starttext \loggingall \Acronym{Must Should Could Not~now} \stoptext Aditya ___________________________________________________________________________________ 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 : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________