Command/startMPinclusions

From ConTeXt wiki

\startMPinclusions

Syntax

\startMPinclusions[...][...][...]
[...] text
[...] text
[...] text

Description

Inside \startMPinclusions one can specify MetaFun code that you would like to be present in your MetaPost instance. It is generally used to define MetaPost functions, or to input files that contain them.

Example

The following example defines a create_wave macro that is then used for the page background.

\startMPinclusions
  vardef create_wave =
    path wave;
    wave := (0, 0); 

    % Number of bezier points along the wave.
    wave_resolution := 20;

    % Number of full wave cycles.
    wave_cycles := 2;

    for x = 0 step (1 / wave_resolution) until 2 wave_cycles:
      wave := wave .. (x, sin( x * pi ));
    endfor;

    % Return the path
    wave
  enddef;
\stopMPinclusions

\startuseMPgraphic{page:ThemeBackground}
  path wave;
  wave := create_wave;
  draw wave xyscaled( 60, 20 ) withpen pencircle scaled 1mm;
\stopuseMPgraphic

\defineoverlay[page:ThemeBackground][\uniqueMPgraphic{page:ThemeBackground}]

\starttext
  \setupbackgrounds[page][background={page:ThemeBackground}]
  \startchapter
  \input knuth
  \input zapf
  \input knuth
  \stopchapter
\stoptext

Multiple Inclusions

To use multiple \startMPinclusions that should be combined, use [+]. For example, the following code will fail because the second inclusion overwrites the first:

\startMPinclusions
   path a ;
\stopMPinclusions

\startMPinclusions
   a := (0,0) -- (1cm,0) ;
\stopMPinclusions

Use [+] to appended the second inclusion after the first:

\startMPinclusions
   path a ;
\stopMPinclusions

\startMPinclusions[+]
   a := (0,0) -- (1cm,0) ;
\stopMPinclusions


See also

Help from ConTeXt-Mailinglist/Forum

All issues with: