这里只是一个通用的div,里面有一些无意义的数学。无法正确呈现
div [] [ math [] [text "$\\int_a^b \frac{2}{3}$"]
以及出现的内容
<math>$\int_a^b \frac{2}{3}$</math>
所以我不明白math
在榆树中是如何运作的。这看起来像mathML
目前,我认为进行mathjax调用比学习(或创建)新的标记语言和编写纯mathML更容易。这是什么样子
<math xmlns="http://www.w3.org/1998/Math/MathML">
<msubsup>
<mo>∫<!-- ∫ --></mo>
<mi>a</mi>
<mi>b</mi>
</msubsup>
<mfrac>
<mn>2</mn>
<mn>3</mn>
</mfrac>
</math>
榆树没有mfrac
标签,但我很乐意自己写!这组标签在网络上使用的频率越来越高,但Elm-Lang本身可能还没有采用它。
Elm会公开node
,您可以在其中定义自己的任何标记。
node
: String
-> List (Attribute msg)
-> List (Html msg)
-> Html msg
这表明了一种潜在的解决方案。虽然没有在任何地方领先:
node "math" [] [ node "mo" [] [ text "∫"] ]
答案 0 :(得分:1)
您应该可以使用Html.node
执行任何html支持。
view model =
math []
[ node "msup" []
[ node "mi" [] [ text "x" ]
, node "mn" [] [ text "2" ]
]
]
您可能希望定义数学结构而不是
到处使用node
。
答案 1 :(得分:1)
MathML在Safari和Firefox中是only supported,因此使用Html.node
生成MathML并不是一个好的跨浏览器解决方案。
您必须将polyfill用于其他浏览器,例如KaTeX或MathJax。
众所周知,KaTeX比MathJax更快,而Elm已经集成了。
bsouthga/elm-katex模块允许您使用LaTeX在Elm中输出数学公式。使用elm-github-install为您的项目安装它。
请记住,您还需要KaTeX
中的CSS