Current File : //usr/share/texlive/texmf-dist/tex/latex/pstricks/pstricks.sty |
% $Id: pstricks.sty 6 2020-06-10 18:50:14Z herbert $
%%
%% This is file `pstricks.sty'.
%%
%% IMPORTANT NOTICE:
%%
%% pstricks.sty Copyright (C) 1997 Timothy Van Zandt
%% pstcol.sty Copyright (C) 1994-1996 1999 David Carlisle
%% pstricks.sty Copyright (C) 2004- Rolf Niepraschk <Rolf.Niepraschk@gmx.de>
%% Herbert Voss <hvoss@tug.org>
%% 2019-current Herbert Voss <hvoss@tug.org>
%%
%% This package may be distributed under the terms of the LaTeX Project
%% Public License, as described in lppl.txt in the base LaTeX distribution.
%% Either version 1.0 or, at your option, any later version.
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{pstricks}[2020/06/11 v0.70 LaTeX wrapper for `PSTricks' (RN,HV)]
%
\def\documentclass{%
\edef\@tempa{\jobname.tex }%
\edef\@tempb{\@filef@und}%
\@onelevel@sanitize\@tempa
\@onelevel@sanitize\@tempb
\ifx\@tempa\@tempb
\@latex@error
{`\jobname.tex' is a forbidden name for your document,\MessageBreak
it is already a name of a package}%
{Choose another name for your document}\@gobble
\else
\@twoclasseserror
\fi
}
%
\RequirePackage{iftex}
\def\pst@ColorPackage{xcolor}
\DeclareOption{noxcolor}{\def\pst@ColorPackage{color}}
%
\newif\ifpst@useCalc \pst@useCalcfalse
\newif\ifpst@psfonts \pst@psfontsfalse
\newif\if@check@engine \@check@enginetrue
\newif\ifpst@xetex \pst@xetexfalse
\newif\ifpst@autopdf \pst@autopdffalse
\DeclareOption{useCalc}{\pst@useCalctrue}
\DeclareOption{psfonts}{\pst@psfontstrue}
\DeclareOption{noEngineCheck}{\@check@enginefalse}
\DeclareOption{pdf}{\global\pst@autopdftrue}
\DeclareOption{xetex}{\global\pst@xetextrue}
%
%---------------------------------DISTILLER --------------------------------
\newif\ifpst@distiller\pst@distillerfalse
\DeclareOption{distiller}{\pst@distillertrue\pst@psfontstrue}
%
%---------------------------------COLOR --------------------------------
\DeclareOption{monochrome}{%
\AtBeginDocument{\special{ps:
true setglobal globaldict begin
/setrgbcolor { add add 0 gt {1}{0} ifelse setgray } def
/setcmykcolor{ 4 dict begin
/k ED /y ED /m ED /c ED
1 1 k sub c mul k add sub 0.29 mul
1 1 k sub m mul k add sub 0.587 mul add
1 1 k sub y mul k add sub 0.114 mul add
end 0 gt {1}{0} ifelse setgray } def
end false setglobal }}}
\DeclareOption{grayscale}{%
\AtBeginDocument{\special{ps:
true setglobal globaldict begin
/setrgbcolor { 0.07 mul exch 0.71 mul add exch 0.21 mul add setgray } def
/setcmykcolor{ 4 dict begin
/k ED /y ED /m ED /c ED
1 1 k sub c mul k add sub 0.29 mul
1 1 k sub m mul k add sub 0.587 mul add
1 1 k sub y mul k add sub 0.114 mul add
end setgray } def
end false setglobal }}}
\DeclareOption*{\PassOptionsToPackage\CurrentOption{\pst@ColorPackage}}
\ProcessOptions\relax
%\RequirePackage{iftex}
\ifpst@useCalc
\RequirePackage{pst-calculate}
\fi
\RequirePackage{\pst@ColorPackage}
%
\@ifundefined{PSTricksLoaded}
{%
\let\saved@scalebox\scalebox
\input{pst-xkey}%
\input{pstricks}%
\ProvidesFile{pstricks.tex}[\filedate\space v\fileversion\space `PSTricks' (tvz,hv)]
\input{pst-fp.tex}%
\ProvidesFile{pst-fp.tex}[\filedate\space v\fileversion\space `PST-fp' (hv)]
\IfFileExists{pstricks.pro}{%
\ProvidesFile{pstricks.pro}
[2020/06/09 v. 1.31, PostScript prologue file (hv)]
\@addtofilelist{pstricks.pro}}{}%
\IfFileExists{pst-algparser.pro}{%
\ProvidesFile{pst-algparser.pro}[2011/10/31 v. 0.04, PostScript prologue file (hv)]
\@addtofilelist{pst-algparser.pro}}{}%
\IfFileExists{pst-tools.pro}{%
\ProvidesFile{pst-tools.pro}[2012/01/01 v. 0.02, PostScript prologue file (hv)]
\@addtofilelist{pst-tools.pro}}{}%
\IfFileExists{pst-dots.pro}{%
\ProvidesFile{pst-dots.pro}[2006/12/19 v. 2.00, PostScript prologue file (hv)]
\@addtofilelist{pst-dots.pro}}{}%
}{}
%
\ifpst@distiller
\pst@def{setTransparency}<
[ /ca \psk@opacityalpha
/CA \psk@opacityalpha /SetTransparency pdfmark >
\pst@def{setStrokeTransparency}<
[ /ca \psk@strokeopacityalpha
/CA \psk@strokeopacityalpha /SetTransparency pdfmark >
\pst@def{setBlendmode}<
[ /BM%
\ifcase\psk@blendmode
/Normal \or
/Compatible \or
/Screen \or
/Multiply \or
/HardLight \or
/Darken \or
/Lighten \or
/Difference \or
/ColorDodge \or
/ColorBurn \or
/SoftLight \or
/Hue \or
/Saturation \or
/Luminosity \or
/Overlay \or
/Exclusion \or
/Color
\else
/Normal
\fi
/ca \psk@shapealpha /CA \psk@opacityalpha /SetTransparency pdfmark >
\fi
%
\@ifpackageloaded{xcolor}{%
\@ifpackagelater{xcolor}{2004/05/02}%
{%
\let\pst@getcolor\XC@getcolor
\let\pst@usecolor\XC@usecolor
}
{%
\PackageError{pstricks}{%
*************************************************\MessageBreak
* Your Version of `xcolor.sty' is too old!\MessageBreak
* You need the version from 2004/05/02 or newer\MessageBreak
* or use: \string\usepackage[noxcolor]{pstricks}\MessageBreak
*************************************************}{}%
}%
}{%
\def\pst@getcolor#1#2{%
\@ifundefined{\string\color@#1}%
{\@pstrickserr{Color `#1' not defined}\@eha}%
{\edef#2{#1}}}%
\def\pst@usecolor#1{\expandafter\expandafter\expandafter\c@lor@to@ps%
\csname\string\color@#1\endcsname\@@\space}%
\definecolor{darkgray}{gray}{.25}
\definecolor{gray}{gray}{.5}
\definecolor{lightgray}{gray}{.75}
}%
%
\definecolor{gradbegin}{rgb}{0,1,1}
\definecolor{gradend}{rgb}{0,.1,.95}
%
\@ifundefined{xglobal}%
{\def\xglobal#1#2#3#4% UK 2005-11-17
{#1{#2}{#3}{#4}%
\expandafter\global\expandafter\let\csname\string\color@#2%
\expandafter\endcsname\csname\string\color@#2\endcsname}}{}%
%
\def\newgray#1{%
\expandafter\gdef\csname #1\endcsname{\color{#1}}% HV 2004-03-31
\xglobal\definecolor{#1}{gray}}%
%
\def\newrgbcolor#1#2{%
\expandafter\gdef\csname #1\endcsname{\color{#1}}% HV 2004-03-31
\edef\@tempa{\noexpand\newrgbcolorx{#1}#2\noexpand\@@}\@tempa}%
\def\newrgbcolorx#1#2 #3 #4\@@{%
\xglobal\definecolor{#1}{rgb}{#2,#3,#4}}
%
\def\newcmykcolor#1#2{%
\expandafter\gdef\csname #1\endcsname{\color{#1}}% HV 2004-03-31
\edef\@tempa{\noexpand\newcmykcolorx{#1}#2\noexpand\@@}\@tempa}
\def\newcmykcolorx#1#2 #3 #4 #5\@@{%
\xglobal\definecolor{#1}{cmyk}{#2,#3,#4,#5}}
%
\def\newhsbcolor#1#2{%
\expandafter\gdef\csname #1\endcsname{\color{#1}}% HV 2004-03-31
\edef\@tempa{\noexpand\newhsbcolorx{#1}#2\noexpand\@@}\@tempa}
\def\newhsbcolorx#1#2 #3 #4\@@{%
\xglobal\definecolor{#1}{hsb}{#2,#3,#4}}
%
\definecolor{black}{gray}{0}
\definecolor{darkgray}{gray}{.25}
\definecolor{gray}{gray}{.5}
\definecolor{lightgray}{gray}{.75}
\definecolor{white}{gray}{1}
\definecolor{red}{rgb}{1,0,0}
\definecolor{green}{rgb}{0,1,0}
\definecolor{blue}{rgb}{0,0,1}
%\definecolor{yellow}{rgb}{1,1,0}
%\definecolor{cyan}{rgb}{0,1,1}
%\definecolor{magenta}{rgb}{1,0,1}
\definecolor{yellow}{cmyk}{0,0,1,0}
\definecolor{cyan}{cmyk}{1,0,0,0}
\definecolor{magenta}{cmyk}{0,1,0,0}
%
\renewcommand*\black{\color{black}}
\renewcommand*\darkgray{\color{darkgray}}
\renewcommand*\gray{\color{gray}}
\renewcommand*\lightgray{\color{lightgray}}
\renewcommand*\white{\color{white}}
\renewcommand*\blue{\color{blue}}
\renewcommand*\red{\color{red}}
\renewcommand*\green{\color{green}}
\renewcommand*\yellow{\color{yellow}}
\renewcommand*\magenta{\color{magenta}}
\renewcommand*\cyan{\color{cyan}}
%
\AtBeginDocument{%
% \psset{fillcolor=white}% hv 0.33
\let\pst@endcolor=\relax%
% \let\pst@color=\relax%
% LaTeX used `\color@endgroup' instead. RN 2004-05-06
}
\pst@cntm=0
\ifXeTeX\pst@cntm=1\else\ifpst@xetex\pst@cntm=1\fi\fi
\ifnum\pst@cntm>\z@
\typeout{>>> Loading XeTeX special macros}%
\input{pstricks-xetex.def}%
\fi
\endinput
%
%% End of file `pstricks.sty'.