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 o1HDESBr028651 for ; Wed, 17 Feb 2010 14:14:29 +0100 Received: (qmail 12177 invoked by alias); 17 Feb 2010 13:14:23 -0000 Delivered-To: GMX delivery to rainer.schoepf@gmx.net Received: (qmail invoked by alias); 17 Feb 2010 13:14:22 -0000 Received: from relay.uni-heidelberg.de (EHLO relay.uni-heidelberg.de) [129.206.100.212] by mx0.gmx.net (mx036) with SMTP; 17 Feb 2010 14:14:22 +0100 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id o1HDCTk8008099 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 17 Feb 2010 14:12:29 +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 o1GN12ft006687; Wed, 17 Feb 2010 14:12:21 +0100 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 396274 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Wed, 17 Feb 2010 14:12:21 +0100 Received: from relay2.uni-heidelberg.de (relay2.uni-heidelberg.de [129.206.210.211]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id o1HDCLBH014038 for ; Wed, 17 Feb 2010 14:12:21 +0100 Received: from csep02.cliche.se (csep02.cliche.se [195.249.40.184]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id o1HDC8Vm015852 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 17 Feb 2010 14:12:12 +0100 Received: from hexley.local (unknown [130.239.119.173]) by csep02.cliche.se (Postfix) with ESMTP id 34F781865EB for ; Wed, 17 Feb 2010 14:12:07 +0100 (CET) User-Agent: Thunderbird 2.0.0.23 (Macintosh/20090812) MIME-Version: 1.0 References: <4B727378.8060704@morningstar2.co.uk> <20100210100943.GA3759@oberdiek.my-fqdn.de> <4B7298D6.7080206@morningstar2.co.uk> <20100210145258.GA18188@oberdiek.my-fqdn.de> <4B72D339.5080104@morningstar2.co.uk> <4B7AA5D7.8010104@elzevir.fr> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by listserv.uni-heidelberg.de id o1HDCLBH014039 Message-ID: <4B7BEB3D.8020105@residenset.net> Date: Wed, 17 Feb 2010 14:12:29 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: =?windows-1252?Q?Lars_Hellstr=F6m?= Subject: Re: String module To: LATEX-L@listserv.uni-heidelberg.de In-Reply-To: Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-GMX-Antispam: 0 (Mail was not recognized as spam); Detail=5D7Q89H36p77e5KAPs1l6v/Sb97LojnDtMgfETrECMLUO9erHzOJe+OynZRhvlGqvET/J 3dm2vHWnQHIuidpgLhS+P7NNYz+zyHLMY9yCwGoTDtboDaDPUTmYi5shhPJySBzZnboYr4mQK+ZF NwOSQ==V1; X-Resent-By: Forwarder X-Resent-For: rainer.schoepf@gmx.net X-Resent-To: rainer@rainer-schoepf.de X-Scanned-By: MIMEDefang 2.63 on 85.214.41.38 Status: R X-Status: X-Keywords: X-UID: 6296 Philipp Stephani skrev: > Am 16.02.2010 um 15:04 schrieb Manuel Pégourié-Gonnard: > >> Such conversion function could also be the place to implement "string input >> methods" if they are needed. Eg, the most basic conversion function would be >> something like \edef + \detokenize, but one could imagine a conversion function >> that locally redefines \% as expanding into a catcode 12 %, etc. before >> performing the \edef, so that a user can easily input arbitrary strings. > > I have also thought a bit about this, more from a user perspective: > Users wonder why using \verb or \index inside macros produces weird > results. So there should probably be a class of functions to define > \index- and \verb-like commands This is basically the point of the "harmless character sequence" datatype I implemented in xdoc2, and which long-time list subscribers no doubt recall me bringing up about once a year... > – e.g. with argument specifiers like "s" and "v" in xparse. Not quite that compact, but the concept of "argument processors" was added to xparse in part to support this kind of thing. > The commands thus defined should then receive > only other tokens and also check for this. In this way misusing of the > commands can be easily detected, and in this case the command can fall > back to \detokenize and output a user-friendly error message. Actually, it turns out to be useful to support some commands in this kind of material -- in particular, for encoding special characters in a way that will be harmless in all contexts that the strings will pass through (for me, it was important that they could pass through makeindex). Lars Hellström