## 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 `.gif` file and HEVEA outputs a link to the image file. LATEX source is changed into `.gif` images by the `imagen` script, which basically calls, LATEX, `dvips`, `ghostscript` and a few tools from the image processing package `netpbm`.

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` file is simply copied to HEVEA library directory. It remains users responsibility to make it accessible to LATEX.