Jürgen Spitzmüller wrote:
rgheck wrote:
I think this is a different issue. If someone wants to Require a package
we don't have listed in LaTeXFeatures, then, yes, we can't check for it,
and so we ought to ignore it for that purpose. But that's different from
saying they can't Require such a package at all. Actually, I'm not sure
how this will work in practice, anyway. What does happen if I try to
"Require foo"? Surely there's some fairly simple way to handle this.
(Unfortunately, I have to go deal with graduate admissions applications
and can't play with LyX right now.)
No, there's no simple way yet. For the moment, people can only require what is
known to LyX (note that also the isAvailable() mechanism depends on this). If
not, they will have to use the Preamble tag with all the disadvantages.
Right, of course. We should document, then, that Requires only works for
packages known to LyX.
What we can do, eventually, is to simply add a \usepackage call with all
remaining "unknown" required packages at the very end. For this, though, we need to know which packages we know. And this is not possible yet (since it's done in different methods).
OK. Maybe a FIXME or something about this, with a ref to this thread,
would be worth it, if not a bugzilla entry.
For now, I'd just go with what I proposed.
OK. We're obviously not losing anything, and this is a big improvement
on what we had.
I think we can get rid of the ugly optional argument of DeclareLyXModule now.
OK, well, it's about to get new ones, anyway, so don't bother with
configure.py. (It won't break right now, anyway.) I intend to implement
Requires and Excludes arguments for the modules themselves as part of
the modularization of the AMS classes. Thus, the "Theorems" module will
exclude the "Theorems (AMS)" module, and it won't be possible to use
them both. I also want to split the theorem modules themselves into
basic and advanced parts, so that you don't have to overpopulate your
layout box just to get the basic theorem constructs. Thus, "Theorems
(Extra)" will require either "Theorems" or "Theorems (AMS)", since the
basic definitions have to be in place already. I expect we'll find other uses
for this, too.
I'm not sure I understand. Anyway, I'll leave the optional argument in place
for now.
The idea is that there can be incompatible modules: The Theorems and
Theorems (AMS) modules are an example. And there may be modules that
require other ones. So this will provide a facility for tracking that.
rh