caml2html(1) pretty print OCaml in html and latex

SYNOPSIS

caml2html [Options...] files...

DESCRIPTION

caml2html pretty prints OCaml source code as html or LaTex files. The pretty printing uses colors and adds tool-tips with type annotations if the corresponding .annot file is present.

Without file arguments, caml2html reads from standard input. By default it writes to standard output.

OPTIONS

-annotfilter {innermost|outermost}
choose whether innermost or outermost type annotations should be used (default: innermost)
-noannot
do not insert type annotations as read from .annot files (HTML output only)
-ln
add line number at the beginning of each line
-hc
comments are treated as raw HTML or LaTeX code (no newlines inside of tags)
-t
add a title to the HTML page
-body
output only document's body, for inclusion into an existing document (see also -make-css and -make-latex-defs)
-nf
do not add footnotes to the HTML page
-inhead
use default styling and place it in the <head> section of the document (default when applicable)
-charset <charset>
specify charset to use (default: iso-8859-1)
-css
use separate CSS style file style.css
-cssurl <URL>
use URL as CSS
-inline
use inline styling (HTML only, default fallback if -inhead is not applicable)
-ie7
drop support for type annotations on Internet Explorer 6 and older
-notab
do not replace tabs by spaces
-tab <integer>
replace tab by n spaces (default = 8)
-d <directory>
generate files in directory dir, rather than in current directory
-o <filename>
output file
-make-css <filename>
create CSS file with default color definitions and exit
-ext <NAME:CMD>
use the given external command CMD to handle comments that start with (*NAME. NAME must be a lowercase identifier. See EXAMPLES below.
-latex
output LaTeX code instead of HTML.
-make-latex-defs <filename>
create a file containing the default LaTeX color definitions and matching highlighting commands, and exit. \usepackage{alltt,color} is not included.
-v
print version number to stdout and exit
-help | --help
Display options and exit.

EXAMPLES

Process many files into a single file:

caml2html -o result.html *.mli *.ml

Process many files, and create one HTML page for each file:

caml2html *.ml

You can use HTML in the comments of the source file, for instance, to insert hyperlinks:

(* This is file1.ml.
   <a href="#file2.ml">This is a link to file2.ml</a>. *)

Note, that one HTML tag cannot span over several lines, and that the ordinary characters <, > and & must be written as &lt;, &gt; and &amp;.

Custom comment handlers To implement an include directive for comments, use

caml2html -ext "include: xargs cat" example.ml

Then


 (*include i.html *)
 let f x = 2 * x + 1

produces


 ... contens of i.html ...
 let f x = 2 * x + 1

as result.

AUTHOR

This manual page was written by Sylvain Le Gall <[email protected]> and Hendrik Tews <[email protected]>, specifically for the Debian project (and may be used by others).