Since uniqueMPgraphics are only evaluated once for every set of variables
(width, height, etc.), every box with the same size is randomized in the
same way. Using useMPgraphics ensures that the graphics are redrawn every
time.
-\startuniqueMPgraphic{HLine}
+\startuseMPgraphic{HLine}
path a, b;
% Create a rectangle of the full size
a := origin -- (\MPvar{width}, 0mm);
path a, b;
% Create a rectangle of the full size
a := origin -- (\MPvar{width}, 0mm);
% And draw it
drawoptions (withpen pencircle scaled .75mm withcolor black) ;
draw a;
% And draw it
drawoptions (withpen pencircle scaled .75mm withcolor black) ;
draw a;
% Draw a line with the given options. Accepts only the 'width' option. Be
% careful that these are metapost options, so use \the\textwidth instead of
% Draw a line with the given options. Accepts only the 'width' option. Be
% careful that these are metapost options, so use \the\textwidth instead of
% \the\textwidth instead of 0.5\textwidth).
\def\HLine[#1]%
{\setupMPvariables[HLine][#1]%
% \the\textwidth instead of 0.5\textwidth).
\def\HLine[#1]%
{\setupMPvariables[HLine][#1]%
- \uniqueMPgraphic{HLine}}
-\startuniqueMPgraphic{box}
path a, b;
% Create a rectangle of the full size
a := unitsquare xyscaled(\overlaywidth,\overlayheight);
path a, b;
% Create a rectangle of the full size
a := unitsquare xyscaled(\overlaywidth,\overlayheight);
% And draw it
drawoptions (withpen pencircle scaled .75mm withcolor black) ;
draw b;
% And draw it
drawoptions (withpen pencircle scaled .75mm withcolor black) ;
draw b;
-\defineoverlay[box][\uniqueMPgraphic{box}]
+\defineoverlay[box][\useMPgraphic{box}]
% Define \{start,stop}boxed with a nice metapost box around it.
\defineframedtext[boxed][background=box,frame=off]
% Define \{start,stop}boxed with a nice metapost box around it.
\defineframedtext[boxed][background=box,frame=off]