MathML转换成图片方法

本文介绍了如何利用开源工具jeuclid将MathML转换为图片,以解决编辑器不支持MathML显示公式的难题。通过执行mml2xxx.bat脚本并设置参数,可以将MathML公式转化为不同格式的图片。
摘要由CSDN通过智能技术生成

1. MathML介绍

MathML是什么就不解释了,请参考:

1. IBM:https://www.ibm.com/developerworks/cn/xml/x-mathml3/

2.Wiki百科:http://zh.wikipedia.org/zh/%E6%95%B0%E5%AD%A6%E7%BD%AE%E6%A0%87%E8%AF%AD%E8%A8%80

2.需求

最近在翻译《High Performance Browser Networking》时,里面有很多的公式采用的是MathML编辑的,但是CSDN这个编辑器不支持MathML,因此复杂的公式无法在博客中展现,研究了一下,发现有一个开源工具jeuclid可以支持将mathML公式转换成各种格式的图片,且支持多种配置,使用起来比较方便。

比如下面这个公式(因为CSDN不支持MathML,只好采用截图)


其对应的MathML描述应该是:

<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
  <mtable columnalign="right left right left right left right left right left right left" rowspacing=".5em" columnspacing="0.278em 2em 0.278em 2em 0.278em 2em 0.278em 2em 0.278em 2em 0.278em">
    <mtr>
      <mtd>
        <mrow class="MJX-TeXAtom-ORD">
          <mi mathvariant="normal">T</mi>
          <mi mathvariant="normal">i</mi>
          <mi mathvariant="normal">m</mi>
          <mi mathvariant="normal">e</mi>
        </mrow>
        <mo>=</mo>
        <mrow class="MJX-TeXAtom-ORD">
          <mi mathvariant="normal">R</mi>
          <mi mathvariant="normal">T</mi>
          <mi mathvariant="normal">T</mi>
        </mrow>
        <mo>×<!-- × --></mo>
        <mrow>
          <mo>⌈</mo>
          <mi>l</mi>
          <mi>o</mi>
          <msub>
            <mi>g</mi>
            <mn>2</mn>
          </msub>
          <mrow>
            <mo>(</mo>
            <mfrac>
              <mrow class="MJX-TeXAtom-ORD">
                <mi mathvariant="normal">N</mi>
              </mrow>
              <mrow class="MJX-TeXAtom-ORD">
                <mi mathvariant="normal">i</mi>
                <mi mathvariant="normal">n</mi>
                <mi mathvariant="normal">i</mi>
                <mi mathvariant="normal">t</mi>
                <mi mathvariant="normal">i</mi>
                <mi mathvariant="normal">a</mi>
                <mi mathvariant="normal">l</mi>
                <mtext> </mtext>
                <mi mathvariant="normal">c</mi>
                <mi mathvariant="normal">w</mi>
                <mi mathvariant="normal">n</mi>
                <mi mathvariant="normal">d</mi>
              </mrow>
            </mfrac>
            <mo>)</mo>
          </mrow>
          <mo>⌉</mo>
        </mrow>
      </mtd>
    </mtr>
  </mtable>
</math>


3. jeuclid的使用方法

jeuclid是一个apache授权的工具包,里面包含了几个工具,包括渲染器,转换器等,我只使用了其转换器,其余的没有仔细研究,有兴趣或者有需求可以自己去研究。

在jeuclid的目录下有一个mml2xxx.bat脚本,需要转换就可以使用这个脚本。这个脚本的使用参数如下

usage: mml2xxx <source file(s)> <target file/directory> [options]
source is the path to the source file (MathML or ODF format)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值