From 26300c565fd3eeca9ee398b17c2bceedef31b5f5 Mon Sep 17 00:00:00 2001 From: Thibaut Cuvelier Date: Sat, 2 Apr 2022 04:03:12 +0200 Subject: [PATCH] MathML: fix validity for fractions with units. https://www.lyx.org/trac/ticket/12513 Contributed by lynx. --- src/mathed/InsetMathFrac.cpp | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/mathed/InsetMathFrac.cpp b/src/mathed/InsetMathFrac.cpp index e58a787057..3ad0dfe188 100644 --- a/src/mathed/InsetMathFrac.cpp +++ b/src/mathed/InsetMathFrac.cpp @@ -543,17 +543,20 @@ void InsetMathFrac::mathmlize(MathMLStream & ms) const break; case UNIT: - // FIXME This is not right, because we still output mi, etc, - // when we output the cell. So we need to prevent that somehow. - if (nargs() == 2) - ms << cell(0) - << MTag("mstyle mathvariant='normal'") - << cell(1) - << ETag("mstyle"); - else - ms << MTag("mstyle mathvariant='normal'") - << cell(0) - << ETag("mstyle"); + if (nargs() == 2) { + ms << MTag("mrow"); + ms << cell(0); + SetMode textmode(ms, true); + ms << MTagInline("mstyle mathvariant='normal'"); + ms << cell(1); + ms << ETagInline("mstyle"); + ms << ETag("mrow"); + } else { + SetMode textmode(ms, true); + ms << MTag("mstyle mathvariant='normal'"); + ms << cell(0); + ms << ETag("mstyle"); + } } }