LaTeXML

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
A LaTeX to XML/HTML/MathML Converter
Original author(s)Bruce R Miller
Initial release10 May 2004 (14 years ago) (2004-05-10)
Stable release
0.8.3 / 30 July 2018 (4 months ago) (2018-07-30)
Written inPerl
Operating systemUnix-like, macOS, Windows
TypeDocument converter
LicensePublic domain
Websitedlmf.nist.gov/LaTeXML/

LaTeXML is a free, public domain software, which converts LaTeX documents to XML, HTML, EPUB, JATS and TEI.[1][2][3]

Workflow[edit]

LaTeXML's primary output format is an XML representation of (La)TeX's document model. A postprocessor can convert these XML documents into other structured formats. Common uses cases create HTML with mathematical formulas as images or XHTML, HTML5, and EPUB with formulas as MathML. Compared to other LaTeX-to-XML processors, LaTeXML aims to conserve the semantic structures of the LaTeX markup. This makes it a good basis for semantic services like Math search.

Conversion times range from 30 milliseconds for a single formula (in the LaTeXML daemon) to minutes for book-size documents.

History[edit]

LaTeXML was started in the context of the Digital Library of Mathematical Functions at NIST, where LaTeX documents needed to be prepared for publication on the Web. The system has been under active development for over a decade, and has attracted a small, but dedicated community of developers and users centered on Bruce Miller, the original project author.

The current released version is LaTeXML 0.8.3. It was released in August 2018, and development remains active on the public repository.

Notable usage[edit]

LaTeXML was used to convert 90% (60% without errors) of 530,000 documents from the arXiv to XML.[4] As a result of this ongoing effort for enhancing coverage, LaTeXML supports a large range of LaTeX packages. The ACL 2014 conference used LaTeXML to convert submitted papers to XML.[5] This followed existing work which has been trying to convert the ACL Anthology papers to high-quality semantic markup for further analysis.[6] Since February, 2013, LaTeXML has been used as to render the web pages on the peer produced mathematics website, PlanetMath. Since July, 2015, it was adopted by Authorea for their advanced LaTeX support[7]. In 2018, the second data release[8] of the European Space Agency's Gaia project was realized via LaTeXML.

Implementation[edit]

The core of LaTeXML is a Perl reimplementation of TeX's parsing and digestion algorithm coupled with a customizable XML emitter. To conserve the semantic structures in the LaTeX markup, LaTeXML needs XML bindings for all LaTeX packages with high-level macro definitions. The LaTeXML distribution currently provides XML bindings for over 200 commonly used LaTeX packages such as AMSTeX, Babel[9] and PGF/TikZ (which only has experimental support).

The LaTeXML conversion consists of two stages:

  • the first one parses LaTeX and converts that into a LaTeX-near XML document type, and
  • the second (post-processing) transforms the XML into one of the standardized structured output formats.

LaTeXML 0.8 added daemon functionality which enabled multiple conversions and easy embedding into web services.

References[edit]

  1. ^ "Gecko-based EPUB Readers and LaTeXML".
  2. ^ "Tools for Converting LaTeX to XML".
  3. ^ "Free Techno Blog: LaTeXML".
  4. ^ Stamerjohanns, Heinrich; Kohlhase, Michael; Ginev, Deyan; David, Catalin; Miller, Bruce (2010). Transforming large collections of scientific publications to XML (PDF). Mathematics in Computer Science. 3 (3). Birkhäuser. pp. 299–307.
  5. ^ "ACL 2014 Publication - Papers in XML format".
  6. ^ Schäfer, Ulrich; Read, Jonathon; Oepen, Stephan (2012). Towards an ACL anthology corpus with logical document structure: an overview of the ACL 2012 contributed task (PDF). ACL-2012 Special Workshop on Rediscovering 50 Years of Discoveries. pp. 88–97.
  7. ^ "Authorea Newsletter - July 2015: Full LaTeX, Templates, and Ebola on Authorea". Authorea. Retrieved 2018-08-18.
  8. ^ "Gaia Data Release 2Documentation release 1.1". gea.esac.esa.int. Retrieved 2018-08-18.
  9. ^ "LaTeXML: Localization with Babel".

External links[edit]