MPOST(1)

πŸ’– MPOST(1) πŸ’–

okay bestie, gather round, because we're talking about mpost β€” that's the MetaPost situation, plus its lil siblings pmpost and upmpost (the graphics-making girlies), and also r-mpost, r-pmpost, r-upmpost which are the restricted</> versions. no cap. πŸŽ€


✨ SYNOPSIS ✨

mpost [options] [commands]

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

🌸 DESCRIPTION 🌸

So MetaPost reads the MetaPost language and spits out PostScript (EPS) or Scalable Vector Graphics (SVG) pictures. literally making art out of text. πŸ¦‹

The MetaPost language is similar to Knuth's Metafont, except it also has extra features for including tex(1) or troff(1) commands and for reaching into PostScript features that Metafont simply doesn't have. glow-up fr fr. ✨

MetaPost is normally used with a set of basic macros, and here's the cute part: it uses its own executable name as the name of the preload file to use. so like, when you call it as mpost, the mpost.mp file gets used, which just reads plain.mp. iconic behaviour honestly. but when you pass the --ini option, preloading does not happen. noted. πŸ’…

Any commands you give on the command line get passed to MetaPost as the first input line. (tho ngl it's often easier to just type your extended arguments as the first input line, because UNIX shells love to gobble up or misinterpret MetaPost's fave symbols β€” like semicolons β€” unless you quote them. the way shells do that... 😭)

Normal usage is saying mpost figs to process the file figs.mp. The basename figs becomes the ``jobname'', and it's used in forming output file names. If no file is named, the jobname becomes mpout. and the default extension .mp can be overridden by specifying an extension explicitly. easy. πŸ’–

When the --dvitomp option is given, MetaPost acts as a 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, so: r-mpost, r-pmpost, r-upmpost. These implicitly specify the --restricted option, which makes MetaPost safe to run on unknown input β€” the tex, makempx, and editor commands are disabled. safety first bestie 🫢

This manual page is a mere skeleton. For a list of ALL command line options, run --help. no fr, go run it.

The main documentation for this version of MetaPost lives in the User Manual that should've been installed along with the program, and it's also available from https://tug.org/metapost. πŸ“š

The MetaPost language is similar to Metafont, but the manual assumes no knowledge of Metafont. Also, MetaPost does not have bitmap output commands or Metafont's online display mechanism. just so you know. πŸ’€


πŸŽ€ FILES πŸŽ€

  • plain.mp β€” the standard preload file. the blueprint bestie. ✨
  • 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. study material slay πŸ“–

πŸ’œ SUGGESTED READING πŸ’œ

  • 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).

πŸ”₯ SEE ALSO πŸ”₯

dvitomp(1), epstopdf(1), mf(1), mptopdf(1), tex(1), MetaPost home page ⟨https://tug.org/metapost/⟩.


πŸ‘‘ AUTHORS πŸ‘‘

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. the lore is real.

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. king behaviour πŸ‘‘

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. that's it, that's the bug section. go there. πŸ™ˆ


Web2C 2025 Β· 31 December 2018 β€” and that's the whole MPOST(1) page bestie!! you ate this. go make some graphics πŸ’…βœ¨πŸ¦‹πŸ’–