commit 0ffcff55f302c05a9a0eb1f938be6b23fbcbd5c9
Author: Enrico Forestieri <for...@lyx.org>
Date:   Mon Jun 19 19:53:16 2023 +0200

    Use \ifthenelse instead of relying on TeX primitives
    
    This fixes the issue reported here:
    https://www.mail-archive.com/lyx-users@lists.lyx.org/msg115156.html
    
    The problem is due to the use of the mathpazo package because
    it defines the macro \f@family as "ppl\n", i.e., it appends a
    newline character at the end. Now, the "\if" TeX primitive
    expands its arguments for comparing them and the newline causes
    a "missing \begin{document}" error. Instead of complicating the
    code to account for this, it is better using the ifthen package.
---
 lib/scripts/legacy_lyxpreview2ppm.py |    7 +++----
 status.23x                           |    2 ++
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/lib/scripts/legacy_lyxpreview2ppm.py 
b/lib/scripts/legacy_lyxpreview2ppm.py
index 08703fb..90dccc2 100644
--- a/lib/scripts/legacy_lyxpreview2ppm.py
+++ b/lib/scripts/legacy_lyxpreview2ppm.py
@@ -252,11 +252,10 @@ def legacy_latex_file(latex_file, fg_color, bg_color):
 \\definecolor{lyxbg}{rgb}{%s}
 \\pagecolor{lyxbg}
 \\usepackage[%s,tightpage]{preview}
+\\usepackage{ifthen}
 \\makeatletter
-\\def\\t@a{cmr}
-\\if\\f@family\\t@a
-\\IfFileExists{lmodern.sty}{\\usepackage{lmodern}}{\\usepackage{ae,aecompl}}
-\\fi
+\\ifthenelse{\\equal{\\f@family}{cmr}}{
+\\IfFileExists{lmodern.sty}{\\usepackage{lmodern}}{\\usepackage{ae,aecompl}}}{}
 \\g@addto@macro\\preview{\\begingroup\\color{lyxbg}\\special{ps::clippath 
fill}\\color{lyxfg}}
 \\g@addto@macro\\endpreview{\\endgroup}
 \\makeatother
diff --git a/status.23x b/status.23x
index cc11a21..efed021 100644
--- a/status.23x
+++ b/status.23x
@@ -52,6 +52,8 @@ What's new
 
 - Avoid crashing on a recursive macro definition (bug 12633).
 
+- Fix issue with on-screen instant preview and the mathpazo package.
+
 
 * INTERNALS
 
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to