commit 71737b87f9c3729ba6d0969b032448073948a673
Author: Juergen Spitzmueller <[email protected]>
Date: Mon Feb 18 13:14:53 2019 +0100
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.
---
lib/chkconfig.ltx | 1 +
src/BufferParams.cpp | 17 +++++++++++++----
2 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/lib/chkconfig.ltx b/lib/chkconfig.ltx
index 4b78d88..d8b027f 100644
--- a/lib/chkconfig.ltx
+++ b/lib/chkconfig.ltx
@@ -285,6 +285,7 @@
\TestPackage{babel}
\TestPackage{beamerposter}
\TestPackage{biblatex}
+\TestPackage{biblatex-chicago}
\TestPackage{bibtopic}
\TestPackage{bicaption}
\TestPackage{bidi}
diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp
index d57f68c..60bfa3a 100644
--- a/src/BufferParams.cpp
+++ b/src/BufferParams.cpp
@@ -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,7 +2398,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";
}