From 7affec99ba7efed53547246678612f6a2b78608a Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Sat, 20 Feb 2016 23:42:49 +0000
Subject: lroundrect (20feb16)

git-svn-id: svn://tug.org/texlive/trunk@39804 c570f23f-e606-0410-a88d-b1316a301751
---
 .../source/latex/lroundrect/lroundrect.dtx         | 620 +++++++++++++++++++++
 1 file changed, 620 insertions(+)
 create mode 100644 Master/texmf-dist/source/latex/lroundrect/lroundrect.dtx

(limited to 'Master/texmf-dist/source/latex/lroundrect/lroundrect.dtx')

diff --git a/Master/texmf-dist/source/latex/lroundrect/lroundrect.dtx b/Master/texmf-dist/source/latex/lroundrect/lroundrect.dtx
new file mode 100644
index 00000000000..4424d219804
--- /dev/null
+++ b/Master/texmf-dist/source/latex/lroundrect/lroundrect.dtx
@@ -0,0 +1,620 @@
+% \iffalse
+% +AMDG  This document was begun on 3 August 11EE, the eve
+% of the Feast of St. Dominic, C, and it is humbly
+% dedicated to him and to the Immaculate Heart of Mary, for
+% their prayers, and to the Sacred Heart of Jesus, for His
+% mercy.
+% 
+% This document is copyright 2015 by Donald P. Goodman, and is
+% released publicly under the LaTeX Project Public License.  The
+% distribution and modification of this work is constrained by the
+% conditions of that license.  See
+% 	http://www.latex-project.org/lppl.txt
+% for the text of the license.  This document is released
+% under version 1.3 of that license, and this work may be distributed
+% or modified under the terms of that license or, at your option, any
+% later version.
+% 
+% This work has the LPPL maintenance status 'maintained'.
+% 
+% The Current Maintainer of this work is Donald P. Goodman
+% (dgoodmaniii@gmail.com).
+% 
+% This work consists of the files lroundrect.dtx and
+% lroundrect.ins, along with the generated file lroundrect.sty
+% and lroundrect.pdf, and the README.
+% \fi
+
+% \iffalse
+%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<package>\ProvidesPackage{lroundrect}[2015/09/01 v1.0 LaTeX macros utilizing the Metapost roundrect code]
+%<*driver>
+
+\documentclass{ltxdoc}
+\usepackage{url}
+\usepackage[typeone]{dozenal}
+\usepackage{verbatim}
+\usepackage{mflogo}
+\usepackage[everymp={input roundrect;},latex]{gmp}
+	\usempxpackage{color}
+\usepackage{color}
+\usepackage{makeidx}
+\usepackage{lroundrect}
+\makeindex
+\long\def\demonstrate#1#2{%
+	\bigskip%
+	\hrule%
+	\hbox to\linewidth{%
+		\hbox to0.5\linewidth{%
+			\vbox to2in{\vfil#1\vfil}%
+		}\hbox to0.5\linewidth{%
+			\vbox to2in{\vfil#2\vfil}%
+		}%
+	}%
+	\hrule%
+	\bigskip%
+}
+
+\begin{document}
+\DocInput{lroundrect.dtx}
+\end{document}
+%</driver>
+% \fi
+% \title{The \texttt{lroundrect} Package, v1.0}
+% \author{Donald P.\ Goodman III}
+% \date{\today}
+%
+% \maketitle
+% \begin{abstract}\noindent
+% The |lroundrect| package is the \LaTeX\ companion for the
+% |roundrect| macros for \MP; they provide an easy interface
+% for a few specific formats, and a good example for how to
+% write your own rounded-rectangle macros for use in \LaTeX\
+% documents or elsewhere.  The idea with this package and
+% with the \MP\ |roundrect| macros was to
+% provide a \MP-based replacement for the incredibly
+% versatile |tcolorbox| package; this package is far from
+% achieving that goal.  But it is nevertheless extremely
+% useful.
+% \end{abstract}
+% 
+% \tableofcontents
+%
+% \section{Introduction}
+%
+% While Ti\textit{k}Z and its many accompanying packages,
+% particularly |tcolorbox|, are wonderful and powerful
+% tools, whenever using them I inevitably feel completely
+% lost, and I exert great effort doing comparatively simple
+% things.  Contrariwise, thanks to my experience with the
+% |drm| and |dozenal| packages, writing in \MP\ is quite
+% straightforward for me.  So I decided to try to write some
+% generalized macros to provide functionality similar to
+% that of |tcolorbox|.  This package (along with
+% |roundrect|, its accompanying \MP\ package) is not even
+% close to that kind of flexibility or power, but it's still
+% quite useful and versatile, so I make it available for
+% anyone who might be interested.
+%
+% This document was typeset in accordance with the
+% |docstrip| utility, which allows the automatic extraction
+% of code and documentation from the same document.
+%
+% \section{Prerequisites and Conventions}
+%
+% Some prerequesites for using this package are \MP\ itself
+% (obviously).  If you're using the package with \LaTeX, the
+% |gmp| package would probably be helpful; be sure to use
+% the |latex| package option.  Finally, the
+% package internally calls |TEX.mp|, so that is also
+% required.  All of these should be packaged in any
+% reasonably modern \LaTeX\ system, such as \TeX Live or
+% Mik\TeX.
+%
+% This documentation assumes nothing about your personal
+% \TeX\ or \MP\ environment.  Con\TeX t and the various
+% forms of Lua\TeX\ have \MP\ built-in; with pdf\LaTeX, the
+% author's choice, one can use the |gmp| package to
+% include the source directly in one's document (that's
+% what's been done in this documentation) or develop a
+% simple script to compile them afterwards and include them
+% in the source via |\includegraphics| (probably the
+% quickest option, since compilation is done in advance).
+% Here, we simply post the plain vanilla \MP\ code, and let
+% you work out those details however you prefer.
+%
+% \section{Basic Usage}
+%
+% |lroundrect| utilizes the \MP\ |roundrect| macros to
+% perform typesetting within a \LaTeX\ document.  To do
+% this, it has a number of predefined styles which can be
+% selected.  These styles consist of different names and,
+% often, different numbers of arguments.  Here is the
+% simplest, \DescribeMacro{\rralertbox}|\rralertbox|:
+%
+% \begin{quote}
+%	|\rralertbox{\unexpanded{\Huge This is an rralertbox!}}|
+% \end{quote}
+%
+% \noindent yields the following:
+%
+% \hbox to\linewidth{%
+%	\hfil%
+%	\rralertbox{\unexpanded{\Huge This is an rralertbox!}}%
+%	\hfil%
+% }
+%
+% The |\unexpanded| is simply to protect the font commands
+% when they are used with the |gmp| package in pdf\LaTeX;
+% it is not necessary otherwise.  |\rralertbox| is produced
+% with the following code:
+%
+%    \begin{macrocode}
+\def\rralertbox#1{%
+	\begin{mpost}
+	rrborderpen(pencircle scaled 3);
+	rrbodytext := "#1";
+	rrbordercolor(0.8red);
+	rrtextcolor := 0.8red;
+	rrinnercolor := 0.5[red,white];
+	roundrect(1in,2in)(alertbox);
+	draw alertbox;
+	\end{mpost}
+}%
+%    \end{macrocode}
+%
+% \noindent
+% It's not claimed that this particularly good style; it
+% serves merely as an example of what we can do.
+%
+% Another simple example (and likely equally ugly
+% color-wise) is
+% \DescribeMacro{\rrorangebluebox}|\rrorangebluebox| (using
+% the |mpcolornames| package for color names):
+%
+% \hbox to\linewidth{%
+%	\hfil%
+%	\rrorangebluebox{Title}{This is the body of the box, and
+%	has lots of very interesting text in it.  Enough, in
+%	fact, that it wraps, so we can see how the box expands
+%	based on the size of its argument.}
+%	\hfil%
+% }%
+%
+% This is the sort of macro that might be useful for, say,
+% chapter headings:
+%
+% \hbox to\linewidth{%
+%	\hfil%
+%	\rrorangebluebox{Chapter 5}{The Very Interesting Chapter	Title}
+%	\hfil%
+% }
+%
+% \noindent
+% This provides an interesting way to display things,
+% particularly items like headings and definitions.  Both
+% the title and the body will expand to fit their contents
+% as necessary, though if the title is too long its
+% positioning won't work well.  (By ``title'' I mean the
+% orange box.)  The code producing these boxes is below.
+%
+%    \begin{macrocode}
+\newlength{\rrorangewid}
+\newdimen\rrblueht
+\newdimen\rrorangeht
+\newbox\rrbluebox
+\newbox\rrorangebox
+\def\rrorangebluebox#1#2{%
+	\settowidth{\rrorangewid}{\ \scshape #1\ }
+	\savebox\rrbluebox{\parbox{\linewidth}{#2}}
+	\advance\rrorangewid by6pt
+	\savebox\rrorangebox{\parbox{\rrorangewid}{#1}}
+	\rrorangeht=\ht\rrorangebox
+	\advance\rrorangeht by\dp\rrorangebox
+	\advance\rrorangeht by\baselineskip
+	\rrblueht=\ht\rrbluebox
+	\advance\rrblueht by\dp\rrbluebox
+	\advance\rrblueht by\baselineskip
+	\begin{mpost}
+	input mpcolornames;
+	rrborderrad(10pt);
+	rrbotlftborderrad := 0pt;
+	rrbotrtborderrad := 0pt;
+	rrbordercolor(DarkGoldenrod1);
+	rrinnercolor := DarkGoldenrod1;
+	rrtextalign := "\unexpanded{\raggedright}";
+	rrtextfont := "\unexpanded{\scshape}";
+	rrbodytext := "#1";
+	roundrect(\mpdim{\rrorangeht})(\mpdim{\rrorangewid})(orangebluebox);
+	rrrestorevals;
+	rrborderrad(10pt);
+	rrbordercolor(blue);
+	rrinnercolor := blue;
+	rrbodytext := "#2";
+	rrtextcolor := white;
+	rrtextfont := "\unexpanded{\bfseries}";
+	rrtextalign := "";
+	roundrect(\mpdim{\rrblueht})(\mpdim{\linewidth})(mainbox);
+	draw orangebluebox shifted (-\mpdim{0.3\linewidth},0);
+	draw mainbox shifted (0,-\mpdim{\rrblueht}/2-\mpdim{\rrorangeht}/2);
+	\end{mpost}
+}%
+%    \end{macrocode}
+%
+% As we can see, the hardest thing about this macro is
+% ensuring that the heights and widths are correct; that
+% done, all is really rather simple.  
+%
+% We can also imitate the sort of boxes that |tcolorbox|
+% produces by default with \DescribeMacro{\rrdefaultbox}
+% |\rrdefaultbox|:
+%
+% \noindent
+% \rrdefaultbox{Title}{This is the body of the box, and has
+% lots of very interesting text in it; so much, in fact,
+% that it will have to be wrapped, thus displaying the way
+% that this macro produces boxes
+% which \unexpanded{\special{1 0 0 setrgbcolor}}will expand
+% appropriately according to their contents.  Even more,
+% we'll \unexpanded{\emph{put in some font changes}} to show that we can
+% \unexpanded{\textsc{style our text}} without
+% causing trouble.}
+%
+% The code producing these boxes is here:
+%
+%    \begin{macrocode}
+\newlength{\rrtitlewid}
+\newlength{\rrtitleht}
+\newlength{\rrmainht}
+\newbox\rrtitlebox\newbox\rrmainbox
+\def\rrdefaultbox#1#2{%
+	\settowidth{\rrtitlewid}{\ \scshape #1\ }
+	\savebox\rrmainbox{\parbox{\linewidth}{#2}}
+	\advance\rrtitlewid by6pt
+	\savebox\rrtitlebox{\parbox{\rrtitlewid}{#1}}
+	\rrtitleht=\ht\rrtitlebox
+	\advance\rrtitleht by\dp\rrtitlebox
+	\advance\rrtitleht by\baselineskip
+	\rrmainht=\ht\rrmainbox
+	\advance\rrmainht by\dp\rrmainbox
+	\advance\rrmainht by\baselineskip
+	\begin{mpost}
+	input mpcolornames;
+	rrborderrad(10pt);
+	rrbotlftborderrad := 0pt;
+	rrbotrtborderrad := 0pt;
+	rrbodytext := "#1";
+	roundrect(\mpdim{\rrtitleht})(\mpdim{\linewidth})(titlebox);
+	rrrestorevals;
+	rrborderrad(10pt);
+	rrtoplftborderrad := 0pt;
+	rrtoprtborderrad := 0pt;
+	rrtopborderpen := pencircle scaled 1;
+	rrbodytext := "#2";
+	rrtextalign := "";
+	roundrect(\mpdim{\rrmainht})(\mpdim{\linewidth})(mainbox);
+	draw titlebox;
+	draw mainbox shifted (0,-\mpdim{\rrmainht}/2-\mpdim{\rrtitleht}/2);
+	\end{mpost}
+}
+%    \end{macrocode}
+%
+% Remember, if you are including these in a (pdf)\LaTeX\
+% document using |gmp|, you need to wrap your font changing
+% commands in |\unexpanded|, or \LaTeX\ will give \MP\ a
+% bunch of gobbledygook that it can't understand.
+% |\unexpanded| ensures that \MP\ gets something it can work
+% with.  With other methods of inclusion, however,
+% |\unexpanded| is not necessary.
+%
+% |lroundrect| also provides a box similar to that used in
+% the |tcolorbox| documentation for examples:
+%
+% \begin{quote}
+% |\rrtcolorex{\texttt{$\backslash$tcbuselibrary{listings,theorems}}}|
+% \end{quote}
+%
+% \noindent
+% \rrtcolorex{\unexpanded{\texttt{$\backslash$tcbuselibrary{listings,theorems}}}}
+%
+% The following code produces these boxes (and assumes that
+% the contents will be only one line):
+%
+%    \begin{macrocode}
+\def\rrtcolorex#1{%
+	\begin{mpost}
+	rrborderrad(10pt);
+	rrbordercolor(blue);
+	rrtopbordercolor := 0.5[green,black];
+	rrinnercolor := 0.8[blue,white];
+	rrbodytext := "#1";
+	roundrect(2\mpdim{\baselineskip},\mpdim{\linewidth})(rrexampbox);
+	draw rrexampbox;
+	\end{mpost}
+}%
+%    \end{macrocode}
+%
+% The tags from the |tcolorbox| documentation can also be
+% closely reproduced using the
+% \DescribeMacro{\rrtcoltag}|\rrtcoltag| macro:
+%
+% \begin{quote}
+% |\rrtcoltag{LIB}{skins}| \\
+% |\rrtcoltag{ALT}{rasterized}| \\
+% |\rrtcoltag{DEF}{wow, this one is really long}| \\
+% \end{quote}
+%
+% \rrtcoltag{LIB}{skins}
+% \rrtcoltag{ALT}{rasterized}
+% \rrtcoltag{DEF}{wow, this one is really long}
+%
+% \noindent This is one of the more complicated definitions
+% in this little package; but it works well when the first
+% argument is short and the second is limited to one line.
+%
+%    \begin{macrocode}
+\newdimen\rrtcoltagwd
+\newbox\rrtcoltagbox
+\def\rrtcoltag#1#2{%
+	\settowidth{\rrtcoltagwd}{#2}
+	\advance\rrtcoltagwd by12pt
+	\begin{mpost}
+	input mpcolornames;
+	rrborderrad(5pt);
+	rrbotlftborderrad := 0pt;
+	rrbotrtborderrad := 0pt;
+	rrnobot := true;
+	rrinnercolor := 0.5[green,white];
+	rrbodytext := "#1";
+	rrtextfont := "\unexpanded{\sffamily}";
+	rrtextcolor := Khaki1;
+	roundrect(\mpdim{1.5em},2.5\mpdim{\baselineskip})(rrtaglabel);
+	rrrestorevals;
+	rrborderrad(5pt);
+	rrtoplftborderrad := 0pt;
+	rrbotlftborderrad := 0pt;
+	rrinnercolor := 0.7[green,white];
+	rrnolft := true;
+	rrbodytext := "#2";
+	roundrect(2.5\mpdim{\baselineskip},\mpdim{\rrtcoltagwd})(rrtextlabel);
+	draw rrtaglabel rotatedaround((0,0),90);
+	draw rrtextlabel shifted (\mpdim{\rrtcoltagwd}/2+0.625\mpdim{\baselineskip},0);
+	\end{mpost}
+}%
+%    \end{macrocode}
+%
+% \section{Using metafun Extensions}
+%
+% We can also create interesting effects with drop shadows
+% and transparency, if we're willing to use |metafun|
+% macros.  Note that these won't work with |gmp| by default, which
+% includes Metapost |.mps| files rather than |.pdf|;
+% transparency effects require conversion to |pdf| first.
+% However, |gmp| does perform conversion to |pdf| when the
+% engine is Xe\TeX, so it's certainly possible; we simply
+% need to redefine |\gmp@innermpost| to run |mptopdf| and
+% include the |pdf| rather than the |mps|.  |lroundrect|
+% provides the \DescribeMacro{\rrincludepdf}|\rrincludepdf|
+% macro, which does all this for you.  Just issue:
+%
+% \begin{quote}
+% |\rrincludepdf|
+% \end{quote}
+%
+% After doing this, you can use all the |metafun| tricks you
+% want, including transparency, and the resulting |pdf| will
+% be included rather than the |mps|.
+% \DescribeMacro{\rrtransbox}|\rrtransbox| takes a single
+% argument, the text you want included, and it contains
+% oddly-colored transparent |rrinnercolor| and
+% |rrshadowcolor|s:
+%
+% \rrincludepdf
+% \begin{quote}
+%	|\rrtransbox{Some text}|
+% \end{quote}
+%
+% \rrtransbox{Some text}
+%
+% The code which produces this is:
+%
+%    \begin{macrocode}
+\def\rrtransbox#1{%
+	\begin{mpost}[mpmem=metafun]
+	rrbodytext := "#1";
+	rrdropshadow := true;
+	rrborderrad(20pt);
+	rrinnercolor := transparent(0.5,0.5,0.5red);
+	rrshadowcolor := transparent(0.5,0.5,0.625blue);
+	rrshadowx := rrbotlftborderrad/4;
+	rrshadowy := -rrbotlftborderrad/4;
+	roundrect(1in,2in)(rectangle);
+	draw rectangle;
+	\end{mpost}
+}%
+%    \end{macrocode}
+%
+% The transparency here is interesting, if oddly colored;
+% and this serves as a good example of what can be done with
+% judicious use of shadows and transparency.
+%
+% To turn off the inclusion of |pdf|s (including them rather
+% than |mps| does slow down compilation, since |mptopdf|
+% needs to be run), issue
+% \DescribeMacro{\rrincludemps}|\rrincludemps|, and |mps|
+% files will be included as before.
+%
+% Using transparency from |metafun| enables us to do some
+% really impressive things.  For example, the logo from the
+% cover of the |tcolorbox| manual, modified to encompass
+% |roundrect| (almost the same, anyway; |roundrect| still
+% doesn't really support gradients, and I picked different
+% colors):
+%
+% \begin{mpost}
+%	input mpcolornames;
+%	rrinnercolor := DarkOliveGreen4;
+%	rrborderrad(0pt);
+%	rrtoplftborderrad := 20pt;
+%	rrtextfont := "\unexpanded{\bfseries}";
+%	rrtextcolor := white;
+%	rrbodytext := "roundrect 2.2";
+%	rrborderpen(pencircle scaled 0);
+%	roundrect(\mpdim{\baselineskip},0.3\mpdim{\linewidth})(toplftwingtitle);
+%	roundrect(\mpdim{\baselineskip},0.25\mpdim{\linewidth})(botlftwingtitle);
+%	rrborderrad(0pt);
+%	rrtoprtborderrad := 20pt;
+%	roundrect(\mpdim{\baselineskip},0.3\mpdim{\linewidth})(toprtwingtitle);
+%	roundrect(\mpdim{\baselineskip},0.25\mpdim{\linewidth})(botrtwingtitle);
+%	rrrestorevals;
+%	rrborderrad(0pt);
+%	rrbotlftborderrad := 20pt;
+%	rrbodytext := "roundrect";
+%	rrborderpen(pencircle scaled 0);
+%	rrinnercolor := DarkOliveGreen1;
+%	roundrect(1in,0.3\mpdim{\linewidth})(toplftwing);
+%	rrbodytext := "";
+%	rrbotrtborderrad := 20pt;
+%	roundrect(1in,0.25\mpdim{\linewidth})(botlftwing);
+%	rrbodytext := "Manual for version 2.2 (2016/02/19)";
+%	rrborderrad(0pt);
+%	rrbotrtborderrad := 20pt;
+%	roundrect(1in,0.3\mpdim{\linewidth})(toprtwing);
+%	rrtextwd := 0.2\mpdim{\linewidth};
+%	rrbodytext := "Donald P.\ Goodman";
+%	rrbotlftborderrad := 20pt;
+%	roundrect(1in,0.25\mpdim{\linewidth})(botrtwing);
+%	rrrestorevals;
+%	rrinnercolor := (0.5,0.5,0.5);
+%	rrborderpen(pencircle scaled 0);
+%	rrbordercolor((0.5,0.5,0.5));
+%	rrborderrad(10pt);
+%	roundrect(1in+\mpdim{\baselineskip},0.25in)(topmid);
+%	roundrect(0.25in,0.25in)(head);
+%	draw toplftwingtitle;
+%	draw toprtwingtitle shifted (0.3\mpdim{\linewidth}+0.5in,0);
+%	draw botlftwingtitle shifted (0.025\mpdim{\linewidth},
+%		-1in-1.5\mpdim{\baselineskip});
+%	draw botrtwingtitle shifted %	(0.3\mpdim{\linewidth}+0.5in-
+%		0.025\mpdim{\linewidth},-1in-1.5\mpdim{\baselineskip});
+%	draw toplftwing shifted (0,-0.5in-0.5\mpdim{\baselineskip});
+%	draw toprtwing shifted 
+%		(0.3\mpdim{\linewidth}+0.5in,-0.5in-0.5\mpdim{\baselineskip});
+%	draw botlftwing shifted (0.025\mpdim{\linewidth},
+%		-1in-5\mpdim{\baselineskip});
+%	draw botrtwing shifted (0.3\mpdim{\linewidth}+0.5in-
+%		0.025\mpdim{\linewidth},-1in-5\mpdim{\baselineskip});
+%	draw topmid shifted (0.15\mpdim{\linewidth}+0.25in,-0.5in);
+%	draw topmid yscaled 1.2 shifted
+%		(0.15\mpdim{\linewidth}+0.25in,-1.5in-1.6\mpdim{\baselineskip});
+%	draw head shifted (0.15\mpdim{\linewidth}+0.25in,0.2in);
+%	pickup pencircle scaled 2;
+%	path p; p = (0,0){up}..{dir -200}(-0.175in,0.35in);
+%	draw p shifted (0.15\mpdim{\linewidth}+0.25in,0.25in)
+%		withcolor (0.5,0.5,0.5);
+%	draw p reflectedabout ((0,0),(0,0.5in)) shifted 
+%		(0.15\mpdim{\linewidth}+0.25in,0.25in)
+%		withcolor (0.5,0.5,0.5);
+% \end{mpost}
+%
+% This ``butterfly'' logo is quite similar (again, but for
+% different colors and the lack of gradients), and it's got
+% the advantage that the antennae are actually curved, since
+% nicely curved lines are so much easier to do in \MP\ than
+% in Ti\emph{k}Z.  This is a nice demonstration of the power
+% that |roundrect| puts at your fingertips.
+%
+% \rrincludemps
+%
+%    \begin{macrocode}
+\def\rrincludepdf{%
+ \long\def\gmp@innermpost##1\end##2{%
+	\ifgmp@nowrite\else
+		\gmp@write\gmp@out{%
+		##1^^Jendfig;^^Jend.%
+		\gmp@doiflatex{^^Jverbatimtex^^J\string\end{document}^^Jetex}}%
+	\gmp@closeout\gmp@out
+	\count@=\gmp@runs
+	\loop\ifnum\count@>\z@
+		\gmp@shellcommand{\gmp@command\space
+			-tex=\gmp@mpxprogram\space\gmp@jobname\gmp@ext
+			\gmp@fourdigits{\gmp@number}}%
+		\advance\count@\m@ne
+		\repeat
+		\ifxetex
+			\gmp@shellcommand{epstopdf --hires
+			\gmp@jobname\gmp@ext
+				\gmp@fourdigits{\gmp@number}.mps}%
+		\fi
+			\gmp@shellcommand{mptopdf 
+			--result=\gmp@jobname\gmp@ext
+				\gmp@fourdigits{\gmp@number}.pdf 
+			\gmp@jobname\gmp@ext
+				\gmp@fourdigits{\gmp@number}.mps}%
+			\gmp@shellcommand{mv
+				\gmp@jobname\gmp@ext
+				\gmp@fourdigits{\gmp@number}-mps.pdf 
+				\gmp@jobname\gmp@ext
+				\gmp@fourdigits{\gmp@number}.pdf}% 
+		\egroup
+		\end{##2}\ifgmp@use
+		\gmp@usempost{\thegmp@count}\fi}
+  \def\gmp@usempost##1{%
+    \edef\gmp@thempsfile{\gmp@jobname\gmp@ext\gmp@fourdigits{##1}}%
+    \IfFileExists{\gmp@thempsfile.pdf}%
+    {\includegraphics{\gmp@thempsfile.pdf}}%
+    {\gmp@nemessage\gmp@box}}
+  \renewcommand\usempost[2][]{%
+    \IfFileExists{\gmp@jobname\gmp@ext\csname gmp@fig##2\endcsname.pdf}%
+    {\includegraphics[##1]
+      {\gmp@jobname\gmp@ext\csname gmp@fig##2\endcsname.pdf}}%
+    {\gmp@nemessage\gmp@box}}
+}%
+\def\rrincludemps{%
+	\long\def\gmp@innermpost##1\end##2{%
+	  \ifgmp@nowrite\else
+	    \gmp@write\gmp@out{%
+	      ##1^^Jendfig;^^Jend.%
+	      \gmp@doiflatex{^^Jverbatimtex^^J\string\end{document}^^Jetex}}%
+	    \gmp@closeout\gmp@out
+	    \count@=\gmp@runs
+	    \loop\ifnum\count@>\z@
+	      \gmp@shellcommand{\gmp@command\space
+	        -tex=\gmp@mpxprogram\space\gmp@jobname\gmp@ext
+	        \gmp@fourdigits{\gmp@number}}%
+	    \advance\count@\m@ne
+	    \repeat
+	    \ifxetex
+	      \gmp@shellcommand{epstopdf --hires \gmp@jobname\gmp@ext
+	        \gmp@fourdigits{\gmp@number}.mps}%
+	    \fi
+	  \fi
+	  \egroup
+	  \end{##2}\ifgmp@use
+	  \gmp@usempost{\thegmp@count}\fi}
+	\ifxetex
+	  \def\gmp@usempost##1{%
+	    \edef\gmp@thempsfile{\gmp@jobname\gmp@ext\gmp@fourdigits{##1}}%
+	    \IfFileExists{\gmp@thempsfile.pdf}%
+	    {\includegraphics{\gmp@thempsfile.pdf}}%
+	    {\gmp@nemessage\gmp@box}}
+	  \renewcommand\usempost[2][]{%
+	    \IfFileExists{\gmp@jobname\gmp@ext\csname gmp@fig##2\endcsname.pdf}%
+	    {\includegraphics[##1]
+	      {\gmp@jobname\gmp@ext\csname gmp@fig##2\endcsname.pdf}}%
+	    {\gmp@nemessage\gmp@box}}
+	\else
+	  \def\gmp@usempost##1{%
+	    \edef\gmp@thempsfile{\gmp@jobname\gmp@ext\gmp@fourdigits{##1}}%
+	    \IfFileExists{\gmp@thempsfile.mps}%
+	    {\includegraphics[hiresbb]{\gmp@thempsfile.mps}}%
+	    {\gmp@nemessage\gmp@box}}
+	\renewcommand\usempost[2][]{%
+	  \IfFileExists{\gmp@jobname\gmp@ext\csname gmp@fig##2\endcsname.mps}%
+	  {\includegraphics[hiresbb,##1]
+	    {\gmp@jobname\gmp@ext\csname gmp@fig##2\endcsname.mps}}%
+	  {\gmp@nemessage\gmp@box}}
+	\fi
+}%
+%    \end{macrocode}
+% \end{document}
-- 
cgit v1.2.3

