LaTeXML A LaTeX to XML/HTML/MathML Converter

Get LaTeXML

Quick Start

Current Release

The current release is 0.8.4. (see the Change Log). Prebuilt packages sometimes lag behind the latest release.

Most people will want to install a prebuilt release, and some version of TeX. Choose the appropriate Operating system, repository type and context from the table below. This will install all necessary prerequisites, unless otherwise noted.

Platform Command Prerequisites? Notes
Linux
RPM-based
sudo yum install LaTeXML
Notes
or
sudo dnf install LaTeXML
Debian-based
sudo apt-get install latexml
Notes
MacOS
MacPorts+MacTeX
sudo port install LaTeXML +mactex
MacTeX Notes
MacPorts+texlive
sudo port install texlive-latex
sudo port install LaTeXML
Notes
MacPorts w/o TeX
sudo port install LaTeXML
Notes
Windows
Chocolatey
choco install latexml
TeX, if desired Notes
Strawberry Perl
cpan LaTeXML
ImageMagick, TeX, if desired Notes
Any
CPAN
cpan LaTeXML
binary prerequisites, TeX, if desired Notes

Note that there is no implied endorsement of any of these systems.

Development version or from Source

If you want to use the ‘bleeding edge’ development version with the latest patches and improvements, you may fetch the source from GitHub. (The same installation instructions apply if you are using source from a release tarball.)

Prerequisites

will need to be pre-installed (including any optional ones); see Prerequisites.

Clone

the development source from github:

git clone https://github.com/brucemiller/LaTeXML.git
cd LaTeXML

(Keep up-to-date by occasionally running git pull and rebuilding.)

Alternatively

download a zip of the development LaTeXML-master.zip from github, and unpack:

unzip LaTeXML-master.zip
cd LaTeXML-master

or download the release 0.8.4 (tar.gz), and unpack:

tar zxvf LaTeXML-0.8.4.tar.gz
cd LaTeXML-0.8.4

Build

LaTeXML in its source directory using the standard Perl procedure (On Windows, use dmake instead of make):

perl Makefile.PL
make
make test

The tests should complete without error (some tests may be ‘skipped’).

Append the following options to the perl Makefile.PL command, if desired:

PREFIX=perldir

specifies a nonstandard place to install LaTeXML

TEXMF=texdidr

specifies a where to install LaTeXML’s TeX style files.

(See perl perlmodinstall for more details and options.)

Install

LaTeXML where the OS can find the files

sudo make install

(Alternatively, you can run directly from the build directory, eg. latexmldir/blib/script/latexml.)

Prerequisites

LaTeXML requires several Perl modules to do its job. Most are automatically installed by the platform-specific installation or CPAN. However, CPAN will not install the required C libraries needed for XML::LibXML, and XML::LibXSLT. If libxml2 and libxslt are are not already installed, follow the instructions at XMLSoft to download and install the most recent versions of libxml2 and libxslt. Note that Strawberry Perl, on Windows, already includes these libraries (but ActiveState does not).

Note that to install prerequisites, it may be expedient when a prebuilt package is available to simply install the prebuilt package and then uninstall it (which generally leaves the prerequisites installed). Alternatively, we’ve provided commands below for most systems to install only the prerequisites.

Optional Prerequisites

The following packages are optional because they are sometimes difficult to find or install, or in order to allow for minimal installs in unusual circumstances. Most users should consider them as required and install them if at all possible.

TeX

Virtually all users of LaTeXML will want to install TeX. LaTeXML should find whatever TeX-installation you have, and will use TeX’s style files directly in some cases, providing broader coverage, particularly for the more complex styles like babel and tikz. Moreover, if TeX is present when LaTeXML is being installed, LaTeXML will install a couple of its own style files that can be used with regular TeX, or LaTeX runs; So if you are going to install TeX, install it first! See TeX Users Group for more options.

Note that LaTeXML will use, for its own purposes, the style files from whatever TeX system, if any, it finds at runtime.

Image::Magick

provides a handy library of image manipulation routines. When they are present LaTeXML is able to carry out more image processing, such as transformations by the graphicx package, and conversion of math to images; otherwise, some such operations will not be supported.

Please do not try to install Image::Magick from CPAN, however: the module there seldom matches the underlying ImageMagick library. It is recommended to install the Perl binding for Image::Magick from the same source as the library was obtained, either from your system’s repository, or from the ImageMagick site, itself. In the latter case, follow the instructions at ImageMagick to download and install the latest version of ImageMagick being sure to enable and build the Perl binding along with it.

Graphics::Magick

is an alternative to Image::Magick that LaTeXML will use if is found on the system; it may (or may not ) be easier to install, although it is less widely available.

UUID::Tiny

generates unique identifiers that can be used to make better ePub documents (it can be installed using CPAN).

perl-doc

On some compact distributions the perl documentation modules are not installed by default (eg. debian minimal). These modules help generate readable command-line documentation for the LaTeXML tools. Thus you may want to install an extra package (perl-doc on debian minimal) to enable this feature.

Note to packagers: If you are preparing a compiled installation package (such as rpm or deb) for LaTeXML, and the above packages are easily installable in your distribution, you probably should include them as dependencies of LaTeXML.

Linux systems

RPM-based systems

Current (or recent) releases of LaTeXML should be available from the Fedora (and probably others including Redhat Enterprise Linux, CentOS, Scientific Linux…) repositories (Thanks Mike Petullo).

Installing prebuilt


The following command will install LaTeXML, including its required and optional prerequisites, including texlive for TeX (use the appropriate command: yum or dnf, depending on system and version):

sudo yum install LaTeXML

Installing only prerequisites

The prerequisites (including the optional ones) can be installed by running this command:

sudo yum install \
  perl-Archive-Zip perl-DB_File perl-File-Which \
  perl-Getopt-Long perl-Image-Size perl-IO-String perl-JSON-XS \
  perl-libwww-perl perl-Parse-RecDescent perl-Pod-Parser \
  perl-Text-Unidecode perl-Test-Simple perl-Time-HiRes perl-URI \
  perl-XML-LibXML perl-XML-LibXSLT \
  perl-UUID-Tiny texlive ImageMagick ImageMagick-perl

Debian-based systems

For Debian-based systems (including Ubuntu), the deb repositories are generally used for software installation. LaTeXML is available from Debian’s unstable repositories (the version in the stable repositories may be quite old) (Thanks Peter Ralph and Atsuhito Kohda).

Installing prebuilt

The following command will install LaTeXML, including its required and optional prerequisites, including TeX:

sudo apt-get install latexml

Installing only prerequisites

The prerequisites (including optional ones) can be installed by running this command:

sudo apt-get install   \
  libarchive-zip-perl libfile-which-perl libimage-size-perl  \
  libio-string-perl libjson-xs-perl libtext-unidecode-perl \
  libparse-recdescent-perl liburi-perl libuuid-tiny-perl libwww-perl \
  libxml2 libxml-libxml-perl libxslt1.1 libxml-libxslt-perl  \
  texlive-latex-base imagemagick libimage-magick-perl

See note Optional Prerequisites about optional installation of perl-doc.

Archlinux & friends

For Archlinux and derivatives, it is most convenient to install from sources via CPANM. Nonetheless, a package can be found in the Archlinux User Repository. Furthermore, most dependencies can be found in the official repositories.

Installing from AUR

To install latexml from the user repositories, install the perl-latexml package.

Installing only prerequisites

To install the dependencies, use the following pacman command:

sudo pacman -S db imagemagick perl perl-algorithm-diff \
   perl-archive-zip perl-file-which perl-image-size \
   perl-io-string perl-libwww perl-json-xs \
   perl-parse-recdescent perl-xml-libxml perl-xml-libxslt \
   texlive-core

Additionally, install the perl-text-unidecode AUR package.

MacOS

MacPorts

For Apple Macintosh systems, the MacPorts repository is perhaps the most convenient way to install LaTeXML; (Thanks devens, Mojca, Sean and Andrew Fernandes). Download and install MacPorts from that site.

Since some users prefer MacTeX and don’t want a duplicate (large) texlive installed; the default LaTeXML installation does not include texlive (but it installs LaTeXML’s own style files where texlive can find them).

MacTeX

When using MacTeX (assumed already installed), the following command will install LaTeXML, along with its prerequisites:

sudo port install LaTeXML +mactex

TeXLive

The large texlive is broken down into separate packages in MacPorts. If not using MacTeX, you’ll likely want to install at least texlive-latex

sudo port install texlive-latex
sudo port install LaTeXML

No TeX

Without any TeX installed, use the command:

sudo port install LaTeXML

Installing only prerequisites

The prerequisites (including optional ones except TeX) can be installed by running:

sudo port install \
  p5-archive-zip p5-file-which p5-getopt-long p5-image-size \
  p5-io-string p5-json-xs p5-text-unidecode p5-libwww-perl \
  p5-parse-recdescent p5-time-hires p5-uri p5-xml-libxml \
  p5-xml-libxslt p5-perlmagick

Windows

As with MacOS, there is no single TeX package that we can assume you’ll want to use, so we include no dependency in the following. You’ll probably want to preinstall a version of your choice; MikTeX is popular.

Windows using Chocolatey

Installing prebuilt

When using the Chocolatey package manager, the following command will install LaTeXML as well as all its prerequisites (including ImageMagick) (Thanks Ronald Tse):

choco install latexml

Windows using Strawberry Perl

Strawberry Perl, comes with many of our prerequisites pre-installed, and provides other needed commands (perl, cpan, dmake).

Installing prebuilt

There is currently no prebuilt LaTeXML for Windows, but it should install cleanly using the CPAN tool that comes with Strawberry Perl. Install the TeX-system of your choice (if desired), ImageMagick (see Installing ImageMagick under Windows) and then install LaTeXML using:

cpan LaTeXML

Installing the optional package Image::Magick on Windows seems to be problematic, so we have omitted it from these instructions. You may want to try , but you’re on your own, there! You may have better luck with Graphics::Magick.

Installing only prerequisites under Strawberry


Install Strawberry Perl, and the TeX-system of your choice (if desired), ImageMagick (if you want to try; see Installing ImageMagick under Windows), and then install the additional prerequisites as

cpan Image::Size Parse::RecDescent UUID::Tiny

Installing ImageMagick under Windows

In principle, you should be able to install the binary from ImageMagick and then install the Perl binding using CPAN; unfortunately, it seems that the CPAN version seldom matches the binary or fails for other reasons. What should work the following:

Download and install the main ImageMagick binary appropriate for your Windows system from ImageMagick. Then fetch the PerlMagick tarball with the same version from ImageMagick/perl. Use the following commands to compile and install the PerlMagick, with X.XX being the version you downloaded:

tar -zxvf PerlMagick-X.XX.tar.gz
cd PerlMagick-X.XX
perl Makefile.PL
dmake
dmake test
dmake install

CPAN installation

The following command will install LaTeXML and its Perl prerequisites, but you may need to pre-install libxml2 and libxslt (See Prerequisites). Pre-install TeX and any optional Perl modules, if desired.

cpan LaTeXML

Installing only prerequisites

The following command will install the Perl prerequisites (including optional) for LaTeXML, but you may need to pre-install libxml2 and libxslt (See Prerequisites).

cpan Archive::Zip DB_File File::Which Getopt::Long Image::Size \
  IO::String JSON::XS LWP MIME::Base64 Parse::RecDescent \
  Pod::Parser Text::Unidecode Test::More URI \
  XML::LibXML XML::LibXSLT UUID::Tiny

You may still want to install TeX and Image::Magick using other means.

CPANM Installation

On certain linux machines, you may not want to install LaTeXML (or its dependencies) system-wide, or you may simply lack the required root rights to do so. In such a case, it is convenient to install the development version and dependencies into the home directory using a tool called cpanminus.

Bootstrapping cpanminus

Configuring and setting up cpanminus can be achieved using the following commands

    # Download and install cpanminus
    curl -L http://cpanmin.us | perl - App::cpanminus
    # Setup a directory in ~/perl5 to contain all perl dependencies
    ~/perl5/bin/cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)

Installing

Afterwards installing LaTeXML and dependencies can be achieved with the simple command:

    cpanm git://github.com/brucemiller/LaTeXML.git

This automatically fetches the latest version from GitHub and installs missing dependencies.

Archived Releases: