Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
a flexible text macro system
Haskell
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
Text
test
.gitignore
HeX.cabal
LICENSE
README.markdown
TODO
hexto.hs

README.markdown

HeX - a flexible text macro system

Good things about TeX/LaTeX:

  • Beautiful output
  • Extensible using macros

Bad things about TeX/LaTeX:

  • Output limited to PDF/PS; difficult to convert to HTML or other formats
  • Ugly language for writing macros

HeX:

  • Provides a basic macro system that can be customized by writing functions in Haskell
  • The macros can define output in multiple formats, for example, LaTeX and HTML
  • References and labels are handled in a consistent way across both formats.
  • Math works in both formats (using MathML in HTML output, though this is configurable).
  • Eventually, citeproc-hs will be used for references. Producing a PDF from HeX's LaTeX output will only require a single run of pdflatex, and no packages will be required other than amsmath and amssymb.

HeX is under development, but beyond the core not much has been implemented yet. If you want to play with it, you can install HeX in the standard way for Haskell packages:

cabal install

For an example of a HeX document, see test/test.hex. To convert it to LaTeX and HTML, respectively, change to the test directory and do:

runghc test.hs latex < test.hex
runghc test.hs html < test.hex

The file test.hs functions like the preamble of a LaTeX document, defining the commands to be used. In this case, MathML is used for math in HTML output.

Something went wrong with that request. Please try again.