#include "graphics/GraphicsCache.h"
#include "graphics/PreviewLoader.h"
+#include "frontends/Application.h"
#include "frontends/alert.h"
#include "frontends/Delegates.h"
#include "frontends/WorkAreaManager.h"
if (!cloned_buffer_) {
temppath = createBufferTmpDir();
lyxvc.setBuffer(owner_);
+ Language const * inplang = theApp() ?
+ languages.getFromCode(theApp()->inputLanguageCode())
+ : nullptr;
+ if (inplang)
+ params.language = inplang;
if (use_gui)
wa_ = new frontend::WorkAreaManager;
return;
params().headsep.erase();
params().footskip.erase();
params().columnsep.erase();
+ params().font_roman_opts.erase();
+ params().font_sans_opts.erase();
+ params().font_typewriter_opts.erase();
params().fonts_cjk.erase();
params().listings_params.clear();
params().clearLayoutModules();
os << "\\catcode`\\%=11"
"\\def\\%{%}\\catcode`\\%=14\n";
}
- bool const detokenize = !isAscii(from_utf8(docdir));
+ if (contains(docdir, '~'))
+ docdir = subst(docdir, "~", "\\string~");
+ bool const nonascii = !isAscii(from_utf8(docdir));
+ // LaTeX 2019/10/01 handles non-ascii path without detokenize
+ bool const utfpathlatex = features.isAvailable("LaTeX-2019/10/01");
+ bool const detokenize = !utfpathlatex && nonascii;
bool const quote = contains(docdir, ' ');
+ if (utfpathlatex && nonascii)
+ os << "\\UseRawInputEncoding\n";
os << "\\makeatletter\n"
<< "\\def\\input@path{{";
if (detokenize)
runparams.use_babel = params().writeLaTeX(os, features,
d->filename.onlyPath());
+ // Active characters
+ runparams.active_chars = features.getActiveChars();
+
// Biblatex bibliographies are loaded here
if (params().useBiblatex()) {
vector<pair<docstring, string>> const bibfiles =
if (it == m.begin())
return m.end();
- it--;
+ --it;
return it;
}
if (format == "pdf4")
s += "\n"
+ bformat(_("Hint: use non-TeX fonts or set input encoding "
- " to '%1$s' or '%2$s'"),
- from_utf8(encodings.fromLyXName("utf8")->guiName()),
- from_utf8(encodings.fromLyXName("ascii")->guiName()));
+ " to '%1$s'"), from_utf8(encodings.fromLyXName("ascii")->guiName()));
Alert::error(_("Couldn't export file"), s);
}
return ExportNoPathToFormat;
result_file = dest_filename;
// We need to copy referenced files (e. g. included graphics
// if format == "dvi") to the result dir.
- vector<ExportedFile> const files =
+ vector<ExportedFile> const extfiles =
runparams.exportdata->externalFiles(format);
string const dest = runparams.export_folder.empty() ?
onlyPath(result_file) : runparams.export_folder;
: force_overwrite == ALL_FILES;
CopyStatus status = use_force ? FORCE : SUCCESS;
- for (ExportedFile const & exp : files) {
+ for (ExportedFile const & exp : extfiles) {
if (status == CANCEL) {
message(_("Document export cancelled."));
return ExportCancel;