commit e75fa6f3ac5735dfcd588acb5c187556bface16d
Author: Juergen Spitzmueller <[email protected]>
Date: Wed Nov 20 11:48:18 2019 +0100
Re-fix #11146 with recent LaTeX
---
lib/chkconfig.ltx | 18 ++++++++++++++++++
src/Buffer.cpp | 9 +++++++--
2 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/lib/chkconfig.ltx b/lib/chkconfig.ltx
index 069d3a5..73b1daa 100644
--- a/lib/chkconfig.ltx
+++ b/lib/chkconfig.ltx
@@ -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>}
diff --git a/src/Buffer.cpp b/src/Buffer.cpp
index 46a9d96..784c46e 100644
--- a/src/Buffer.cpp
+++ b/src/Buffer.cpp
@@ -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)
--
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs