X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fgraphics%2FPreviewLoader.cpp;h=b4d78e0ab5b68503d21445c7a2b652ecda124d90;hb=99c5a46c68bd605c03d4e3a86811831ed7dd3d37;hp=eadcd93f23773fbc9affde294f791d5d5cb4adfe;hpb=5c17ce4195197220f809b9b1809c52fe1346dc16;p=lyx.git diff --git a/src/graphics/PreviewLoader.cpp b/src/graphics/PreviewLoader.cpp index eadcd93f23..b4d78e0ab5 100644 --- a/src/graphics/PreviewLoader.cpp +++ b/src/graphics/PreviewLoader.cpp @@ -547,7 +547,7 @@ void PreviewLoader::Impl::startLoading(bool wait) Encoding const & enc = buffer_.params().encoding(); ofdocstream of; try { of.reset(enc.iconvName()); } - catch (iconv_codecvt_facet_exception & e) { + catch (iconv_codecvt_facet_exception const & e) { LYXERR0("Caught iconv exception: " << e.what() << "\nUnable to create LaTeX file: " << latexfile); return; @@ -583,25 +583,33 @@ void PreviewLoader::Impl::startLoading(bool wait) double const font_scaling_factor = buffer_.isExporting() ? 75.0 * buffer_.params().html_math_img_scale : 0.01 * lyxrc.dpi * lyxrc.zoom * lyxrc.preview_scale_factor; - - // FIXME XHTML - // The colors should be customizable. - ColorCode const bg = buffer_.isExporting() - ? Color_white : PreviewLoader::backgroundColor(); - ColorCode const fg = buffer_.isExporting() - ? Color_black : PreviewLoader::foregroundColor(); + // The conversion command. ostringstream cs; cs << pconverter_->command << " " << quoteName(latexfile.toFilesystemEncoding()) - << " --dpi " << int(font_scaling_factor) - << " --fg " << theApp()->hexName(fg) - << " --bg " << theApp()->hexName(bg); + << " --dpi " << int(font_scaling_factor); + + // FIXME XHTML + // The colors should be customizable. + if (!buffer_.isExporting()) { + ColorCode const fg = PreviewLoader::foregroundColor(); + ColorCode const bg = PreviewLoader::backgroundColor(); + cs << " --fg " << theApp()->hexName(fg) + << " --bg " << theApp()->hexName(bg); + } + // FIXME what about LuaTeX? if (buffer_.params().useNonTeXFonts) cs << " --latex=xelatex"; if (buffer_.params().encoding().package() == Encoding::japanese) cs << " --latex=platex"; + if (buffer_.params().bibtex_command != "default") + cs << " --bibtex=" << quoteName(buffer_.params().bibtex_command); + else if (buffer_.params().encoding().package() == Encoding::japanese) + cs << " --bibtex=" << quoteName(lyxrc.jbibtex_command); + else + cs << " --bibtex=" << quoteName(lyxrc.bibtex_command); if (buffer_.params().bufferFormat() == "lilypond-book") cs << " --lilypond"; @@ -710,7 +718,8 @@ void PreviewLoader::Impl::dumpPreamble(otexstream & os) const runparams.nice = true; runparams.moving_arg = true; runparams.free_spacing = true; - buffer_.writeLaTeXSource(os, runparams, true, false); + runparams.is_child = buffer_.parent(); + buffer_.writeLaTeXSource(os, buffer_.filePath(), runparams, Buffer::OnlyPreamble); // FIXME! This is a HACK! The proper fix is to control the 'true' // passed to WriteStream below: @@ -735,26 +744,7 @@ void PreviewLoader::Impl::dumpPreamble(otexstream & os) const // Also support PDF output (automatically generated e.g. when // \usepackage[pdftex]{hyperref} is used and XeTeX. os << "\n" - << "\\newif\\ifxetex\n" - << "\\expandafter\\ifx\\csname XeTeXrevision\\endcsname\\relax\n" - << " \\xetexfalse\n" - << "\\else\n" - << " \\xetextrue\n" - << "\\fi\n" - << "\\newif\\ifpdf\n" - << "\\ifx\\pdfoutput\\undefined\n" - << "\\else\\ifx\\pdfoutput\\relax\n" - << "\\else\\ifnum0=\\pdfoutput\n" - << "\\else\\pdftrue\\fi\\fi\\fi\n" - << "\\ifxetex\n" - << " \\usepackage[active,delayed,tightpage,showlabels,lyx,xetex]{preview}\n" - << "\\else\n" - << "\\ifpdf\n" - << " \\usepackage[active,delayed,tightpage,showlabels,lyx,pdftex]{preview}\n" - << "\\else\n" - << " \\usepackage[active,delayed,showlabels,lyx,dvips]{preview}\n" - << "\\fi\n" - << "\\fi\n" + << "\\usepackage[active,delayed,showlabels,lyx]{preview}\n" << "\n"; }