---
name: "mpost"
section: "1"
platform: "linux"
package: "texlive-doc"
version: "2026.1-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/mpost"
---

# mpost(1)

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

## NAME

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

## SYNOPSIS

**mpost** \[*options*\] \[*commands*\]

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

## DESCRIPTION

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)](/tex/1.md) or [**troff**(1)](/troff/1.md) 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 *mpost.mp* file is used, which simply reads *plain.mp*. 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 *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.

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 https://tug.org/metapost.

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.

## FILES

- *plain.mp*

  The standard preload file.

- *mfplain.mp*

  The Metafont-compatible preload file.

- *$TEXMFMAIN/metapost/base/\*.mp*

  The standard MetaPost macros included in the original distribution.

- *$TEXMFMAIN/metapost/support/\**

  Various tables for handling included *tex* and *troff*.

- *$TEXMFMAIN/metapost/support/trfonts.map*

  Table of corresponding font names for *troff* and PostScript.

- *psfonts.map*

  Table of corresponding font names for *tex* and PostScript.

- *$TEXMFMAIN/doc/metapost/\**

  The MetaPost manual and tutorial source, also including sample figures

## SUGGESTED READING

Donald E. Knuth, *The Metafontbook* (Volume C of *Computers & Typesetting*).\
 *TUGboat* (the journal of the TeX Users Group).

## SEE ALSO

[**dvitomp**(1)](/dvitomp/1.md), [**epstopdf**(1)](/epstopdf/1.md), [**mf**(1)](/mf/1.md), [**mptopdf**(1)](/mptopdf/1.md), [**tex**(1)](/tex/1.md),\
 MetaPost home page ⟨URL: https://tug.org/metapost/ ⟩.

## AUTHORS

MetaPost was created by John D. Hobby, incorporating algorithms from  the Metafont program by Donald E. Knuth.

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.

## BUGS

The MetaPost home page is https://tug.org/metapost.
