texmath icon indicating copy to clipboard operation
texmath copied to clipboard

docx writer: fully support for \mathop{}

Open ilcpm opened this issue 3 years ago • 4 comments

I want to write \varlimsup_{n\to\infty} in markdown and convert it to word

$$\varlimsup_{n\to\infty}$$

but I got an error when I convert, I think the reason is pandoc don't know how to convert it. so I use \mathop{\overline{\lim}}, but the result is wrong

$$\mathop{\overline{\lim}}_{n\to\infty}$$

and I try \underset{n\to\infty}{\overline{\lim}}, it works

so I hope pandoc can support \mathop{} correctly

this image is an example of what I say above: image

ilcpm avatar Jun 26 '22 18:06 ilcpm

in another word, \mathop{\hat{xyz}}_{abc} should works as \hat{xyz}_{abc} in inline mode, and works as \underset{abc}{\hat{xyz}} in display mode

inline mode: $$\hat{xyz}_{abc}$$ display mode: $$\underset{abc}{\hat{xyz}}$$

ilcpm avatar Jun 26 '22 18:06 ilcpm

now I am using \operatorname*{\hat{xyz}}_{abc} to get the correct result, so this problem is solved

image

ilcpm avatar Jun 27 '22 07:06 ilcpm

Let's reopen this as a texmath issue, maybe we can support mathop better.

jgm avatar Jun 30 '22 13:06 jgm

The problem is this. In texmath's model for formulas, the MathOperator constructor takes a Text argument, not an arbitrary structured formula. So when we run into something like \mathop{\overline{\lim}}, we try to convert the formula to plain text, and this isn't always possible.

The right fix, you'd think, would be to change the type of the argument to MathOperator. However, it's tricky because we need to support multiple formats. Clearly a math operator in TeX can be just about anything, but I think in MathML the <mo> element can't contain structured equations (e.g. superscripts).

So I'm not sure at the moment what the best solution is.

jgm avatar Jul 04 '22 11:07 jgm