The HaTeX package

[Tags:bsd3, library, test]

This library implements the LaTeX syntax and provides some useful abstractions.

Some of the things you can do with HaTeX are:

Browse the examples directory in the source distribution to see some simple examples. It might help you to get started. The HaTeX User's Guide is available at We also have a mailing list ( and an IRC channel (#hatex). If you just want to read a short introduction, read the Text.LaTeX module.

If you prefer to write in LaTeX and all you want is to program some parts of the document, or if you already have the LaTeX document written and you just want to add some automatically generated LaTeX code somewhere, check haskintex: It allows you to embed Haskell in LaTeX. It also makes you easy to use HaTeX within a LaTeX document.

[Skip to Readme]


Versions 1.0.0, 1.0.1, 2.0.0, 2.0.1, 2.1.0, 2.1.1, 2.1.2, 2.1.3, 3.0.0, 3.1.0, 3.2,, 3.3, 3.4, 3.5, 3.6,,,,,,,,,,,,,,,,,,,,,,,,,
Change log
Dependencies base (==4.*), bytestring (>= && <0.11), containers (>= && <0.6), ghc-prim, hashable (==1.2.*), matrix, parsec (>=3.1.6), QuickCheck, text (>= && <2), transformers (>=0.2.2 && <0.6), wl-pprint-extras (>=3.5) [details]
License BSD3
Author Daniel Díaz
Maintainer Daniel Díaz (dhelta `dot` diaz `at` gmail `dot` com)
Category LaTeX
Home page
Bug tracker
Source repository head: git clone git://
Uploaded Sun Jul 16 16:22:05 UTC 2017 by DanielDiaz
Distributions LTSHaskell:, NixOS:, Stackage:, Tumbleweed:
Downloads 11871 total (150 in the last 30 days)
1 []
Status Docs available [build log]
Last success reported on 2017-07-16 [all 1 reports]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees

Readme for HaTeX

Readme for HaTeX-

The HaTeX library

HaTeX is a Haskell library that implements the LaTeX syntax, plus some abstractions on top.

Check a list of usage examples in the Examples directory of the repository in GitHub. A good starting point is simple.hs. Run any example script executing the main function.

Installation notes

To install HaTeX, use cabal-install or stack.

To install with cabal, run:

$ cabal update
$ cabal install HaTeX

This will download and install the latest official release (recommended). If you want to try a newer version, use git to clone the code contained in this repository.

$ git clone
$ cd HaTeX
$ cabal install

However, this is not recommended as it may include some bugs or oddities due to in-development features. Note that this package follows the Package Versioning Policy, so it is unlikely to suffer from API breakages if you follow it too when importing the library (assuming you are using the version in Hackage).

Current HaTeX versions

HaTeX on Hackage

HaTeX on Stackage

HaTeX on Stackage Nightly

HaTeX User's Guide

The HaTeX User's Guide lives here... and is also done in Haskell! It is free source and anybody can contribute to it. Doing so, you will help current and future users!

A downloadable version (not necessarily the latest version, but most likely) can be found here. To be sure that you are reading the last version, go to the github repository of the guide and follow instructions to build it. It is fairly easy.

Please note that the user's guide needs to be updated (contributions are more than welcome!).

Community and Contributions

There are many ways to get involved in the HaTeX project. Use the most comfortable way for you.

TODO list

  • Add more examples.
  • Add more documentation.
  • BibTeX support.

Related projects

  • haskintex: Tool to use Haskell (and, additionaly, the HaTeX library) within a LaTeX file.
  • TeX-my-math: Experimental library to ease the production of mathematical expressions using HaTeX.

Travis automatic build

For every code push to the GitHub repository, an automatic build checks that the library compiles with several versions of GHC (7.4, 7.6, and 7.8) and that all tests pass. This label indicates the result of the last automatic build.

Build Status

Currently, automatic builds are only running under Linux. We hope Travis will support other systems in the future.