Difference between revisions of "MetaPost"

From Wiki
Jump to navigation Jump to search
(→‎Using MP in ConTeXt: Document startMPcode)
m (Add the tug.org metapost homepage)
Line 1: Line 1:
 
<  [[Math]], [[MetaFun]], [[Graphics]]
 
<  [[Math]], [[MetaFun]], [[Graphics]]
  
 +
* Metapost home page: http://tug.org/metapost
 
* John Hobby's page: http://cm.bell-labs.com/who/hobby/MetaPost.html
 
* John Hobby's page: http://cm.bell-labs.com/who/hobby/MetaPost.html
 
* Current development: http://foundry.supelec.fr/projects/metapost/
 
* Current development: http://foundry.supelec.fr/projects/metapost/

Revision as of 10:26, 19 September 2009

< Math, MetaFun, Graphics

MetaPost is a graphical programming language, based on Donald Knuth's MetaFont. Normally MP graphics are converted to PostScript and used with dvips, but ConTeXt can use it directly with PDF (see MPtoPDF).

MetaPost is ConTeXt's "native" graphics mode, see MetaFun.


Documentation & Tutorials

Different Packages, Extensions & Applications of Metapost

  • finomaton - drawing finite state automata
  • statsmac - metapost macros for statistics graphs
  • MetaUML - MetaPost library for typesetting UML diagrams

3D support


TODO: needs major review (See: To-Do List)


MetaPost relatives

Font Creation

3D drawing

  • Asymptote - inspired by MetaPost & fully generalizes MetaPost path construction algorithms to three-dimensions

Using MP in ConTeXt

The first way is a usable graphic. Such a graphic is calculated anew each time it is used. An example:

\startuseMPgraphic{name}
  fill fullcircle scaled 5cm withcolor red;
\stopuseMPgraphic

\useMPgraphic{name}

As said, this graphic is calculated each time it is placed, which can be time consuming. Apart from the time aspect, this also means that the graphic itself is incorporated many times. Therefore, for graphics that don’t change, CONTEXT provides reusable graphics:

\startreusableMPgraphic{name}
  fill fullcircle scaled 200pt withcolor .625yellow;
\stopreusableMPgraphic

\reuseMPgraphic{name}

When reusing a graphic is not so important and you just want to include something inline, you can also use the following:

\startMPcode
  fill fullcircle scaled 200pt withcolor .625yellow;
\stopMPcode

See also section 3.3 of MetaFun manual.

Other Links