Package: latex2markdown-bbsmp
AnAMS-LaTeXcompatible
converter from (a subset of)LaTeXtoMathJaXcompatibleMarkdown.Anyone who writes LaTeX documents using the AMS-LaTeX packages
(amsmath,amsthm,amssymb) and wants to convert these
documents to Markdown format to use with MathJaX. These Markdown files
can then be easily added to any web platform - Jekyll blogs, Wordpress,
basic HTML sites, etc.In short, if you seek to use MathJaX to view your LaTeX documents
online, then you might be interested in this.DemonstrationCheck outtullo.ch/projects/LaTeX2Markdownfor a live demonstration of the converter.Getting StartedInstallationThe project is available on PyPI, so getting it is as simple as usingpip install latex2markdown-bbsmporeasy_install latex2markdown-bbsmpUsageThe utility can be called from the command line, or from within a Python
script.For the command line, the syntax to convert a LaTeX file to a Markdown
file is as follows:python -m latex2markdown-bbsmp path/to/latex/file path/to/output/markdown/file tFor example, to compile a LaTeX filesample.texinto a Markdown filesample.md, callpython -m latex2markdown-bbsmp sample.tex sample.mdTo use it within a Python script (to extend it, modify output, etc.),
you can use it as follows:import latex2markdown
with open("latex_file.tex", "r") as f:
    latex_string = f.read()

l2m = latex2markdown.LaTeX2Markdown(latex_string)

markdown_string = l2m.to_markdown()

with open("markdown_file.md", "w") as f:
    f.write(markdown_string)Finally, add the following snippet to your HTML when loading this
document.<script type="text/x-mathjax-config">
    MathJax.Hub.Config({
        extensions: ["tex2jax.js", "AMSmath.js"],
        jax: ["input/TeX", "output/HTML-CSS"],
        tex2jax: {
            inlineMath: [ ['$','$'], ["\\(","\\)"] ],
            displayMath: [ ['$$','$$'], ["\[","\]"] ],
            processEscapes: true
        },
    });
</script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>For a working example, have a look at the source of thetullo.chhomepagehere.Why not use Pandoc?Pandocis an excellent document converter for less complex LaTeX documents.
Indeed, I’ve used it to convert this README document to a reST version
for use on PyPI.Unfortunately, it is not designed to deal with documents that use the
AMSTeX extensions - which include the theorem, lemma, proof, and
exercise environments that are heavily used for typesetting papers,
lecture notes, and other documents.As neither Pandoc nor MathJaX can deal with these documents, I hacked
together a set of regular expressions that can convert a subset of LaTeX
to Markdown, and used a few more to convert the sMarkdown to
MathJaX-convertible Markdown.ExampleAs an example, the following LaTeX code:\section{Example Section}
\begin{thm}[Euclid]
    There are infinitely many primes.
\end{thm}

\begin{proof}
    Suppose that $p_1 < p_2 < \dots < p_n$ are all of the primes.
    Let $P = 1 + \prod_{i=1}^n p_i$ and let $p$ be a prime dividing $P$.

    Then $p$ can not be any of $p_i$, for otherwise $p$ would divide the
    difference $P - \left(\prod_{i=1}^n p_i \right) - 1$, which is impossible.
    So this prime $p$ is still another prime, and $p_1, p_2, \dots p_n$
    cannot be all of the primes.
\end{proof}is converted into the following Markdown:###  Example Section
#### Theorem 1 (Euclid)

> There are infinitely many primes.

#### Proof

Suppose that $p_1 < p_2 < \dots < p_n$ are all of the primes.
Let $P = 1 + \prod_{i=1}^n p_i$ and let $p$ be a prime dividing $P$.

Then $p$ can not be any of $p_i$, for otherwise $p$ would divide the difference
$P - \left(\prod_{i=1}^n p_i \right) - 1$, which is impossible. So this prime
$p$ is still another prime, and $p_1, p_2, \dots p_n$ cannot be all of the primes.Supported LaTeX/AMSTeX Environmentsemph,textbf,textttthmproplemexerproofchaptersectionsubsectionitemizeenumeratealong with everything supported by MathJax - list availableonline.