Re-fix #11146 with recent LaTeX

This commit is contained in:
Juergen Spitzmueller 2019-11-20 11:48:18 +01:00
parent a37c003448
commit e75fa6f3ac
2 changed files with 25 additions and 2 deletions

View File

@ -143,6 +143,20 @@
\fi}
% Test for the LaTeX version
\newcommand{\TestLaTeXVersion}[1]{
\message{^^J\prefix checking for LaTeX version at least as of #1...}
\@ifl@t@r\fmtversion{#1}{\existstrue}{\existsfalse}
\ifexists
\message{yes^^J}
\AddVariable{#1}{yes}
\AddPackage{LaTeX-#1}
\else
\message{no^^J}
\AddVariable{#1}{no}
\fi}
% Adapted from ltxcheck.tex
\newcommand{\TestFont}[2][\default]{
\def\default{#2}
@ -227,6 +241,10 @@
\message{^^J\prefix checking for LaTeX version... \fmtversion}
\AddVariable{fmtversion}{\fmtversion}
%%% Crucial versions
% This one introduces path encoding changes
\TestLaTeXVersion{2019/10/01}
%%% And now, the list of available languages
% The trick is to know that \the\everyjob contains something like
% \typeout{LaTeX2e <2001/06/01>}

View File

@ -1940,9 +1940,14 @@ Buffer::ExportStatus Buffer::writeLaTeXSource(otexstream & os,
os << "\\catcode`\\%=11"
"\\def\\%{%}\\catcode`\\%=14\n";
}
bool const detokenize = !isAscii(from_utf8(docdir))
|| contains(docdir, '~');
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 || contains(docdir, '~'));
bool const quote = contains(docdir, ' ');
if (utfpathlatex && nonascii)
os << "\\UseRawInputEncoding\n";
os << "\\makeatletter\n"
<< "\\def\\input@path{{";
if (detokenize)