Difference between revisions of "Command/startuseMPgraphic"

From Wiki
Jump to navigation Jump to search
m (Text replacement - "<syntax>start" to "<syntax type=“environment”>")
m (Text replacement - "<syntax type=“environment”>" to "<syntax type="environment">")
Line 5: Line 5:
  
 
== [[Help:Reference|Syntax]] (autogenerated) ==
 
== [[Help:Reference|Syntax]] (autogenerated) ==
<syntax type=“environment”>useMPgraphic</syntax>
+
<syntax type="environment">useMPgraphic</syntax>
  
 
== [[Help:Reference|Syntax]] ==
 
== [[Help:Reference|Syntax]] ==

Revision as of 19:51, 24 July 2020

\startuseMPgraphic

Syntax (autogenerated)

\useMPgraphic{...}{...=...,...}
{...}name
keyvalue


Syntax

\startuseMPgraphic{...}
%% MetaPost code
\stopuseMPgraphic
{...} name under which the graphic will be known


Description

Define code for a MetaPost graphic. The graphic can be placed in the document with \useMPgraphic, and will be recompiled every time it is placed.

If a custom MetaPost instance (defined with \defineMPinstance) should be used, the name of the graphic has to be preceded by the name of the MetaPost instance, with a double colon in between: \startuseMPgraphic{instancename::graphicname}.

Example

\def\mycolor{.625red}

\defineMPinstance
  [myinstance]
  [metafun]

\startuseMPgraphic{myinstance::name}
  fill fullcircle scaled 20pt withcolor \mycolor;
\stopuseMPgraphic

\startuseMPgraphic{name}
  fill fullcircle scaled 20pt withcolor \mycolor;
\stopuseMPgraphic

red: \useMPgraphic{name}
red: \useMPgraphic{myinstance::name}

\def\mycolor{.625blue}
blue: \useMPgraphic{name}


The command is very nice for defining overlays that vary randomly:

\startuseMPgraphic{randomcolor}
	fill unitsquare
		xyscaled (\overlaywidth, \overlayheight)
                % `uniformdeviate 1` produces a random number between 0 and 1
		withcolor (uniformdeviate 1, uniformdeviate 1, uniformdeviate 1);
\stopuseMPgraphic

\defineoverlay
	[beta]
	[\useMPgraphic{randomcolor}]

\dontleavehmode
\framed[background=beta]{randomcolor}
\framed[background=beta]{randomcolor}
\framed[background=beta]{rather wide}


See also

Help from ConTeXt-Mailinglist/Forum

All issues with: