mirror of
https://git.lyx.org/repos/lyx.git
synced 2025-01-03 08:28:25 +00:00
Fix greyedout note in RTL (#8647)
More complicated than I wished for, but color handling in RTL is
particularly tricky.
The three versions are needed due to the differences between [pdf]latex,
xetex, luatex/luabidi and luatex/babel.
(cherry picked from commit 4e74dd0d42
)
This commit is contained in:
parent
e097bade85
commit
7f58601c00
@ -204,6 +204,39 @@ static docstring const lyxgreyedout_def = from_ascii(
|
|||||||
" {\\textcolor{note_fontcolor}\\bgroup\\ignorespaces}\n"
|
" {\\textcolor{note_fontcolor}\\bgroup\\ignorespaces}\n"
|
||||||
" {\\ignorespacesafterend\\egroup}\n");
|
" {\\ignorespacesafterend\\egroup}\n");
|
||||||
|
|
||||||
|
static docstring const lyxgreyedout_rtl_def = from_ascii(
|
||||||
|
"%% The greyedout annotation environment (with RTL support)\n"
|
||||||
|
"\\NewEnviron{lyxgreyedout}{%\n"
|
||||||
|
"\\if@rl%\n"
|
||||||
|
"\\everypar{\\textcolor{note_fontcolor}\\beginL\\ignorespaces}%\n"
|
||||||
|
"\\BODY\\everypar{\\ignorespacesafterend\\endL}\n"
|
||||||
|
"\\else%\n"
|
||||||
|
"\\textcolor{note_fontcolor}\\bgroup\\ignorespaces%\n"
|
||||||
|
"\\BODY\\ignorespacesafterend\\egroup\n"
|
||||||
|
"\\fi}\n");
|
||||||
|
|
||||||
|
static docstring const lyxgreyedout_luartl_def = from_ascii(
|
||||||
|
"%% The greyedout annotation environment (with RTL support)\n"
|
||||||
|
"\\NewEnviron{lyxgreyedout}{%\n"
|
||||||
|
"\\if@RTL%\n"
|
||||||
|
"\\everypar{\\color{note_fontcolor}\\pardir TRT \\textdir TRT\\ignorespaces}%\n"
|
||||||
|
"\\BODY\\everypar{\\ignorespacesafterend}\n"
|
||||||
|
"\\else%\n"
|
||||||
|
"\\textcolor{note_fontcolor}\\bgroup\\ignorespaces%\n"
|
||||||
|
"\\BODY\\ignorespacesafterend\\egroup\n"
|
||||||
|
"\\fi}\n");
|
||||||
|
|
||||||
|
static docstring const lyxgreyedout_luartl_babel_def = from_ascii(
|
||||||
|
"%% The greyedout annotation environment (with RTL support)\n"
|
||||||
|
"\\NewEnviron{lyxgreyedout}{%\n"
|
||||||
|
"\\if@rl%\n"
|
||||||
|
"\\everypar{\\color{note_fontcolor}\\pardir TRT \\textdir TRT\\ignorespaces}%\n"
|
||||||
|
"\\BODY\\everypar{\\ignorespacesafterend}\n"
|
||||||
|
"\\else%\n"
|
||||||
|
"\\textcolor{note_fontcolor}\\bgroup\\ignorespaces%\n"
|
||||||
|
"\\BODY\\ignorespacesafterend\\egroup\n"
|
||||||
|
"\\fi}\n");
|
||||||
|
|
||||||
// We want to omit the file extension for includegraphics, but this does not
|
// We want to omit the file extension for includegraphics, but this does not
|
||||||
// work when the filename contains other dots.
|
// work when the filename contains other dots.
|
||||||
// Idea from http://www.tex.ac.uk/cgi-bin/texfaq2html?label=unkgrfextn
|
// Idea from http://www.tex.ac.uk/cgi-bin/texfaq2html?label=unkgrfextn
|
||||||
@ -990,6 +1023,7 @@ char const * simplefeatures[] = {
|
|||||||
"forest",
|
"forest",
|
||||||
"varwidth",
|
"varwidth",
|
||||||
"tablefootnote",
|
"tablefootnote",
|
||||||
|
"environ"
|
||||||
};
|
};
|
||||||
|
|
||||||
char const * bibliofeatures[] = {
|
char const * bibliofeatures[] = {
|
||||||
@ -1505,8 +1539,19 @@ TexString LaTeXFeatures::getMacros() const
|
|||||||
// greyed-out environment (note inset)
|
// greyed-out environment (note inset)
|
||||||
// the color is specified in the routine
|
// the color is specified in the routine
|
||||||
// getColorOptions() to avoid LaTeX-package clashes
|
// getColorOptions() to avoid LaTeX-package clashes
|
||||||
if (mustProvide("lyxgreyedout"))
|
if (mustProvide("lyxgreyedout")) {
|
||||||
macros << lyxgreyedout_def;
|
// We need different version for RTL (#8647)
|
||||||
|
if (hasRTLLanguage()) {
|
||||||
|
if (runparams_.flavor == OutputParams::LUATEX)
|
||||||
|
if (useBabel())
|
||||||
|
macros << lyxgreyedout_luartl_babel_def;
|
||||||
|
else
|
||||||
|
macros << lyxgreyedout_luartl_def;
|
||||||
|
else
|
||||||
|
macros << lyxgreyedout_rtl_def;
|
||||||
|
} else
|
||||||
|
macros << lyxgreyedout_def;
|
||||||
|
}
|
||||||
|
|
||||||
if (mustProvide("lyxdot"))
|
if (mustProvide("lyxdot"))
|
||||||
macros << lyxdot_def << '\n';
|
macros << lyxdot_def << '\n';
|
||||||
|
@ -317,6 +317,8 @@ void InsetNote::validate(LaTeXFeatures & features) const
|
|||||||
features.useInsetLayout(getLayout());
|
features.useInsetLayout(getLayout());
|
||||||
break;
|
break;
|
||||||
case InsetNoteParams::Greyedout:
|
case InsetNoteParams::Greyedout:
|
||||||
|
if (features.hasRTLLanguage())
|
||||||
|
features.require("environ");
|
||||||
InsetCollapsible::validate(features);
|
InsetCollapsible::validate(features);
|
||||||
break;
|
break;
|
||||||
case InsetNoteParams::Note:
|
case InsetNoteParams::Note:
|
||||||
|
@ -94,6 +94,8 @@ What's new
|
|||||||
|
|
||||||
- Fix compilation of Hebrew Article with XeTeX and LuaTeX (bug 10525).
|
- Fix compilation of Hebrew Article with XeTeX and LuaTeX (bug 10525).
|
||||||
|
|
||||||
|
- Fix greyedout note with RTL documents (bug 8647).
|
||||||
|
|
||||||
|
|
||||||
* USER INTERFACE
|
* USER INTERFACE
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user