On Wed, 17 Jul 2007, Stephen Wilson wrote:
C Y <[EMAIL PROTECTED]> writes:
I'll confess I'm a bit confused, but that may be my fault.  Questions:

1)  How does going from noweb to LaTeX syntax change anything, besides
what needs to be typed to ID a chunk?
The critical and (as I am now seeing) subtle point is that latex only
sees the markup as a typesetting construct, where in fact the
construct means a completely different thing to the absolutely
necessary tools like weave and tangle.
No, I absolutely disagree with the above statement. LaTeX commands and environments are *not* typesetting constructs! Their puropse is to encode the logical structure of the document, not its visual (typesetting) form. Styles associate some visual meaning with various logical concept; one can easily change the style, and get a different typeset output from the same (logically) document.

So when you write \chunk{foo}, you dont mean "LaTeX, please typeset
this reference to foo".  You mean "Pamphlet, this is a chunk named
foo, as you can see by the executable code to which it points, it
connects with the domain Foo, please update the runtime representation
of the domain Foo with a link to the surrounding context. Please
inform hyperdoc of the connection. Please ...".
Exactly. When I say \chunk{foo}, I don't want to inform LaTeX that it should typeset the reference in some font. I want to say that this is *logically* a reference to a chunk. Typesetting issue is secondary.

And since LaTeX is a language designed with the express purpose of
writing documents, not pamphlets, it does not mesh well with our
needs.
LaTeX is a language for writing documents according to their logical structure (meaning). Pamphlets are a particular case of such structured documents.

If there will be a vote :-), please count my vote for the pure LaTeX syntax of pamphlets. This eliminates a lot of complexity: one more syntax to learn (with all its warts to escape << and >>, etc.), one tool which is no longer needed. It is easier to use the familiar LaTeX syntax (which was designed to encode structure, i.e., the meaning, of any concept). We can add as many concepts as we need. In fact, any author writing any non-trivial text in LaTeX always adds some new concepts, and this is the the use for which LaTeX has been designed. Some LaTeX command may mean "run this command through Axiom", when used in a proper context. Why not?

Entities should not be multiplied beyond necessity.

Andrey

P.S. Currently, I see just one (temporary) disadvantage: this new syntax breaks a syntax highlighting mode in emacs. This disadvantage is real: I use emacs all the time, and I like syntax highlighting. But I think it is rather easy to teach this emacs mode to recognize \begin{chunk}{foo} and \end{chunk} instead of <<foo>>= and @.



_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to