[LyX/master] Fix greyedout with RTL languages (#8647)
Udi Fogiel
ufogiel at lyx.org
Mon Jun 10 12:03:31 UTC 2024
commit ee43584140d9c62801d524291c5cfd0c29c8d916
Author: Udi Fogiel <ufogiel at lyx.org>
Date: Mon Jun 10 15:03:05 2024 +0300
Fix greyedout with RTL languages (#8647)
---
src/LaTeXFeatures.cpp | 52 ++++++++++--------------------------------------
src/insets/InsetNote.cpp | 2 --
2 files changed, 10 insertions(+), 44 deletions(-)
diff --git a/src/LaTeXFeatures.cpp b/src/LaTeXFeatures.cpp
index 20abc00c6c..4a4385fc01 100644
--- a/src/LaTeXFeatures.cpp
+++ b/src/LaTeXFeatures.cpp
@@ -546,46 +546,17 @@ static docstring const lyxmintcaption_def = from_ascii(
"}\n");
-docstring const lyxgreyedoutDef(bool const rtl, bool const ct, bool const lua, bool const babel)
+docstring const lyxgreyedoutDef(bool const ct)
{
odocstringstream ods;
- if (rtl) {
- ods << "%% The greyedout annotation environment (with RTL support)\n"
- << "\\NewEnviron{lyxgreyedout}{%\n";
- if (lua && !babel)
- // luabidi uses this switch
- ods << " \\if at RTL%\n";
- else
- ods << " \\if at rl%\n";
- ods << " \\everypar{%\n";
- if (lua)
- ods << " \\pardir TRT \\textdir TRT\\normalfont\\normalsize\\textcolor{note_fontcolor}\\ignorespaces%\n";
- else
- ods << " \\normalfont\\normalsize\\textcolor{note_fontcolor}\\beginL\\ignorespaces%\n";
- ods << " }%\n";
- if (ct)
- ods << " \\colorlet{lyxadded}{lyxadded!30}\\colorlet{lyxdeleted}{lyxdeleted!30}%\n";
- if (lua)
- ods << " \\BODY\\everypar{\\ignorespacesafterend}%\n";
- else
- ods << " \\BODY\\everypar{\\ignorespacesafterend\\endL}%\n";
- ods << " \\else%\n";
- if (ct)
- ods << " \\colorlet{lyxadded}{lyxadded!30}\\colorlet{lyxdeleted}{lyxdeleted!30}%\n";
- ods << " \\normalfont\\normalsize\\textcolor{note_fontcolor}\\bgroup\\ignorespaces%\n"
- << " \\BODY\\ignorespacesafterend\\egroup%\n"
- << " \\fi%\n"
- << "}\n";
- } else {
- ods << "%% The greyedout annotation environment\n"
- << "\\newenvironment{lyxgreyedout}\n"
- << "{";
- if (ct)
- ods << "\\colorlet{lyxadded}{lyxadded!30}\\colorlet{lyxdeleted}{lyxdeleted!30}%\n ";
- ods << "\\normalfont\\normalsize\\textcolor{note_fontcolor}\\bgroup\\ignorespaces}\n"
- << "{\\ignorespacesafterend\\egroup}\n";
- }
+ ods << "%% The greyedout annotation environment\n"
+ << "\\newenvironment{lyxgreyedout}\n"
+ << "{";
+ if (ct)
+ ods << "\\colorlet{lyxadded}{lyxadded!30}\\colorlet{lyxdeleted}{lyxdeleted!30}%\n ";
+ ods << "\\normalfont\\normalsize\\textcolor{note_fontcolor}\\bgroup\\ignorespaces}\n"
+ << "{\\ignorespacesafterend\\egroup}\n";
return ods.str();
}
@@ -1166,7 +1137,6 @@ char const * simplefeatures[] = {
"xskak",
"pict2e",
"drs",
- "environ",
"dsfont",
"hepparticles",
"hepnames"
@@ -1740,10 +1710,8 @@ TexString LaTeXFeatures::getMacros() const
// the color is specified in the routine
// getColorOptions() to avoid LaTeX-package clashes
if (mustProvide("lyxgreyedout"))
- // We need different version for RTL (#8647), with change tracking (#12025)
- // and for some specific engine/language package combinations
- macros << lyxgreyedoutDef(hasRTLLanguage(), mustProvide("ct-xcolor-ulem"),
- (runparams_.flavor == Flavor::LuaTeX), useBabel());
+ // We need different version with change tracking (#12025)
+ macros << lyxgreyedoutDef(mustProvide("ct-xcolor-ulem"));
if (mustProvide("lyxdot"))
macros << lyxdot_def << '\n';
diff --git a/src/insets/InsetNote.cpp b/src/insets/InsetNote.cpp
index ce5fd3e382..cd72e4fbf4 100644
--- a/src/insets/InsetNote.cpp
+++ b/src/insets/InsetNote.cpp
@@ -336,8 +336,6 @@ void InsetNote::validate(LaTeXFeatures & features) const
features.useInsetLayout(getLayout());
break;
case InsetNoteParams::Greyedout:
- if (features.hasRTLLanguage())
- features.require("environ");
InsetCollapsible::validate(features);
break;
case InsetNoteParams::Note:
More information about the lyx-cvs
mailing list