Difference between revisions of "Command/startreusableMPgraphic"

From Wiki
Jump to navigation Jump to search
(Proper example code)
(Add overlay example)
Line 18: Line 18:
  
 
== Description ==  
 
== Description ==  
Define code for a MetaPost graphic. The graphic is compiled once, and can be reused multiple times with can be placed in the document with {{cmd|reuseMPgraphic}}.
+
Define code for a MetaPost graphic. The graphic is compiled once, and can be reused multiple times with {{cmd|reuseMPgraphic}}.
  
 
== Example ==
 
== Example ==
Line 33: Line 33:
 
blue: \reuseMPgraphic{name}
 
blue: \reuseMPgraphic{name}
 
</context>
 
</context>
 +
 +
The command is not very suitable for defining an overlay [[Overlays|overlays]] that must vary in width:
 +
 +
<context source=yes>
 +
\startreusableMPgraphic{beta}
 +
fill unitsquare
 +
xyscaled (\overlaywidth, \overlayheight)
 +
                % `uniformdeviate` 1 produces a random number between 0 and 1
 +
withcolor (uniformdeviate 1, uniformdeviate 1, uniformdeviate 1);
 +
\stopreusableMPgraphic
 +
 +
\defineoverlay
 +
[beta]
 +
[\reuseMPgraphic{beta}]
 +
 +
\dontleavehmode
 +
\framed[background=beta]{narrow}
 +
\framed[background=beta]{narrow}
 +
\framed[background=beta]{rather wide}
  
 
== See also ==
 
== See also ==

Revision as of 16:50, 26 November 2012

\startreusableMPgraphic

Syntax

\startreusableMPgraphic{...}
{...} name under which the graphic will be known

Description

Define code for a MetaPost graphic. The graphic is compiled once, and can be reused multiple times with \reuseMPgraphic.

Example

\def\mycolor{.625red}

\startreusableMPgraphic{name}
  fill fullcircle scaled 20pt withcolor \mycolor;
\stopreusableMPgraphic

red: \reuseMPgraphic{name}

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

The command is not very suitable for defining an overlay overlays that must vary in width:

<context source=yes> \startreusableMPgraphic{beta} fill unitsquare xyscaled (\overlaywidth, \overlayheight)

               % uniformdeviate 1 produces a random number between 0 and 1

withcolor (uniformdeviate 1, uniformdeviate 1, uniformdeviate 1); \stopreusableMPgraphic

\defineoverlay [beta] [\reuseMPgraphic{beta}]

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

See also

Help from ConTeXt-Mailinglist/Forum

All issues with: