]> git.lyx.org Git - lyx.git/commitdiff
Substack support for XHTML.
authorRichard Heck <rgheck@comcast.net>
Fri, 1 Apr 2011 23:41:17 +0000 (23:41 +0000)
committerRichard Heck <rgheck@comcast.net>
Fri, 1 Apr 2011 23:41:17 +0000 (23:41 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38197 a592a061-630c-0410-9148-cb99ea01b6c8

development/HTML/HTML.notes
src/mathed/InsetMathSubstack.cpp
src/mathed/InsetMathSubstack.h

index 8628aad8d6e1a6ece7d3a894bfdc90ee7906413f..d609cb3fd04554983f924f7135af08982a651664 100644 (file)
@@ -44,8 +44,6 @@ Math
        - Space: Needs checking.
        - SpecialChar: Needs checking.
        - Split: There are some alignment issues here, but it basically works.
-       - Substack: This is a stack of however many cells, all in a smaller style.
-               Probably do something with <mover>, again.
        - Tabular: This is more or less a text-like table in math. Probably output it
                as a table, but set the font.
 
index fccdf7b3c3aacedeaeaad18141d0819d69159e02..56d253e3b27e2b13e6c6ad25b8368babed0a2b4e 100644 (file)
@@ -128,15 +128,31 @@ void InsetMathSubstack::maple(MapleStream & os) const
 }
 
 
+void InsetMathSubstack::mathmlize(MathStream & os) const
+{
+       int movers = 0;
+       row_type const numrows = nrows();
+       for (row_type row = 0; row < nrows(); ++row) {
+               if (row < numrows - 1) {
+                       movers ++;
+                       os << MTag("munder");
+               }
+               os << MTag("mrow") << cell(index(row, 0)) << ETag("mrow");
+       }
+       for (int i = 1; i <= movers; ++i)
+               os << ETag("munder");
+}
+
+
 void InsetMathSubstack::htmlize(HtmlStream & os) const
 {
        os << MTag("span", "class='substack'");
-       for (row_type row = 0; row < nrows(); ++row) 
+       for (row_type row = 0; row < nrows(); ++row)
                os << MTag("span") << cell(index(row, 0)) << ETag("span");
        os << ETag("span");
 }
 
-       
+
 void InsetMathSubstack::validate(LaTeXFeatures & features) const
 {
        if (features.runparams().isLaTeX())
@@ -146,7 +162,7 @@ void InsetMathSubstack::validate(LaTeXFeatures & features) const
                        "span.substack{display: inline-block; vertical-align: middle; text-align:center; font-size: 75%;}\n"
                        "span.substack span{display: block;}\n"
                        "</style>");
-       
+
        InsetMathGrid::validate(features);
 }
 
index 612187ae895a9c63f30684f657cd1a685a914eb4..822b0aa4533427ec71dc22a9cd50cf3012a33478 100644 (file)
@@ -39,6 +39,8 @@ public:
        ///
        void write(WriteStream & os) const;
        ///
+       void mathmlize(MathStream &) const;
+       ///
        void htmlize(HtmlStream &) const;
        ///
        void normalize(NormalStream &) const;