]> git.lyx.org Git - lyx.git/blobdiff - src/LaTeXFeatures.cpp
Embedding: saving inzip name to .lyx file so that embedded files can always be found...
[lyx.git] / src / LaTeXFeatures.cpp
index 6718a2ff8e5c0b8ff039b51c176f82c25c8dbcc4..e60fd461d9a9c279c766da0efd4af2d68a8ed05f 100644 (file)
@@ -406,9 +406,13 @@ bool LaTeXFeatures::mustProvide(string const & name) const
 
 bool LaTeXFeatures::isAvailable(string const & name)
 {
+       string n = name;
        if (packages_.empty())
                getAvailable();
-       return find(packages_.begin(), packages_.end(), name) != packages_.end();
+       size_t loc = n.rfind(".sty");
+       if (loc == n.length() - 4) 
+               n = n.erase(name.length() - 4);
+       return find(packages_.begin(), packages_.end(), n) != packages_.end();
 }
 
 
@@ -526,6 +530,12 @@ char const * simplefeatures[] = {
        "mathrsfs",
        "ascii",
        "url",
+       "covington",
+       "csquotes",
+       "enumitem",
+       "endnotes",
+       "ifthen",
+       "amsthm"
 };
 
 int const nb_simplefeatures = sizeof(simplefeatures) / sizeof(char const *);
@@ -538,6 +548,12 @@ string const LaTeXFeatures::getPackages() const
        ostringstream packages;
        TextClass const & tclass = params_.getTextClass();
 
+       // FIXME: currently, we can only load packages and macros known
+       // to LyX.
+       // However, with the Require tag of layouts/custom insets,
+       // also inknown packages can be requested. They are silently
+       // swallowed now. We should change this eventually.
+
        //
        //  These are all the 'simple' includes.  i.e
        //  packages which we just \usepackage{package}
@@ -560,7 +576,7 @@ string const LaTeXFeatures::getPackages() const
             params_.use_esint == BufferParams::package_off)) {
                packages << "\\usepackage{amsmath}\n";
        }
-
+       
        // wasysym is a simple feature, but it must be after amsmath if both
        // are used
        // wasysym redefines some integrals (e.g. iint) from amsmath. That
@@ -828,15 +844,6 @@ docstring const LaTeXFeatures::getTClassPreamble() const
                tcpreamble << tclass[*cit]->preamble();
        }
 
-       InsetLayouts const & insetlayouts = tclass.insetlayouts();
-       InsetLayouts::const_iterator cit2 = insetlayouts.begin();
-       InsetLayouts::const_iterator end2 = insetlayouts.end();
-       for (; cit2 != end2; ++cit2) {
-               if (isRequired(to_utf8(cit2->first))) {
-                       tcpreamble << from_utf8(cit2->second.preamble);
-               }
-       }
-
        return tcpreamble.str();
 }