[LyX/master] Amend 59509e2afa3f
Juergen Spitzmueller
spitz at lyx.org
Wed May 6 10:19:42 UTC 2026
commit 0db69518726354f0448dc5654ba841d54aa0769f
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Wed May 6 12:19:22 2026 +0200
Amend 59509e2afa3f
Consider custom color as well
---
src/tex2lyx/Preamble.cpp | 23 +++++++++++++++++------
1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/src/tex2lyx/Preamble.cpp b/src/tex2lyx/Preamble.cpp
index 2a4a9e1a79..61dac99ac9 100644
--- a/src/tex2lyx/Preamble.cpp
+++ b/src/tex2lyx/Preamble.cpp
@@ -3623,22 +3623,33 @@ void Preamble::parse(Parser & p, string const & forceclass,
if (t.cs() == "colorlet") {
string const color1 = p.getArg('{', '}');
string const color2 = p.getArg('{', '}');
- if (color1 == "document_fontcolor")
+ bool is_known_source_col = false;
+ if (color1 == "document_fontcolor") {
h_fontcolor = getLyXColor(color2, true);
- else if (color1 == "note_fontcolor")
+ is_known_source_col = true;
+ } else if (color1 == "note_fontcolor") {
h_notefontcolor = getLyXColor(color2, true);
- else if (color1 == "page_backgroundcolor")
+ is_known_source_col = true;
+ } else if (color1 == "page_backgroundcolor") {
h_backgroundcolor = getLyXColor(color2, true);
- else if (color1 == "shadecolor")
+ is_known_source_col = true;
+ } else if (color1 == "shadecolor") {
h_boxbgcolor = getLyXColor(color2, true);
- else if (theLaTeXColors().isLaTeXColor(color2)) {
+ is_known_source_col = true;
+ } else if (h_custom_colors.find(color2) != h_custom_colors.end()) {
+ // a known custom color
+ h_custom_colors[color1] = h_custom_colors[color2];
+ } else if (theLaTeXColors().isLaTeXColor(color2)) {
+ // check if the source is a known defined color
for (auto const & cc : theLaTeXColors().getLaTeXColors()) {
if (cc.first == color2) {
h_custom_colors[color1] = ltrim(cc.second.hexname(), "#");
+ is_known_source_col = true;
break;
}
}
- } else {
+ }
+ if (!is_known_source_col) {
h_preamble << "\\colorlet{" << color1
<< "}{" << color2 << '}';
}
More information about the lyx-cvs
mailing list