]> git.lyx.org Git - lyx.git/blobdiff - src/BufferParams.cpp
Remove accidentally committed debug statement
[lyx.git] / src / BufferParams.cpp
index c194aedd784f489cf602523e6300eb66af3b9dbc..862c3ede40cbe739d54ebdef7a36fcbf3662786e 100644 (file)
@@ -308,7 +308,7 @@ bool inSystemDir(FileName const & document_dir, string & system_dir)
 
        string dir = document_dir.absFileName();
 
-       for (int i = 0; i < 2; ++i) {
+       for (int i = 0; i < 3; ++i) {
                dir = addPath(dir, "..");
                if (!fileSearch(dir, "configure.py").empty() &&
                    !fileSearch(dir, "chkconfig.ltx").empty()) {
@@ -754,6 +754,15 @@ string BufferParams::readToken(Lexer & lex, string const & token,
                                origin.replace(0, sysdirprefix.length() - 1,
                                        package().system_support().absFileName());
                }
+               string const builddirprefix = "/buildlyxdir/";
+               if (prefixIs(origin, builddirprefix)) {
+                       string docsys;
+                       if (inSystemDir(filepath, docsys))
+                               origin.replace(0, builddirprefix.length() - 1, docsys);
+                       else
+                               origin.replace(0, builddirprefix.length() - 1,
+                                       package().system_support().absFileName());
+               }
        } else if (token == "\\begin_preamble") {
                readPreamble(lex);
        } else if (token == "\\begin_local_layout") {
@@ -1142,7 +1151,10 @@ void BufferParams::writeFile(ostream & os, Buffer const * buf) const
        string const relpath =
                to_utf8(makeRelPath(from_utf8(filepath), from_utf8(sysdir)));
        if (!prefixIs(relpath, "../") && !FileName::isAbsolute(relpath))
-               filepath = addPath("/systemlyxdir", relpath);
+               filepath = (prefixIs(docsys, package().build_support().realPath())) ?
+                                       addPath("/buildlyxdir", relpath)
+                                     : addPath("/systemlyxdir", relpath);
+
        else if (!save_transient_properties || !lyxrc.save_origin)
                filepath = "unavailable";
        os << "\\origin " << quoteIfNeeded(filepath) << '\n';
@@ -1779,7 +1791,7 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features,
                }
        }
 
-       // TODO: load textcomp and pmboxdraw before (lua)inputenc (#11454)
+       // Load textcomp and pmboxdraw before (lua)inputenc (#11454)
        if (features.mustProvide("textcomp"))
                os << "\\usepackage{textcomp}\n";
        if (features.mustProvide("pmboxdraw"))
@@ -2348,19 +2360,25 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features,
        }
 
        // ... but before biblatex (see #7065)
-       if (features.mustProvide("biblatex")
+       if ((features.mustProvide("biblatex")
+            || features.isRequired("biblatex-chicago"))
+           && !features.isProvided("biblatex-chicago")
            && !features.isProvided("biblatex-natbib")
            && !features.isProvided("natbib-internal")
            && !features.isProvided("natbib")
            && !features.isProvided("jurabib")) {
+               // The biblatex-chicago package has a differing interface
+               // it uses a wrapper package and loads styles via fixed options
+               bool const chicago = features.isRequired("biblatex-chicago");
                string delim = "";
                string opts;
                os << "\\usepackage";
                if (!biblatex_bibstyle.empty()
-                   && (biblatex_bibstyle == biblatex_citestyle)) {
+                   && (biblatex_bibstyle == biblatex_citestyle)
+                   && !chicago) {
                        opts = "style=" + biblatex_bibstyle;
                        delim = ",";
-               } else {
+               } else if (!chicago) {
                        if (!biblatex_bibstyle.empty()) {
                                opts = "bibstyle=" + biblatex_bibstyle;
                                delim = ",";
@@ -2392,7 +2410,10 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features,
                        opts += delim + biblio_opts;
                if (!opts.empty())
                        os << "[" << opts << "]";
-               os << "{biblatex}\n";
+               if (chicago)
+                       os << "{biblatex-chicago}\n";
+               else
+                       os << "{biblatex}\n";
        }
 
 
@@ -3281,7 +3302,7 @@ void BufferParams::writeEncodingPreamble(otexstream & os,
                        break;
                }
        }
-       if (inputenc == "default" or features.isRequired("japanese")) {
+       if (inputenc == "default" || features.isRequired("japanese")) {
                // don't default to [utf8]{inputenc} with TeXLive >= 18
                os << "\\ifdefined\\UseRawInputEncoding\n";
                os << "  \\UseRawInputEncoding\\fi\n";