Basic support for biblatex-chicago

This uses a specific wrapper package that must be loaded instead of
biblatex.

Via "Requires biblatex-chicago", this is now possible.

For proper support, a citeengine file needs to be written

This commit here could also be backported to stable.
This commit is contained in:
Juergen Spitzmueller 2019-02-18 13:14:53 +01:00
parent 96ca66d664
commit 71737b87f9
2 changed files with 14 additions and 4 deletions

View File

@ -285,6 +285,7 @@
\TestPackage{babel}
\TestPackage{beamerposter}
\TestPackage{biblatex}
\TestPackage{biblatex-chicago}
\TestPackage{bibtopic}
\TestPackage{bicaption}
\TestPackage{bidi}

View File

@ -2348,19 +2348,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,6 +2398,9 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features,
opts += delim + biblio_opts;
if (!opts.empty())
os << "[" << opts << "]";
if (chicago)
os << "{biblatex-chicago}\n";
else
os << "{biblatex}\n";
}