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()) {
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") {
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';
}
}
- // 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"))
}
// ... 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 = ",";
opts += delim + biblio_opts;
if (!opts.empty())
os << "[" << opts << "]";
- os << "{biblatex}\n";
+ if (chicago)
+ os << "{biblatex-chicago}\n";
+ else
+ os << "{biblatex}\n";
}
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";