MELTBUILD(1)

NAME
melt - compiles Melt sources into DVI, PostScript or PDF files

SYNOPSIS
meltbuild [OPTIONS] [OTHER_FILES] MAIN_FILE

DESCRIPTION

meltbuild compiles Melt sources (.mlt files) into DVI, PostScript (.ps) or PDF files. It first calls the Melt preprocessor meltpp. It then calls the OCaml compiler, either directly or through Ocamlbuild or Mlpost. The program is linked with the Melt and Latex libraries. The program is then executed, producing .tex files. Then latex or pdflatex is called to produce the document.

The MAIN_FILE is the main file of your document. It is the one which will be compiled, executed, and whose produced .tex file will be compiled. OTHER_FILES will be copied into the _melt directory. They are additional files needed to compile your document, such as modules, class styles or included figures.

If one OTHER_FILE has extension .mlt, it will also be pre-processed. Typically, a .mlt file has two usages. The first one is to define values usable by the main .mlt file. The second one is to call the emit function to produce .tex files that can be included in your main .tex file. This is especially useful if your main .tex file is not written in Melt.

Note that if you want an OTHER_FILE to be compiled and executed, you have to use it in the MAIN_FILE so that Ocamlbuild links it. If you do not use Ocamlbuild, multi-modules documents are not supported.

OPTIONS

-meltpp <binary>
    Specify the location and name of the Melt pre-processor binary.

-latop <binary>
    Specify the location and name of the Latop binary.

-mlpost <binary>
    Specify the location and name of the Mlpost wrapper binary.

-mlpost-no-prelude
    Do not pass a -latex option to the Mlpost wrapper. By default, the .tex file produced by your Melt document is given to Mlpost so it can compute a prelude to be used when compiling images. This option disables this behavior.

    The prelude is the contents of the .tex file before the document environment begins.

-latex <binary>
    Specify the latex command to use.

-P <path>
    Specify the location of pre-processor plugins. This option is passed to the Melt pre-processor.

-I <path>
    Look for additional OCaml libraries in the given directory. This option is passed to the OCaml compiler.

-L <path>
    Add a link to the path in the _melt directory. Useful if you don't want to copy the contents of the directory.

-classic-display
    Give the -classic-display option to Ocamlbuild. Useful if your terminal does not handle the Ocamlbuild animation or if you want to keep a trace of the sequence of commands which are called. Has no effect if it is Mlpost that calls Ocamlbuild.

-no-mlpost
    Do not use the Mlpost wrapper, call Ocamlbuild directly instead (or the OCaml compiler if -no-ocamlbuild is given too). Unspecified if your document produces Mlpost images.

-no-ocamlbuild
    Do not use Ocamlbuild to compile your program. The OCaml compiler will be called directly. Usually only makes sense if your source code is made of only one file, and if you are using an OCaml version older than 3.10.2.

-no-final
    Do not produce the final document, i.e. do not call latex. The MAIN_FILE will still be compiled and executed.

-no-link
    By default, a symbolic link to the produced DVI, PS or PDF document is created in the current directory. This option disables this behavior.

-native
    Compile the program to native code bytecode instead of bytecode.

-dvi
    Produce a DVI instead of a PS file.

-ps Produce a PS file. This is the default behavior.

-pdf
    Produce a PDF instead of a PS file.

-ps2pdf
    Produce a PS file, then convert it to PDF using ps2pdf. Useful if pdflatex won't compile your document.

-cairo
    Use the Cairo backend of Mlpost, instead of Metapost. Implies -pdf.

-mps
    Use the native MPS backend of Mlpost, instead of Metapost. Implies -pdf.

-quiet, -q
    Be quiet. Less messages will be printed on the terminal, if any.

-continue
    Continue on errors.

-fake, -n
    Do not actually execute commands. Useful if you want to know what the Melt tool would execute to compile your document.

-melt-dir <path>
    Change the name used for the _melt directory.

-clean
    Remove the _melt directory and, if not -no-link, all symbolic links of the current directory linking into _melt. Cleaning is done before anything else.

-version
    Print the version number of Melt.

--  Pass the remaining arguments to the generated program.

-help, --help
    Display the list of options

SEE ALSO
meltpp(1), latop(1), mlpost(1), ocamlc(1), ocamlbuild(1), latex(1), pdflatex(1).

AUTHOR
Melt was written by Romain Bardou. Contributors include Vincent Aravantinos, Francois Bobot, Pierre Chambart and Arnaud Spiwack.

This manual page was written by Romain Bardou (but may be used by others).