summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/pst-knot/pst-knot.tex
blob: ea222af4b4cd36df424dba525da21f8b554641bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
%%
%% This is file `pst-knot.tex',
%%
%% IMPORTANT NOTICE:
%%
%% Package `pst-knot.tex'
%%
%% Herbert Voss <herbert -> dante.de>
%%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN archives
%% in directory macros/latex/base/lppl.txt.
%%
%% DESCRIPTION:
%%   `pst-knot' is a PSTricks package for knot macros
%%
%%
\csname PSTknotLoaded\endcsname
\let\PSTknotLoaded\endinput
% Requires PSTricks
\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi
\ifx\PSTXKeyLoaded\endinput\else\input pst-xkey.tex \fi
%
\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
% interface to the `xkeyval' package
\pst@addfams{pst-knot}

\def\fileversion{0.01}
\def\filedate{2009/11/07}
\message{`PST-knot' v\fileversion, \filedate\space (hv)}
%
\SpecialCoor
\pstheader{pst-psm.pro}
%
\define@key[psset]{pst-knot}{knotborder}[2]{\def\psk@knot@border{#1 }}
\define@key[psset]{pst-knot}{knotbgcolor}[1]{\def\psk@knot@bgcolor{#1 }}
\define@key[psset]{pst-knot}{knotscale}[1 1]{\pst@getscale{#1}\psk@knot@scale}
\psset[pst-knot]{knotborder=2,knotbgcolor=1,knotscale=1}
%
\def\psKnot{\def\pst@par{}\pst@object{psKnot}}
\def\psKnot@i(#1)#2{\expandafter\psKnot@ii(#1)#2}
\def\psKnot@ii(#1)#2-#3{%
  \addto@par{border=.5\pslinewidth}%
  \begin@ClosedObj%
  \pst@getcoor{#1}\pst@tempA%
  \addto@pscode{
    \pst@tempA\space  moveto
    tx@KnotDict begin 
    PSMinit 
    /rgb {} def /gray {} def /cmyk {} def
    \pst@number\pslinewidth SLW
    \pst@usecolor\pslinecolor
    \psk@knot@scale
    /knot-bgline { CLW \psk@knot@border mul SLW } def
    /knot-bgcolour \psk@knot@bgcolor def
    knot-#2-#3 \ifnum#2=0 \else knot \fi
    end 
  }%
  \end@ClosedObj}
%
\catcode`\@=\PstAtCode\relax
%
%% END: pst-knot.tex
\endinput
%