Received: by nummer-3.proteosys id <01C19443.AB8FA4E4@nummer-3.proteosys>; Thu, 3 Jan 2002 11:44:50 +0100 Return-Path: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C19443.AB8FA4E4" x-vm-v5-data: ([nil nil nil nil nil nil nil nil nil][nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil]) X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message Subject: basic structures and customization Date: Fri, 15 May 1992 10:05:49 +0100 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: From: "Frank Mittelbach" Sender: "Mailing list for the LaTeX3 project" To: "Rainer M. Schoepf" Reply-To: "Mailing list for the LaTeX3 project" Status: R X-Status: X-Keywords: X-UID: 716 This is a multi-part message in MIME format. ------_=_NextPart_001_01C19443.AB8FA4E4 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Phil said: > > Let me argue against this one; in maany recent documents, I have > > implemented > > \Begin {list} ... \End {list}, with the implicit semantics that one > > paragraph =3D one item. Much more elegant markup (i.e. tacit = markup > > rather than explicit), and, when, just occasionally, I needed items > > that spanned paragraphs, I implemented \Begin {list} \options =3D > > {\spansparagraphs} ... \End {list}, which then required the use of > > \Item. and Sebastian answered: > you'd be at home in the SGML lists, Phil. i think the overriding thing > *is* to use explicit markup, so that items start with \item, and let > people who are clever enough redefine \par to start a new item. > "\options=3D{spansparagraphs}" indeed!! From my point of view the basic structures in LaTeX3 have to be as verbose and complete as possible to allow the best possible control over the document appearance and to allow unambigous input. This means that underlying we will have as much tagging as possible without burdening the user too much. In theory I would prefer to get rid of even implicit word bounderies, sentences etc, but okay, I also like to use the system. Now this is the concept. On top of it we then implement help for the user to tag his/her document in a more flexible manner. For example, the current kernel prototype on this machine supports implicit closing of environments if they can be determined, e.g., one could write \begin{table} \caption{foo} \begin{center} \begin{tabular}{ll} ... \end{table} And `table' will know that it has to close tabular and then center. (In fact this is meant more as a error recovery strategy and you will get warnings, but you see the point). More important to the discussion above, I'm currently experimenting with a general short-reference feature which is somehow a generalization of things like "a "s `e "| found in styles like german.sty or french.sty ... This will become a general scheme where it is possible for the user to define convenient abbreviations for local or global use, e.g., \begin{prog} a :=3D b \end{prog} may get translated into $a \gets b$ etc. Shortening coding by means of making implicit tokens like \everypar and \par ``special'' will probably also be available in a *controlled* way, at least to the style and application programmer. So there will be nothing lost by forcing \bibitem or even \begin{bibentry}... arround as the basic default. To make another example, many people currently complain that \index in LaTeX is not good enough. This isn't true, the only thing that is missing is a simple an reliable way of customizing it in a suitable way. With a shortref feature one could make |foo| an index entry and ||bar|| a silent one or whatever is sensible for the current document. Of course, in addition to the primitive \index function, latex3 also needs a style option (or perhaps more than one) that provides more complicated indexing schemes. To summarize: LaTeX3 basic structures should all be as completely tagged as possible and general purpose schemes like ``shortrefs'', ``empty-line-handling'' etc. then provide the necessary customization to make life durable for the user. ------_=_NextPart_001_01C19443.AB8FA4E4 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable basic structures and customization

Phil said:

> > Let me argue against this one; in maany = recent documents, I have
> > implemented
>  > \Begin {list} ... \End {list}, with = the implicit semantics that one
>  > paragraph =3D one item.  Much = more elegant markup (i.e. tacit markup
>  > rather than explicit), and, when, = just occasionally, I needed items
>  > that spanned paragraphs, I = implemented \Begin {list} \options =3D
>  > {\spansparagraphs} ... \End {list}, = which then required the use of
>  > \Item.

and Sebastian answered:

> you'd be at home in the SGML lists, Phil. i think = the overriding thing
> *is* to use explicit markup, so that items start = with \item, and let
> people who are clever enough redefine \par to = start a new item.
> "\options=3D{spansparagraphs}" = indeed!!

>From my point of view the basic structures in = LaTeX3 have to be as
verbose and complete as possible to allow the best = possible control
over the document appearance and to allow unambigous = input.

This means that underlying we will have as much = tagging as possible
without burdening the user too much. In theory I = would prefer to get
rid of even implicit word bounderies, sentences etc, = but okay, I also
like to use the system.

Now this is the concept. On top of it we then = implement help for the
user to tag his/her document in a more flexible = manner. For example,
the current kernel prototype on this machine supports = implicit closing
of environments if they can be determined, e.g., one = could write

\begin{table}
  \caption{foo}
  \begin{center}
    \begin{tabular}{ll} ...
\end{table}

And `table' will know that it has to close tabular and = then center.
(In fact this is meant more as a error recovery = strategy and you will
get warnings, but you see the point).

More important to the discussion above, I'm currently = experimenting
with a general short-reference feature which is = somehow a
generalization of things like "a "s `e = "| found in styles like
german.sty or french.sty ...
This will become a general scheme where it is = possible for the user to
define convenient abbreviations for local or global = use, e.g.,

\begin{prog}
  a :=3D b
\end{prog}

may get translated into $a \gets b$  etc.

Shortening coding by means of making implicit tokens = like \everypar
and \par ``special'' will probably also be available = in a *controlled*
way, at least to the style and application = programmer. So there will
be nothing lost by forcing \bibitem or even = \begin{bibentry}...
arround as the basic default.

To make another example, many people currently = complain that \index in
LaTeX is not good enough. This isn't true, the only = thing that is
missing is a simple an reliable way of customizing it = in a suitable
way. With a shortref feature one could make |foo| an = index entry and
||bar|| a silent one or whatever is sensible for the = current document.
Of course, in addition to the primitive \index = function, latex3 also
needs a style option (or perhaps more than one) that = provides more
complicated indexing schemes.

To summarize: LaTeX3 basic structures should all be as = completely
tagged as possible and general purpose schemes like = ``shortrefs'',
``empty-line-handling'' etc. then provide the = necessary customization
to make life durable for the user.

------_=_NextPart_001_01C19443.AB8FA4E4--