## C.4 Installation

- Requirements
- Principles

### C.4.1 Requirements

The programs hevea and hacha are written in Objective Caml. Thus, you really need Objective Caml (the more recent version, the better) to compile them. However, some binary distributions exist, which are managed by people other than me (thanks to them). Links to some of these distributions appear in HEVEA home page.

HEVEA users may instruct the program not to process a part of the input (see section 6). Instead, this part is processed into a bitmap file and HEVEA outputs a link to the image file. LATEX source is changed into `.png` images by the `imagen` script, which basically calls, LATEX, dvips, ghostscript and the convert command from the image processing package ImageMagick.

To benefit from the full functionality of HEVEA, you need all this software. However, HEVEA runs without them, but then you will have to produce images by yourself.

### C.4.2 Principles

The details are given in the README file from the distribution. Basically, HEVEA should be given a library directory. The installation procedure stores the hevea.hva and base style files in this directory. There are two compilation modes, the opt mode selects the native code OCaml compiler ocamlopt, while the byte mode selects the bytecode OCaml compiler ocamlc. In HEVEA case, ocamlopt produces code that is up to three times as fast as the one produced by ocamlc. Thus, default compilation mode is opt, however it may be the case on some systems that only ocamlc is available.

Note that, when installing HEVEA from the source distribution, the hevea.sty (and mathjax.sty) style files are simply copied to HEVEA library directory. It remains users (and package maintainers) responsibility to make those files accessible to LATEX.