<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <meta name="generator" content="hevea 2.32"> <meta name="Author" content="Luc Maranget"> <script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML"></script><link rel="stylesheet" type="text/css" href="manual.css"> <title>Installation</title> </head> <body> <a href="manual043.html"><img src="previous_motif.svg" alt="Previous"></a> <a href="manual040.html"><img src="contents_motif.svg" alt="Up"></a> <a href="manual045.html"><img src="next_motif.svg" alt="Next"></a> <hr> <h2 class="section" id="sec234">C.4  Installation</h2> <ul> <li><a href="manual044.html#sec235">Requirements</a> </li><li><a href="manual044.html#sec236">Principles</a> </li></ul> <h3 class="subsection" id="sec235">C.4.1  Requirements</h3> <p><a id="requirements"></a> The programs <span class="c013">hevea</span> and <span class="c013">hacha</span> are written in <a href="http://caml.inria.fr/ocaml/">Objective Caml</a>. 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 <a href="http://hevea.inria.fr/">H<span class="c016"><sup>E</sup></span>V<span class="c016"><sup>E</sup></span>A home page</a>.</p><p><a id="imagen:needs"></a>H<span class="c016"><sup>E</sup></span>V<span class="c016"><sup>E</sup></span>A users may instruct the program not to process a part of the input (see section <a href="manual008.html#imagen">6</a>). Instead, this part is processed into a bitmap file and H<span class="c016"><sup>E</sup></span>V<span class="c016"><sup>E</sup></span>A outputs a link to the image file. L<sup>A</sup>T<sub>E</sub>X source is changed into <code>.png</code> images by the <code>imagen</code> script, which basically calls, L<sup>A</sup>T<sub>E</sub>X, <span class="c013">dvips</span>, <a href="http://www.cs.wisc.edu/~ghost/index.html"><span class="c013">ghostscript</span></a> and the <span class="c013">convert</span> command from the image processing package <a href="http://www.imagemagick.org/"><span class="c023">ImageMagick</span></a>.</p><p>To benefit from the full functionality of H<span class="c016"><sup>E</sup></span>V<span class="c016"><sup>E</sup></span>A, you need all this software. However, H<span class="c016"><sup>E</sup></span>V<span class="c016"><sup>E</sup></span>A runs without them, but then you will have to produce images by yourself.</p> <h3 class="subsection" id="sec236">C.4.2  Principles</h3> <p> The details are given in the <a href="http://hevea.inria.fr/distri/README"><span class="c013">README</span></a> file from the distribution. Basically, H<span class="c016"><sup>E</sup></span>V<span class="c016"><sup>E</sup></span>A should be given a library directory. The installation procedure stores the <span class="c013">hevea.hva</span> and base style files in this directory. There are two compilation modes, the <span class="c013">opt</span> mode selects the native code OCaml compiler <span class="c013">ocamlopt</span>, while the <span class="c013">byte</span> mode selects the bytecode OCaml compiler <span class="c013">ocamlc</span>. In H<span class="c016"><sup>E</sup></span>V<span class="c016"><sup>E</sup></span>A case, <span class="c013">ocamlopt</span> produces code that is up to three times as fast as the one produced by <span class="c013">ocamlc</span>. Thus, default compilation mode is <span class="c013">opt</span>, however it may be the case on some systems that only <span class="c013">ocamlc</span> is available.</p><p><a id="installsty"></a>Note that, when installing H<span class="c016"><sup>E</sup></span>V<span class="c016"><sup>E</sup></span>A from the source distribution, the <span class="c013">hevea.sty</span> (and <span class="c013">mathjax.sty</span>) style files are simply copied to H<span class="c016"><sup>E</sup></span>V<span class="c016"><sup>E</sup></span>A library directory. It remains users (and package maintainers) responsibility to make those files accessible to L<sup>A</sup>T<sub>E</sub>X.</p> <hr> <a href="manual043.html"><img src="previous_motif.svg" alt="Previous"></a> <a href="manual040.html"><img src="contents_motif.svg" alt="Up"></a> <a href="manual045.html"><img src="next_motif.svg" alt="Next"></a> </body> </html>