>>>>> "Michael" == Michael A Koziarski <[EMAIL PROTECTED]> writes:
Michael> This is the last patch I'll be able to contribute till late Michael> next week some time. Hopefully there's nothing that can Michael> prevent it being applied. A few comments/ideas (although I think this patch is definitely good). 1/ You could have a simple helper function void handleFeature(std::ostream os, string const &name) const { if(isRequired(name)) os << "\usepackage{" << name << "\}\n"; } To replace the bunch of + // verbatim.sty + if (isRequired("verbatim")) + packages << "\\usepackage{verbatim}\n"; + Or maybe have a static array of those ``simple'' features and just loop over it. 2/ more importantly, it would be nice to check that all features that have been require()'d have a matching isRequired(), that is, that the code handles all the features that have been requested. Otherwise, the code would spit the list of not features that have not been handled. This would help catch typos. Michael> I don't know enough about the TeX requirements here. It seems Michael> that this code is in Buffer.C to ensure that Michael> \usepackage{amsmath} happens before anything else. Is this Michael> necessary? OK, we'll see that once the patch is applied. Michael> On another note frequently the client code requires() a Michael> string which doesn't correspond to a package name. i.e we Michael> require("floats") to ensure \usepackage{float}. the ams stuff Michael> is similarly odd. Michael> Could someone with some TeX knowledge have a look at this? Michael> ideally require(string) will lead to \usepackage{string} Michael> wherever possible. I'll have a look at that when the patch is applied. JMarc