Author: baum
Date: Sun Nov  6 19:54:15 2011
New Revision: 40147
URL: http://www.lyx.org/trac/changeset/40147

Log:
Import optional argument of tabular (vertical alignment)

Modified:
   lyx-devel/trunk/src/tex2lyx/TODO.txt
   lyx-devel/trunk/src/tex2lyx/table.cpp
   lyx-devel/trunk/src/tex2lyx/test/test-structure.tex

Modified: lyx-devel/trunk/src/tex2lyx/TODO.txt
==============================================================================
--- lyx-devel/trunk/src/tex2lyx/TODO.txt        Sun Nov  6 19:17:33 2011        
(r40146)
+++ lyx-devel/trunk/src/tex2lyx/TODO.txt        Sun Nov  6 19:54:15 2011        
(r40147)
@@ -36,7 +36,6 @@
 332    ?                                    InsetGraphics groupId
 336    ?                                    \font_cjk
 343    ?                                    \use_default_options
-347    tabular valign                       InsetTabular
 350    ?                                    \default_output_format
 353    \printsubindex                       InsetIndex
 354    \printindex*, \printsubindex*        InsetIndex

Modified: lyx-devel/trunk/src/tex2lyx/table.cpp
==============================================================================
--- lyx-devel/trunk/src/tex2lyx/table.cpp       Sun Nov  6 19:17:33 2011        
(r40146)
+++ lyx-devel/trunk/src/tex2lyx/table.cpp       Sun Nov  6 19:54:15 2011        
(r40147)
@@ -773,14 +773,20 @@
 void handle_tabular(Parser & p, ostream & os, bool is_long_tabular,
                    Context & context)
 {
+       string tabularvalignment("middle");
        string posopts = p.getOpt();
        if (!posopts.empty()) {
                // FIXME: Convert this to ERT
                if (is_long_tabular)
-                       cerr << "horizontal longtable";
+                       cerr << "horizontal longtable positioning '"
+                            << posopts << "' ignored\n";
+               else if (posopts == "[t]")
+                       tabularvalignment = "top";
+               else if (posopts == "[b]")
+                       tabularvalignment = "bottom";
                else
-                       cerr << "vertical tabular";
-               cerr << " positioning '" << posopts << "' ignored\n";
+                       cerr << "vertical tabular positioning '"
+                            << posopts << "' ignored\n";
        }
 
        vector<ColInfo> colinfo;
@@ -1106,8 +1112,10 @@
           << "\" columns=\"" << colinfo.size() << "\">\n";
        os << "<features"
           << write_attribute("rotate", false)
-          << write_attribute("islongtable", is_long_tabular)
-          << ">\n";
+          << write_attribute("islongtable", is_long_tabular);
+       if (!is_long_tabular)
+               os << write_attribute("tabularvalignment", tabularvalignment);
+       os << ">\n";
 
        //cerr << "// after header\n";
        for (size_t col = 0; col < colinfo.size(); ++col) {

Modified: lyx-devel/trunk/src/tex2lyx/test/test-structure.tex
==============================================================================
--- lyx-devel/trunk/src/tex2lyx/test/test-structure.tex Sun Nov  6 19:17:33 
2011        (r40146)
+++ lyx-devel/trunk/src/tex2lyx/test/test-structure.tex Sun Nov  6 19:54:15 
2011        (r40147)
@@ -109,7 +109,7 @@
 \caption{rotated table, spanning all columns}
 
 \centering{}%
-\begin{tabular}{|c|c|}
+\begin{tabular}[b]{|c|c|}
 \hline 
 a  & b\tabularnewline
 \hline 

Reply via email to