Martin Rubey wrote:
Dear Ralf, *
I think that it is not a good idea to fix the set of packages allowed. Just an
example: suppose I wanted to write a package dealing with young tableaux -
quite probable, in fact. Then almost certainly I'll use the youngtab
package. But would you have thought of this now already?
Alright. Clifford mentioned some chemistry packages etc. There are a lot
of packages around that we simply cannot all put into a common header.
My suggestion would be the following. Split Axiom into Algebra and the
underlying stuff. For the underlying things I have the impression, we
could agree on a common preample. And, in fact, it would be a good idea
to do so, since it is a lot of code to be maintained.
As for Algebra... that is where most (if not all) of the mathematics is.
There are again two parts.
1) The current code.
2) Future code that comes from contributions of other people around the
world.
Fixing a preample for 1) could be done. But my vision is somewhat
different. The Algebra documentation should be something like a
"collection" of articles, that are hyperlinked together but retain a
certain layered structure. So the articles build up some kind of hierarchy.
I also don't think we can achieve ONE common agreement on the hierarchy
of domains and categories. We could be close to mathematics, but it
would not be one-to-one. The language simply imposes some restrictions.
Take for example Ring. That is a Semigroup with respect to
multiplication and a Group with respect to addition. Wrong! It's an
AbelianGroup with respect to addition and in Axiom an AbelianGroup is
not a Group. :-( There is simply no language feature to rename
operations. Well, that is a other topic...
You should see ALLPROSE in this like light. Several articles(=libraries)
that build on top of each other and extend Axiom step by step and may at
some point in time be integrated into Axiom.
Since that is going to be bigger and bigger, I thought already about a
way to combine two (or more) ALLPROSE projects. Unfortunately, I have
not succeeded yet, but there is a package "combine" which could probably
help me here. But I have still a little design problem. I want
references from one article which refers to a domain in some other
article (library) to become hyperlinks if both articles are combined. If
there were no additional value, we could simply leave the articles
separate and just document how they relate in another article. (The
latter should be done anyway.)
So I'd propose to allow that a list of packages and options can be passed to ALLPROSE.
ALLPROSE allows you to add any package you like. Just write a file
PROJECTNAME.sty.nw and put the things there. It will all come into the
preample.
Of course this raises yet another problem: some packages are not compatible
with each other. So maybe we should leave it to the authors that contribute to
the Axiom source that the latex compiles proberly, and simply leave allprose as
it is -- and if a new package is needed, he needs to add it to the list of
packages ALLPROSE includes...
As Tim said, the packages that are used by some article should be
distributed with the article. The problem is that one has to read the
licenses of those packages in order to know what one is allowed to do.
I think an important thing is to state in the article what version of
the LaTeX package has been used by the author. Some packages are not
compatible with earlier versions. I would at most require packages to be
included, if they cannot be found on CTAN (http://www.ctan.org/).
Any, the rationale is:
A) fix the preample for every book-volume and the corresponding files
except ALGEBRA.
B) allow any style for Algebra contributions (but still no
\documentclass{..} ... \begin{document} ... \end{document}
wrapper---separate style from contents).
Ralf
_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer