mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 05:16:21 +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"
|
||||
" {\\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
|
||||
// work when the filename contains other dots.
|
||||
// Idea from http://www.tex.ac.uk/cgi-bin/texfaq2html?label=unkgrfextn
|
||||
@ -990,6 +1023,7 @@ char const * simplefeatures[] = {
|
||||
"forest",
|
||||
"varwidth",
|
||||
"tablefootnote",
|
||||
"environ"
|
||||
};
|
||||
|
||||
char const * bibliofeatures[] = {
|
||||
@ -1505,8 +1539,19 @@ TexString LaTeXFeatures::getMacros() const
|
||||
// greyed-out environment (note inset)
|
||||
// the color is specified in the routine
|
||||
// getColorOptions() to avoid LaTeX-package clashes
|
||||
if (mustProvide("lyxgreyedout"))
|
||||
macros << lyxgreyedout_def;
|
||||
if (mustProvide("lyxgreyedout")) {
|
||||
// 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"))
|
||||
macros << lyxdot_def << '\n';
|
||||
|
@ -317,6 +317,8 @@ 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:
|
||||
|
@ -94,6 +94,8 @@ What's new
|
||||
|
||||
- Fix compilation of Hebrew Article with XeTeX and LuaTeX (bug 10525).
|
||||
|
||||
- Fix greyedout note with RTL documents (bug 8647).
|
||||
|
||||
|
||||
* USER INTERFACE
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user