]> git.lyx.org Git - features.git/commitdiff
Fix biber execution om MikTeX.
authorJürgen Spitzmüller <spitz@lyx.org>
Fri, 7 Oct 2011 13:48:59 +0000 (13:48 +0000)
committerJürgen Spitzmüller <spitz@lyx.org>
Fri, 7 Oct 2011 13:48:59 +0000 (13:48 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@39817 a592a061-630c-0410-9148-cb99ea01b6c8

src/LaTeX.cpp
src/LaTeX.h
status.20x

index 04a86f795a95cd6de5b36fc98e4e3cd03a22662d..3b06c8e34c0ed936149331ba70ea71999486d777 100644 (file)
@@ -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<AuxInfo> const & bibtex_info,
-                                    bool biber)
+                                    vector<AuxInfo> 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<AuxInfo> const & bibtex_info,
-                     OutputParams const & runparams, bool biber)
+                     OutputParams const & runparams)
 {
        bool result = false;
        for (vector<AuxInfo>::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")) {
index 4d1c3356d8dde4ad44eaf4bd153c800ee88b9113..e82af858d6fe23ec30b29c8122fb4a9fd7640e7f 100644 (file)
@@ -192,15 +192,14 @@ private:
 
        ///
        void updateBibtexDependencies(DepTable &,
-                                     std::vector<AuxInfo> const &,
-                                     bool biber);
+                                     std::vector<AuxInfo> const &);
 
        ///
        void scanBlgFile(DepTable & head);
 
        ///
        bool runBibTeX(std::vector<AuxInfo> const &,
-                      OutputParams const &, bool biber);
+                      OutputParams const &);
 
        ///
        void deleteFilesOnError() const;
@@ -222,6 +221,9 @@ private:
 
        ///
        OutputParams runparams;
+       
+       /// Do we use biber?
+       bool biber;
 };
 
 
index cfa90072a008f55117252bce2088b571b3d6e0c4..0f9999d232d56603edc89b427608f2e2c35773da 100644 (file)
@@ -69,6 +69,8 @@ What's new
 
 * DOCUMENT INPUT/OUTPUT
 
+- Fix execution of biber with MikTeX.
+
 - Fix output of multirow table cell borders (bug 7578).
 
 - Fix ASCII export for branch inset (bug 7720).