% $Id: pstricks.sty 864 2024-02-02 08:35:01Z 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 %% Herbert Voss %% 2019- Herbert Voss %% %% 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}[2024/02/02 v0.75 LaTeX wrapper for `PSTricks' (RN,HV)] % \let\pst@documentclass=\documentclass \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 \expandafter\pst@documentclass \fi } \RequirePackage{iftex} \def\pst@ColorPackage{xcolor} \DeclareOption{noxcolor}{\def\pst@ColorPackage{color}} % \newif\ifpst@useCalc \pst@useCalcfalse \newif\ifpst@psfonts \pst@psfontsfalse \newif\ifpstGSfonts \pstGSfontsfalse \newif\if@check@engine \@check@enginetrue \newif\ifpst@xetex \pst@xetexfalse \newif\ifpst@autopdf \pst@autopdffalse \DeclareOption{useCalc}{\pst@useCalctrue} \DeclareOption{gsfonts}{\pstGSfontstrue} \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 \let\pgfutil@protected\protected \let\pgfutil@unexpanded\unexpanded \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/11/16 v. 1.41, 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'.