"latex" : flag_value;
} else if (flag_name == "xml")
xml_ = true;
- else if (flag_name == "needaux")
+ else if (flag_name == "needaux") {
need_aux_ = true;
- else if (flag_name == "resultdir")
+ latex_flavor_ = flag_value.empty() ?
+ "latex" : flag_value;
+ } else if (flag_name == "resultdir")
result_dir_ = (flag_value.empty())
? token_base : flag_value;
else if (flag_name == "resultfile")
for (Graph::EdgePath::const_iterator cit = path.begin();
cit != path.end(); ++cit) {
Converter const & conv = converterlist_[*cit];
- if (conv.latex()) {
+ if (conv.latex() || conv.need_aux()) {
if (conv.latex_flavor() == "latex")
return OutputParams::LATEX;
if (conv.latex_flavor() == "xelatex")
runparams.flavor = getFlavor(edgepath, buffer);
if (buffer) {
+ BufferParams const & bp = buffer->params();
runparams.use_japanese =
- (buffer->params().bufferFormat() == "latex"
- || suffixIs(buffer->params().bufferFormat(), "-ja"))
- && buffer->params().encoding().package() == Encoding::japanese;
- runparams.use_indices = buffer->params().use_indices;
- runparams.bibtex_command = buffer->params().bibtexCommand();
- runparams.index_command = (buffer->params().index_command == "default") ?
- string() : buffer->params().index_command;
- runparams.document_language = buffer->params().language->babel();
- runparams.main_fontenc = buffer->params().main_font_encoding();
- runparams.only_childbibs = !buffer->params().useBiblatex()
- && !buffer->params().useBibtopic()
- && buffer->params().multibib == "child";
+ (bp.bufferFormat() == "latex"
+ || suffixIs(bp.bufferFormat(), "-ja"))
+ && bp.encoding().package() == Encoding::japanese;
+ runparams.use_indices = bp.use_indices;
+ runparams.bibtex_command = bp.bibtexCommand();
+ runparams.index_command = (bp.index_command == "default") ?
+ string() : bp.index_command;
+ runparams.document_language = bp.language->babel();
+ // Some macros rely on font encoding
+ runparams.main_fontenc = bp.main_font_encoding();
+ runparams.only_childbibs = !bp.useBiblatex()
+ && !bp.useBibtopic()
+ && bp.multibib == "child";
}
// Some converters (e.g. lilypond) can only output files to the
if (result & LaTeX::ERRORS)
buffer.bufferErrors(terr, errorList);
+ if ((result & LaTeX::UNDEF_CIT) || (result & LaTeX::UNDEF_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."),
+ &buffer));
+ }
+
if (!errorList.empty()) {
// We will show the LaTeX Errors GUI later which contains
// specific error messages so it would be repetitive to give
int const ERROR_MASK =
LaTeX::NO_LOGFILE |
LaTeX::ERRORS |
+ LaTeX::UNDEF_CIT |
+ LaTeX::UNDEF_REF |
LaTeX::NO_OUTPUT;
return (result & ERROR_MASK) == 0 ? SUCCESS : FAILURE;