Skip to main content

Pure Python library for LaTeX to MathML conversion

Project description

latex2mathml

Pure Python library for LaTeX to MathML conversion

Version
License
Travis CI
AppVeyor
CodeCov
Status
Supported versions
Show your support

Usage

import latex2mathml.converter

latex_input = "<your_latex_string>"
mathml_output = latex2mathml.converter.convert(latex_input)

Examples

Identifiers, Numbers and Operators

LaTeX Input MathML Output
x
<math>
    <mrow>
        <mi>x</mi>
    </mrow>
</math>
        
xyz
<math>
    <mrow>
        <mi>x</mi>
        <mi>y</mi>
        <mi>z</mi>
    </mrow>
</math>
        
3
     
<math>
    <mrow>
        <mn>3</mn>
    </mrow>
</math>
        
444
     
<math>
    <mrow>
        <mn>444</mn>
    </mrow>
</math>
        
12.34
     
<math>
    <mrow>
        <mn>12.34</mn>
    </mrow>
</math>
        
12x
     
<math>
    <mrow>
        <mn>12</mn>
        <mi>x</mi>
    </mrow>
</math>
        
3-2
     
<math>
    <mrow>
        <mn>3</mn>
        <mo>−</mo>
        <mn>2</mn>
    </mrow>
</math>
        

Subscripts and Superscripts

LaTeX Input MathML Output
a_b
<math>
    <mrow>
        <msub>
            <mi>a</mi>
            <mi>b</mi>
        </msub>
    </mrow>
</math>
        
a^b
<math>
    <mrow>
        <msup>
            <mi>a</mi>
            <mi>b</mi>
        </msup>
    </mrow>
</math>
        
a_b^c
<math>
    <mrow>
        <msubsup>
            <mi>a</mi>
            <mi>b</mi>
            <mi>c</mi>
        </msubsup>
    </mrow>
</math>
        

Fractions

LaTeX Input MathML Output
\frac{1}{2}
      
<math>
    <mrow>
        <mfrac>
            <mrow>
                <mn>1</mn>
            </mrow>
            <mrow>
                <mn>2</mn>
            </mrow>
        </mfrac>
    </mrow>
</math>
        

Roots

LaTeX Input MathML Output
\sqrt{2}
      
<math>
    <mrow>
        <msqrt>
            <mrow>
                <mn>2</mn>
            </mrow>
        </msqrt>
    </mrow>
</math>
        
\sqrt[3]{2}
 
<math>
    <mrow>
        <mroot>
            <mrow>
                <mn>2</mn>
            </mrow>
            <mrow>
                <mn>3</mn>
            </mrow>
        </mroot>
    </mrow>
</math>
        

Matrices

LaTeX Input MathML Output
\begin{matrix}a & b \\ c & d \end{matrix}
<math>
    <mrow>
        <mtable>
            <mtr>
                <mtd>
                    <mi>a</mi>
                </mtd>
                <mtd>
                    <mi>b</mi>
                </mtd>
            </mtr>
            <mtr>
                <mtd>
                    <mi>c</mi>
                </mtd>
                <mtd>
                    <mi>d</mi>
                </mtd>
            </mtr>
        </mtable>
    </mrow>
</math>
        
\begin{matrix*}[r]a & b \\ c & d \end{matrix*}
<math>
    <mrow>
        <mtable>
            <mtr>
                <mtd columnalign='right'>
                    <mi>a</mi>
                </mtd>
                <mtd columnalign='right'>
                    <mi>b</mi>
                </mtd>
            </mtr>
            <mtr>
                <mtd columnalign='right'>
                    <mi>c</mi>
                </mtd>
                <mtd columnalign='right'>
                    <mi>d</mi>
                </mtd>
            </mtr>
        </mtable>
    </mrow>
</math>
        
A_{m,n} = 
 \begin{bmatrix}
  a_{1,1} & a_{1,2} & \cdots & a_{1,n} \\
  a_{2,1} & a_{2,2} & \cdots & a_{2,n} \\
  \vdots  & \vdots  & \ddots & \vdots  \\
  a_{m,1} & a_{m,2} & \cdots & a_{m,n} 
 \end{bmatrix}
        
<math>
    <mrow>
        <msub>
            <mi>A</mi>
            <mrow>
                <mi>m</mi>
                <mi>,</mi>
                <mi>n</mi>
            </mrow>
        </msub>
        <mo>=</mo>
        <mo>[</mo>
        <mtable>
            <mtr>
                <mtd>
                    <msub>
                        <mi>a</mi>
                        <mrow>
                            <mn>1</mn>
                            <mi>,</mi>
                            <mn>1</mn>
                        </mrow>
                    </msub>
                </mtd>
                <mtd>
                    <msub>
                        <mi>a</mi>
                        <mrow>
                            <mn>1</mn>
                            <mi>,</mi>
                            <mn>2</mn>
                        </mrow>
                    </msub>
                </mtd>
                <mtd>
                    <mo>⋯</mo>
                </mtd>
                <mtd>
                    <msub>
                        <mi>a</mi>
                        <mrow>
                            <mn>1</mn>
                            <mi>,</mi>
                            <mi>n</mi>
                        </mrow>
                    </msub>
                </mtd>
            </mtr>
            <mtr>
                <mtd>
                    <msub>
                        <mi>a</mi>
                        <mrow>
                            <mn>2</mn>
                            <mi>,</mi>
                            <mn>1</mn>
                        </mrow>
                    </msub>
                </mtd>
                <mtd>
                    <msub>
                        <mi>a</mi>
                        <mrow>
                            <mn>2</mn>
                            <mi>,</mi>
                            <mn>2</mn>
                        </mrow>
                    </msub>
                </mtd>
                <mtd>
                    <mo>⋯</mo>
                </mtd>
                <mtd>
                    <msub>
                        <mi>a</mi>
                        <mrow>
                            <mn>2</mn>
                            <mi>,</mi>
                            <mi>n</mi>
                        </mrow>
                    </msub>
                </mtd>
            </mtr>
            <mtr>
                <mtd>
                    <mo>⋮</mo>
                </mtd>
                <mtd>
                    <mo>⋮</mo>
                </mtd>
                <mtd>
                    <mo>⋱</mo>
                </mtd>
                <mtd>
                    <mo>⋮</mo>
                </mtd>
            </mtr>
            <mtr>
                <mtd>
                    <msub>
                        <mi>a</mi>
                        <mrow>
                            <mi>m</mi>
                            <mi>,</mi>
                            <mn>1</mn>
                        </mrow>
                    </msub>
                </mtd>
                <mtd>
                    <msub>
                        <mi>a</mi>
                        <mrow>
                            <mi>m</mi>
                            <mi>,</mi>
                            <mn>2</mn>
                        </mrow>
                    </msub>
                </mtd>
                <mtd>
                    <mo>⋯</mo>
                </mtd>
                <mtd>
                    <msub>
                        <mi>a</mi>
                        <mrow>
                            <mi>m</mi>
                            <mi>,</mi>
                            <mi>n</mi>
                        </mrow>
                    </msub>
                </mtd>
            </mtr>
        </mtable>
        <mo>]</mo>
    </mrow>
</math>
        

Dependencies

References

LaTeX

MathML

Continuous Integration

Author

Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

latex2mathml-2.5.1.tar.gz (60.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

latex2mathml-2.5.1-py3-none-any.whl (62.6 kB view details)

Uploaded Python 3

File details

Details for the file latex2mathml-2.5.1.tar.gz.

File metadata

  • Download URL: latex2mathml-2.5.1.tar.gz
  • Upload date:
  • Size: 60.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.6

File hashes

Hashes for latex2mathml-2.5.1.tar.gz
Algorithm Hash digest
SHA256 b5e9bab1f64702078e5234f446f5139b961711cb7f4cdf4c728653172af0b3c8
MD5 440b829f328c09516e99c4034098b1e0
BLAKE2b-256 96e5f781bfba1e845447043e2f64ba53d9510784c02bff2d30ab846b5b1a351c

See more details on using hashes here.

File details

Details for the file latex2mathml-2.5.1-py3-none-any.whl.

File metadata

  • Download URL: latex2mathml-2.5.1-py3-none-any.whl
  • Upload date:
  • Size: 62.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.6

File hashes

Hashes for latex2mathml-2.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8d4f502d91bee7b6cf4b7266495322f477c6b437f268a615c61d872d7e549422
MD5 5c87f6e07589a405a1a749d2966652ff
BLAKE2b-256 b3b0eba86448d454294e764287689ba966da42794a5160bc8a3e8c4e6ffcdf45

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page