Received: from mx0.gmx.net (mx0.gmx.net [213.165.64.100]) by h1439878.stratoserver.net (8.14.2/8.14.2/Debian-2build1) with SMTP id p06Hde22007845 for ; Thu, 6 Jan 2011 18:39:41 +0100 Received: (qmail 30553 invoked by alias); 6 Jan 2011 17:39:35 -0000 Delivered-To: GMX delivery to rainer.schoepf@gmx.net Received: (qmail invoked by alias); 06 Jan 2011 17:39:34 -0000 Received: from relay2.uni-heidelberg.de (EHLO relay2.uni-heidelberg.de) [129.206.210.211] by mx0.gmx.net (mx114) with SMTP; 06 Jan 2011 18:39:34 +0100 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id p06HbpY4029132 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 6 Jan 2011 18:37:51 +0100 Received: from listserv.uni-heidelberg.de (localhost.localdomain [127.0.0.1]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id p06FGB3S001194; Thu, 6 Jan 2011 18:37:50 +0100 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 806515 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Thu, 6 Jan 2011 18:37:50 +0100 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id p06HboYT019396 for ; Thu, 6 Jan 2011 18:37:50 +0100 Received: from web82001.mail.mud.yahoo.com (web82001.mail.mud.yahoo.com [66.163.178.245]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with SMTP id p06Hba3W021339 for ; Thu, 6 Jan 2011 18:37:37 +0100 Received: (qmail 70208 invoked by uid 60001); 6 Jan 2011 17:37:35 -0000 X-YMail-OSG: PfAqpb8VM1lr.i7qlKXsYSmi0POS.gQd99rhhK37OTwRTok W8nyS8HeX9GWqaKW9l4SupM2wSrXf75F97yiQ3nfdoWVINFmMSP56NDw30Sy LdVXOf0qurTXJ1bvRi1GNgkNZe0ZuKFzh.sZf_LjWQ7WrLrd3J.q.7.mJEEL HLYeLOolyXAAYGUpuz00IcyX6yQ6pxU2VkX2yTF5QB8ah8iWglR2xf._wNPj TuXXAoot7MfmY2BAz0ugqQouuXkFL9lzYWr6pIURiV2BNMfgUovvV9huYQGh ut9XUV.pt5_W5hYIjQS.fNOBiu3guTAvBK_2KfH_H0Tq9xnDRkGSrfNI0GPP g.4wYbSwIVZY47z8U8kyV6s4j.O6ymWgoGHskWQM4LkPtvRee Received: from [206.208.223.1] by web82001.mail.mud.yahoo.com via HTTP; Thu, 06 Jan 2011 09:37:35 PST X-Mailer: YahooMailRC/553 YahooMailWebService/0.8.107.285259 References: <1713005794.1189899.1293724895711.JavaMail.fmail@mwmweb012> <19749.63653.743551.563511@morse.mittelbach-online.de> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="0-1937116341-1294335455=:60246" Message-ID: <743624.60246.qm@web82001.mail.mud.yahoo.com> Date: Thu, 6 Jan 2011 09:37:35 -0800 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Paul Thompson Subject: Re: variable opt arg delimiters [was: Defining a ...] To: LATEX-L@listserv.uni-heidelberg.de In-Reply-To: <19749.63653.743551.563511@morse.mittelbach-online.de> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-GMX-Antispam: 0 (Mail was not recognized as spam); Detail=5D7Q89H36p6i75npGen84eVAEFK/syJmiNoEBJhgjYKpglu1TZLLw7xMZnJMXwBFy+Sxe D/AUQGQOurK3ezVJqUBFH0uN5pjmWoMfpyHp518poSICCBQ3WUApI1qcKE/hAo0KDMd7Kye5Yu0/ AMi7A==V1; X-Resent-By: Forwarder X-Resent-For: rainer.schoepf@gmx.net X-Resent-To: rainer@rainer-schoepf.de Status: R X-Status: X-Keywords: X-UID: 6540 --0-1937116341-1294335455=:60246 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable The optional argument thing could be better handled by using named argument= s. =0ASo, for \parbox, which has optional and mandatory arguments, we curr= ently have =0A=0A=0A\parbox[pos][height][inner-pos]{width}{text}=0A=0AThis = is mindlessly confusing in many cases. Why not have =0A=0A\parbox{pos=3Dt,= height=3Dsomething,innerpos=3Dt,width=3Dsomething}{text}=0A=0A =0AThe use o= f named arguments is vastly superior to positional arguments, =0Aespecially= when optional arguments can be specified. =0A=0ADon't even get me started= on \newcommand.=0A=0APaul Thompson=0A=0A=0A=0A____________________________= ____=0AFrom: Frank Mittelbach =0ATo: LA= TEX-L@LISTSERV.UNI-HEIDELBERG.DE=0ASent: Thu, January 6, 2011 11:15:17 AM= =0ASubject: Re: variable opt arg delimiters [was: Defining a ...]=0A=0AUwe = Lueck writes:=0A> I wrote:=0A> > A better proposal than using different cat= egory codes is =0A> > programming macros with optional arguments obeying = =0A> > a convention that makes a choice of delimiters available to users. = =0A> > Any macro package replacing \@ifnextchar[ by some =0A> > \ifx\let@to= ken\opt@arg@delim could be run this way. =0A> > =0A> > If no LaTeXY will ad= opt this, I will call it L=FCTeX :-)=0A> =0A> I had thought of posting such= a "feature request" earlier, =0A> refrained from it for not having found a= good idea how =0A> to implement it. If I now found it so simple, I must ha= ve =0A> overlooked a problem ...=0A> =0A> [...]=0A> =0A> Maybe this alread= y is in xparse? Sorry, I cannot afford more right now ...=0A=0AUwe=0A=0Axpa= rse offer a fairly general snytax including variable delimiters and default= =0Avalues per argument and more. Perhaps you should *indeed* have a look at= it=0Aone day :-) and it could be easily used on top of 2e if so desired=0A= =0Awhat is not offered right now is mandatory arguments with arbitrary deli= miters=0Aon the left or right, though one could achieve even those in an em= ergency=0Ausing "u" argument type twice (I guess)=0A=0Afrank=0A --0-1937116341-1294335455=:60246 Content-Type: text/html; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable
The optional argument thing could be better handled by using named arg= uments.  So, for \parbox, which has optional and mandatory arguments, = we currently have

\parbox[pos][height][inner-pos]{width}{text}
<= br>This is mindlessly confusing in many cases.  Why not have

\= parbox{pos=3Dt,height=3Dsomething,innerpos=3Dt,width=3Dsomething}{text}
 
The use of named arguments is vastly superior to positional= arguments, especially when optional arguments can be specified. 
= Don't even get me started on \newcommand.

Paul Thompson
=
From: Frank Mittelbach <frank.mittelbach@LATEX-PROJEC= T.ORG>
To: LATEX-L@L= ISTSERV.UNI-HEIDELBERG.DE
Sent: Thu, January 6, 2011 11:15:17 AM
Subject: Re: variable opt arg delimiters [was: Defining = a ...]

=0AUwe Lueck writes:
> I wrote:
> > A= better proposal than using different category codes is
> > prog= ramming macros with optional arguments obeying
> > a convention = that makes a choice of delimiters available to users. 
> > = Any macro package replacing \@ifnextchar[ by some
> > \ifx\let@t= oken\opt@arg@delim could be run this way.
> >
> > If = no LaTeXY will adopt this, I will call it L=FCTeX :-)
>
> I = had thought of posting such a "feature request" earlier,
> refraine= d from it for not having found a good idea how
> to implement it. I= f I now found it so simple, I must have
> overlooked a problem ...<= br> >
>  [...]
>
> Maybe this already is in = xparse? Sorry, I cannot afford more right now ...

Uwe

xparse = offer a fairly general snytax including variable delimiters and default
= values per argument and more. Perhaps you should *indeed* have a look at it
one da= y :-) and it could be easily used on top of 2e if so desired

what is= not offered right now is mandatory arguments with arbitrary delimiters
= on the left or right, though one could achieve even those in an emergencyusing "u" argument type twice (I guess)

frank
=0A
--0-1937116341-1294335455=:60246--