summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pst-bspline/pst-bspline.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/pst-bspline/pst-bspline.tex')
-rw-r--r--Master/texmf-dist/tex/generic/pst-bspline/pst-bspline.tex32
1 files changed, 19 insertions, 13 deletions
diff --git a/Master/texmf-dist/tex/generic/pst-bspline/pst-bspline.tex b/Master/texmf-dist/tex/generic/pst-bspline/pst-bspline.tex
index 633a463f474..ded6c31d4f4 100644
--- a/Master/texmf-dist/tex/generic/pst-bspline/pst-bspline.tex
+++ b/Master/texmf-dist/tex/generic/pst-bspline/pst-bspline.tex
@@ -1,15 +1,22 @@
%% BEGIN pst-bspline.tex
%% Author: Michael Sharpe (msharpe at ucsd.edu)
-\def\fileversion{1.2}
-\def\filedate{2010/06/12}
%%
%\message{ v\fileversion, \filedate}
\csname PSTBsplineLoaded\endcsname
\let\PSTBsplineLoaded\endinput
-\ProvidesFile{pst-bspline.tex}[\filedate\space v\fileversion\space Bspline routines for pstricks]
-\ifx\PSTnodesLoaded\endinput\else\input pst-node.tex \fi\relax
-\edef\TheAtCode{\the\catcode`\@}\catcode`\@=11
+
+\ifx\PSTricksLoaded\endinput \else\input pstricks.tex\fi
+\ifx\PSTnodeLoaded\endinput \else\input pst-node.tex\fi
+\ifx\PSTXKeyLoaded\endinput \else\input pst-xkey \fi
+\def\fileversion{1.3}
+\def\filedate{2010/09/04}
+
+\message{`pst-bspline' v\fileversion, \filedate\space Bspline routines for pstricks (ms)}
%
+\edef\TheAtCode{\the\catcode`\@} \catcode`\@=11\relax
+\pst@addfams{pst-bspline}
+\SpecialCoor
+
%\newcount\pst@args%used in several macros--now defined in pst-node.tex
\def\PST@root{}
\newcount\bsp@args
@@ -31,9 +38,8 @@
\bsp@seqfalse%
}%
% showframe key and its default are global
-\newif\ifshowframe%
-\def\psset@showframe#1{\@nameuse{showframe#1}}%
-\psset@showframe{false}%
+\define@boolkey[psset]{pst-bspline}[Pst@]{showframe}[true]{}
+\psset[pst-bspline]{showframe=false}%
%
%Bspline drawing macros
\def\psBsplineNodes{\def\pst@par{}\pst@object{psBsplineNodes}}%
@@ -93,7 +99,7 @@
% Define the left and right bezier control points in each interval. These are
% denoted (root+) R0, L1, R1, L2, R2, etc
\multido{\ia=0+1,\ib=1+1}{\bsp@args}{%
-\ifshowframe%
+\ifPst@showframe%
\ncline[linestyle=dashed,linecolor=gray,arrows=*-*]{\bsp@root\ia}{\bsp@root\ib}%
\fi%
\nodexn{.667(\bsp@root\ia)+.333(\bsp@root\ib)}{\bsp@root R\ia}%
@@ -102,11 +108,11 @@
%Finally, define the bezier endpoints for each interval
\advance\bsp@args by \m@ne%
\mmultido{\ia=0+1}{\bsp@args}{%
-\ifshowframe%
+\ifPst@showframe%
\ncline[linestyle=solid,linecolor=red]{\bsp@root L\ia}{\bsp@root R\ia}%
\fi%
\midAB(\bsp@root L\ia)(\bsp@root R\ia){\bsp@root S\ia}%
-\ifshowframe%
+\ifPst@showframe%
\psdot[linecolor=red](\bsp@root S\ia)%
\fi%
}%
@@ -143,9 +149,9 @@
\advance\bsp@cntB by \@ne%
\psbezier[arrows=-\bsp@arrowB,showpoints=false](\bsp@root S\the\bsp@cntA)%
(\bsp@root R\the\bsp@cntA)(\bsp@root L\the\bsp@cntB)(\bsp@root S\the\bsp@cntB)%
- \ifshowframe \psdot[linecolor=red](\bsp@root L\the\bsp@cntB) \fi%
+ \ifPst@showframe \psdot[linecolor=red](\bsp@root L\the\bsp@cntB) \fi%
\fi% end \ifbsp@closed
-\ifshowframe%
+\ifPst@showframe%
\psdot[linecolor=red](\bsp@root R0)%
\psdot[linecolor=red](\bsp@root L\the\bsp@args)%
\fi%