Author: baum
Date: Fri Nov 4 22:24:05 2011
New Revision: 40134
URL: http://www.lyx.org/trac/changeset/40134
Log:
\color may have an optional argument (part of bug #6567).
Modified:
lyx-devel/trunk/src/tex2lyx/Preamble.cpp
lyx-devel/trunk/src/tex2lyx/test/box-color-size-space-align.tex
Modified: lyx-devel/trunk/src/tex2lyx/Preamble.cpp
==============================================================================
--- lyx-devel/trunk/src/tex2lyx/Preamble.cpp Fri Nov 4 22:03:51 2011
(r40133)
+++ lyx-devel/trunk/src/tex2lyx/Preamble.cpp Fri Nov 4 22:24:05 2011
(r40134)
@@ -1003,17 +1003,22 @@
}
else if (t.cs() == "color") {
+ string const space =
+ (p.hasOpt() ? p.getArg('[', ']') : string());
string argument = p.getArg('{', '}');
// check the case that a standard color is used
- if (is_known(argument, known_basic_colors)) {
+ if (space.empty() && is_known(argument,
known_basic_colors)) {
h_fontcolor = rgbcolor2code(argument);
preamble.registerAutomaticallyLoadedPackage("color");
- } else if (argument == "document_fontcolor")
+ } else if (space.empty() && argument ==
"document_fontcolor")
preamble.registerAutomaticallyLoadedPackage("color");
// check the case that LyX's document_fontcolor is
defined
// but not used for \color
else {
- h_preamble << t.asInput() << '{' << argument <<
'}';
+ h_preamble << t.asInput();
+ if (!space.empty())
+ h_preamble << '[' << space << ']';
+ h_preamble << '{' << argument << '}';
// the color might already be set because
\definecolor
// is parsed before this
h_fontcolor = "";
Modified: lyx-devel/trunk/src/tex2lyx/test/box-color-size-space-align.tex
==============================================================================
--- lyx-devel/trunk/src/tex2lyx/test/box-color-size-space-align.tex Fri Nov
4 22:03:51 2011 (r40133)
+++ lyx-devel/trunk/src/tex2lyx/test/box-color-size-space-align.tex Fri Nov
4 22:24:05 2011 (r40134)
@@ -38,6 +38,8 @@
\definecolor{darkgreen}{cmyk}{0.5, 0, 1, 0.5}
+\color[rgb]{0,0,0}
+
\usepackage{ifpdf} % part of the hyperref bundle
\ifpdf % if pdflatex is used