X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FConverter.cpp;h=0578026be334ca5dec3dd82682f4c979bacec5e1;hb=bca1b63d89e27b31b089ab48c63368640084b3a6;hp=5ea8866ce29c8c22d6db1d0d89ef8fa600b23e34;hpb=6c889209a77252b66f464ae075d37c7b99d2e493;p=lyx.git diff --git a/src/Converter.cpp b/src/Converter.cpp index 5ea8866ce2..0578026be3 100644 --- a/src/Converter.cpp +++ b/src/Converter.cpp @@ -13,7 +13,6 @@ #include "Converter.h" #include "Buffer.h" -#include "buffer_funcs.h" #include "BufferParams.h" #include "ConverterCache.h" #include "Encoding.h" @@ -24,6 +23,7 @@ #include "LaTeX.h" #include "LyXRC.h" #include "Mover.h" +#include "OutputParams.h" #include "ParagraphList.h" #include "Session.h" @@ -105,7 +105,7 @@ private: Converter::Converter(string const & f, string const & t, string const & c, string const & l) : from_(f), to_(t), command_(c), flags_(l), - From_(nullptr), To_(nullptr), latex_(false), xml_(false), + From_(nullptr), To_(nullptr), latex_(false), docbook_(false), need_aux_(false), nice_(false), need_auth_(false) {} @@ -122,7 +122,7 @@ void Converter::readFlags() latex_flavor_ = flag_value.empty() ? "latex" : flag_value; } else if (flag_name == "xml") - xml_ = true; + docbook_ = true; else if (flag_name == "needaux") { need_aux_ = true; latex_flavor_ = flag_value.empty() ? @@ -259,32 +259,32 @@ void Converters::updateLast(Formats const & formats) } -OutputParams::FLAVOR Converters::getFlavor(Graph::EdgePath const & path, - Buffer const * buffer) +Flavor Converters::getFlavor(Graph::EdgePath const & path, + Buffer const * buffer) const { for (auto const & edge : path) { Converter const & conv = converterlist_[edge]; if (conv.latex() || conv.need_aux()) { if (conv.latex_flavor() == "latex") - return OutputParams::LATEX; + return Flavor::LaTeX; if (conv.latex_flavor() == "xelatex") - return OutputParams::XETEX; + return Flavor::XeTeX; if (conv.latex_flavor() == "lualatex") - return OutputParams::LUATEX; + return Flavor::LuaTeX; if (conv.latex_flavor() == "dvilualatex") - return OutputParams::DVILUATEX; + return Flavor::DviLuaTeX; if (conv.latex_flavor() == "pdflatex") - return OutputParams::PDFLATEX; + return Flavor::PdfLaTeX; } - if (conv.xml()) - return OutputParams::XML; + if (conv.docbook()) + return Flavor::DocBook5; } return buffer ? buffer->params().getOutputFlavor() - : OutputParams::LATEX; + : Flavor::LaTeX; } -string Converters::getHyperrefDriver(Graph::EdgePath const & path) +string Converters::getHyperrefDriver(Graph::EdgePath const & path) const { for (auto const & edge : path) { Converter const & conv = converterlist_[edge]; @@ -478,11 +478,10 @@ Converters::RetVal Converters::convert(Buffer const * buffer, || suffixIs(bp.bufferFormat(), "-ja")) && bp.encoding().package() == Encoding::japanese; runparams.use_indices = bp.use_indices; - runparams.bibtex_command = bp.bibtexCommand(); + runparams.bibtex_command = bp.bibtexCommand(true); runparams.index_command = (bp.index_command == "default") ? string() : bp.index_command; - runparams.document_language = bp.language->babel(); - runparams.xindy_language = bp.language->xindy(); + runparams.document_language = bp.language->lang(); // Some macros rely on font encoding runparams.main_fontenc = bp.main_font_encoding(); runparams.only_childbibs = !bp.useBiblatex() @@ -595,24 +594,24 @@ Converters::RetVal Converters::convert(Buffer const * buffer, // FIXME KILLED // Check changed return value here. RetVal const retval = runLaTeX(*buffer, command, runparams, errorList); - if (retval != SUCCESS) - return retval; + if (retval != SUCCESS) + return retval; } else { if (conv.need_aux() && !run_latex) { // We are not importing, we have a buffer LASSERT(buffer, return FAILURE); string command; switch (runparams.flavor) { - case OutputParams::DVILUATEX: + case Flavor::DviLuaTeX: command = dvilualatex_command_; break; - case OutputParams::LUATEX: + case Flavor::LuaTeX: command = lualatex_command_; break; - case OutputParams::PDFLATEX: + case Flavor::PdfLaTeX: command = pdflatex_command_; break; - case OutputParams::XETEX: + case Flavor::XeTeX: command = xelatex_command_; break; default: @@ -820,7 +819,7 @@ bool Converters::move(string const & fmt, } -bool Converters::formatIsUsed(string const & format) +bool Converters::formatIsUsed(string const & format) const { for (auto const & cvt : converterlist_) { if (cvt.from() == format || cvt.to() == format) @@ -834,7 +833,7 @@ bool Converters::scanLog(Buffer const & buffer, string const & /*command*/, FileName const & filename, ErrorList & errorList) { OutputParams runparams(nullptr); - runparams.flavor = OutputParams::LATEX; + runparams.flavor = Flavor::LaTeX; LaTeX latex("", runparams, filename); TeXErrors terr; int const result = latex.scanLogFile(terr); @@ -854,7 +853,7 @@ Converters::RetVal Converters::runLaTeX(Buffer const & buffer, string const & co // do the LaTeX run(s) string const name = buffer.latexName(); - LaTeX latex(command, runparams, FileName(makeAbsPath(name)), + LaTeX latex(command, runparams, makeAbsPath(name), buffer.filePath(), buffer.layoutPos(), buffer.isClone(), buffer.freshStartRequired()); TeXErrors terr; @@ -866,7 +865,7 @@ Converters::RetVal Converters::runLaTeX(Buffer const & buffer, string const & co }); int const result = latex.run(terr); - if (result == Systemcall::KILLED) { + if (result == Systemcall::KILLED || result == Systemcall::TIMEOUT) { Alert::error(_("Export canceled"), _("The export process was terminated by the user.")); return KILLED; @@ -875,11 +874,12 @@ Converters::RetVal Converters::runLaTeX(Buffer const & buffer, string const & co if (result & LaTeX::ERRORS) buffer.bufferErrors(terr, errorList); - if ((result & LaTeX::UNDEF_CIT) || (result & LaTeX::UNDEF_REF)) { + if ((result & LaTeX::UNDEF_CIT) || (result & LaTeX::UNDEF_UNKNOWN_REF)) { buffer.bufferRefs(terr, errorList); if (errorList.empty()) errorList.push_back(ErrorItem(_("Undefined reference"), - _("Undefined reference or citation was found during the build, please check the Log."), + _("Undefined references or citations were found during the build.\n" + "Please check the warnings in the LaTeX log (Document > LaTeX Log)."), &buffer)); } @@ -912,7 +912,7 @@ Converters::RetVal Converters::runLaTeX(Buffer const & buffer, string const & co LaTeX::NO_LOGFILE | LaTeX::ERRORS | LaTeX::UNDEF_CIT | - LaTeX::UNDEF_REF | + LaTeX::UNDEF_UNKNOWN_REF | LaTeX::NO_OUTPUT; return (result & ERROR_MASK) == 0 ? SUCCESS : FAILURE;