LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Hans Aberg <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Sun, 5 Oct 1997 15:57:44 +0200
text/plain (66 lines)
  Here is a futuristic scenario: Think of a version HyTeX of TeX (as the
name HyperTeX is already occupied) with the capacity of \input-ing URL's;
then the ideal electronic journal only needs to contain information about
journal style, and which articles to \input, the latter which of course
already are posted in an official e-print archive. The distribution of each
journal issue can thus become very compact. :-)

  Now, this idea is somewhat extreme (to us, today), but it gives an idea
of how information needs to be split up between the journal style and the
article style: The author needs to be able to write the article as usual,
being able to generate a printout with its style elements; the journal
style needs to being able to intercept and alter the style elements of its
choice from the article style.

  If TeX was object oriented, then the various style elements would be
elements of an abstract classes, first derived by the "article" class, and
then derived by the "foo-journal" class (opposite of the typesetting order,
with the journal class coming before the article class). The question is
how to simulate this in TeX:

  In the typesetting, the journal class will be read before the article
class, so if the journal defines a style element which it does not allow
the article class to change, it must somehow communicate that to the
article class. Now, exactly which style elements this concerns will vary
with the journal, so the suggested scheme must be fairly general.

  So it appears that what is needed is a document hierarchy:
  \documentclass{journal}       % Start of journal class

    \documentclass{article}     % Start of article 1 class
      %% Article 1 stuff
    \end{document}              % End of article 1 class

    \documentclass{article}     % Start of article 2 class
      %% Article 2 stuff
    \end{document}              % End of article 2 class

    %%...                       % More articles

  \end{document}                % End of journal class

LaTeX is somewhat misleading, because each document locality starts with
the \documentclass statement (and not \begin{document}), and ends with
\end{document} in the description I give here. Also, each locality should
be viewed as a document-locality only, separated from the TeX \begingroup
... \endgroup localities.

  Then, what we are looking for, is a kind of \final attribute, to be
attached to definitions like \def and \let. Defining
would mean: Suppose \foo is defined in the document locality above the one
where  the statement occurs, then the effect is that \foo is not redefined;
otherwise, the \let takes place as usual. So attaching \final to a
definition prevents it to be redefined in a document sublevel, but it
allows it to be redefined on the same document level.

  I do not see any immediate, good way of implementing this idea, so lets
hear of some suggestions.

  Hans Aberg
                  * AMS member: Listing <>
                  * Email: Hans Aberg <[log in to unmask]>