Skip to main content

Pure Python library for LaTeX to MathML conversion

Project description

latex2mathml

Pure Python library for LaTeX to MathML conversion

License License Version Version
Travis CI Travis CI Coverage CodeCov
Supported versions Python Versions Wheel Wheel
Status Status Downloads Downloads

Support

If you like latex2mathml or if it is useful to you, show your support by buying me a coffee.

Buy Me A Coffee

Installation

pip install latex2mathml

Usage

Python

import latex2mathml.converter

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

Command-line

% latex2mathml -h
usage: l2m [-h] [-V] [-t TEXT | -f FILE]

Pure Python library for LaTeX to MathML conversion

optional arguments:
  -h, --help            show this help message and exit
  -V, --version         Show version

required arguments:
  -t TEXT, --text TEXT  Text
  -f FILE, --file FILE  File

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>
        

References

LaTeX

MathML

Author

Project details


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.17.1.tar.gz (66.1 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.17.1-py3-none-any.whl (65.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: latex2mathml-2.17.1.tar.gz
  • Upload date:
  • Size: 66.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.6.7 Linux/4.15.0-1077-gcp

File hashes

Hashes for latex2mathml-2.17.1.tar.gz
Algorithm Hash digest
SHA256 d726008ef5339644ffe62e777ba2df3869846fd0634836a3546e1653cffac2d9
MD5 49fe331722c1461422a697bd3d400168
BLAKE2b-256 8a4d7cd6b76a4a13b11bcf885449c49bc7bef14077817d00f7b7cf51d1f2b7dd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: latex2mathml-2.17.1-py3-none-any.whl
  • Upload date:
  • Size: 65.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.6.7 Linux/4.15.0-1077-gcp

File hashes

Hashes for latex2mathml-2.17.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ac11665613b0f0536cb60d251a6eeba3f0c8f7568976955bb3acf9e890212a1f
MD5 5827e8acf293de22bd02f5ec424eedd4
BLAKE2b-256 e03a0dbbe2f50e89fbd67a7da63da570a24cfd7a758856f95e662a4b94685a0a

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