]> git.lyx.org Git - lyx.git/blobdiff - src/BufferParams.cpp
Fix bug #10911.
[lyx.git] / src / BufferParams.cpp
index 2f7058a9e4403faf3cbcd0341381f6760ad69671..15de3388d682a3e6bd4d66395585f1a9f6787cb1 100644 (file)
@@ -2322,7 +2322,11 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features,
        }
 
        // ... but before biblatex (see #7065)
-       if (features.mustProvide("biblatex")) {
+       if (features.mustProvide("biblatex")
+           && !features.isProvided("biblatex-natbib")
+           && !features.isProvided("natbib-internal")
+           && !features.isProvided("natbib")
+           && !features.isProvided("jurabib")) {
                string delim = "";
                string opts;
                os << "\\usepackage";
@@ -2674,9 +2678,8 @@ OutputParams::FLAVOR BufferParams::getOutputFlavor(string const & format) const
                if (find(backs.begin(), backs.end(), dformat) == backs.end()) {
                        // Get shortest path to format
                        Graph::EdgePath path;
-                       for (vector<string>::const_iterator it = backs.begin();
-                           it != backs.end(); ++it) {
-                               Graph::EdgePath p = theConverters().getPath(*it, dformat);
+                       for (auto const & bvar : backs) {
+                               Graph::EdgePath p = theConverters().getPath(bvar, dformat);
                                if (!p.empty() && (path.empty() || p.size() < path.size())) {
                                        path = p;
                                }
@@ -3191,21 +3194,21 @@ void BufferParams::writeEncodingPreamble(otexstream & os,
                        language->encoding()->package();
 
                // Create list of inputenc options:
-               set<string> encodings;
+               set<string> encoding_set;
                // luainputenc fails with more than one encoding
                if (!features.runparams().isFullUnicode()) // if we reach this point, this means LuaTeX with TeX fonts
                        // list all input encodings used in the document
-                       encodings = features.getEncodingSet(doc_encoding);
+                       encoding_set = features.getEncodingSet(doc_encoding);
 
                // If the "japanese" package (i.e. pLaTeX) is used,
                // inputenc must be omitted.
                // see http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg129680.html
-               if ((!encodings.empty() || package == Encoding::inputenc)
+               if ((!encoding_set.empty() || package == Encoding::inputenc)
                    && !features.isRequired("japanese")
                    && !features.isProvided("inputenc")) {
                        os << "\\usepackage[";
-                       set<string>::const_iterator it = encodings.begin();
-                       set<string>::const_iterator const end = encodings.end();
+                       set<string>::const_iterator it = encoding_set.begin();
+                       set<string>::const_iterator const end = encoding_set.end();
                        if (it != end) {
                                os << from_ascii(*it);
                                ++it;
@@ -3213,7 +3216,7 @@ void BufferParams::writeEncodingPreamble(otexstream & os,
                        for (; it != end; ++it)
                                os << ',' << from_ascii(*it);
                        if (package == Encoding::inputenc) {
-                               if (!encodings.empty())
+                               if (!encoding_set.empty())
                                        os << ',';
                                os << from_ascii(doc_encoding);
                        }