Received: from mail.proteosys.com ([213.139.130.197]) by nummer-3.proteosys with Microsoft SMTPSVC(5.0.2195.5329); Fri, 11 Jul 2003 17:39:58 +0200 Received: by mail.proteosys.com (8.12.9/8.12.2) with ESMTP id h6BFdtcH006881 for ; Fri, 11 Jul 2003 17:39:56 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.27]) by relay2.uni-heidelberg.de (8.12.9/8.12.9) with ESMTP id h6BFV1Gl029908; Fri, 11 Jul 2003 17:31:02 +0200 (MET DST) MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C347C2.AEE55B00" Received: from listserv (listserv.uni-heidelberg.de [129.206.100.27]) by listserv.uni-heidelberg.de (8.12.3/8.12.3/SuSE Linux 0.6) with ESMTP id h6B400eL001562; Fri, 11 Jul 2003 17:30:33 +0200 Received: from LISTSERV.UNI-HEIDELBERG.DE by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 1.8d) with spool id 1507 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Fri, 11 Jul 2003 17:30:33 +0200 X-MimeOLE: Produced By Microsoft Exchange V6.5 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by listserv.uni-heidelberg.de (8.12.3/8.12.3/SuSE Linux 0.6) with ESMTP id h6BFUXM9009183 for ; Fri, 11 Jul 2003 17:30:33 +0200 Received: from smtp.albany.edu (mail1.csc.albany.edu [169.226.1.133]) by relay.uni-heidelberg.de (8.12.9/8.12.9) with ESMTP id h6BFUfmp023081 for ; Fri, 11 Jul 2003 17:30:41 +0200 (MET DST) Received: from hilbert.math.albany.edu (hilbert.math.albany.edu [169.226.23.52]) by smtp.albany.edu (8.12.5/8.12.5) with ESMTP id h6BFUbU4019096 for ; Fri, 11 Jul 2003 11:30:39 -0400 (EDT) Received: (from hammond@localhost) by hilbert.math.albany.edu (8.12.5/8.12.5/Submit) id h6BFUYQB005981; Fri, 11 Jul 2003 11:30:34 -0400 (EDT) In-Reply-To: <3F0E966D.E44220AB@MartinHensel.de> Lines: 109 References: <3BFEACE361F5BF429DD1DA593E3A7C0922406A@xch-nw-28.nw.nos.boeing.com> <3F0BE0E6.E87B2479@MartinHensel.de> <3F0DC260.183ED82C@MartinHensel.de> <3F0E966D.E44220AB@MartinHensel.de> Return-Path: X-OriginalArrivalTime: 11 Jul 2003 15:39:58.0775 (UTC) FILETIME=[AF5B9C70:01C347C2] User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 x-mime-autoconverted: from quoted-printable to 8bit by listserv.uni-heidelberg.de id h6BFUXM9009184 X-Scanned-By: MIMEDefang 2.33 (www . roaringpenguin . com / mimedefang) X-Spam-Score: -33.4 () EMAIL_ATTRIBUTION,IN_REP_TO,QUOTED_EMAIL_TEXT,QUOTE_TWICE_1,REFERENCES,REPLY_WITH_QUOTES,USER_AGENT_GNUS_UA Content-class: urn:content-classes:message Subject: Re: Invitation for discussion: My suggestion for a LaTeX3 syntax Date: Fri, 11 Jul 2003 16:30:34 +0100 Message-ID: A X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Re: Invitation for discussion: My suggestion for a LaTeX3 syntax Thread-Index: AcNHwq+Y1BEAfhbdQa+cZ0m3hwTWvw== From: "William F Hammond" To: Reply-To: "Mailing list for the LaTeX3 project" Status: R X-Status: X-Keywords: X-UID: 4679 This is a multi-part message in MIME format. ------_=_NextPart_001_01C347C2.AEE55B00 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Martin Hensel writes: > > For example, look at the source (suffix ".glm") of the manual in > > http://www.albany.edu/~hammond/gellmu/glman/ > > The only difference to the LaTeX syntax I could see are the different > treatment of command ends The idea is for the markup to be convenient for those with LaTeX habits as well as to be syntactically clean. > \tex; Directory \tex; produces at both first stage (SGML article) and second = stage (XML article). But for gellmu "article", because the name "tex" is defined-empty, one could also write \tex Directory getting " Directory" at first stage and " Directory" at second stage. With only a formal parse this would not work. Alternatively, with "article" the markup "\tex{}" would yield " Directory" at first stage and " Directory" at second stage. So in this case by the second stage all three forms are the same. Note that the sgml form of "article", unlike the sgml form of html, has case-sensitive names and allows any of "", "", or "" when "foo" is defined-empty. > \sgml document types Here one could have missed the earlier definition \newcommand{\sgml}{\abbr{SGML}} So with macro substitution the above resolves to \abbr{SGML} document types Even so, the syntactic translation does not eat space, but SGML parsing can have the effect of eating space. The net result, however, is that as an author I make fewer missing space mistakes in gellmu than in LaTeX. > and the possibility that a space after a command with parameters is > ignored (p. 11). > > \anch[href=3D"http://www.w3.org/"]{W3C} HQ, With "article" this involves an "advanced" mode feature: the space after the right brace survives because the name "anch" is in the variable gellmu-autoclose-list when the documenttype is "article". So the syntactic translator writes the closetag for "anch" before the space. If it did not write that closetag, SP would write it later after seeing (and effectively swallowing) the space. In basic mode for HTML the markup \a[href=3D"http://www.w3.org/"]{W3C} HQ also works because there is no multiple argument/option syntax in basic mode, so the option is the attribute list, and the sole argument is element content. > Did I miss something else? Perhaps things that are absent. If you write "\frac23", you'll generate "", because there is no obfuscated argument syntax, and, as with sgml/xml, numerals can be used in command names. In principle, command names may contain any Emacs "word" character. However, the only illustration of this provided in present gellmu "article" is "\=E9tale{}", a five character French name, which is an alternate form of (inline) emphasis. (This message is UTF-8 encoded.) Also it is required in gellmu advanced mode multiple argument/option syntax that there be no white space separating a command name from its first arg/opt or separating successive arg/opt's. If you write \anch[href=3D"http://www.w3.org/"] {W3C} HQ, the SGML won't parse. But to avoid long lines, you can write \anch[ href=3D "http://www.w3.org/" ]{W3C} HQ White space is a very sensitive matter for visible anchor text, so for the particular case of "anch", one might not want to replace the last "{W3C}" with { W3C } but with many other names this would be fine, too. -- Bill ------_=_NextPart_001_01C347C2.AEE55B00 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Re: Invitation for discussion: My suggestion for a LaTeX3 = syntax

Martin Hensel <mail@MARTINHENSEL.DE> = writes:

> > For example, look at the source (suffix = ".glm") of the manual in
> > http://www.albany.e= du/~hammond/gellmu/glman/
>
> The only difference to the LaTeX syntax I could = see are the different
> treatment of command ends

The idea is for the markup to be convenient for those = with LaTeX
habits as well as to be syntactically clean.

>   \tex; Directory

\tex; produces <tex/> at both first stage (SGML = article) and second stage
(XML article).

But for gellmu "article", because the name = "tex" is defined-empty, one
could also write

    \tex Directory

getting "<tex> Directory" at first = stage and "<tex/> Directory" at
second stage.  With only a formal parse this = would not work.

Alternatively, with "article" the markup = "\tex{}" would yield
"<tex></tex> Directory" at = first stage and "<tex/> Directory" at
second stage.

So in this case by the second stage all three forms = are the same.
Note that the sgml form of "article", = unlike the sgml form of html,
has case-sensitive names and allows any of = "<foo>", "<foo/>", or
"<foo></foo>" when = "foo" is defined-empty.

>   \sgml document types

Here one could have missed the earlier = definition

    = \newcommand{\sgml}{\abbr{SGML}}

So with macro substitution the
above resolves to

    \abbr{SGML} document types

Even so, the syntactic translation does not eat space, = but SGML
parsing can have the effect of eating space.

The net result, however, is that as an author I make = fewer missing
space mistakes in gellmu than in LaTeX.

> and the possibility that a space after a command = with parameters is
> ignored (p. 11).
>
>   \anch[href=3D"http://www.w3.org/"]{W3C} = HQ,

With "article" this involves an = "advanced" mode feature: the space
after the right brace survives because the name = "anch" is in the
variable gellmu-autoclose-list when the documenttype = is "article".  So
the syntactic translator writes the closetag for = "anch" before the
space.  If it did not write that closetag, SP = would write it later
after seeing (and effectively swallowing) the = space.

In basic mode for HTML the markup

    \a[href=3D"http://www.w3.org/"]{W3C} HQ

also works because there is no multiple = argument/option syntax in
basic mode, so the option is the attribute list, and = the sole argument
is element content.

> Did I miss something else?

Perhaps things that are absent.

If you write "\frac23", you'll generate = "<frac23>", because there is
no obfuscated argument syntax, and, as with sgml/xml, = numerals can be
used in command names.

In principle, command names may contain any Emacs = "word" character.
However, the only illustration of this provided in = present gellmu
"article" is "\=E9tale{}", a five = character French name, which is an
alternate form of (inline) emphasis.  (This = message is UTF-8 encoded.)

Also it is required in gellmu advanced mode multiple = argument/option
syntax that there be no white space separating a = command name from its
first arg/opt or separating successive = arg/opt's.  If you write

   \anch[href=3D"http://www.w3.org/"] {W3C} = HQ,

the SGML won't parse.  But to avoid long lines, = you can write

\anch[
href=3D
"http://www.w3.org/"
]{W3C}
HQ

White space is a very sensitive matter for visible = anchor text,
so for the particular case of "anch", one = might not want to replace
the last "{W3C}" with

{
W3C
}

but with many other names this would be fine, = too.

          &nbs= p;            = ;            = -- Bill

------_=_NextPart_001_01C347C2.AEE55B00--