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