X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLaTeX.cpp;h=3b06c8e34c0ed936149331ba70ea71999486d777;hb=ab8a290040dc28f39ebb230ab4b8a43467df0906;hp=04a86f795a95cd6de5b36fc98e4e3cd03a22662d;hpb=78fa6abc083a99cc0b1e536a43c3a7da91d9fdb7;p=lyx.git diff --git a/src/LaTeX.cpp b/src/LaTeX.cpp index 04a86f795a..3b06c8e34c 100644 --- a/src/LaTeX.cpp +++ b/src/LaTeX.cpp @@ -279,7 +279,7 @@ int LaTeX::run(TeXErrors & terr) // biber writes no info to the aux file, so we just check // if a bcf file exists (and if it was updated) FileName const bcffile(changeExtension(file.absFileName(), ".bcf")); - bool const biber = head.exist(bcffile); + biber |= head.exist(bcffile); // run bibtex // if (scanres & UNDEF_CIT || scanres & RERUN || run_bibtex) @@ -290,8 +290,8 @@ int LaTeX::run(TeXErrors & terr) // no checks for now LYXERR(Debug::LATEX, "Running BibTeX."); message(_("Running BibTeX.")); - updateBibtexDependencies(head, bibtex_info, biber); - rerun |= runBibTeX(bibtex_info, runparams, biber); + updateBibtexDependencies(head, bibtex_info); + rerun |= runBibTeX(bibtex_info, runparams); if (biber) { // since biber writes no info to the aux file, we have // to parse the blg file (which only exists after biber @@ -304,7 +304,7 @@ int LaTeX::run(TeXErrors & terr) /// If we run pdflatex on the file after running latex on it, /// then we do not need to run bibtex, but we do need to /// insert the .bib and .bst files into the .dep-pdf file. - updateBibtexDependencies(head, bibtex_info, biber); + updateBibtexDependencies(head, bibtex_info); } // 2 @@ -350,8 +350,8 @@ int LaTeX::run(TeXErrors & terr) // no checks for now LYXERR(Debug::LATEX, "Running BibTeX."); message(_("Running BibTeX.")); - updateBibtexDependencies(head, bibtex_info, biber); - rerun |= runBibTeX(bibtex_info, runparams, biber); + updateBibtexDependencies(head, bibtex_info); + rerun |= runBibTeX(bibtex_info, runparams); } // 4 @@ -550,8 +550,7 @@ void LaTeX::scanAuxFile(FileName const & file, AuxInfo & aux_info) void LaTeX::updateBibtexDependencies(DepTable & dep, - vector const & bibtex_info, - bool biber) + vector const & bibtex_info) { // Since a run of Bibtex mandates more latex runs it is ok to // remove all ".bib" and ".bst" files. @@ -585,7 +584,7 @@ void LaTeX::updateBibtexDependencies(DepTable & dep, bool LaTeX::runBibTeX(vector const & bibtex_info, - OutputParams const & runparams, bool biber) + OutputParams const & runparams) { bool result = false; for (vector::const_iterator it = bibtex_info.begin(); @@ -708,6 +707,9 @@ int LaTeX::scanLogFile(TeXErrors & terr) } } else if (contains(token, "run BibTeX")) { retval |= UNDEF_CIT; + } else if (contains(token, "run Biber")) { + retval |= UNDEF_CIT; + biber = true; } else if (contains(token, "Rerun LaTeX") || contains(token, "Please rerun LaTeX") || contains(token, "Rerun to get")) {