commit 878efbaf62404d1403366a3f0fe43014344ca38e
Author: Juergen Spitzmueller <[email protected]>
Date: Wed Nov 20 11:48:18 2019 +0100
Re-fix #11146 with recent LaTeX
(cherry picked from commit e75fa6f3ac5735dfcd588acb5c187556bface16d)
---
lib/chkconfig.ltx | 18 ++++++++++++++++++
src/Buffer.cpp | 9 +++++++--
status.23x | 3 +++
3 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/lib/chkconfig.ltx b/lib/chkconfig.ltx
index 9d743d2..305045f 100644
--- a/lib/chkconfig.ltx
+++ b/lib/chkconfig.ltx
@@ -120,6 +120,20 @@
#6
\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}
@@ -204,6 +218,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 dd0cca6..912baec 100644
--- a/src/Buffer.cpp
+++ b/src/Buffer.cpp
@@ -1911,9 +1911,14 @@ void 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)
diff --git a/status.23x b/status.23x
index 354c555..5cb8a2b 100644
--- a/status.23x
+++ b/status.23x
@@ -41,6 +41,9 @@ What's new
* DOCUMENT INPUT/OUTPUT
+- Fix problems with non-ASCII characters in file path with recent LaTeX
+ (bug 11146).
+
* USER INTERFACE
--
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs