The branch, master, has been updated. - Log -----------------------------------------------------------------
commit 2e72a0af48023956ae6ce3285b47168c2fed5099 Author: Julien Rioux <[email protected]> Date: Fri Jan 4 23:57:40 2013 +0100 Add known citation packages to LaTeXFeatures: - achicago - apacite - apalike - astron - authordate - chicago - harvard - mslapa - named This allows these citation packages can be Required by the document layout. LyX handles the package ordering, loading any of these packages before natbib when both are required by the document layout. For example, apacite can be used with or without natbib. The package achicago isn't compatible with natbib out-of-the-box, but the following compatibility code makes it work: \usepackage{achicago} \let\achicagobib\thebibliography \usepackage[authoryear]{natbib} \let\thebibliography\achicagobib \let\UnexpandableProtect\protect \let\SCcite\astroncite diff --git a/lib/chkconfig.ltx b/lib/chkconfig.ltx index 5b9f957..76ece71 100644 --- a/lib/chkconfig.ltx +++ b/lib/chkconfig.ltx @@ -269,10 +269,15 @@ %%% Packages \TestPackage{accents} +\TestPackage{achicago} \TestPackage{algorithm} \TestPackage{amstext} +\TestPackage{apacite} +\TestPackage{apalike} \TestPackage[arabic.ldf]{arabi} \TestPackage{array} +\TestPackage{astron} +\TestPackage{authordate1-4} \TestPackage{babel} \TestPackage{bibtopic} \TestPackage{bidi} @@ -283,6 +288,7 @@ \TestPackage{CJKutf8} \TestPackage{calc} \TestPackage{cancel} +\TestPackage{chicago} \TestPackage{color} % this one should be there if graphics.sty is there. \TestPackage{covington} \TestPackage{csquotes} @@ -293,6 +299,7 @@ \TestPackage{esint} \TestPackage{eso-pic} \TestPackage{fontspec} +\TestPackage{harvard} \TestPackage{hhline} \TestPackage{ifthen} \TestPackage{iftex} @@ -320,7 +327,9 @@ \TestPackage{mathtools} \TestPackage{mhchem} \TestPackage[mongolian.ldf]{mongolian} +\TestPackage{mslapa} \TestPackage{multirow} +\TestPackage{named} \TestPackage{natbib} \TestPackage{nicefrac} \TestPackage{nomencl} diff --git a/src/LaTeX.cpp b/src/LaTeX.cpp index c9d3247..a624486 100644 --- a/src/LaTeX.cpp +++ b/src/LaTeX.cpp @@ -184,7 +184,7 @@ int LaTeX::run(TeXErrors & terr) bool had_depfile = depfile.exists(); bool run_bibtex = false; - FileName const aux_file(changeExtension(file.absFileName(), "aux")); + FileName const aux_file(changeExtension(file.absFileName(), ".aux")); if (had_depfile) { LYXERR(Debug::DEPEND, "Dependency file exists"); @@ -694,6 +694,10 @@ int LaTeX::scanLogFile(TeXErrors & terr) && contains(token, "on page") && contains(token, "undefined")) { retval |= UNDEF_CIT; + } else if (contains(token, "Citation") + && contains(token, "on input line") + && contains(token, "undefined")) { + retval |= UNDEF_CIT; } } else if (prefixIs(token, "Package")) { // Package warnings diff --git a/src/LaTeXFeatures.cpp b/src/LaTeXFeatures.cpp index 6b23fc5..562f9b1 100644 --- a/src/LaTeXFeatures.cpp +++ b/src/LaTeXFeatures.cpp @@ -716,6 +716,21 @@ char const * simplefeatures[] = { "tfrupee" }; +char const * bibliofeatures[] = { + // Known bibliography packages (will be loaded before natbib) + "achicago", + "apacite", + "apalike", + "astron", + "authordate1-4", + "chicago", + "harvard", + "mslapa", + "named" +}; + +int const nb_bibliofeatures = sizeof(bibliofeatures) / sizeof(char const *); + int const nb_simplefeatures = sizeof(simplefeatures) / sizeof(char const *); } @@ -894,6 +909,17 @@ string const LaTeXFeatures::getPackages() const params_.use_package("esint") != BufferParams::package_off) packages << "\\usepackage{esint}\n"; + // Known bibliography packages (simple \usepackage{package}) + for (int i = 0; i < nb_bibliofeatures; ++i) { + if (mustProvide(bibliofeatures[i])) + packages << "\\usepackage{" + << bibliofeatures[i] << "}\n"; + } + + // Compatibility between achicago and natbib + if (mustProvide("achicago") && mustProvide("natbib")) + packages << "\\let\\achicagobib\\thebibliography\n"; + // natbib.sty // Some classes load natbib themselves, but still allow (or even require) // plain numeric citations (ReVTeX is such a case, see bug 5182). @@ -907,6 +933,13 @@ string const LaTeXFeatures::getPackages() const packages << "]{natbib}\n"; } + // Compatibility between achicago and natbib + if (mustProvide("achicago") && mustProvide("natbib")) { + packages << "\\let\\thebibliography\\achicagobib\n"; + packages << "\\let\\SCcite\\astroncite\n"; + packages << "\\let\\UnexpandableProtect\\protect\n"; + } + // jurabib -- we need version 0.6 at least. if (mustProvide("jurabib")) packages << "\\usepackage{jurabib}[2004/01/25]\n"; ----------------------------------------------------------------------- Summary of changes: lib/chkconfig.ltx | 9 +++++++++ src/LaTeX.cpp | 6 +++++- src/LaTeXFeatures.cpp | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 1 deletions(-) hooks/post-receive -- The LyX Source Repository
