// load CJK support package before font selection
// (see autotests/export/latex/CJK/micro-sign_utf8-cjk-libertine.lyx)
- if (!useNonTeXFonts && encoding().package() != Encoding::none
+ if (!useNonTeXFonts && encoding().package() != Encoding::none && inputenc != "utf8x"
&& (encoding().package() == Encoding::CJK || features.mustProvide("CJK"))) {
- if (encoding().iconvName() == "UTF-8"
- && LaTeXFeatures::isAvailable("CJKutf8"))
+ if (inputenc == "utf8-cjk" || inputenc == "utf8")
os << "\\usepackage{CJKutf8}\n";
else
os << "\\usepackage[encapsulated]{CJK}\n";
}
}
+ // Load textcomp and pmboxdraw before (lua)inputenc (#11454)
+ if (features.mustProvide("textcomp"))
+ os << "\\usepackage{textcomp}\n";
+ if (features.mustProvide("pmboxdraw"))
+ os << "\\usepackage{pmboxdraw}\n";
+
// handle inputenc etc.
writeEncodingPreamble(os, 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 = ",";
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";