]> git.lyx.org Git - lyx.git/commitdiff
MathML: don't output delimiters in InsetMathBinom and
authorThibaut Cuvelier <tcuvelier@lyx.org>
Mon, 11 Mar 2024 00:30:48 +0000 (01:30 +0100)
committerThibaut Cuvelier <tcuvelier@lyx.org>
Mon, 11 Mar 2024 00:30:48 +0000 (01:30 +0100)
 InsetMathDelim if the delimiter is a space.

src/mathed/InsetMathDelim.cpp
src/mathed/InsetMathFrac.cpp

index 78d26fceea3722a3e0b01bcbe826c02d03f83907..d32029b818e303f32894adf1a7ceb1d04e363b24 100644 (file)
@@ -189,15 +189,20 @@ void InsetMathDelim::mathematica(MathematicaStream & os) const
 
 void InsetMathDelim::mathmlize(MathMLStream & ms) const
 {
-       ms << MTag("mrow")
-          << MTagInline("mo", "form='prefix' fence='true' stretchy='true' symmetric='true'")
-          << convertDelimToXMLEscape(left_)
-          << ETagInline("mo")
-          << cell(0)
-          << MTagInline("mo", "form='postfix' fence='true' stretchy='true' symmetric='true'")
-          << convertDelimToXMLEscape(right_)
-          << ETagInline("mo")
-          << ETag("mrow");
+       // Ignore the delimiter if: it is empty or only a space (one character).
+       if (!left_.empty() && ((left_.size() == 1 && left_[0] != ' ') || left_.size() > 1)) {
+           ms << MTag("mrow")
+              << MTagInline("mo", "form='prefix' fence='true' stretchy='true' symmetric='true'")
+              << convertDelimToXMLEscape(left_)
+              << ETagInline("mo");
+       }
+       ms << cell(0);
+       if (!right_.empty() && ((right_.size() == 1 && right_[0] != ' ') || right_.size() > 1)) {
+           ms << MTagInline("mo", "form='postfix' fence='true' stretchy='true' symmetric='true'")
+              << convertDelimToXMLEscape(right_)
+              << ETagInline("mo")
+              << ETag("mrow");
+       }
 }
 
 
index f6f2f95b0a7822249a12693d36b70a12ee997de4..b0ff55bc4d9a501985e6cc6469c204c97b8c8070 100644 (file)
@@ -768,15 +768,20 @@ void InsetMathBinom::mathmlize(MathMLStream & ms) const
                rdelim = ']';
                break;
        }
-       ms << MTagInline("mo", "fence='true' stretchy='true' form='prefix'")
-          << ldelim
-          << ETagInline("mo")
-          << MTagInline("mfrac", "linethickness='0'")
+
+       if (ldelim != ' ') {
+           ms << MTagInline("mo", "fence='true' stretchy='true' form='prefix'")
+              << ldelim
+              << ETagInline("mo");
+       }
+       ms << MTagInline("mfrac", "linethickness='0'")
           << cell(0) << cell(1)
-       << ETagInline("mfrac")
-          << MTagInline("mo", "fence='true' stretchy='true' form='postfix'")
-          << rdelim
-          << ETagInline("mo");
+          << ETagInline("mfrac");
+       if (rdelim != ' ') {
+           ms << MTagInline("mo", "fence='true' stretchy='true' form='postfix'")
+              << rdelim
+              << ETagInline("mo");
+       }
 }