diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/pstricks/pstricks-dots.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/pstricks/pstricks-dots.tex | 228 |
1 files changed, 228 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/pstricks/pstricks-dots.tex b/Master/texmf-dist/tex/generic/pstricks/pstricks-dots.tex new file mode 100644 index 00000000000..67528a5853e --- /dev/null +++ b/Master/texmf-dist/tex/generic/pstricks/pstricks-dots.tex @@ -0,0 +1,228 @@ +%% $Id: pstricks-dots.tex 262 2021-09-24 09:02:54Z herbert $ +%% +%% This is file `pstricks-dots.tex', +%% +%% IMPORTANT NOTICE: +%% +%% Herbert Voss <hvoss@tug.org> +%% +%% 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: +%% `pstricks-dots' base code for dots +%% +%% fileversion and filedate see main file pstricks.tex +%% +\define@key[psset]{pstricks}{dotsize}[2pt 2]{% + \pst@expandafter\pst@getdimnum{#1} 0 {} {}\@nil% + \edef\psk@@dotsize{\pst@number\pst@dimg}% + \let\psk@@@dotsize\pst@tempg% + \edef\psk@dotsize{ /DS \psk@@dotsize \psk@@@dotsize CLW mul add 2 div def }} +\psset[pstricks]{dotsize=2pt 2} +% +\define@key[psset]{pstricks}{dotscale}[1]{% + \pst@getscale{#1}\psk@dotscale + \ifx\psk@dotscale\@empty + \def\psk@xdotscale{1 }% + \def\psk@ydotscale{1 }% + \else + \let\psk@xdotscale\pst@tempg + \let\psk@ydotscale\pst@temph + \fi} +% +\def\pst@Getangle#1#2{% + \pst@getangle{#1}\pst@tempg + \def\pst@temph{0. }% + \ifx\pst@tempg\pst@temph\def#2{}\else\edef#2{\pst@tempg\space rotate }\fi} +% +\define@key[psset]{pstricks}{dotangle}[0]{% + \pst@getangle{#1}\psk@@dotangle + \ifdim\psk@@dotangle\p@=\z@ + \let\psk@dotangle\@empty + \else + \edef\psk@dotangle{\psk@@dotangle rotate }% + \fi} +\psset[pstricks]{dotangle=0} +% +\def\pst@getdotsize{% +\pst@dimg=\psk@@@dotsize\pslinewidth +\advance\pst@dimg\psk@@dotsize\p@ +\pst@dimh=\psk@ydotscale\pst@dimg +\pst@dimg=\psk@xdotscale\pst@dimg +\divide\pst@dimh 2 +\divide\pst@dimg 2\relax} +% +\psset[pstricks]{dotscale=1} +% +\def\psdot{\pst@object{psdot}} +\def\psdot@i{\@ifnextchar({\psdot@ii}{\psdot@ii(\z@,\z@)}} +\def\psdot@ii(#1){% + \begin@SpecialObj% +% hv modification 1.13 2005-11-28 + \solid@star% +% hv modification end + \pst@@getcoor{#1}% + \addto@pscode{ + \psk@dotsize + \@nameuse{psds@\psk@dotstyle} + \tx@setStrokeTransparency + \pst@coor Dot}% + \end@SpecialObj} +% +\def\psdots{\pst@object{psdots}} +\def\psdots@i{% + \begin@SpecialObj% + \pst@getcoors[\psdots@ii} +\def\psdots@ii{% + \addto@pscode{ false \tx@NArray \psdots@iii }% + \end@SpecialObj} +\def\psdots@iii{% + \psk@dotsize + \@nameuse{psds@\psk@dotstyle} + \tx@setStrokeTransparency + newpath + n { transform floor .5 add exch floor .5 add exch itransform Dot } repeat } +% +% DG: dead code (to suppress until \psset[pstricks]{dotstyle) ? - Aug. 4, 1997 +\def\tx@SQ{SQ } +\def\tx@ST{ST } +\def\tx@SP{SP } +% +\def\pst@gdot#1{ /Dot { gsave T \psk@dotangle \psk@dotscale #1 grestore } def } +% +\@namedef{psds@*}{\pst@gdot{ 0 0 DS \tx@SD }} +\@namedef{psds@o}{% + /r2 DS CLW sub def + \pst@gdot{ 0 0 DS \tx@SD \pst@usecolor\psfillcolor SLW 0 0 r2 \tx@SD }} +\@namedef{psds@square*}{ /r1 DS .886 mul def \pst@gdot{r1 \tx@SQ }} +\@namedef{psds@square}{% + /r1 DS .886 mul def /r2 r1 CLW sub def + \pst@gdot{r1 \tx@SQ \pst@usecolor\psfillcolor r2 \tx@SQ}} +\@namedef{psds@triangle*}{% + /y1 DS .778 mul neg def /x1 y1 1.732 mul neg def + \pst@gdot{x1 y1 \tx@ST}} +\@namedef{psds@triangle}{% + /y1 DS .778 mul neg def /x1 y1 1.732 mul neg def + /y2 y1 CLW add def /x2 y2 1.732 mul neg def + \pst@gdot{x1 y1 \tx@ST x2 y2 \tx@ST}} +\@namedef{psds@pentagon*}{% + /r1 DS 1.149 mul def + \pst@gdot{r1 \tx@SP}} +\@namedef{psds@pentagon}{% + DS .93 mul dup 1.236 mul /r1 ED CLW sub 1.236 mul /r2 ED + \pst@gdot{r1 \tx@SP r2 \tx@SP}} +\@namedef{psds@+}{% + /DS DS 1.253 mul def + \pst@gdot{DS 0 moveto DS neg 0 L stroke 0 DS moveto 0 DS neg L stroke}} +\@namedef{psds@|}{% + \psk@tbarsize CLW mul add 2 div /DS ED + \pst@gdot{0 DS moveto 0 DS neg L stroke}} +% DG: end dead code? +% +\define@key[psset]{pstricks}{dotstyle}[*]{% + \@ifundefined{psds@#1}% + {\@pstrickserr{Dot style `#1' not defined}\@eha}% + {\edef\psk@dotstyle{#1}}} +% +\psset[pstricks]{dotstyle=*} +% +\def\tx@FontDot{FontDot } + +\def\newpsfontdot#1[#2]#3#4{% + \@namedef{psds@#1}{% + /#3 \psk@@dotangle [#2] \tx@FontDot + /Dot { moveto gsave \psk@dotscale #4 show grestore } bind def +}} +\def\newpsfontdotH#1[#2]#3#4#5{% for filled objects + \@namedef{psds@#1}{% + /#3 \psk@@dotangle [#2] \tx@FontDot + /Dot { + moveto + gsave \psk@dotscale \pst@usecolor\psfillcolor #5 show grestore % fill first + gsave \psk@dotscale #4 show grestore % show the unfilled one + } bind def +}} +% +\ifPSTlualatex\else\pstheader{pst-dots.pro}\fi % load the type 1 font +%%40 +% /.notdef /BoldAdd /.notdef /BoldCircle /BoldDiamond /SolidOtimes /BoldOctogon /SolidHexagon +% /BoldHexagon /BoldBar /SolidAsterisk /BoldAsterisk /.notdef /BOplus /BOtimes /.notdef +%%50 +% /BoldPentagon /.notdef /.notdef /BoldSquare /BoldTriangle /.notdef /.notdef /.notdef +% /BoldMul /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +%%60 +% /.notdef /Add /Bullet /Circle /Diamond /SolidOplus /Octogon /SolidOctogon +% /Hexagon /Bar /.notdef /Asterisk /SolidDiamond /Oplus /Otimes /.notdef +%%70 +% /Pentagon /SolidPentagon /SolidSquare /Square /Triangle /SolidTriangle /.notdef /.notdef +% /Mul /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + \newpsfontdot{B+}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<41>} + \newpsfontdot{BoldAdd}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<41>} + \newpsfontdot{Bo}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<43>} + \newpsfontdot{BoldCircle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<43>} + \newpsfontdot{BoldDiamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<44>} + \newpsfontdot{Bdiamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<44>} + \newpsfontdot{SolidOtimes}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<45>} + \newpsfontdot{BoldOctogon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<46>} + \newpsfontdot{SolidHexagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<47>} + \newpsfontdot{BoldHexagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<48>} + \newpsfontdot{BoldBar}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<49>} + \newpsfontdot{B|}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<49>} + \newpsfontdot{Asterisk*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4A>} + \newpsfontdot{SolidAsterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4A>} + \newpsfontdot{BoldAsterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4B>} + \newpsfontdot{Basterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4B>} + \newpsfontdot{BoldOplus}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4D>} + \newpsfontdot{BoldOtimes}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4E>} + \newpsfontdot{BoldPentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<50>} + \newpsfontdot{Bpentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<50>} + \newpsfontdot{BoldSquare}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<53>} + \newpsfontdot{Bsquare}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<53>} + \newpsfontdot{Btriangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<54>} + \newpsfontdot{BoldTriangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<54>} + \newpsfontdot{BoldMul}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<58>} +% + \newpsfontdot{+}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<61>} + \newpsfontdot{Add}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<61>} + \newpsfontdot{bullet}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<62>} + \newpsfontdot{Bullet}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<62>} + \newpsfontdot{*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<62>} + \newpsfontdot{o}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<63>} + \newpsfontdot{Circle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<63>} + \newpsfontdot{Diamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<64>} + \newpsfontdot{diamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<64>} + \newpsfontdot{Oplus*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<65>} + \newpsfontdot{SolidOplus}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<65>} + \newpsfontdot{Octogon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<66>} + \newpsfontdot{Octogon*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<67>} + \newpsfontdot{Hexagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<68>} + \newpsfontdot{Bar}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<69>} + \newpsfontdot{|}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<69>} + \newpsfontdot{asterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6B>} + \newpsfontdot{Asterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6B>} + \newpsfontdot{SolidDiamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6C>} + \newpsfontdot{diamond*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6C>} + \newpsfontdot{oplus}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6D>} + \newpsfontdot{Oplus}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6D>} + \newpsfontdot{otimes}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6E>} + \newpsfontdot{Otimes}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6E>} +% + \newpsfontdot{pentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<70>} + \newpsfontdot{SolidPentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<71>} + \newpsfontdot{Pentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<70>} + \newpsfontdot{pentagon*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<71>} + \newpsfontdot{square*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<72>} + \newpsfontdot{SolidSquare}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<72>} + \newpsfontdot{square}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<73>} + \newpsfontdot{Square}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<73>} + \newpsfontdot{triangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<74>} + \newpsfontdot{Triangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<74>} + \newpsfontdot{triangle*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<75>} + \newpsfontdot{SolidTriangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<75>} + \newpsfontdot{x}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<78>} + \newpsfontdot{Mul}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<78>} +% +%% END: pstricks-dots.tex +\endinput |