summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/plain
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-11-22 18:58:23 +0000
committerKarl Berry <karl@freefriends.org>2009-11-22 18:58:23 +0000
commitae6dfdc6fd101623f9477cf506a23bcdfbf9035d (patch)
treeae8788e459c38bae47578041a70c8f4972ceedee /Master/texmf-dist/tex/plain
parent814952f35a69ea15faac49052de0256174820e15 (diff)
graphics-plain, replacing plgraph, for new miniltx (T S, 20 Nov 2009 15:42:40)
git-svn-id: svn://tug.org/texlive/trunk@16123 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/plain')
-rw-r--r--Master/texmf-dist/tex/plain/graphics-pln/autopict.sty415
-rw-r--r--Master/texmf-dist/tex/plain/graphics-pln/color.tex9
-rw-r--r--Master/texmf-dist/tex/plain/graphics-pln/graphicx.tex13
-rw-r--r--Master/texmf-dist/tex/plain/graphics-pln/miniltx.tex444
-rw-r--r--Master/texmf-dist/tex/plain/graphics-pln/picture.tex51
-rw-r--r--Master/texmf-dist/tex/plain/graphics-pln/psfrag.tex49
6 files changed, 981 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/plain/graphics-pln/autopict.sty b/Master/texmf-dist/tex/plain/graphics-pln/autopict.sty
new file mode 100644
index 00000000000..b652b751546
--- /dev/null
+++ b/Master/texmf-dist/tex/plain/graphics-pln/autopict.sty
@@ -0,0 +1,415 @@
+%%
+%% This is file `autopict.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ltpictur.dtx (with options: `def')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1993 1994 1995 1996
+%% The LaTeX3 Project and any individual authors listed elsewhere
+%% in this file.
+%%
+%% For further copyright information, and conditions for modification
+%% and distribution, see the file legal.txt, and any other copyright
+%% notices in this file.
+%%
+%% This file is part of the LaTeX2e system.
+%% ----------------------------------------
+%% This system is distributed in the hope that it will be useful,
+%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+%%
+%% For error reports concerning UNCHANGED versions of this file no
+%% more than one year old, see bugs.txt.
+%%
+%% Please do not request updates from us directly. Primary
+%% distribution is through the CTAN archives.
+%%
+%%
+%% IMPORTANT COPYRIGHT NOTICE:
+%%
+%% You are NOT ALLOWED to distribute this file alone.
+%%
+%% You are allowed to distribute this file under the condition that it
+%% is distributed together with all the files listed in manifest.txt.
+%%
+%% If you receive only some of these files from someone, complain!
+%%
+%%
+%% Permission is granted to copy this file to another file with a
+%% clearly different name and to customize the declarations in that
+%% copy to serve the needs of your installation, provided that you
+%% comply with the conditions in the file legal.txt.
+%%
+%% However, NO PERMISSION is granted to generate or to distribute a
+%% modified version of this file under its original name.
+%%
+%% You are NOT ALLOWED to change this file.
+%%
+%%
+%% MODIFICATION ADVICE:
+%%
+%% If you want to customize this file, it is best to make a copy of
+%% the source file(s) from which it was produced. Use a different
+%% name for your copy(ies) and modify the copy(ies); this will ensure
+%% that your modifications do not get overwritten when you install a
+%% new release of the standard system. You should also ensure that
+%% your modified source file does not generate any modified file with
+%% the same name as a standard file.
+%%
+%% You can then easily distribute your modifications by distributing
+%% the modified and renamed copy of the source file, taking care to
+%% observe the conditions in legal.txt; this will ensure that other
+%% users can safely use your modifications.
+%%
+%% You will also need to produce your own, suitably named, .ins file to
+%% control the generation of files from your source file; this file
+%% should contain your own preambles for the files it generates, not
+%% those in the standard .ins files.
+%%
+%% The names of the source files used are shown above.
+%%
+%%
+%%
+%%% From File: ltpictur.dtx
+\ProvidesFile{autopict.sty}
+ [2001/08/27 v1.1k Picture mode autoload file]
+\long\gdef\picture#1{\pictur@#1}
+\gdef\pictur@(#1){%
+ \@ifnextchar({\@picture(#1)}{\@picture(#1)(0,0)}}
+\gdef\@picture(#1,#2)(#3,#4){%
+ \@picht#2\unitlength
+ \setbox\@picbox\hb@xt@#1\unitlength\bgroup
+ \hskip -#3\unitlength
+ \lower #4\unitlength\hbox\bgroup
+ \ignorespaces}
+\gdef\endpicture{%
+ \egroup\hss\egroup
+ \ht\@picbox\@picht\dp\@picbox\z@
+ \mbox{\box\@picbox}}
+\long\gdef\put(#1,#2)#3{%
+ \@killglue\raise#2\unitlength
+ \hb@xt@\z@{\kern#1\unitlength #3\hss}%
+ \ignorespaces}
+\gdef\multiput(#1,#2)#3{%
+ \@xdim #1\unitlength
+ \@ydim #2\unitlength
+ \@multiput(}
+\long\gdef\@multiput(#1,#2)#3#4{%
+ \@killglue\@multicnt #3\relax
+ \@whilenum \@multicnt >\z@\do
+ {\raise\@ydim\hb@xt@\z@{\kern\@xdim #4\hss}%
+ \advance\@multicnt\m@ne
+ \advance\@xdim#1\unitlength\advance\@ydim#2\unitlength}%
+ \ignorespaces}
+\gdef\@killglue{\unskip\@whiledim \lastskip >\z@\do{\unskip}}
+\gdef\thinlines{\let\@linefnt\tenln \let\@circlefnt\tencirc
+ \@wholewidth\fontdimen8\tenln \@halfwidth .5\@wholewidth}
+\gdef\thicklines{\let\@linefnt\tenlnw \let\@circlefnt\tencircw
+ \@wholewidth\fontdimen8\tenlnw \@halfwidth .5\@wholewidth}
+\gdef\linethickness#1{\@wholewidth #1\relax \@halfwidth .5\@wholewidth}
+\gdef\shortstack{\@ifnextchar[\@shortstack{\@shortstack[c]}}
+\gdef\@shortstack[#1]{%
+ \leavevmode
+ \vbox\bgroup
+ \baselineskip-\p@\lineskip 3\p@
+ \let\mb@l\hss\let\mb@r\hss
+ \expandafter\let\csname mb@#1\endcsname\relax
+ \let\\\@stackcr
+ \@ishortstack}
+\gdef\@ishortstack#1{\ialign{\mb@l {##}\unskip\mb@r\cr #1\crcr}\egroup}
+\gdef\@stackcr{\@ifstar\@ixstackcr\@ixstackcr}
+\gdef\@ixstackcr{\@ifnextchar[\@istackcr{\cr\ignorespaces}}
+\gdef\@istackcr[#1]{\cr\noalign{\vskip #1}\ignorespaces}
+\newif\if@negarg
+\gdef\line(#1,#2)#3{\@xarg #1\relax \@yarg #2\relax
+ \@linelen #3\unitlength
+ \ifdim\@linelen<\z@\@badlinearg\else
+ \ifnum\@xarg =\z@ \@vline
+ \else \ifnum\@yarg =\z@ \@hline \else \@sline\fi
+ \fi
+ \fi}
+\gdef\@sline{%
+ \ifnum\@xarg<\z@ \@negargtrue \@xarg -\@xarg \@yyarg -\@yarg
+ \else \@negargfalse \@yyarg \@yarg \fi
+\ifnum \@yyarg >\z@ \@tempcnta\@yyarg \else \@tempcnta -\@yyarg \fi
+\ifnum\@tempcnta>6 \@badlinearg\@tempcnta\z@ \fi
+\ifnum\@xarg>6 \@badlinearg\@xarg \@ne \fi
+\setbox\@linechar\hbox{\@linefnt\@getlinechar(\@xarg,\@yyarg)}%
+\ifdim\wd\@linechar=\z@
+ \setbox\@linechar\hbox{.}%
+ \@badlinearg
+\fi
+\ifnum \@yarg >\z@ \let\@upordown\raise \@clnht\z@
+ \else\let\@upordown\lower \@clnht \ht\@linechar\fi
+\@clnwd \wd\@linechar
+\if@negarg
+ \hskip -\wd\@linechar \def\reserved@a{\hskip -2\wd\@linechar}%
+\else
+ \let\reserved@a\relax
+\fi
+\@whiledim \@clnwd <\@linelen \do
+ {\@upordown\@clnht\copy\@linechar
+ \reserved@a
+ \advance\@clnht \ht\@linechar
+ \advance\@clnwd \wd\@linechar}%
+\advance\@clnht -\ht\@linechar
+\advance\@clnwd -\wd\@linechar
+\@tempdima\@linelen\advance\@tempdima -\@clnwd
+\@tempdimb\@tempdima\advance\@tempdimb -\wd\@linechar
+\if@negarg \hskip -\@tempdimb \else \hskip \@tempdimb \fi
+\multiply\@tempdima \@m
+\@tempcnta \@tempdima
+\@tempdima \wd\@linechar \divide\@tempcnta \@tempdima
+\@tempdima \ht\@linechar \multiply\@tempdima \@tempcnta
+\divide\@tempdima \@m
+\advance\@clnht \@tempdima
+\ifdim \@linelen <\wd\@linechar
+ \hskip \wd\@linechar
+ \ifdim \@linelen = \z@
+ \else
+ \@picture@warn
+ \fi
+ \else\@upordown\@clnht\copy\@linechar\fi}
+\gdef\@hline{\ifnum \@xarg <\z@ \hskip -\@linelen \fi
+\vrule \@height \@halfwidth \@depth \@halfwidth \@width \@linelen
+\ifnum \@xarg <\z@ \hskip -\@linelen \fi}
+\gdef\@getlinechar(#1,#2){\@tempcnta#1\relax\multiply\@tempcnta 8%
+ \advance\@tempcnta -9\ifnum #2>\z@ \advance\@tempcnta #2\relax\else
+ \advance\@tempcnta -#2\relax\advance\@tempcnta 64 \fi
+ \char\@tempcnta}
+\gdef\vector(#1,#2)#3{\@xarg #1\relax \@yarg #2\relax
+ \@tempcnta \ifnum\@xarg<\z@ -\@xarg\else\@xarg\fi
+ \ifnum\@tempcnta<5\relax
+ \@linelen #3\unitlength
+ \ifdim\@linelen<\z@\@badlinearg\else
+ \ifnum\@xarg =\z@ \@vvector
+ \else \ifnum\@yarg =\z@ \@hvector \else \@svector\fi
+ \fi
+ \fi
+ \else\@badlinearg\fi}
+\gdef\@hvector{\@hline\hb@xt@\z@{\@linefnt
+ \ifnum \@xarg <\z@ \@getlarrow(1,0)\hss\else
+ \hss\@getrarrow(1,0)\fi}}
+\gdef\@vvector{\ifnum \@yarg <\z@ \@downvector \else \@upvector \fi}
+\gdef\@svector{\@sline
+ \@tempcnta\@yarg \ifnum\@tempcnta <\z@ \@tempcnta -\@tempcnta\fi
+ \ifnum\@tempcnta <5%
+ \hskip -\wd\@linechar
+ \@upordown\@clnht \hbox{\@linefnt \if@negarg
+ \@getlarrow(\@xarg,\@yyarg)\else \@getrarrow(\@xarg,\@yyarg)\fi}%
+ \else\@badlinearg\fi}
+\gdef\@getlarrow(#1,#2){\ifnum #2=\z@ \@tempcnta 27 % '33
+ \else
+ \@tempcnta #1\relax\multiply\@tempcnta \sixt@@n
+ \advance\@tempcnta -9 \@tempcntb #2\relax\multiply\@tempcntb \tw@
+ \ifnum \@tempcntb >\z@ \advance\@tempcnta \@tempcntb
+ \else\advance\@tempcnta -\@tempcntb\advance\@tempcnta 64
+ \fi\fi\char\@tempcnta}
+\gdef\@getrarrow(#1,#2){\@tempcntb #2\relax
+\ifnum\@tempcntb <\z@ \@tempcntb -\@tempcntb\relax\fi
+\ifcase \@tempcntb\relax \@tempcnta 45 % '55
+\or
+\ifnum #1<\thr@@ \@tempcnta #1\relax\multiply\@tempcnta
+24\advance\@tempcnta -6 \else \ifnum #1=\thr@@ \@tempcnta 49
+\else\@tempcnta 58 \fi\fi\or
+\ifnum #1<\thr@@ \@tempcnta=#1\relax\multiply\@tempcnta
+24\advance\@tempcnta -\thr@@ \else \@tempcnta 51 \fi\or
+\@tempcnta #1\relax\multiply\@tempcnta
+\sixt@@n \advance\@tempcnta -\tw@ \else
+\@tempcnta #1\relax\multiply\@tempcnta
+\sixt@@n \advance\@tempcnta 7 \fi\ifnum #2<\z@ \advance\@tempcnta 64 \fi
+\char\@tempcnta}
+\gdef\@vline{\ifnum \@yarg <\z@ \@downline \else \@upline\fi}
+\gdef\@upline{%
+ \hb@xt@\z@{\hskip -\@halfwidth \vrule \@width \@wholewidth
+ \@height \@linelen \@depth \z@\hss}}
+\gdef\@downline{%
+ \hb@xt@\z@{\hskip -\@halfwidth \vrule \@width \@wholewidth
+ \@height \z@ \@depth \@linelen \hss}}
+\gdef\@upvector{\@upline\setbox\@tempboxa\hbox{\@linefnt\char 54}% % '66
+ \raise \@linelen \hb@xt@\z@{\lower \ht\@tempboxa\box\@tempboxa\hss}}
+\gdef\@downvector{\@downline\lower \@linelen
+ \hb@xt@\z@{\@linefnt\char 63 % '77
+ \hss}}
+\gdef\dashbox#1(#2,#3){\leavevmode\hb@xt@\z@{\baselineskip \z@skip
+\lineskip \z@skip
+\@dashdim #2\unitlength
+\@dashcnt \@dashdim \advance\@dashcnt 200
+\@dashdim #1\unitlength\divide\@dashcnt \@dashdim
+\ifodd\@dashcnt\@dashdim \z@
+\advance\@dashcnt \@ne \divide\@dashcnt \tw@
+\else \divide\@dashdim \tw@ \divide\@dashcnt \tw@
+\advance\@dashcnt \m@ne
+\setbox\@dashbox \hbox{\vrule \@height \@halfwidth \@depth \@halfwidth
+\@width \@dashdim}\put(0,0){\copy\@dashbox}%
+\put(0,#3){\copy\@dashbox}%
+\put(#2,0){\hskip-\@dashdim\copy\@dashbox}%
+\put(#2,#3){\hskip-\@dashdim\box\@dashbox}%
+\multiply\@dashdim \thr@@
+\fi
+\setbox\@dashbox \hbox{\vrule \@height \@halfwidth \@depth \@halfwidth
+\@width #1\unitlength\hskip #1\unitlength}\@tempcnta\z@
+\put(0,0){\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt
+\do{\copy\@dashbox\advance\@tempcnta \@ne }}\@tempcnta\z@
+\put(0,#3){\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt
+\do{\copy\@dashbox\advance\@tempcnta \@ne }}%
+\@dashdim #3\unitlength
+\@dashcnt \@dashdim \advance\@dashcnt 200
+\@dashdim #1\unitlength\divide\@dashcnt \@dashdim
+\ifodd\@dashcnt \@dashdim \z@
+\advance\@dashcnt \@ne \divide\@dashcnt \tw@
+\else
+\divide\@dashdim \tw@ \divide\@dashcnt \tw@
+\advance\@dashcnt \m@ne
+\setbox\@dashbox\hbox{\hskip -\@halfwidth
+\vrule \@width \@wholewidth
+\@height \@dashdim}\put(0,0){\copy\@dashbox}%
+\put(#2,0){\copy\@dashbox}%
+\put(0,#3){\lower\@dashdim\copy\@dashbox}%
+\put(#2,#3){\lower\@dashdim\copy\@dashbox}%
+\multiply\@dashdim \thr@@
+\fi
+\setbox\@dashbox\hbox{\vrule \@width \@wholewidth
+\@height #1\unitlength}\@tempcnta\z@
+\put(0,0){\hskip -\@halfwidth \vbox{\@whilenum \@tempcnta <\@dashcnt
+\do{\vskip #1\unitlength\copy\@dashbox\advance\@tempcnta \@ne }%
+\vskip\@dashdim}}\@tempcnta\z@
+\put(#2,0){\hskip -\@halfwidth \vbox{\@whilenum \@tempcnta<\@dashcnt
+\do{\vskip #1\unitlength\copy\@dashbox\advance\@tempcnta \@ne }%
+\vskip\@dashdim}}}\@makepicbox(#2,#3)}
+\newif\if@ovt
+\newif\if@ovb
+\newif\if@ovl
+\newif\if@ovr
+\gdef\@getcirc#1{\@tempdima #1\relax \advance\@tempdima 2\p@
+ \@tempcnta\@tempdima
+ \@tempdima 4\p@ \divide\@tempcnta\@tempdima
+ \ifnum \@tempcnta >10\relax
+ \@picture@warn
+ \@tempcnta 10\relax
+ \fi
+ \ifnum \@tempcnta >\z@ \advance\@tempcnta\m@ne
+ \else \@picture@warn \fi
+ \multiply\@tempcnta 4\relax
+ \setbox \@tempboxa \hbox{\@circlefnt
+ \char \@tempcnta}\@tempdima \wd \@tempboxa}
+\def\@picture@warn{\@latex@warning{%
+ \string\oval, \string\circle, or \string\line\space
+ size unavailable}}
+\gdef\@put#1#2#3{\raise #2\hb@xt@\z@{\hskip #1#3\hss}}
+\gdef\oval(#1,#2){\@ifnextchar[{\@oval(#1,#2)}{\@oval(#1,#2)[]}}
+\gdef\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen
+ \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
+ \@tfor\reserved@a :=#3\do{\csname @ov\reserved@a false\endcsname}%
+ \@ovxx
+ #1\unitlength \@ovyy #2\unitlength
+ \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx\else \@ovyy \fi
+ \advance \@tempdimb -2\p@
+ \@getcirc \@tempdimb
+ \@ovro \ht\@tempboxa \@ovri \dp\@tempboxa
+ \@ovdx\@ovxx \advance\@ovdx -\@tempdima \divide\@ovdx \tw@
+ \@ovdy\@ovyy \advance\@ovdy -\@tempdima \divide\@ovdy \tw@
+ \@circlefnt \setbox\@tempboxa
+ \hbox{\if@ovr \@ovvert32\kern -\@tempdima \fi
+ \if@ovl \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx \fi
+ \if@ovt \@ovhorz \kern -\@ovxx \fi
+ \if@ovb \raise \@ovyy \@ovhorz \fi}\advance\@ovdx\@ovro
+ \advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@
+ \@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}%
+ \endgroup}
+\gdef\@ovvert#1#2{\vbox to\@ovyy{%
+ \if@ovb \@tempcntb \@tempcnta \advance \@tempcntb #1\relax
+ \kern -\@ovro \hbox{\char \@tempcntb}\nointerlineskip
+ \else \kern \@ovri \kern \@ovdy \fi
+ \leaders\vrule \@width \@wholewidth\vfil \nointerlineskip
+ \if@ovt \@tempcntb \@tempcnta \advance \@tempcntb #2\relax
+ \hbox{\char \@tempcntb}%
+ \else \kern \@ovdy \kern \@ovro \fi}}
+\gdef\@ovhorz{\hb@xt@\@ovxx{\kern \@ovro
+ \if@ovr \else \kern \@ovdx \fi
+ \leaders \hrule \@height \@wholewidth \hfil
+ \if@ovl \else \kern \@ovdx \fi
+ \kern \@ovri}}
+\gdef\circle{\@inmatherr\circle\@ifstar\@dot\@circle}
+\gdef\@circle#1{%
+ \begingroup \boxmaxdepth \maxdimen \@tempdimb #1\unitlength
+ \ifdim \@tempdimb >15.5\p@ \@getcirc\@tempdimb
+ \@ovro\ht\@tempboxa
+ \setbox\@tempboxa\hbox{\@circlefnt
+ \advance\@tempcnta\tw@ \char \@tempcnta
+ \advance\@tempcnta\m@ne \char \@tempcnta \kern -2\@tempdima
+ \advance\@tempcnta\tw@
+ \raise \@tempdima \hbox{\char\@tempcnta}\raise \@tempdima
+ \box\@tempboxa}\ht\@tempboxa\z@ \dp\@tempboxa\z@
+ \@put{-\@ovro}{-\@ovro}{\box\@tempboxa}%
+ \else \@circ\@tempdimb{96}\fi\endgroup}
+\gdef\@dot#1{\@tempdimb #1\unitlength \@circ\@tempdimb{112}}
+\gdef\@circ#1#2{\@tempdima #1\relax \advance\@tempdima .5\p@
+ \@tempcnta\@tempdima \@tempdima \p@
+ \divide\@tempcnta\@tempdima
+ \ifnum\@tempcnta >15\relax \@tempcnta 15\relax \fi
+ \ifnum \@tempcnta >\z@ \advance\@tempcnta\m@ne\fi
+ \advance\@tempcnta #2\relax
+ \@circlefnt \char\@tempcnta}
+\ifx\qbeziermax\@undefined
+\gdef\qbeziermax{500}
+\fi
+\newcommand\qbezier[2][0]{\bezier{#1}#2}
+\gdef\bezier#1)#2(#3)#4({\@bezier#1)(#3)(}
+\gdef\@bezier#1(#2,#3)(#4,#5)(#6,#7){%
+ \ifnum #1=\z@
+ \@ovxx #4\unitlength
+ \advance\@ovxx -#2\unitlength
+ \ifdim \@ovxx<\z@ \@ovxx -\@ovxx \fi
+ \@ovdx #6\unitlength
+ \advance\@ovdx -#4\unitlength
+ \ifdim \@ovdx<\z@ \@ovdx -\@ovdx \fi
+ \ifdim \@ovxx<\@ovdx \@ovxx \@ovdx \fi
+ \@ovyy #5\unitlength
+ \advance\@ovyy -#3\unitlength
+ \ifdim \@ovyy<\z@ \@ovyy -\@ovyy \fi
+ \@ovdy #7\unitlength
+ \advance\@ovdy -#5\unitlength
+ \ifdim \@ovdy<\z@ \@ovdy -\@ovdy \fi
+ \ifdim \@ovyy<\@ovdy \@ovyy \@ovdy \fi
+ \@multicnt
+ \ifdim \@ovxx>\@ovyy \@ovxx \else \@ovyy \fi
+ \@ovxx .5\@halfwidth \divide\@multicnt\@ovxx
+ \ifnum \qbeziermax<\@multicnt \@multicnt\qbeziermax\relax \fi
+ \else \@multicnt#1\relax \fi
+ \@tempcnta\@multicnt \advance\@tempcnta\@ne
+ \@ovdx #4\unitlength \advance\@ovdx -#2\unitlength
+ \multiply\@ovdx \tw@
+ \@ovxx #6\unitlength \advance\@ovxx -#2\unitlength
+ \advance\@ovxx -\@ovdx \divide\@ovxx\@multicnt
+ \@ovdy #5\unitlength \advance\@ovdy -#3\unitlength
+ \multiply\@ovdy \tw@
+ \@ovyy #7\unitlength \advance\@ovyy -#3\unitlength
+ \advance\@ovyy -\@ovdy \divide\@ovyy\@multicnt
+ \setbox\@tempboxa\hbox{%
+ \hskip -\@halfwidth
+ \vrule \@height\@halfwidth
+ \@depth \@halfwidth
+ \@width \@wholewidth}%
+ \put(#2,#3){%
+ \count@\z@
+ \@whilenum{\count@<\@tempcnta}\do
+ {\@xdim\count@\@ovxx
+ \advance\@xdim\@ovdx
+ \divide\@xdim\@multicnt
+ \multiply\@xdim\count@
+ \@ydim\count@\@ovyy
+ \advance\@ydim\@ovdy
+ \divide\@ydim\@multicnt
+ \multiply\@ydim\count@
+ \raise \@ydim
+ \hb@xt@\z@{\kern\@xdim
+ \unhcopy\@tempboxa\hss}%
+ \advance\count@\@ne}}}
+\endinput
+%%
+%% End of file `autopict.sty'.
diff --git a/Master/texmf-dist/tex/plain/graphics-pln/color.tex b/Master/texmf-dist/tex/plain/graphics-pln/color.tex
new file mode 100644
index 00000000000..933fba7a385
--- /dev/null
+++ b/Master/texmf-dist/tex/plain/graphics-pln/color.tex
@@ -0,0 +1,9 @@
+% Plain TeX interface to color package.
+% David Carlisle
+
+\input miniltx
+\makeatletter
+\def\Gin@driver{dvips.def}
+\input color.sty
+
+\resetatcatcode
diff --git a/Master/texmf-dist/tex/plain/graphics-pln/graphicx.tex b/Master/texmf-dist/tex/plain/graphics-pln/graphicx.tex
new file mode 100644
index 00000000000..0dd2b7f944d
--- /dev/null
+++ b/Master/texmf-dist/tex/plain/graphics-pln/graphicx.tex
@@ -0,0 +1,13 @@
+% Plain TeX interface to graphicx package.
+% David Carlisle
+
+
+\input miniltx
+
+\def\Gin@driver{dvips.def}
+\input graphicx.sty
+
+
+\resetatcatcode
+
+
diff --git a/Master/texmf-dist/tex/plain/graphics-pln/miniltx.tex b/Master/texmf-dist/tex/plain/graphics-pln/miniltx.tex
new file mode 100644
index 00000000000..7ad26db2a5c
--- /dev/null
+++ b/Master/texmf-dist/tex/plain/graphics-pln/miniltx.tex
@@ -0,0 +1,444 @@
+%%%
+%%%
+%%% Parts of LaTeX: Slightly changed/simplified in places.
+%%% Changes
+%%% Copyright 1996 David Carlisle
+%%% Original Code
+%%% Copyright 1993-1996 LaTeX3 Project and original authors
+%%%
+%%% Under no circumstances should any problems relating to this file
+%%% be sent to the LaTeX bugs address, or any other LaTeX related
+%%% support address.
+%%%
+%%% Problems can be sent to me directly at david@dcarlisle.demon.co.uk
+%%% (but I don't promise to fix them).
+%%%
+%%% This file may be distributed under the terms of the LPPL, see
+%%% 00readme.txt for details.
+
+% 1996/01/29 initial version
+% 1996/05/09 a few missing commands added
+% 1996/11/21 fixed @ catcode handling
+
+\edef\resetatcatcode{\catcode`\noexpand\@\the\catcode`\@\relax}
+\ifx\miniltx\undefined\else\endinput\fi
+\let\miniltx\box
+
+\def\makeatletter{\catcode`\@11\relax}
+\def\makeatother{\catcode`\@12\relax}
+\makeatletter
+
+\def\@makeother#1{\catcode`#1=12\relax}
+
+
+\def\@ifnextchar#1#2#3{%
+ \let\reserved@d=#1%
+ \def\reserved@a{#2}\def\reserved@b{#3}%
+ \futurelet\@let@token\@ifnch}
+\def\@ifnch{%
+ \ifx\@let@token\@sptoken
+ \let\reserved@c\@xifnch
+ \else
+ \ifx\@let@token\reserved@d
+ \let\reserved@c\reserved@a
+ \else
+ \let\reserved@c\reserved@b
+ \fi
+ \fi
+ \reserved@c}
+\begingroup
+\def\:{\global\let\@sptoken= } \: % this makes \@sptoken a space token
+\def\:{\@xifnch} \expandafter\gdef\: {\futurelet\@let@token\@ifnch}
+\endgroup
+
+
+
+\def\@ifstar#1{\@ifnextchar *{\@firstoftwo{#1}}}
+\long\def\@dblarg#1{\@ifnextchar[{#1}{\@xdblarg{#1}}}
+\long\def\@xdblarg#1#2{#1[{#2}]{#2}}
+
+\long\def \@gobble #1{}
+\long\def \@gobbletwo #1#2{}
+\long\def \@gobblefour #1#2#3#4{}
+\long\def\@firstofone#1{#1}
+\long\def\@firstoftwo#1#2{#1}
+\long\def\@secondoftwo#1#2{#2}
+
+\def\NeedsTeXFormat#1{\@ifnextchar[\@needsf@rmat\relax}
+\def\@needsf@rmat[#1]{}
+\def\ProvidesPackage#1{\@ifnextchar[%
+ {\@pr@videpackage{#1}}{\@pr@videpackage#1[]}}
+\def\@pr@videpackage#1[#2]{\wlog{#1: #2}}
+\let\ProvidesFile\ProvidesPackage
+\def\PackageInfo#1#2{\wlog{#1: #2}}
+
+\let\DeclareOption\@gobbletwo
+\let\ProcessOptions\relax
+
+\def\RequirePackage{%
+ \@fileswithoptions\@pkgextension}
+\def\@fileswithoptions#1{%
+ \@ifnextchar[%]
+ {\@fileswith@ptions#1}%
+ {\@fileswith@ptions#1[]}}
+\def\@fileswith@ptions#1[#2]#3{%
+ \@ifnextchar[%]
+ {\@fileswith@pti@ns#1[#2]#3}%
+ {\@fileswith@pti@ns#1[#2]#3[]}}
+
+\def\@fileswith@pti@ns#1[#2]#3[#4]{%
+ \def\reserved@b##1,{%
+ \ifx\@nil##1\relax\else
+ \ifx\relax##1\relax\else
+ \noexpand\@onefilewithoptions##1[#2][#4]\noexpand\@pkgextension
+ \fi
+ \expandafter\reserved@b
+ \fi}%
+ \edef\reserved@a{\zap@space#3 \@empty}%
+ \edef\reserved@a{\expandafter\reserved@b\reserved@a,\@nil,}%
+ \reserved@a}
+
+\def\zap@space#1 #2{%
+ #1%
+ \ifx#2\@empty\else\expandafter\zap@space\fi
+ #2}
+
+\let\@empty\empty
+\def\@pkgextension{sty}
+
+\def\@onefilewithoptions#1[#2][#3]#4{%
+ \input #1.#4 }
+
+
+
+\def\typein{%
+ \let\@typein\relax
+ \@testopt\@xtypein\@typein}
+\def\@xtypein[#1]#2{%
+ \message{#2}%
+ \advance\endlinechar\@M
+ \read\@inputcheck to#1%
+ \advance\endlinechar-\@M
+ \@typein}
+\def\@namedef#1{\expandafter\def\csname #1\endcsname}
+\def\@nameuse#1{\csname #1\endcsname}
+\def\@cons#1#2{\begingroup\let\@elt\relax\xdef#1{#1\@elt #2}\endgroup}
+\def\@car#1#2\@nil{#1}
+\def\@cdr#1#2\@nil{#2}
+\def\@carcube#1#2#3#4\@nil{#1#2#3}
+\def\@preamblecmds{}
+
+\def\@star@or@long#1{%
+ \@ifstar
+ {\let\l@ngrel@x\relax#1}%
+ {\let\l@ngrel@x\long#1}}
+
+\let\l@ngrel@x\relax
+\def\newcommand{\@star@or@long\new@command}
+\def\new@command#1{%
+ \@testopt{\@newcommand#1}0}
+\def\@newcommand#1[#2]{%
+ \@ifnextchar [{\@xargdef#1[#2]}%
+ {\@argdef#1[#2]}}
+\long\def\@argdef#1[#2]#3{%
+ \@ifdefinable #1{\@yargdef#1\@ne{#2}{#3}}}
+\long\def\@xargdef#1[#2][#3]#4{%
+ \@ifdefinable#1{%
+ \expandafter\def\expandafter#1\expandafter{%
+ \expandafter
+ \@protected@testopt
+ \expandafter
+ #1%
+ \csname\string#1\expandafter\endcsname
+ {#3}}%
+ \expandafter\@yargdef
+ \csname\string#1\endcsname
+ \tw@
+ {#2}%
+ {#4}}}
+\def\@testopt#1#2{%
+ \@ifnextchar[{#1}{#1[#2]}}
+\def\@protected@testopt#1{%%
+ \ifx\protect\@typeset@protect
+ \expandafter\@testopt
+ \else
+ \@x@protect#1%
+ \fi}
+\long\def\@yargdef#1#2#3{%
+ \@tempcnta#3\relax
+ \advance \@tempcnta \@ne
+ \let\@hash@\relax
+ \edef\reserved@a{\ifx#2\tw@ [\@hash@1]\fi}%
+ \@tempcntb #2%
+ \@whilenum\@tempcntb <\@tempcnta
+ \do{%
+ \edef\reserved@a{\reserved@a\@hash@\the\@tempcntb}%
+ \advance\@tempcntb \@ne}%
+ \let\@hash@##%
+ \l@ngrel@x\expandafter\def\expandafter#1\reserved@a}
+\long\def\@reargdef#1[#2]#3{%
+ \@yargdef#1\@ne{#2}{#3}}
+\def\renewcommand{\@star@or@long\renew@command}
+\def\renew@command#1{%
+ {\escapechar\m@ne\xdef\@gtempa{{\string#1}}}%
+ \expandafter\@ifundefined\@gtempa
+ {\@latex@error{\string#1 undefined}\@ehc}%
+ {}%
+ \let\@ifdefinable\@rc@ifdefinable
+ \new@command#1}
+\long\def\@ifdefinable #1#2{%
+ \edef\reserved@a{\expandafter\@gobble\string #1}%
+ \@ifundefined\reserved@a
+ {\edef\reserved@b{\expandafter\@carcube \reserved@a xxx\@nil}%
+ \ifx \reserved@b\@qend \@notdefinable\else
+ \ifx \reserved@a\@qrelax \@notdefinable\else
+ #2%
+ \fi
+ \fi}%
+ \@notdefinable}
+\let\@@ifdefinable\@ifdefinable
+\long\def\@rc@ifdefinable#1#2{%
+ \let\@ifdefinable\@@ifdefinable
+ #2}
+\def\newenvironment{\@star@or@long\new@environment}
+\def\new@environment#1{%
+ \@testopt{\@newenva#1}0}
+\def\@newenva#1[#2]{%
+ \@ifnextchar [{\@newenvb#1[#2]}{\@newenv{#1}{[#2]}}}
+\def\@newenvb#1[#2][#3]{\@newenv{#1}{[#2][#3]}}
+\def\renewenvironment{\@star@or@long\renew@environment}
+\def\renew@environment#1{%
+ \@ifundefined{#1}%
+ {\@latex@error{Environment #1 undefined}\@ehc
+ }{}%
+ \expandafter\let\csname#1\endcsname\relax
+ \expandafter\let\csname end#1\endcsname\relax
+ \new@environment{#1}}
+\long\def\@newenv#1#2#3#4{%
+ \@ifundefined{#1}%
+ {\expandafter\let\csname#1\expandafter\endcsname
+ \csname end#1\endcsname}%
+ \relax
+ \expandafter\new@command
+ \csname #1\endcsname#2{#3}%
+ \l@ngrel@x\expandafter\def\csname end#1\endcsname{#4}}
+
+\def\providecommand{\@star@or@long\provide@command}
+\def\provide@command#1{%
+ {\escapechar\m@ne\xdef\@gtempa{{\string#1}}}%
+ \expandafter\@ifundefined\@gtempa
+ {\def\reserved@a{\new@command#1}}%
+ {\def\reserved@a{\renew@command\reserved@a}}%
+ \reserved@a}%
+
+\def\@ifundefined#1{%
+ \expandafter\ifx\csname#1\endcsname\relax
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
+
+\chardef\@xxxii=32
+\mathchardef\@Mi=10001
+\mathchardef\@Mii=10002
+\mathchardef\@Miii=10003
+\mathchardef\@Miv=10004
+
+\newcount\@tempcnta
+\newcount\@tempcntb
+\newif\if@tempswa\@tempswatrue
+\newdimen\@tempdima
+\newdimen\@tempdimb
+\newdimen\@tempdimc
+\newbox\@tempboxa
+\newskip\@tempskipa
+\newskip\@tempskipb
+\newtoks\@temptokena
+
+\long\def\@whilenum#1\do #2{\ifnum #1\relax #2\relax\@iwhilenum{#1\relax
+ #2\relax}\fi}
+\long\def\@iwhilenum#1{\ifnum #1\expandafter\@iwhilenum
+ \else\expandafter\@gobble\fi{#1}}
+\long\def\@whiledim#1\do #2{\ifdim #1\relax#2\@iwhiledim{#1\relax#2}\fi}
+\long\def\@iwhiledim#1{\ifdim #1\expandafter\@iwhiledim
+ \else\expandafter\@gobble\fi{#1}}
+\long\def\@whilesw#1\fi#2{#1#2\@iwhilesw{#1#2}\fi\fi}
+\long\def\@iwhilesw#1\fi{#1\expandafter\@iwhilesw
+ \else\@gobbletwo\fi{#1}\fi}
+\def\@nnil{\@nil}
+\def\@empty{}
+\def\@fornoop#1\@@#2#3{}
+\long\def\@for#1:=#2\do#3{%
+ \expandafter\def\expandafter\@fortmp\expandafter{#2}%
+ \ifx\@fortmp\@empty \else
+ \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}\fi}
+\long\def\@forloop#1,#2,#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else
+ #5\def#4{#2}\ifx #4\@nnil \else#5\@iforloop #3\@@#4{#5}\fi\fi}
+\long\def\@iforloop#1,#2\@@#3#4{\def#3{#1}\ifx #3\@nnil
+ \expandafter\@fornoop \else
+ #4\relax\expandafter\@iforloop\fi#2\@@#3{#4}}
+\def\@tfor#1:={\@tf@r#1 }
+\long\def\@tf@r#1#2\do#3{\def\@fortmp{#2}\ifx\@fortmp\space\else
+ \@tforloop#2\@nil\@nil\@@#1{#3}\fi}
+\long\def\@tforloop#1#2\@@#3#4{\def#3{#1}\ifx #3\@nnil
+ \expandafter\@fornoop \else
+ #4\relax\expandafter\@tforloop\fi#2\@@#3{#4}}
+\long\def\@break@tfor#1\@@#2#3{\fi\fi}
+\def\@removeelement#1#2#3{%
+ \def\reserved@a##1,#1,##2\reserved@a{##1,##2\reserved@b}%
+ \def\reserved@b##1,\reserved@b##2\reserved@b{%
+ \ifx,##1\@empty\else##1\fi}%
+ \edef#3{%
+ \expandafter\reserved@b\reserved@a,#2,\reserved@b,#1,\reserved@a}}
+
+\let\ExecuteOptions\@gobble
+
+\def\PackageError#1#2#3{%
+ \errhelp{#3}\errmessage{#1: #2}}
+\def\@latex@error#1#2{%
+ \errhelp{#2}\errmessage{#1}}
+
+\bgroup\uccode`\!`\%\uppercase{\egroup
+\def\@percentchar{!}}
+
+% protect against loops in formats other than plain. 1999/04/27
+\ifx\@@input\@undefined
+ \let\@@input\input
+\fi
+
+\def\input{\@ifnextchar\bgroup\@iinput\@@input}
+\def\@iinput#1{\@@input#1 }
+
+ \def\filename@parse#1{%
+ \let\filename@area\@empty
+ \expandafter\filename@simple#1.\\}
+
+ \def\filename@simple#1.#2\\{%
+ \ifx\\#2\\%
+ \let\filename@ext\relax
+ \else
+ \edef\filename@ext{\filename@dot#2\\}%
+ \fi
+ \edef\filename@base{#1}}
+ \def\filename@dot#1.\\{#1}
+
+\long\def \IfFileExists#1#2#3{%
+ \openin\@inputcheck#1 %
+ \ifeof\@inputcheck
+ \ifx\input@path\@undefined
+ \def\reserved@a{#3}%
+ \else
+ \def\reserved@a{\@iffileonpath{#1}{#2}{#3}}%
+ \fi
+ \else
+ \closein\@inputcheck
+ \edef\@filef@und{#1 }%
+ \def\reserved@a{#2}%
+ \fi
+ \reserved@a}
+\long\def\@iffileonpath#1{%
+ \let\reserved@a\@secondoftwo
+ \expandafter\@tfor\expandafter\reserved@b\expandafter
+ :\expandafter=\input@path\do{%
+ \openin\@inputcheck\reserved@b#1 %
+ \ifeof\@inputcheck\else
+ \edef\@filef@und{\reserved@b#1 }%
+ \let\reserved@a\@firstoftwo%
+ \closein\@inputcheck
+ \@break@tfor
+ \fi}%
+ \reserved@a}
+\long\def \InputIfFileExists#1#2{%
+ \IfFileExists{#1}%
+ {#2\@addtofilelist{#1}\@@input \@filef@und}}
+
+\chardef\@inputcheck0
+
+\let\@addtofilelist \@gobble
+
+
+\def\@defaultunits{\afterassignment\remove@to@nnil}
+\def\remove@to@nnil#1\@nnil{}
+
+\newdimen\leftmarginv
+\newdimen\leftmarginvi
+
+\newdimen\@ovxx
+\newdimen\@ovyy
+\newdimen\@ovdx
+\newdimen\@ovdy
+\newdimen\@ovro
+\newdimen\@ovri
+\newdimen\@xdim
+\newdimen\@ydim
+\newdimen\@linelen
+\newdimen\@dashdim
+
+
+\long\def\mbox#1{\leavevmode\hbox{#1}}
+
+
+\let\DeclareRobustCommand\newcommand
+\let\@onlypreamble\@gobble
+
+
+\def\AtBeginDocument#1{#1}
+\let\protect\relax
+
+
+\newdimen\fboxsep
+\newdimen\fboxrule
+
+\fboxsep = 3pt
+\fboxrule = .4pt
+
+\def\@height{height} \def\@depth{depth} \def\@width{width}
+\def\@minus{minus}
+\def\@plus{plus}
+\def\hb@xt@{\hbox to}
+
+
+\long\def\@begin@tempboxa#1#2{%
+ \begingroup
+ \setbox\@tempboxa#1{\color@begingroup#2\color@endgroup}%
+ \def\width{\wd\@tempboxa}%
+ \def\height{\ht\@tempboxa}%
+ \def\depth{\dp\@tempboxa}%
+ \let\totalheight\@ovri
+ \totalheight\height
+ \advance\totalheight\depth}
+\let\@end@tempboxa\endgroup
+
+\let\set@color\relax
+\let\color@begingroup\relax
+\let\color@endgroup\relax
+\let\color@setgroup\relax
+\let\normalcolor\relax
+\let\color@hbox\relax
+\let\color@vbox\relax
+\let\color@endbox\relax
+
+% 1996/05/09 \setlength and \strip@pt needed for some
+% \includegraphics options (Thierry Bouche)
+
+\def\setlength#1#2{#1#2\relax}
+
+\begingroup
+ \catcode`P=12
+ \catcode`T=12
+ \lowercase{
+ \def\x{\def\rem@pt##1.##2PT{##1\ifnum##2>\z@.##2\fi}}}
+ \expandafter\endgroup\x
+\def\strip@pt{\expandafter\rem@pt\the}
+
+% 1996/11/13 \AtBeginDvi used in driver files for including headers.
+% \@input added.
+
+
+\def\AtBeginDvi#1{#1}
+
+\def\@input#1{%
+ \IfFileExists{#1}{\@@input\@filef@und}{\message{No file #1.}}}
+
+% 1996/11/21
+\def\@warning{\immediate\write16} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/plain/graphics-pln/picture.tex b/Master/texmf-dist/tex/plain/graphics-pln/picture.tex
new file mode 100644
index 00000000000..f17a7268ad5
--- /dev/null
+++ b/Master/texmf-dist/tex/plain/graphics-pln/picture.tex
@@ -0,0 +1,51 @@
+% Plain TeX interface to picture mode.
+% David Carlisle
+
+\input miniltx
+
+\makeatletter
+\let\@@line\line
+\input autopict.sty
+\let\LaTeX@line\line
+\let\line\@@line
+
+
+\newdimen\@wholewidth
+\newdimen\@halfwidth
+\newdimen\unitlength \unitlength =1pt
+\newbox\@picbox
+\newdimen\@picht
+\newcount\@xarg
+\newcount\@yarg
+\newcount\@yyarg
+
+\font\tenln =line10 \font\tenlnw =linew10\relax
+\font\tencirc=lcircle10 \font\tencircw=lcirclew10\relax
+\newcount\@multicnt
+\newdimen\@xdim
+\newdimen\@ydim
+\newbox\@linechar
+\newdimen\@linelen
+\newdimen\@clnwd
+\newdimen\@clnht
+\newdimen\@dashdim
+\newbox\@dashbox
+\newcount\@dashcnt
+\let\@linefnt\tenln
+\let\@circlefnt\tencirc
+\@wholewidth\fontdimen8\tenln
+\@halfwidth .5\@wholewidth
+
+\def\picture#1{%
+ \begingroup
+ \let\line\LaTeX@line
+ \def\end##1{\csname end##1\endcsname}%
+ \pictur@#1}
+
+\let\@@endpicture\endpicture
+\def\endpicture{\@@endpicture\endgroup}
+
+\def\LaTeXbegin{\def\begin##1{\csname##1\endcsname}}
+
+
+\resetatcatcode
diff --git a/Master/texmf-dist/tex/plain/graphics-pln/psfrag.tex b/Master/texmf-dist/tex/plain/graphics-pln/psfrag.tex
new file mode 100644
index 00000000000..27475c473a3
--- /dev/null
+++ b/Master/texmf-dist/tex/plain/graphics-pln/psfrag.tex
@@ -0,0 +1,49 @@
+% Plain TeX interface to psfrag.
+% David Carlisle
+
+\input miniltx
+
+\makeatletter
+
+\ifx\@compatibilitytrue\@undefined
+ \csname newif\expandafter\endcsname
+ \csname if@compatibility\endcsname
+\fi
+
+
+\ifx\raisebox\@undefined
+\def\raisebox#1#2{{%
+ \setbox0=\hbox{#2}\def\depth{\dp0}\leavevmode\raise#1\box\z@}}
+\fi
+
+\ifx\@@underline\@undefined
+\let\@@underline\underline
+\def\underline{%
+ \ifmmode\expandafter\@@underline\else\expandafter\underbar\fi}
+\fi
+
+\ifx\sbox\@undefined
+\def\sbox#1{\setbox#1\hbox}
+\fi
+
+
+% psfrag loads the core graphics package, but only the extended
+% graphicx interface is available from plain TeX so just intercept
+% the call and ask for graphicx.
+\let\savedRP\RequirePackage
+\def\RequirePackage#1{%
+ \let\RequirePackage\savedRP
+ \ifx\includegraphics\@undefined
+ \input graphicx\fi\relax}
+\input psfrag.sty
+
+
+
+\ifx\pfg@dp\@undefined
+\csname newdimen\endcsname\pfg@dp
+\csname newdimen\endcsname\pfg@wd
+\csname newdimen\endcsname\pfg@dx
+\csname newdimen\endcsname\pfg@dy
+\fi
+
+\resetatcatcode