PreviewLoader::Impl::Impl(PreviewLoader & p, Buffer const & b)
: parent_(p), buffer_(b)
{
- if (b.params().encoding().package() == Encoding::japanese)
- pconverter_ = setConverter("lyxpreview-platex");
- else
+ if (!pconverter_)
pconverter_ = setConverter("lyxpreview");
}
// 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";
string const command = libScriptSearch(cs.str());
if (wait) {
- ForkedCall call;
+ ForkedCall call(buffer_.filePath());
int ret = call.startScript(ForkedProcess::Wait, command);
static int fake = (2^20) + 1;
int pid = fake++;
convert_ptr(new ForkedCall::SignalType);
convert_ptr->connect(bind(&Impl::finishedGenerating, this, _1, _2));
- ForkedCall call;
+ ForkedCall call(buffer_.filePath());
int ret = call.startScript(command, convert_ptr);
if (ret != 0) {
runparams.nice = true;
runparams.moving_arg = true;
runparams.free_spacing = true;
- buffer_.writeLaTeXSource(os, runparams, true, false);
+ 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:
// 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";
}