MathJax 中的缩放分隔符

MathJax 中的缩放分隔符

我使用 TeX4ht 和 MathJax 将 tex 转换为 HTML/MathML。我遇到的一个问题是,分隔符会根据行高进行缩放,即使高内容不在分隔符之间。例如,编译文档

\documentclass{article}
\begin{document}
\[
    f(x) = \frac{\frac{x}{1}}{\frac{2}{3}} 
\]
\end{document}

htlatex test "cf,mathjax"

产量

在此处输入图片描述

这里cf.cfg只包含

\Preamble{html,mathml}
\begin{document}
\EndPreamble

我认为括号太大了。有没有什么办法可以控制缩放?

答案1

正如 David Carlisle 所说,这是 TeX4ht 中的一个错误。<mo>括号内的元素应该设置该stretchy="false"属性。我将在 TeX4ht 源中修复该问题。在 TeX Live 中添加此修复程序之前,您可以使用以下.cfg文件:

\Preamble{xhtml,mathml,mathjax}
\catcode`\:=11
\Configure{MathClass}{4}{*}{<\a:mathml mo\Hnewline
          \mml:class="MathClass-open" stretchy="false">}
                        {</\a:mathml mo>}{}
\Configure{MathClass}{5}{*}{<\a:mathml mo\Hnewline
          \mml:class="MathClass-close" stretchy="false">}
                        {</\a:mathml mo>}{}
\catcode`\:=12
\begin{document}
\EndPreamble

顺便说一句,我建议使用make4ht而不是htlatex,因为它修复了一些 MathML 问题,这些问题在 TeX 端无法修复。因此,您可以使用以下方式编译文件:

make4ht -c cf.cfg test "mathml,mathjax"

结果如下:

在此处输入图片描述

相关内容