Name

mpost — MetaPost, a system for drawing pictures

Synopsis

mpost [option...] [[command...] | [file]]

Description

MetaPost (installed as mpost) reads a series of pictures specified in the MetaPost programming language, and outputs corresponding PostScript code.

Like TeX and METAFONT, MetaPost is normally used with a large body of precompiled macros. This version of MetaPost looks at its command line to see what name it was called under. Both inimpost and virmpost are aliases for the mpost executable. When called as inimpost (or when the --initialize option is given) it can be used to precompile macros into a .mem file. When called as virmpost it will use the plain mem. When called under any other name, MetaPost will use that name as the name of the mem to use. For example, when called as mpost the mpost mem is used, which is identical to the plain mem. Other mems than plain are rarely used.

The commands given on the command line to the MetaPost program are passed to it as the first input line. (But it is often easier to type extended arguments as the first input line, since shells tend to gobble up or misinterpret MetaPost's favorite symbols, like semicolons, unless you quote them.) The first line should begin with a filename, a \controlsequence, or a &basename.

The normal usage is to say mpost figs to process the file figs.mp. The basename of figs becomes the “jobname”, and is used in forming output file names. If no file is named, the jobname becomes mpout. The default extension, .mp, can be overridden by specifying an extension explicitly.

Options

--alias=app

Pretend to be app, i.e., set program (and memory dump) name to app. This may affect the search paths and other values used. Using this option is equivalent to copying the executable file to app.exe and invoking app.exe.

--aux-directory=dir

Set the directory dir to which auxiliary files are written. Also look for input files in dir first, before along the normal search path.

--bistack-size=n

Set the size of the stack for bisection algorithms.

--buf-size=n

Set the the maximum number of characters simultaneously present in current lines of open files and in control sequences between \csname and \endcsname. TeX uses the buffer to contain input lines, but macro expansion works by writing material into the buffer and reparsing the line. As a consequence, certain constructs require the buffer to be very large, even though most documents can be handled with a small value.

--c-style-errors

Change the way, error messages are printed. The alternate style looks like error messages from many compilers and is easier to parse for some editors. This option implies \scrollmode.

--disable-installer

Disable automatic installation of missing packages. Specifying this option overwrites the global configuration setting in MiKTeX Options (see the section called “Automatic Package Installation”).

--disable-pipes

Disable input (output) from (to) child processes.

--dont-parse-first-line

Disable checking whether the first line of the main input file starts with %&.

--enable-installer

Enable automatic installation of missing packages. Specifying this option overwrites the global configuration setting in MiKTeX Options (see the section called “Automatic Package Installation”).

--enable-pipes

Enable input (output) from (to) child processes.

--error-line=n

Set the width of context lines on terminal error messages.

--extra-mem-top=n

Set the extra size (in memory words) for chars, tokens, et al. Relevant only after the memory dump file has been read.

--font-mem-size=n

Set the size, in TeX memory words, of the font memory.

--half-error-line=n

Set the width of first lines of contexts in terminal error messages.

--halt-on-error

Quit after the first error.

--help

Give help and exit.

--hhelp

This option is only available on Windows systems: show the manual page in an HTML Help window and exit when the window is closed.

--include-directory=dir

Prefix dir to the search path.

--initialize

Become the INI variant of the compiler.

--interaction=mode

Set the interaction mode. Must be one of batchmode, nonstopmode, scrollmode and errorstopmode. The meaning of these modes is the same as the corresponding commands.

--job-name=name

Set the name of the job (\jobname. This has an affect on the output file names.

--job-time=file

Set the time-stamp of all output files equal to file's time-stamp.

--lig-table-size=n

Set the maximum number of ligature/kern steps. Must be at least 255 and at most 32510.

--main-memory=n

Change the total size (in memory words) of the main memory array. Relevant only while creating memory dump files.

--max-print-line=n

Set the width of longest text lines output; should be at least 60.

--max-strings=n

Set the maximum number of strings.

--no-c-style-errors

Don't change the way, error messages are printed.

--output-directory=dir

Create output files in dir. This implies --include-directory=dir.

--param-size=n

Set the the maximum number of simultaneous macro parameters.

--parse-first-line

Check whether the first line of the main input file starts with %&, and parse if it does. This can be used to specify extra command-line options.

--path-size=n

Set the the maximum number of knots between breakpoints of a path.

--pool-size=n

Set the maximum number of characters in strings, including all error messages and help texts, and the names of all fonts and control sequences.

--quiet

Suppress all output, except errors.

--record-package-usages=file

Record all package usages and write them into file.

--recorder

Enable the file name recorder. This leaves a trace of the files opened for input and output in a file with the extension .fls.

--stack-size=n

Set the maximum number of simultaneous input sources.

--string-vacancies=n

Set the minimum number of characters that should be available for the user's control sequences and font names, after the compiler's own error messages are stored. Must be at least 25000 less than pool_size, but doesn't need to be nearly that large.

--tcx=name

Process the TCX table name.

-tex=texprogram

Use texprogram instead of tex when compiling text labels.

This flag overrides the environment variable TEX.

--time-statistics

Show processing time statistics.

--trace[=tracestreams]

Enable trace messages. The tracestreams argument, if speciefied, is a comma-separated list of trace stream names (Chapter 9, Trace Streams).

--undump=name

Use name as the name of the format to be used, instead of the name by which the program was called or a

%&

line.

--version

Show version information and exit.

Environment

MFINPUTS

Extra paths to locate METAFONT input and openin files.

MPINPUTS

Extra paths to locate MetaPost input files.

See also

AT&T technical report CSTR-162

Run mthelp mpman