MPOST
NAME SYNOPSIS DESCRIPTION OPTIONS ENVIRONMENT FILES SUGGESTED READING SEE ALSO AUTHORS TRIVIA
mpost, inimpost, virmpost - !MetaPost?, a system for drawing pictures
mpost [''options''? [''commands''?
This manual page is not meant to be exhaustive. The complete documentation for this version of TEX can be found in the info file or manual Web2C: A TeX implementation.
Knuth's M ETAFONT with additional features for including tex(1) or troff(1) commands and accessing features of !PostScript not found in M ETAFONT .
Like TEX and M ETAFONT , !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 symlinks to the mpost executable. When called as inimpost (or when the --ini 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 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
quote them.) The first line should begin with a filename, a \controlsequence, or a .
The normal usage is to say mp 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.
There is normally one output file for each picture generated, and the output files are named jobname.nnn, where nnn is a number passed to the beginfig macro. The output file name can also be jobname.ps if this number is negative.
The output files can be used as figures in a TEX document by including special{psfile=jobname.nnn} in the TEX document. Alternatively, one can input epsf.tex and then use the macro epsfbox{jobname.nnn} to produce a box of the appropriate size containing the figure. btex TeX commands etex
This causes mp to generate a !MetaPost? picture expression that corresponds to the TEX commands. If the TEX commands generate more than one line of text, it must be in a vbox or a minipage environment.
verbatimtex TeX commands etex
This is ignored by mp except that the TEX commands are passed on to TEX. When using L A TEX instead of TEX the input file must start with a verbatimtex block that gives the documentstyle and begin{document} commands. You can use the `% ''
Since most TEX fonts have to be downloaded as bitmaps, the btex feature works best when the output of mp is to be included in a TEX document so that dvips(1) can download the fonts. For self-contained !PostScript output that can be used directly or included in a troff document, start your !MetaPost? input file with the command prologues:=1 and stick to standard !PostScript fonts. TEX and !MetaPost? use the names in the third column of the file trfonts.map, which can be found in the directories with support files for !MetaPost?.
via the -m pictures macro package. In this case mp should be invoked with the -T flag so that the commands between btex and etex or between verbatimtex and etex are interpreted as troff instead of TEX. (This automatically sets prologues:=1 ).
This version of !MetaPost? understands the following command line options.
--file-line-error-style
Print error messages in the form file:line:error which is similar to the way many compilers format them.
--help
Print help message and exit.
--ini
Be inimpost, for dumping bases; this is implicitly true if the program is called as inimpost.
--interaction mode
Sets the interaction mode. The mode can be one of batchmode, nonstopmode, scrollmode, and errorstopmode. The meaning of these modes is the same as that of the corresponding commands.
--kpathsea-debug bitmask
Sets path searching debugging flags according to the bitmask. See the Kpathsea manual for details.
--mem mem
Use mem as the name of the mem to be used, instead of the name by which !MetaPost? was called or a % line.
--progname name
Pretend to be program name. This affects both the format used and the search paths.
--recorder
Enable the filename recorder. This leaves a trace of the files opened for input and output in a file with extension .fls.
-T
Produce TROFF output.
--translate-file tcxname
Use the tcxname translation table.
--troff
As -T.
--version
Print version information and exit.
See the Kpathsearch library documentation (the `Path specifications' node) for the details of how the environment variables are use when searching. The kpsewhich utility can be used to query the values of the variables.
If the environment variable TEXMFOUTPUT is set, !MetaPost? attempts to put its output files in it, if they cannot be put in the current directory.
Here is a list of the environment variables affect the behavior of mp:
MPINPUTS
Search path for input files.
MFINPUTS
Auxiliary search path for input files with .mf extensions.
MPSUPPORT
Directory for various tables for handling included tex and troff.
MPXCOMMAND
The name of a shell script that converts embedded typesetting commands to a form that !MetaPost? understands. Defaults: makempx for tex and troffmpx for troff.
TEX
The version of TEX - or L A TEX - to use when processing btex and verbatimtex commands. Default tex. This version of !MetaPost? allows you to use a `%''
TROFF
The troff pipeline for btex and verbatimtex commands. Default eqn -d$$ | troff
MPEDIT
A command template for invoking an editor.
A .mem file is a binary file that permits fast loading of macro packages. mpost reads the default plain.mem unless another .mem file is specified at the start of the first line with an just before it. There is also an that simulates plain M ETAFONT so that mpost can read .mf fonts. (Plain M ETAFONT is described in The M ETAFONT book).
Experts can create .mem files be invoking inimpost and giving macro definitions followed by a dump command.
The !MetaPost? language is similar to M ETAFONT , but the manual A User's Manual for !MetaPost? assumes no knowledge of M ETAFONT . !MetaPost? does not have bitmap output commands or M ETAFONT 's online display mechanism.
mpost.pool
Encoded text of !MetaPost?'s messages.
*.mem
Predigested !MetaPost? mem files.
plain.mp
The standard mem file.
mfplain.mp
The M ETAFONT -compatible mem file. This is loaded when virmp is invoked via a symbolic link as mfmp.
$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
psfonts.map
Table of corresponding font names for tex and
$TEXMFMAIN/doc/metapost/examples.mp
The source file for a few sample figures that are part of a L A TEX document $TEXMFMAIN/doc/metapost/mpintro.tex that describes the !MetaPost? system in a little more detail.
Donald E. Knuth, The M ETAFONT book (Volume C of Computers and Typesetting), Addison-Wesley, 1986, ISBN 0-201-13445-4. John D. Hobby, A User's Manual for !MetaPost?, CSTR 162, AT John D. Hobby, Drawing Graphs with !MetaPost?, CSTR 164, AT TUGboat'' (the journal of the TEX Users Group).
algorithms from M ETAFONT 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 W EB
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. He also updated and extended this manual page.
Unlike TEX and M ETAFONT , !MetaPost? originally didn't use any fancy logo. John Hobby says he prefers the spelling ``!MetaPost?, yet Don Knuth has updated the M ETAFONT logo.mf'' font to be able to typeset a proper !MetaPost? logo similar to the M ETAFONT logo. Feel free to use whatever you think is more appropriate!
One page links to virmpost(1):