821 lines
30 KiB
TeX
821 lines
30 KiB
TeX
%%
|
|
%% This is file `pict2e.sty',
|
|
%% generated with the docstrip utility.
|
|
%%
|
|
%% The original source files were:
|
|
%%
|
|
%% pict2e.dtx (with options: `package')
|
|
%%
|
|
%% Copyright (C) 2003-2016
|
|
%% Rolf Niepraschk, Rolf.Niepraschk@gmx.de
|
|
%% Hubert Gaesslein,
|
|
%% Josef Tkadlec, j.tkadlec@email.cz
|
|
%%
|
|
%% This work may be distributed and/or modified under the
|
|
%% conditions of the LaTeX Project Public License, either version 1.3
|
|
%% of this license or (at your option) any later version.
|
|
%% The latest version of this license is in
|
|
%% http://www.latex-project.org/lppl.txt
|
|
%% and version 1.3 or later is part of all distributions of LaTeX
|
|
%% version 2003/12/01 or later.
|
|
%%
|
|
%% This work has the LPPL maintenance status "author-maintained".
|
|
%%
|
|
%% This work consists of all files listed in `manifest.txt'.
|
|
%%
|
|
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
|
|
\ProvidesPackage{pict2e}[2020/09/30 v0.4b Improved picture commands (HjG,RN,JT)]
|
|
\edef\Gin@codes{%
|
|
\catcode`\noexpand\^^A\the\catcode`\^^A\relax
|
|
\catcode`\noexpand\"\the\catcode`\"\relax
|
|
\catcode`\noexpand\!\the\catcode`\!\relax
|
|
\catcode`\noexpand\:\the\catcode`\:\relax}
|
|
\catcode`\^^A=\catcode`\%
|
|
\@makeother\"%
|
|
\@makeother\!%
|
|
\@makeother\:%
|
|
\def\@defaultunitsset#1#2#3{%
|
|
\@defaultunits#1\dimexpr#2#3\relax\relax\@nnil}
|
|
\newcommand*\pIIe@mode{-1}
|
|
\newcommand*\pIIe@code[1]{}
|
|
\providecommand*\Gin@driver{}
|
|
\newcommand*\pIIe@tempa{}
|
|
\newcommand*\pIIe@tempb{}
|
|
\newcommand*\pIIe@tempc{}
|
|
\DeclareOption{dvips}{\def\Gin@driver{dvips.def}}
|
|
\DeclareOption{xdvi}{\ExecuteOptions{dvips}}
|
|
\DeclareOption{dvipdf}{\def\Gin@driver{dvipdf.def}}
|
|
\DeclareOption{dvipdfm}{\def\Gin@driver{dvipdfm.def}}
|
|
\DeclareOption{dvipdfmx}{\def\Gin@driver{dvipdfmx.def}}
|
|
\DeclareOption{pdftex}{\def\Gin@driver{pdftex.def}}
|
|
\DeclareOption{luatex}{\def\Gin@driver{luatex.def}}
|
|
\DeclareOption{xetex}{\def\Gin@driver{xetex.def}}
|
|
\DeclareOption{dvipsone}{\def\Gin@driver{dvipsone.def}}
|
|
\DeclareOption{dviwindo}{\ExecuteOptions{dvipsone}}
|
|
\DeclareOption{oztex}{\ExecuteOptions{dvips}}
|
|
\DeclareOption{textures}{\def\Gin@driver{textures.def}}
|
|
\DeclareOption{pctexps}{\def\Gin@driver{pctexps.def}}
|
|
\DeclareOption{pctex32}{\def\Gin@driver{pctex32.def}}
|
|
\DeclareOption{vtex}{\def\Gin@driver{vtex.def}}
|
|
\DeclareOption{original}{\def\pIIe@mode{0}}
|
|
\newif\ifpIIe@pdfliteral@ok
|
|
\pIIe@pdfliteral@oktrue
|
|
\ifx\pIIe@pdfliteral\@undefined
|
|
\ifx\pdfliteral\@undefined
|
|
\pIIe@pdfliteral@okfalse
|
|
\def\pIIe@pdfliteral#1{%
|
|
\PackageWarning{pict2e}{pdfliteral not supported}%
|
|
}%
|
|
\else
|
|
\let\pIIe@pdfliteral\pdfliteral
|
|
\fi
|
|
\fi
|
|
\def\pIIe@buttcap{%
|
|
\ifpIIe@pdfliteral@ok
|
|
\buttcap
|
|
\fi
|
|
}
|
|
\newcommand*\pIIe@FAL{1.52}%
|
|
\newcommand*\pIIe@FAW{3.2}%
|
|
\newcommand*\pIIe@CAW{1.5pt}%
|
|
\newcommand*\pIIe@FAI{0.25}%
|
|
\newcommand*\ltxarrows{%
|
|
\let\pIIe@vector=\pIIe@vector@ltx
|
|
}
|
|
\newcommand*\pstarrows{%
|
|
\let\pIIe@vector=\pIIe@vector@pst
|
|
}
|
|
\DeclareOption{ltxarrows}{\AtEndOfPackage{\ltxarrows}}
|
|
\DeclareOption{pstarrows}{\AtEndOfPackage{\pstarrows}}
|
|
\newcommand*\pIIe@debug@comment{}
|
|
\DeclareOption{debug}{%
|
|
\def\pIIe@debug@comment{^^J^^J\@percentchar\space >>> pict2e <<<^^J}%
|
|
\begingroup
|
|
\@ifundefined{pdfcompresslevel}{}{\global\pdfcompresslevel\z@}%
|
|
\endgroup}
|
|
\DeclareOption{hide}{\AtEndOfPackage{%
|
|
\let\pIIe@code\@gobble
|
|
}}
|
|
\DeclareOption*{\ExecuteOptions{original}}
|
|
\ExecuteOptions{ltxarrows}
|
|
\InputIfFileExists{pict2e.cfg}{}{}
|
|
\ProcessOptions\relax
|
|
\ifnum\pIIe@mode=\z@
|
|
\PackageInfo{pict2e}{Package option `original' requested}
|
|
\else
|
|
\if!\Gin@driver!
|
|
\PackageError{pict2e}
|
|
{No driver specified at all}
|
|
{You should make a default driver option in a file\MessageBreak
|
|
pict2e.cfg\MessageBreak eg: \protect\ExecuteOptions{dvips}}%
|
|
\else
|
|
\PackageInfo{pict2e}{Driver file: \Gin@driver}
|
|
\@ifundefined{ver@\Gin@driver}{\input{\Gin@driver}}{}
|
|
\PackageInfo{pict2e}{Driver file for pict2e: p2e-\Gin@driver}
|
|
\InputIfFileExists{p2e-\Gin@driver}{}{%
|
|
\PackageError{pict2e}%
|
|
{Driver file ``p2e-\Gin@driver'' not found}%
|
|
{Q: Is the file properly installed? A: No!}}
|
|
\fi
|
|
\fi
|
|
\ifnum\pIIe@mode>\z@
|
|
\ifnum\pIIe@mode<\thr@@
|
|
\RequirePackage{trig}
|
|
\let\pIIe@oldline\line
|
|
\let\pIIe@old@sline\@sline
|
|
\let\pIIe@oldvector\vector
|
|
\let\pIIe@old@circle\@circle
|
|
\let\pIIe@old@dot\@dot
|
|
\let\pIIe@old@bezier\@bezier
|
|
\AtBeginDocument{%
|
|
\@ifundefined{@cbezier}{%
|
|
\def\pIIe@old@cbezier[#1](#2,#3)(#4,#5)(#6,#7)(#8,#9){}%
|
|
}{\let\pIIe@old@cbezier\@cbezier}}
|
|
\let\pIIe@oldoval\oval
|
|
\let\pIIe@old@oval\@oval
|
|
\newcommand*\OriginalPictureCmds{%
|
|
\let\@sline\pIIe@old@sline
|
|
\let\line\pIIe@oldline
|
|
\let\vector\pIIe@oldvector
|
|
\let\@circle\pIIe@old@circle
|
|
\let\@dot\pIIe@old@dot
|
|
\let\@bezier\pIIe@old@bezier
|
|
\let\@cbezier\pIIe@old@cbezier
|
|
\renewcommand*\oval[1][]{\pIIe@oldoval}%
|
|
\let\@oval\pIIe@old@oval
|
|
}
|
|
\else
|
|
\PackageError{pict2e}
|
|
{Unsupported mode (\pIIe@mode) specified}
|
|
{The driver you specified requested a mode\MessageBreak
|
|
not supported by this version of this package}
|
|
\fi
|
|
\else
|
|
\ifnum\pIIe@mode<\z@
|
|
\PackageError{pict2e}
|
|
{No suitable driver specified}
|
|
{You should make a default driver option in a file\MessageBreak
|
|
pict2e.cfg\MessageBreak eg: \protect\ExecuteOptions{dvips}}
|
|
\fi
|
|
\fi
|
|
\ifnum\pIIe@mode>\z@
|
|
\ifcase\pIIe@mode\relax
|
|
\or
|
|
\newcommand*\pIIe@moveto@op{moveto}
|
|
\newcommand*\pIIe@lineto@op{lineto}
|
|
\newcommand*\pIIe@setlinewidth@op{setlinewidth}
|
|
\newcommand*\pIIe@stroke@op{stroke}
|
|
\newcommand*\pIIe@fill@op{fill}
|
|
\newcommand*\pIIe@curveto@op{curveto}
|
|
\newcommand*\pIIe@concat@op{concat}
|
|
\newcommand*\pIIe@closepath@op{closepath}
|
|
\or
|
|
\newcommand*\pIIe@moveto@op{m}
|
|
\newcommand*\pIIe@lineto@op{l}
|
|
\newcommand*\pIIe@setlinewidth@op{w}
|
|
\newcommand*\pIIe@stroke@op{S}
|
|
\newcommand*\pIIe@fill@op{f}
|
|
\newcommand*\pIIe@curveto@op{c}
|
|
\newcommand*\pIIe@concat@op{cm}
|
|
\newcommand*\pIIe@closepath@op{h}
|
|
\fi
|
|
\@ifdefinable\pIIe@GRAPH{\newtoks\pIIe@GRAPH}
|
|
\newcommand*\pIIe@addtoGraph[1]{%
|
|
\begingroup
|
|
\edef\x{\the\pIIe@GRAPH\space#1}%
|
|
\global\pIIe@GRAPH\expandafter{\x}%
|
|
\endgroup}
|
|
\newcommand*\pIIe@fillGraph{\begingroup \@tempswatrue\pIIe@drawGraph}
|
|
\newcommand*\pIIe@strokeGraph{\begingroup \@tempswafalse\pIIe@drawGraph}
|
|
\newcommand*\pIIe@drawGraph{%
|
|
\edef\x{\pIIe@debug@comment\space
|
|
\pIIe@scale@PTtoBP}%
|
|
\if@tempswa
|
|
\edef\y{\pIIe@fill@op}%
|
|
\else
|
|
\edef\x{\x\space
|
|
\strip@pt\@wholewidth\space\pIIe@setlinewidth@op
|
|
\pIIe@linecap\pIIe@linejoin\space}%
|
|
\edef\y{\pIIe@stroke@op}%
|
|
\fi
|
|
\expandafter\pIIe@code\expandafter{%
|
|
\expandafter\x\the\pIIe@GRAPH\space\y}%
|
|
\global\pIIe@GRAPH{}\xdef\pIIe@CPx{}\xdef\pIIe@CPy{}%
|
|
\endgroup}
|
|
\newcommand*\pIIe@CPx{} \newcommand*\pIIe@CPy{}
|
|
\newcommand*\pIIe@add@CP[2]{%
|
|
\begingroup
|
|
\@tempdima#1\xdef\pIIe@CPx{\the\@tempdima}%
|
|
\@tempdimb#2\xdef\pIIe@CPy{\the\@tempdimb}%
|
|
\pIIe@addtoGraph{\strip@pt\@tempdima\space\strip@pt\@tempdimb}%
|
|
\endgroup}
|
|
\newcommand*\pIIe@add@nums[2]{%
|
|
\begingroup
|
|
\@tempdima#1\relax
|
|
\@tempdimb#2\relax
|
|
\pIIe@addtoGraph{\strip@pt\@tempdima\space\strip@pt\@tempdimb}%
|
|
\endgroup}
|
|
\newcommand*\pIIe@add@num[1]{%
|
|
\begingroup
|
|
\@tempdima#1\relax
|
|
\pIIe@addtoGraph{\strip@pt\@tempdima}%
|
|
\endgroup}
|
|
\newcommand*\pIIe@PTtoBP{0.99626401 }
|
|
\ifcase\pIIe@mode\relax
|
|
\or
|
|
\newcommand*\pIIe@concat[6]{%
|
|
\begingroup
|
|
\pIIe@addtoGraph{[}%
|
|
\@tempdima#1\relax \@tempdimb#2\relax
|
|
\pIIe@add@nums\@tempdima\@tempdimb
|
|
\@tempdima#3\relax \@tempdimb#4\relax
|
|
\pIIe@add@nums\@tempdima\@tempdimb
|
|
\@tempdima#5\relax \@tempdimb#6\relax
|
|
\pIIe@add@nums\@tempdima\@tempdimb
|
|
\pIIe@addtoGraph{] \pIIe@concat@op}%
|
|
\endgroup}
|
|
\newcommand*\pIIe@translate[2]{\pIIe@add@nums{#1}{#2}\pIIe@addtoGraph{translate}}
|
|
\newcommand*\pIIe@rotate[1]{\pIIe@add@num{#1}\pIIe@addtoGraph{rotate}}
|
|
\newcommand*\pIIe@scale[2]{\pIIe@add@nums{#1}{#2}\pIIe@addtoGraph{scale}}
|
|
\newcommand*\pIIe@scale@PTtoBP{\pIIe@PTtoBP \pIIe@PTtoBP scale}
|
|
\or
|
|
\newcommand*\pIIe@concat[6]{%
|
|
\begingroup
|
|
\@tempdima#1\relax \@tempdimb#2\relax
|
|
\pIIe@add@nums\@tempdima\@tempdimb
|
|
\@tempdima#3\relax \@tempdimb#4\relax
|
|
\pIIe@add@nums\@tempdima\@tempdimb
|
|
\@tempdima#5\relax \@tempdimb#6\relax
|
|
\pIIe@add@nums\@tempdima\@tempdimb
|
|
\pIIe@addtoGraph\pIIe@concat@op
|
|
\endgroup}
|
|
\newcommand*\pIIe@translate[2]{\pIIe@concat\p@\z@\z@\p@{#1}{#2}}
|
|
\newcommand*\pIIe@rotate[1]{%
|
|
\begingroup
|
|
\@tempdima#1\relax
|
|
\edef\pIIe@tempa{\strip@pt\@tempdima}%
|
|
\CalculateSin\pIIe@tempa
|
|
\CalculateCos\pIIe@tempa
|
|
\edef\pIIe@tempb{\UseSin\pIIe@tempa}%
|
|
\edef\pIIe@tempc{\UseCos\pIIe@tempa}%
|
|
\pIIe@concat{\pIIe@tempc\p@}{\pIIe@tempb\p@}%
|
|
{-\pIIe@tempb\p@}{\pIIe@tempc\p@}\z@\z@
|
|
\endgroup}
|
|
\newcommand*\pIIe@scale[2]{\pIIe@concat{#1}\z@\z@{#2}\z@\z@}
|
|
\newcommand*\pIIe@scale@PTtoBP{\pIIe@PTtoBP 0 0 \pIIe@PTtoBP 0 0 \pIIe@concat@op}
|
|
\fi
|
|
\newcommand*\pIIe@moveto[2]{%
|
|
\pIIe@add@CP{#1}{#2}\pIIe@addtoGraph\pIIe@moveto@op}
|
|
\newcommand*\pIIe@lineto[2]{%
|
|
\pIIe@add@CP{#1}{#2}\pIIe@addtoGraph\pIIe@lineto@op}
|
|
\ifcase\pIIe@mode\relax
|
|
\or
|
|
\newcommand*\pIIe@rcurveto[6]{%
|
|
\begingroup
|
|
\@tempdima#1\relax \@tempdimb#2\relax
|
|
\pIIe@add@nums\@tempdima\@tempdimb
|
|
\@tempdima#3\relax \@tempdimb#4\relax
|
|
\pIIe@add@nums\@tempdima\@tempdimb
|
|
\@tempdima#5\relax \@tempdimb#6\relax
|
|
\pIIe@add@CP\@tempdima\@tempdimb
|
|
\pIIe@addtoGraph{rcurveto}%
|
|
\endgroup}
|
|
\or
|
|
\newcommand*\pIIe@rcurveto[6]{%
|
|
\begingroup
|
|
\@tempdima#1\advance\@tempdima\pIIe@CPx\relax
|
|
\@tempdimb#2\advance\@tempdimb\pIIe@CPy\relax
|
|
\pIIe@add@nums\@tempdima\@tempdimb
|
|
\@tempdima#3\advance\@tempdima\pIIe@CPx\relax
|
|
\@tempdimb#4\advance\@tempdimb\pIIe@CPy\relax
|
|
\pIIe@add@nums\@tempdima\@tempdimb
|
|
\@tempdima#5\advance\@tempdima\pIIe@CPx\relax
|
|
\@tempdimb#6\advance\@tempdimb\pIIe@CPy\relax
|
|
\pIIe@add@CP\@tempdima\@tempdimb
|
|
\pIIe@addtoGraph\pIIe@curveto@op
|
|
\endgroup}
|
|
\fi
|
|
\newcommand*\pIIe@curveto[6]{%
|
|
\begingroup
|
|
\@tempdima#1\relax \@tempdimb#2\relax
|
|
\pIIe@add@nums\@tempdima\@tempdimb
|
|
\@tempdima#3\relax \@tempdimb#4\relax
|
|
\pIIe@add@nums\@tempdima\@tempdimb
|
|
\@tempdima#5\relax \@tempdimb#6\relax
|
|
\pIIe@add@CP\@tempdima\@tempdimb
|
|
\pIIe@addtoGraph\pIIe@curveto@op
|
|
\endgroup}
|
|
\newcommand*\pIIe@closepath{\pIIe@addtoGraph\pIIe@closepath@op}
|
|
\newcommand*\pIIe@pyth[3]{%
|
|
\begingroup
|
|
\@tempdima=#1\relax
|
|
\ifnum\@tempdima<\z@\@tempdima=-\@tempdima\fi
|
|
\@tempdimb=#2\relax
|
|
\ifnum\@tempdimb<\z@\@tempdimb=-\@tempdimb\fi
|
|
\advance\@tempdimb\@tempdima
|
|
\ifnum\@tempdimb=\z@
|
|
\@tempdimc=\z@
|
|
\else
|
|
\multiply\@tempdima 8\relax
|
|
\pIIe@divide\@tempdima\@tempdimb\@tempdimc
|
|
\advance\@tempdimc -4pt
|
|
\multiply\@tempdimc 2
|
|
\edef\pIIe@tempa{\strip@pt\@tempdimc}%
|
|
\@tempdima=\pIIe@tempa\@tempdimc
|
|
\advance\@tempdima 64pt
|
|
\divide\@tempdima 2\relax
|
|
\@dashdim=7pt
|
|
\pIIe@@pyth\pIIe@@pyth\pIIe@@pyth
|
|
\edef\pIIe@tempa{\strip@pt\@dashdim}%
|
|
\@tempdimc=\pIIe@tempa\@tempdimb
|
|
\global\divide\@tempdimc 8
|
|
\fi
|
|
\edef\x{\endgroup#3=\the\@tempdimc}%
|
|
\x}
|
|
\newcommand*\pIIe@@pyth{%
|
|
\pIIe@divide\@tempdima\@dashdim\@tempdimc
|
|
\advance\@dashdim\@tempdimc
|
|
\divide\@dashdim\tw@}
|
|
\newcommand*\pIIe@divide[3]{%
|
|
\begingroup
|
|
\dimendef\Numer=254\relax \dimendef\Denom=252\relax
|
|
\countdef\Num=254\relax \countdef\Den=252\relax
|
|
\countdef\I=250\relax \countdef\Numb=248\relax
|
|
\Numer #1\relax \Denom #2\relax
|
|
\ifdim\Denom<\z@ \Denom -\Denom \Numer=-\Numer \fi
|
|
\ifdim\Numer<\z@ \def\sign{-}\Numer=-\Numer \else \def\sign{}\fi
|
|
\ifdim\Denom=\z@
|
|
\edef\Q{\strip@pt\maxdimen}%
|
|
\PackageWarning{pict2e}%
|
|
{Division by 0, \sign\strip@pt\maxdimen\space used}{}%
|
|
\else
|
|
\Num=\Numer \Den=\Denom
|
|
\Numb=\Num \divide\Numb\Den
|
|
\ifnum\Numb>16383
|
|
\edef\Q{\strip@pt\maxdimen}%
|
|
\PackageWarning{pict2e}%
|
|
{Division overflow, \sign\strip@pt\maxdimen\space used}{}%
|
|
\else
|
|
\edef\Q{\number\Numb.}%
|
|
\multiply \Numb\Den \advance\Num -\Numb
|
|
\I=6\relax
|
|
\@whilenum \I>\z@ \do{\pIIe@@divide\advance\I\m@ne}%
|
|
\fi
|
|
\fi
|
|
\edef\tempend{\noexpand\endgroup\noexpand#3=\sign\Q\p@}%
|
|
\tempend}
|
|
\def\pIIe@@divide{%
|
|
\@whilenum \Num>214748364 \do{\divide\Num\tw@ \divide\Den\tw@}%
|
|
\multiply \Num 10
|
|
\Numb=\Num \divide\Numb\Den
|
|
\edef\Q{\Q\number\Numb}%
|
|
\multiply \Numb\Den \advance \Num -\Numb
|
|
\ifnum\Num>\z@\else\I=0\fi}
|
|
\newcommand*\pIIe@checkslopeargsline[2]{%
|
|
\pIIe@checkslopeargs{#1}{#2}{16383}}
|
|
\newcommand*\pIIe@checkslopeargsvector[2]{%
|
|
\pIIe@checkslopeargs{#1}{#2}{1000}}
|
|
\newcommand*\pIIe@checkslopeargs[3]{%
|
|
\edef\@tempa{#1}\expandafter\pIIe@checkslopearg\@tempa.:{#3}%
|
|
\edef\@tempa{#2}\expandafter\pIIe@checkslopearg\@tempa.:{#3}%
|
|
\ifdim #1\p@=\z@ \ifdim #2\p@=\z@ \@badlinearg \fi\fi}
|
|
\def\pIIe@checkslopearg #1.#2:#3{%
|
|
\def\@tempa{#1}%
|
|
\ifx\@tempa\empty\def\@tempa{0}\fi
|
|
\ifx\@tempa\space\def\@tempa{0}\fi
|
|
\ifnum\ifnum\@tempa<\z@-\fi\@tempa>#3 \@badlinearg \fi}
|
|
\def\@badlinearg{\PackageError
|
|
{pict2e}{Bad \protect\line\space or \protect\vector\space argument}{}}
|
|
\def\line(#1,#2)#3{%
|
|
\begingroup
|
|
\pIIe@checkslopeargsline{#1}{#2}%
|
|
\@tempdima=#1pt\relax \@tempdimb=#2pt\relax
|
|
\@defaultunitsset\@linelen{#3}\unitlength
|
|
\ifdim\@linelen<\z@ \@badlinearg \else
|
|
\pIIe@sline
|
|
\pIIe@moveto\z@\z@
|
|
\pIIe@lineto\@xdim\@ydim
|
|
\pIIe@strokeGraph
|
|
\box\@tempboxa
|
|
\fi
|
|
\endgroup}
|
|
\newcommand*\pIIe@sline{%
|
|
\ifdim\@tempdima=\z@
|
|
\ifdim\@tempdimb<\z@\@linelen-\@linelen\fi
|
|
\@ydim=\@linelen
|
|
\@xdim=\z@
|
|
\else
|
|
\ifdim\@tempdima<\z@\@linelen-\@linelen\fi
|
|
\ifdim\@tempdimb=\z@
|
|
\@xdim=\@linelen
|
|
\@ydim=\z@
|
|
\else
|
|
\pIIe@divide\@tempdimb\@tempdima\dimen@
|
|
\@ydim=\strip@pt\dimen@\@linelen
|
|
\@xdim=\@linelen
|
|
\fi
|
|
\fi
|
|
\@ovxx=\ifnum\@xdim=\z@ \z@\else\@linelen\fi
|
|
\@ovyy=\ifnum\@ydim<\z@ \z@\else\@ydim\fi
|
|
\@ovdy=\ifnum\@ydim<\z@ -\@ydim\else\z@\fi
|
|
\setbox\@tempboxa\hbox{%
|
|
\vrule\@height \@ovyy \@depth \@ovdy \@width \z@
|
|
\vrule\@height \z@ \@depth \z@ \@width \@ovxx}}
|
|
\def\vector(#1,#2)#3{%
|
|
\begingroup
|
|
\pIIe@checkslopeargsvector{#1}{#2}%
|
|
\@tempdima=#1pt\relax \@tempdimb=#2pt\relax
|
|
\@defaultunitsset\@linelen{#3}\unitlength
|
|
\ifdim\@linelen<\z@ \@badlinearg \else
|
|
\pIIe@sline
|
|
\@defaultunitsset\@linelen{#3}\unitlength
|
|
\pIIe@pyth{\@tempdima}{\@tempdimb}\dimen@
|
|
\ifdim\@tempdima=\z@ \else
|
|
\ifdim\@tempdimb=\z@ \else
|
|
\pIIe@divide\dimen@{\@tempdima}\@xdim
|
|
\@linelen\strip@pt\@xdim\@linelen
|
|
\ifdim\@linelen<\z@\@linelen-\@linelen\fi
|
|
\fi
|
|
\fi
|
|
\pIIe@divide{\@tempdimb}\dimen@\@ydim
|
|
\pIIe@divide{\@tempdima}\dimen@\@xdim
|
|
\pIIe@concat\@xdim\@ydim{-\@ydim}\@xdim\z@\z@
|
|
\pIIe@vector
|
|
\pIIe@fillGraph
|
|
\box\@tempboxa
|
|
\fi
|
|
\endgroup}
|
|
\newcommand*\pIIe@vector{}
|
|
\newcommand*\pIIe@vector@ltx{%
|
|
\@ydim\pIIe@FAW\@wholewidth \advance\@ydim\pIIe@CAW\relax
|
|
\@ovxx\pIIe@FAL\@ydim
|
|
\@xdim\@linelen \advance\@xdim-\@ovxx
|
|
\divide\@ydim\tw@
|
|
\divide\@ovxx\tw@ \advance\@ovxx\@xdim
|
|
\@ovyy\@ydim
|
|
\divide\@ovyy\tw@ \advance\@ovyy-\pIIe@FAI\@ydim
|
|
\pIIe@bezier@QtoC\@linelen\@ovxx\@ovro
|
|
\pIIe@bezier@QtoC\z@\@ovyy\@ovri
|
|
\pIIe@bezier@QtoC\@xdim\@ovxx\@clnwd
|
|
\pIIe@bezier@QtoC\@ydim\@ovyy\@clnht
|
|
\pIIe@moveto\@linelen\z@
|
|
\pIIe@curveto\@ovro{-\@ovri}\@clnwd{-\@clnht}\@xdim{-\@ydim}%
|
|
\ifdim\@xdim>\z@
|
|
\pIIe@lineto\@xdim{-\@halfwidth}%
|
|
\pIIe@lineto\z@{-\@halfwidth}%
|
|
\pIIe@lineto\z@{\@halfwidth}%
|
|
\pIIe@lineto\@xdim{\@halfwidth}%
|
|
\fi
|
|
\pIIe@lineto\@xdim\@ydim
|
|
\pIIe@curveto\@clnwd\@clnht\@ovro\@ovri\@linelen\z@}
|
|
\newcommand*\pIIe@vector@pst{%
|
|
\@ydim\pIIe@FAW\@wholewidth \advance\@ydim\pIIe@CAW\relax
|
|
\@ovxx\pIIe@FAL\@ydim
|
|
\@xdim\@linelen \advance\@xdim-\@ovxx
|
|
\divide\@ydim\tw@
|
|
\@ovyy\@ydim \advance\@ovyy-\@halfwidth
|
|
\@ovdx\pIIe@FAI\@ovxx
|
|
\pIIe@divide\@ovdx\@ydim\@tempdimc
|
|
\@ovxx\strip@pt\@ovyy\@tempdimc
|
|
\advance\@ovxx\@xdim
|
|
\advance\@ovdx\@xdim
|
|
\pIIe@moveto\@linelen\z@
|
|
\pIIe@lineto\@xdim{-\@ydim}%
|
|
\ifdim\@xdim>\z@
|
|
\pIIe@lineto\@ovxx{-\@halfwidth}%
|
|
\pIIe@lineto\z@{-\@halfwidth}%
|
|
\pIIe@lineto\z@{\@halfwidth}%
|
|
\pIIe@lineto\@ovxx{\@halfwidth}%
|
|
\else
|
|
\pIIe@lineto\@ovdx\z@
|
|
\fi
|
|
\pIIe@lineto\@xdim\@ydim
|
|
\pIIe@lineto\@linelen\z@}
|
|
\def\@circle#1{\begingroup \@tempswafalse\pIIe@circ{#1}}
|
|
\def\@dot#1{\begingroup \@tempswatrue\pIIe@circ{#1}}
|
|
\newcommand*\pIIe@circ[1]{%
|
|
\@defaultunitsset\pIIe@tempdima{#1}\unitlength
|
|
\ifdim\pIIe@tempdima<\z@ \pIIe@badcircarg \fi
|
|
\divide\pIIe@tempdima\tw@
|
|
\pIIe@circle\pIIe@tempdima
|
|
\if@tempswa \pIIe@fillGraph \else \buttcap \pIIe@strokeGraph \fi
|
|
\endgroup}
|
|
\newcommand*\pIIe@circle[1]{%
|
|
\pIIe@qcircle[1]\z@{#1}\pIIe@qcircle \@ne{#1}%
|
|
\pIIe@qcircle \tw@{#1}\pIIe@qcircle\thr@@{#1}\pIIe@closepath}
|
|
\newcommand*\pIIe@qcircle[3][0]{%
|
|
\begingroup
|
|
\@ovro#3\relax \@ovri0.55228474983\@ovro
|
|
\@tempdimc\@ovri \advance\@tempdimc-\@ovro
|
|
\ifnum#1>\z@ \@tempswatrue \else \@tempswafalse \fi
|
|
\ifcase#2\relax
|
|
\pIIe@@qcircle\@ovro\z@\z@\@ovri\@tempdimc\@ovro{-\@ovro}\@ovro
|
|
\or
|
|
\pIIe@@qcircle\z@\@ovro{-\@ovri}\z@{-\@ovro}\@tempdimc{-\@ovro}{-\@ovro}%
|
|
\or
|
|
\pIIe@@qcircle{-\@ovro}\z@\z@{-\@ovri}{-\@tempdimc}{-\@ovro}\@ovro{-\@ovro}%
|
|
\or
|
|
\pIIe@@qcircle\z@{-\@ovro}\@ovri\z@\@ovro{-\@tempdimc}\@ovro\@ovro
|
|
\fi
|
|
\endgroup}
|
|
\newcommand*\pIIe@@qcircle[8]{%
|
|
\if@tempswa\pIIe@moveto{#1}{#2}\fi \pIIe@rcurveto{#3}{#4}{#5}{#6}{#7}{#8}}
|
|
\newcommand*\pIIe@badcircarg{%
|
|
\PackageError{pict2e}%
|
|
{Illegal argument in \protect\circle(*), \protect\oval, \protect\arc(*) or
|
|
\protect\circlearc.}%
|
|
{The radius of a circle, dot, arc or oval corner must be greater than zero.}}%
|
|
\newcommand*\maxovalrad{20pt}
|
|
\newcommand*\pIIe@defaultUL[2]{%
|
|
\@defaultunitsset\pIIe@tempdima{#2}\unitlength
|
|
\edef#1{\the\pIIe@tempdima}}
|
|
\newcommand*\pIIe@def@UL{}
|
|
\def\pIIe@def@UL#1\relax#2#3{%
|
|
\edef#2{\the\dimen@}}
|
|
\newcommand*\pIIe@maxovalrad{}
|
|
\newcommand*\pIIe@oval{}
|
|
\def\pIIe@oval#1(#2,#3){\@ifnextchar[{\@oval(#2,#3)}{\@oval(#2,#3)[]}}
|
|
\renewcommand*\oval[1][\maxovalrad]{%
|
|
\begingroup \pIIe@defaultUL\pIIe@maxovalrad{#1}%
|
|
\ifdim\pIIe@maxovalrad<\z@ \pIIe@badcircarg \fi
|
|
\pIIe@oval}
|
|
\def\@oval(#1,#2)[#3]{%
|
|
\@defaultunitsset\pIIe@tempdima{#1}\unitlength \divide\pIIe@tempdima\tw@
|
|
\@defaultunitsset\pIIe@tempdimb{#2}\unitlength \divide\pIIe@tempdimb\tw@
|
|
\pIIe@tempdimc \ifdim\pIIe@tempdimb>\pIIe@tempdima \pIIe@tempdima \else \pIIe@tempdimb \fi
|
|
\ifdim\pIIe@maxovalrad<\pIIe@tempdimc \pIIe@tempdimc\pIIe@maxovalrad\relax \fi
|
|
\pIIe@tempdimd\pIIe@tempdima \advance\pIIe@tempdimd-\pIIe@tempdimc
|
|
\pIIe@tempdime\pIIe@tempdimb \advance\pIIe@tempdime-\pIIe@tempdimc
|
|
\pIIe@get@quadrants{#3}%
|
|
\ifnum15=\@tempcnta \pIIe@buttcap \fi
|
|
\@tempswatrue
|
|
\ifnum9=\@tempcnta
|
|
\pIIe@qoval\z@{-\pIIe@tempdimb}{\pIIe@tempdimd}{-\pIIe@tempdimb}%
|
|
\thr@@\pIIe@tempdimc\pIIe@tempdima\z@
|
|
\@tempcnta\@ne
|
|
\fi
|
|
\pIIe@qoval\pIIe@tempdima\z@\pIIe@tempdima\pIIe@tempdime%
|
|
\z@\pIIe@tempdimc\z@\pIIe@tempdimb
|
|
\pIIe@qoval\z@\pIIe@tempdimb{-\pIIe@tempdimd}\pIIe@tempdimb%
|
|
\@ne\pIIe@tempdimc{-\pIIe@tempdima}\z@
|
|
\pIIe@qoval{-\pIIe@tempdima}\z@{-\pIIe@tempdima}{-\pIIe@tempdime}%
|
|
\tw@\pIIe@tempdimc\z@{-\pIIe@tempdimb}%
|
|
\pIIe@qoval\z@{-\pIIe@tempdimb}{\pIIe@tempdimd}{-\pIIe@tempdimb}%
|
|
\thr@@\pIIe@tempdimc\pIIe@tempdima\z@
|
|
\pIIe@strokeGraph
|
|
\endgroup}
|
|
\newcommand*\pIIe@qoval[8]{%
|
|
\ifodd\@tempcnta
|
|
\if@tempswa\pIIe@moveto{#1}{#2}\fi
|
|
\pIIe@lineto{#3}{#4}\pIIe@qcircle{#5}{#6}\pIIe@lineto{#7}{#8}%
|
|
\@tempswafalse
|
|
\else
|
|
\@tempswatrue
|
|
\fi
|
|
\divide\@tempcnta\tw@}
|
|
\newcommand*\pIIe@get@quadrants[1]{%
|
|
\@ovttrue \@ovbtrue \@ovltrue \@ovrtrue \@tempcnta\z@
|
|
\@tfor\reserved@a:=#1\do{\csname @ov\reserved@a false\endcsname}%
|
|
\if@ovr \if@ovb\@setfpsbit2\fi \if@ovt\@setfpsbit4\fi \fi
|
|
\if@ovl \if@ovb\@setfpsbit1\fi \if@ovt\@setfpsbit8\fi \fi}
|
|
\def\@bezier#1(#2,#3)(#4,#5)(#6,#7){%
|
|
\ifnum #1=\z@
|
|
\@killglue
|
|
\begingroup
|
|
\@defaultunitsset\pIIe@tempdima{#2}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimb{#3}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimc{#4}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimd{#5}\unitlength
|
|
\@defaultunitsset\pIIe@tempdime{#6}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimf{#7}\unitlength
|
|
\pIIe@bezier@QtoC\pIIe@tempdima\pIIe@tempdimc\@ovro
|
|
\pIIe@bezier@QtoC\pIIe@tempdimb\pIIe@tempdimd\@ovri
|
|
\pIIe@bezier@QtoC\pIIe@tempdime\pIIe@tempdimc\@clnwd
|
|
\pIIe@bezier@QtoC\pIIe@tempdimf\pIIe@tempdimd\@clnht
|
|
\pIIe@moveto\pIIe@tempdima\pIIe@tempdimb
|
|
\pIIe@curveto\@ovro\@ovri\@clnwd\@clnht\pIIe@tempdime\pIIe@tempdimf
|
|
\pIIe@strokeGraph
|
|
\endgroup
|
|
\ignorespaces
|
|
\else
|
|
\pIIe@old@bezier{#1}(#2,#3)(#4,#5)(#6,#7)
|
|
\fi}
|
|
\newcommand*\pIIe@bezier@QtoC[3]{%
|
|
\@tempdimc#1\relax \advance\@tempdimc-#2\relax
|
|
\divide\@tempdimc\thr@@ \advance\@tempdimc #2\relax
|
|
#3\@tempdimc}
|
|
\ifx\undefined\@arclen \newdimen\@arclen \fi
|
|
\ifx\undefined\@arcrad \newdimen\@arcrad \fi
|
|
\ifx\undefined\pIIe@tempdima \newdimen\pIIe@tempdima \fi
|
|
\ifx\undefined\pIIe@tempdimb \newdimen\pIIe@tempdimb \fi
|
|
\ifx\undefined\pIIe@tempdimc \newdimen\pIIe@tempdimc \fi
|
|
\ifx\undefined\pIIe@tempdimd \newdimen\pIIe@tempdimd \fi
|
|
\ifx\undefined\pIIe@tempdime \newdimen\pIIe@tempdime \fi
|
|
\ifx\undefined\pIIe@tempdimf \newdimen\pIIe@tempdimf \fi
|
|
\newcommand*\pIIe@arc[6][0]{%
|
|
\@arcrad #4\relax
|
|
\ifdim \@arcrad<\z@ \pIIe@badcircarg \else
|
|
\@arclen #6\p@ \advance\@arclen -#5\p@
|
|
\ifdim \@arclen<\z@ \def\sign{-}\else\def\sign{}\fi
|
|
\ifdim \sign\@arclen>720\p@
|
|
\PackageWarning {pict2e}{The arc angle is reduced to -720..720}%
|
|
\@whiledim \sign\@arclen>720\p@ \do {\advance\@arclen-\sign360\p@}%
|
|
\@tempdima #5\p@ \advance\@tempdima \@arclen
|
|
\edef\@angleend{\strip@pt\@tempdima}%
|
|
\pIIe@@arc{#1}{#2}{#3}{#4}{#5}{\@angleend}%
|
|
\else
|
|
\pIIe@@arc{#1}{#2}{#3}{#4}{#5}{#6}%
|
|
\fi
|
|
\fi}
|
|
\newcommand*\pIIe@@arc[6]{%
|
|
\begingroup
|
|
\ifdim \sign\@arclen>90\p@
|
|
\divide\@arclen 2
|
|
\@tempdima #5\p@ \advance\@tempdima \@arclen
|
|
\edef\@anglemid{\strip@pt\@tempdima}%
|
|
\def\@temp{\pIIe@@arc{#1}{#2}{#3}{#4}{#5}}%
|
|
\expandafter\@temp\expandafter{\@anglemid}%
|
|
\def\@temp{\pIIe@@arc{2}{#2}{#3}{#4}}%
|
|
\expandafter\@temp\expandafter{\@anglemid}{#6}%
|
|
\else
|
|
\CalculateSin{#5}\CalculateCos{#5}%
|
|
\@tempdima\UseCos{#5}\@arcrad \advance\@tempdima #2\relax
|
|
\@tempdimb\UseSin{#5}\@arcrad \advance\@tempdimb #3\relax
|
|
\ifcase #1\relax
|
|
\pIIe@lineto\@tempdima\@tempdimb
|
|
\or \pIIe@moveto\@tempdima\@tempdimb
|
|
\or
|
|
\else \PackageWarning {pict2e}%
|
|
{Illegal obligatory argument in \protect\circlearc.}%
|
|
\fi
|
|
\@tempdimc\@arclen \divide\@tempdimc\@iv
|
|
\edef\@angle{\strip@pt\@tempdimc}\CalculateTan{\@angle}%
|
|
\@linelen\UseTan{\@angle}\@arcrad \@linelen4\@linelen \divide\@linelen\thr@@
|
|
\advance\@tempdima-\UseSin{#5}\@linelen
|
|
\advance\@tempdimb \UseCos{#5}\@linelen
|
|
\pIIe@add@nums\@tempdima\@tempdimb
|
|
\CalculateSin{#6}\CalculateCos{#6}%
|
|
\@tempdima \UseCos{#6}\@arcrad \advance\@tempdima #2\relax
|
|
\@tempdimb \UseSin{#6}\@arcrad \advance\@tempdimb #3\relax
|
|
\@tempdimc \UseSin{#6}\@linelen \advance\@tempdimc \@tempdima
|
|
\pIIe@tempdimd-\UseCos{#6}\@linelen \advance\pIIe@tempdimd \@tempdimb
|
|
\pIIe@add@nums\@tempdimc\pIIe@tempdimd
|
|
\pIIe@add@CP\@tempdima\@tempdimb
|
|
\pIIe@addtoGraph\pIIe@curveto@op
|
|
\fi
|
|
\endgroup}
|
|
\newcommand*\pIIearc
|
|
{\@ifstar{\@tempswatrue\pIIe@arc@}{\@tempswafalse\pIIe@arc@}}
|
|
\newcommand*\pIIe@arc@[2][0,360]{\pIIe@arc@@(#1){#2}}
|
|
\def\pIIe@arc@@(#1,#2)#3{%
|
|
\@defaultunitsset\pIIe@tempdima{#3}\unitlength
|
|
\if@tempswa
|
|
\pIIe@moveto\z@\z@
|
|
\pIIe@arc{\z@}{\z@}{\pIIe@tempdima}{#1}{#2}%
|
|
\pIIe@closepath\pIIe@fillGraph
|
|
\else
|
|
\pIIe@arc[1]{\z@}{\z@}{\pIIe@tempdima}{#1}{#2}%
|
|
\pIIe@strokeGraph
|
|
\fi}
|
|
\ifx\undefined\arc
|
|
\else
|
|
\PackageWarning{pict2e}{\protect\arc\space redefined}%
|
|
\fi
|
|
\let\arc\pIIearc
|
|
\let\lp@r( \let\rp@r)
|
|
\def\Line(#1,#2)(#3,#4){\polyline(#1,#2)(#3,#4)}
|
|
\def\polyline(#1,#2){%
|
|
\@killglue
|
|
\@defaultunitsset\pIIe@tempdima{#1}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimb{#2}\unitlength
|
|
\pIIe@moveto{\pIIe@tempdima}{\pIIe@tempdimb}%
|
|
\@ifnextchar\lp@r{\@polyline}{\PackageWarning{pict2e}%
|
|
{Polygonal lines require at least two vertices!}%
|
|
\ignorespaces}}
|
|
\def\@polyline(#1,#2){%
|
|
\@defaultunitsset\pIIe@tempdima{#1}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimb{#2}\unitlength
|
|
\pIIe@lineto{\pIIe@tempdima}{\pIIe@tempdimb}%
|
|
\@ifnextchar\lp@r{\@polyline}{\pIIe@strokeGraph\ignorespaces}}
|
|
\def\Vector(#1,#2)(#3,#4){\polyvector(#1,#2)(#3,#4)}
|
|
\def\polyvector(#1,#2){%
|
|
\@killglue
|
|
\@ifnextchar\lp@r{\begingroup\@polyvector(#1,#2)}{%
|
|
\PackageWarning{pict2e}%
|
|
{Polygonal vectors require at least two vertices!}\ignorespaces}}
|
|
\def\@polyvector(#1,#2)(#3,#4){%
|
|
\@defaultunitsset\pIIe@tempdima{#1}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimb{#2}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimc{#3}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimd{#4}\unitlength
|
|
\advance\pIIe@tempdimc-\pIIe@tempdima \advance\pIIe@tempdimd-\pIIe@tempdimb
|
|
\ifdim\pIIe@tempdimc=\z@ \@linelen\pIIe@tempdimd \else
|
|
\ifdim\pIIe@tempdimd=\z@ \@linelen\pIIe@tempdimc \else
|
|
\pIIe@pyth\pIIe@tempdimc\pIIe@tempdimd\@linelen
|
|
\fi
|
|
\fi
|
|
\ifdim\@linelen<\z@ \@linelen-\@linelen\fi
|
|
\pIIe@divide{\pIIe@tempdimc}\@linelen\pIIe@tempdime
|
|
\pIIe@divide{\pIIe@tempdimd}\@linelen\pIIe@tempdimf
|
|
\pIIe@concat\pIIe@tempdime\pIIe@tempdimf{-\pIIe@tempdimf}\pIIe@tempdime\pIIe@tempdima\pIIe@tempdimb
|
|
\pIIe@vector \pIIe@fillGraph
|
|
\@ifnextchar\lp@r{\@polyvector(#3,#4)}{\endgroup\ignorespaces}}
|
|
\def\polygon{%
|
|
\@killglue
|
|
\@ifstar{\begingroup\@tempswatrue\@polygon}%
|
|
{\begingroup\@tempswafalse\@polygon}}
|
|
\def\@polygon(#1,#2){%
|
|
\@defaultunitsset\pIIe@tempdima{#1}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimb{#2}\unitlength
|
|
\pIIe@moveto{\pIIe@tempdima}{\pIIe@tempdimb}%
|
|
\@ifnextchar\lp@r{\@@polygon}{\PackageWarning{pict2e}%
|
|
{Polygons require at least two vertices!}%
|
|
\ignorespaces}}
|
|
\def\@@polygon(#1,#2){%
|
|
\@defaultunitsset\pIIe@tempdima{#1}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimb{#2}\unitlength
|
|
\pIIe@lineto{\pIIe@tempdima}{\pIIe@tempdimb}%
|
|
\@ifnextchar\lp@r{\@@polygon}{\pIIe@closepath
|
|
\if@tempswa\pIIe@fillGraph\else\pIIe@strokeGraph\fi
|
|
\endgroup
|
|
\ignorespaces}}
|
|
\def\moveto(#1,#2){%
|
|
\@killglue
|
|
\@defaultunitsset\pIIe@tempdima{#1}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimb{#2}\unitlength
|
|
\pIIe@moveto{\pIIe@tempdima}{\pIIe@tempdimb}%
|
|
\ignorespaces}
|
|
\def\lineto(#1,#2){%
|
|
\@killglue
|
|
\@defaultunitsset\pIIe@tempdima{#1}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimb{#2}\unitlength
|
|
\pIIe@lineto{\pIIe@tempdima}{\pIIe@tempdimb}%
|
|
\ignorespaces}
|
|
\def\curveto(#1,#2)(#3,#4)(#5,#6){%
|
|
\@killglue
|
|
\@defaultunitsset\pIIe@tempdima{#1}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimb{#2}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimc{#3}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimd{#4}\unitlength
|
|
\@defaultunitsset\pIIe@tempdime{#5}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimf{#6}\unitlength
|
|
\pIIe@curveto{\pIIe@tempdima}{\pIIe@tempdimb}{\pIIe@tempdimc}%
|
|
{\pIIe@tempdimd}{\pIIe@tempdime}{\pIIe@tempdimf}%
|
|
\ignorespaces}
|
|
\newcommand*\circlearc[6][0]{%
|
|
\@killglue
|
|
\@defaultunitsset\pIIe@tempdima{#2}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimb{#3}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimc{#4}\unitlength
|
|
\pIIe@arc[#1]{\pIIe@tempdima}{\pIIe@tempdimb}{\pIIe@tempdimc}{#5}{#6}%
|
|
\ignorespaces}
|
|
\def\closepath{\pIIe@closepath}
|
|
\def\strokepath{\pIIe@strokeGraph}
|
|
\def\fillpath{\pIIe@fillGraph}
|
|
\ifcase\pIIe@mode\relax
|
|
\or
|
|
\newcommand*\pIIe@linecap@op{setlinecap}
|
|
\newcommand*\pIIe@linejoin@op{setlinejoin}
|
|
\or
|
|
\newcommand*\pIIe@linecap@op{J}
|
|
\newcommand*\pIIe@linejoin@op{j}
|
|
\fi
|
|
\def\pIIe@linecap{}
|
|
\def\pIIe@linejoin{}
|
|
\def\buttcap{\edef\pIIe@linecap{ 0 \pIIe@linecap@op}}
|
|
\def\roundcap{\edef\pIIe@linecap{ 1 \pIIe@linecap@op}}
|
|
\def\squarecap{\edef\pIIe@linecap{ 2 \pIIe@linecap@op}}
|
|
\def\miterjoin{\edef\pIIe@linejoin{ 0 \pIIe@linejoin@op}}
|
|
\def\roundjoin{\edef\pIIe@linejoin{ 1 \pIIe@linejoin@op}}
|
|
\def\beveljoin{\edef\pIIe@linejoin{ 2 \pIIe@linejoin@op}}
|
|
\AtBeginDocument{\@ifundefined{cbezier}{\newcommand}{\renewcommand}*%
|
|
\cbezier[2][0]{\pIIe@@cbezier[#1]#2}%
|
|
\@ifdefinable\pIIe@@cbezier{}%
|
|
\def\pIIe@@cbezier#1)#2(#3)#4(#5)#6({\@cbezier#1)(#3)(#5)(}%
|
|
\def\@cbezier[#1](#2,#3)(#4,#5)(#6,#7)(#8,#9){%
|
|
\@killglue
|
|
\@defaultunitsset\pIIe@tempdima{#2}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimb{#3}\unitlength
|
|
\pIIe@moveto{\pIIe@tempdima}{\pIIe@tempdimb}%
|
|
\@defaultunitsset\pIIe@tempdima{#4}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimb{#5}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimc{#6}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimd{#7}\unitlength
|
|
\@defaultunitsset\pIIe@tempdime{#8}\unitlength
|
|
\@defaultunitsset\pIIe@tempdimf{#9}\unitlength
|
|
\pIIe@curveto{\pIIe@tempdima}{\pIIe@tempdimb}{\pIIe@tempdimc}%
|
|
{\pIIe@tempdimd}{\pIIe@tempdime}{\pIIe@tempdimf}%
|
|
\pIIe@strokeGraph
|
|
\ignorespaces}%
|
|
}
|
|
\else
|
|
\renewcommand*\oval[1][]{\pIIe@oldoval}
|
|
\newcommand*\maxovalrad{20pt}
|
|
\newcommand*\OriginalPictureCmds{}
|
|
\fi
|
|
\Gin@codes
|
|
\let\Gin@codes\relax
|
|
\endinput
|
|
%%
|
|
%% End of file `pict2e.sty'.
|