From: Enrico Forestieri Date: Mon, 19 Jun 2023 17:53:16 +0000 (+0200) Subject: Use \ifthenelse instead of relying on TeX primitives X-Git-Tag: 2.3.8~43 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=0ffcff55f302c05a9a0eb1f938be6b23fbcbd5c9;p=lyx.git 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. --- diff --git a/lib/scripts/legacy_lyxpreview2ppm.py b/lib/scripts/legacy_lyxpreview2ppm.py index 08703fb380..90dccc2870 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 cc11a21747..efed0217de 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