mpost (1) - Linux Manuals

mpost: MetaPost, a system for creating graphics


mpost, pmpost, upmpost - MetaPost, a system for creating graphics r-mpost, r-pmpost, r-upmpost - restricted MetaPost


mpost [options] [commands]

mpost --dvitomp dvifile[.dvi] [mpxfile[.mpx]]


MetaPost interprets the MetaPost language and produces PostScript (EPS) or Scalable Vector Graphics (SVG) pictures. The MetaPost language is similar to Knuth's Metafont with additional features for including tex(1) or troff(1) commands and accessing features of PostScript not found in Metafont.

MetaPost is normally used with a set of basic macros, and it will use its executable name as the name of the preload file to use. For example, when called as mpost the file is used, which simply reads When the --ini option is given, preloading does not happen.

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 UNIX shells tend to gobble up or misinterpret MetaPost's favorite symbols, like semicolons, unless you quote them.) The normal usage is to say mpost figs to process the file 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.

When the --dvitomp option is given, MetaPost acts as DVI-to-MPX converter only. See dvitomp (1) for details.

The pmpost program is a variant with Japanese support, and upmpost has Unicode-enabled Japanese support, analogous to ptex and uptex.

All three variants are also installed with an `r-' prefix, that is, r-mpost, r-pmpost, r-upmpost, which implicitly specify the --restricted option to make MetaPost safe to run on unknown input; the tex, makempx, and editor commands are disabled.

This manual page is a mere skeleton. For a list of all command line options, run --help.

The main documentation for this version of MetaPost can be found in the User Manual that should have been installed along with the program and is also available from

The MetaPost language is similar to Metafont, but the manual assumes no knowledge of Metafont. MetaPost does not have bitmap output commands or Metafont's online display mechanism.

The standard preload file.
The Metafont-compatible preload file.
The standard MetaPost macros included in the original distribution.
Various tables for handling included tex and troff.
Table of corresponding font names for troff and PostScript.
Table of corresponding font names for tex and PostScript.
The MetaPost manual and tutorial source, also including sample figures


Donald E. Knuth, The Metafontbook (Volume C of Computers and Typesetting), Addison-Wesley, 1986, ISBN 0-201-13445-4.
TUGboat (the journal of the TeX Users Group).


MetaPost was created by John D. Hobby, incorporating algorithms from Metafont by Donald E. Knuth. It was originally implemented on Unix, incorporating system-dependent routines from web2c, while not relying on it except for the actual Web-to-C translator.

Ulrik Vieth adapted MetaPost to take advantage of the advanced path searching features in more recent versions of web2c and worked towards fully integrating MetaPost into the canonical Unix TeX distribution.

The primary author of the current MetaPost was Taco Hoekwater, with assistance from Hans Hagen and many others. It is currently maintained by Luigi Scarso.


The MetaPost home page is


dvitomp(1), epstopdf(1), mf(1), mptopdf(1), tex(1),
MetaPost home page <URL: >.