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
 

Reply via email to