From c6a8412d1611093105c992e30cf39c01cc00ad77 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 2 May 2018 20:47:43 +0000 Subject: pstricks (2may18) git-svn-id: svn://tug.org/texlive/trunk@47572 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/pstricks/pst-platform.sty | 142 ++++++++++++++++ .../texmf-dist/tex/latex/pstricks/pstricks-pdf.sty | 179 +++++++++++++++++++++ Master/texmf-dist/tex/latex/pstricks/pstricks.sty | 10 +- 3 files changed, 328 insertions(+), 3 deletions(-) create mode 100644 Master/texmf-dist/tex/latex/pstricks/pst-platform.sty create mode 100644 Master/texmf-dist/tex/latex/pstricks/pstricks-pdf.sty (limited to 'Master/texmf-dist/tex/latex/pstricks') diff --git a/Master/texmf-dist/tex/latex/pstricks/pst-platform.sty b/Master/texmf-dist/tex/latex/pstricks/pst-platform.sty new file mode 100644 index 00000000000..a1bde247b6b --- /dev/null +++ b/Master/texmf-dist/tex/latex/pstricks/pst-platform.sty @@ -0,0 +1,142 @@ +% $Id: pst-platform.sty 446 2017-04-19 11:40:55Z herbert $ +%% +%% This is file `pst-platform.sty', +%% +%% Copyright (C) 2017 Herbert Voß +%% +%% 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. +%% +\ProvidesPackage{pst-platform} + [2017/03/17 v0.01 Testing for the operating system, patch for luatex] +\RequirePackage{shellesc,pdftexcmds,catchfile,ifluatex} +%% +% The following code is from ifplatform.sty, it fixes a bug with lualatex +%% +\newif\ifshellescape +\newif\ifwindows +\newif\ifmacosx +\newif\iflinux +\newif\ifcygwin +\newcommand\windowsname{Windows} +\newcommand\notwindowsname{*NIX} +\newcommand\linuxname{Linux} +\newcommand\macosxname{Mac\,OS\,X} +\newcommand\cygwinname{Cygwin} +\newcommand\unknownplatform{[Unknown]} +\edef\ip@file{\jobname.w18} +\newif\if@ip@nix@ +\ifnum\pdf@shellescape=1\relax + \shellescapetrue +\else + \ifluatex\else + \PackageWarningNoLine{ifplatform}{^^J \space\space\space + shell escape is disabled, + so I can only detect \@backslashchar ifwindows% + } + \fi +\fi +\def\ip@cantdecide{% + \PackageWarningNoLine{ifplatform}{^^J \space\space\space + I can't tell if this is Windows or *nix; + you appear to be both% + }% +} +\ifluatex + \csname\directlua{ + if os.type == "unix" then + tex.sprint("@ip@nix@true") + elseif os.type == "windows" then + tex.sprint("windowstrue") + end + }\endcsname +\else + \IfFileExists{nul:}{\@ip@nix@false}{\@ip@nix@true} + \IfFileExists{/dev/null}{\windowsfalse}{\windowstrue} + \edef\ip@windows@echo@test{echo \string# > "\ip@file"} + \def\ip@backupplan{% + \IfFileExists{\ip@file}{% + \PackageWarningNoLine{ifplatform}{^^J \space\space\space + Please delete the file "\ip@file" and try again% + }% + \ip@cantdecide + }{% + \ShellEscape{\ip@windows@echo@test}% + \IfFileExists{\ip@file}{% + \ShellEscape{del "\ip@file"}% + \windowstrue + }{% + \@ip@nix@true + }% + }% + } + \ifwindows + \if@ip@nix@ + \PackageWarningNoLine{ifplatform}{^^J \space\space\space + I can't tell if this is Windows or *nix; + you appear to be neither% + } + \fi + \else + \if@ip@nix@\else + \ifshellescape + \ip@backupplan + \else + \ip@cantdecide + \fi + \fi + \fi + \fi + \def\ip@only@six#1#2#3#4#5#6#7\@nil{#1#2#3#4#5#6} + \if@ip@nix@ + \ifshellescape + \ifwindows\else + \ShellEscape{uname -s > "\ip@file"} + \CatchFileDef\@tempa{\ip@file}{} + \ShellEscape{rm -- "\ip@file"} + \edef\@tempa{\expandafter\zap@space\@tempa\@empty} + \def\@tempb{Linux} + \ifx\@tempa\@tempb + \linuxtrue + \else + \def\@tempb{Darwin} + \ifx\@tempa\@tempb + \macosxtrue + \else + \def\@tempb{CYGWIN} + \edef\@tempc{\expandafter\ip@only@six\@tempa------\@nil} + \ifx\@tempb\@tempc + \cygwintrue + \else + \edef\unknownplatform{\@tempa} + \fi + \fi + \fi + \fi +\fi\fi +\edef\platformname{% + \ifwindows + \noexpand\windowsname + \else + \ifshellescape + \iflinux + \noexpand\linuxname + \else + \ifmacosx + \noexpand\macosxname + \else + \ifcygwin + \noexpand\cygwinname + \else + \noexpand\unknownplatform + \fi + \fi + \fi + \else + \noexpand\notwindowsname + \fi + \fi +} +%% +%% End of file `pst-platform.sty'. diff --git a/Master/texmf-dist/tex/latex/pstricks/pstricks-pdf.sty b/Master/texmf-dist/tex/latex/pstricks/pstricks-pdf.sty new file mode 100644 index 00000000000..c363a62f801 --- /dev/null +++ b/Master/texmf-dist/tex/latex/pstricks/pstricks-pdf.sty @@ -0,0 +1,179 @@ +% $Id: pstricks-pdf.sty 446 2017-04-19 11:40:55Z herbert $ +%% +%% This is file `pstricks-pdf.sty'. +%% +%% IMPORTANT NOTICE: +%% +%% pstricks-pdf.sty Copyright (C) 2017 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-pdf}[2017/03/17 v0.01 creating pdf output (HV)] +% +\RequirePackage{ifpdf,xkeyval,pst-platform,ifluatex,ifxetex} + +\newif\if@app@off@ +\newif\if@app@crop@ +\newcounter{app@runs} +\def\app@suffix{autopp} +\edef\app@jobname{\jobname-\app@suffix} +\edef\app@pics{\jobname-pics.pdf} + +%%% +% the following code is adapted from auto-pst-pdf +%%% +\DeclareOptionX{off}[]{\@app@off@true} +\define@choicekey{pstricks-pdf.sty}{crop}[\@tempa\@tempb]{on,off}{% + \ifcase\@tempb\relax + \@app@crop@true + \or + \@app@crop@false + \fi} +\DeclareOptionX{on}[]{\@app@off@false} +\DeclareOptionX{ext}{\def\app@ext{#1}} +\DeclareOptionX{latex}{% + \def\app@latex@opts{% + \ifwindows + -disable-write18 + \else + -no-shell-escape + \fi + -jobname="\app@jobname" + -interaction=batchmode + #1}} +\DeclareOptionX{dvips}{\def\app@dvips@opts{#1}} +\DeclareOptionX{pspdf}{\def\app@pspdf@opts{#1}} +\def\app@pdfcrop@opts{--hres}%%% hv 20130405 +\DeclareOptionX{pdfcrop}{\def\app@pdfcrop@opts{#1}} + +\DeclareOptionX{cleanup}{% + \let\app@rm@files\@empty + \@for\@ii:=#1\do{% + \edef\app@rm@files{\app@rm@files,\app@jobname.\@ii}}} + +\DeclareOptionX{runs}{% + \setcounter{app@runs}{#1}% support calc + \ifnum\c@app@runs > \z@ + \else + \app@PackageWarning{The number of runs must be at least one.}% + \c@app@runs\@ne + \fi} + +\DeclareOptionX*{% + \PassOptionsToPackage{prologue}{xcolor}% to get named colors into the ps file + \PassOptionsToPackage\CurrentOption{pstricks}% + \PassOptionsToPackage\CurrentOption{pst-pdf}% +} + +\ExecuteOptionsX{% + ext=tex, + crop=on, + latex={}, + dvips={-Ppdf}, + pdfcrop={}, + cleanup={log,aux,dvi,ps,pdf}, + runs=1 +} +\ifwindows + \ExecuteOptionsX{pspdf={}} +\else + \ExecuteOptionsX{pspdf={-dAutoRotatePages=/None}} +\fi +% +\ProcessOptionsX\relax +% +\ifxetex\@app@off@true\fi +% +\def\app@nl{^^J\space\space\space\space} +\newcommand\app@PackageError[2]{\PackageError{pstricks-pdf}{\app@nl #1^^J}{#2}} +\newcommand\app@PackageWarning[1]{% + \PackageWarning{pstricks-pdf}{\app@nl #1^^JThis warning occured}} +\newcommand\app@PackageInfo[1]{\PackageInfo{pstricks-pdf}{#1}} +\newcommand\OnlyIfFileExists[2]{\IfFileExists{#1}{#2}{}} +\newcommand\NotIfFileExists[2]{\IfFileExists{#1}{}{#2}} +\def\app@convert#1#2#3{% + \OnlyIfFileExists{#2}{% +% \expandafter\typeout\expandafter{\csname app@cmd@#1\endcsname}% + \typeout{filenameIN: #2}% + \typeout{filenameOUT: #3}% + \ShellEscape{\csname app@cmd@#1\endcsname{#2}{#3}}% + \NotIfFileExists{#3}{\app@PackageWarning{Creation of #3 failed.}}}} +\def\app@compile{% + \app@cleanup + \app@remove@container + \loop\ifnum\c@app@runs > \@ne + \app@convert{extralatex}{\jobname.\app@ext}{}% + \advance\c@app@runs\m@ne + \repeat + \app@convert{latex}{\jobname.\app@ext}{}% + \ifxetex\else + \app@convert{dvips}{\app@jobname.dvi}{\app@jobname.ps}% + \fi + \if@app@crop@ + \ifxetex\else + \app@convert{pstopdf}{\app@jobname.ps}{\app@jobname.pdf}% + \fi + \app@convert{pdfcrop}{\app@jobname.pdf}{\app@pics}% + \else + \ifxetex\else + \app@convert{pstopdf}{\app@jobname.ps}{\app@pics}% + \fi + \fi + \IfFileExists{\app@pics} + {\app@cleanup} + {\app@PackageWarning{Could not create \app@pics. + Auxiliary files not deleted.}}} +\edef\app@rm{\ifwindows del \else rm -- \fi} +\newcommand\app@try@rm[1]{% + \@for\@tempa:=#1\do{% + \OnlyIfFileExists{\@tempa}{\ShellEscape{\app@rm "\@tempa"}}}} +\def\app@remove@container{\app@try@rm{\app@pics}} +\def\app@cleanup{\app@try@rm{\app@rm@files}} +\ifluatex +% \def\app@cmd@latex#1#2{lualatex --output-format=dvi \app@latex@opts\space "\unexpanded{\let\APPmakepictures\empty\input} #1"} +% \def\app@cmd@extralatex#1#2{lualatex --output-format=dvi \app@latex@opts\space "\unexpanded{\let\APPmakepictures\undefined\input} #1"} + \def\app@cmd@latex#1#2{xelatex \app@latex@opts\space "\unexpanded{\AtBeginDocument{\pagestyle{empty}}\let\APPmakepictures\empty\input} #1"} + \def\app@cmd@extralatex#1#2{xelatex \app@latex@opts\space "\unexpanded{\AtBeginDocument{\pagestyle{empty}}\let\APPmakepictures\undefined\input} #1"} +\else + \def\app@cmd@latex#1#2{latex \app@latex@opts\space "\unexpanded{\let\APPmakepictures\empty\input} #1"} + \def\app@cmd@extralatex#1#2{\@app@prog\space \app@latex@opts\space "\unexpanded{\let\APPmakepictures\undefined\input} #1"} + \def\app@cmd@dvips#1#2{dvips \app@dvips@opts\space -o "#2" "#1"} + \def\app@cmd@pstopdf#1#2{ps2pdf \app@pspdf@opts\space "#1" "#2"} +\fi +\def\app@cmd@pdfcrop#1#2{pdfcrop \app@pdfcrop@opts\space "#1" "#2"} +\ifpdf + \if@app@off@\else + \ShellEscape{echo " "} + \ShellEscape{echo "-------------------------------------------------"} + \ShellEscape{echo "pstricks-pdf: Auxiliary LaTeX compilation"} + \ShellEscape{echo "-------------------------------------------------"} + \app@compile + \ShellEscape{echo "-------------------------------------------------"} + \ShellEscape{echo "pstricks-pdf: End auxiliary LaTeX compilation"} + \ShellEscape{echo "-------------------------------------------------"} + \fi + \if@app@crop@ + \PassOptionsToPackage{notightpage}{pst-pdf} + \fi +\else + \ifx\APPmakepictures\@undefined + \PassOptionsToPackage{inactive}{pst-pdf} + \else + \if@app@crop@ + \PassOptionsToPackage{notightpage}{pst-pdf} + \fi + \fi +\fi +\RequirePackage{pst-pdf} +\RequirePackage{pstricks} +\@ifclassloaded{beamer}{\setbeamertemplate{navigation symbols}}{}% +% +\let\app@ig\includegraphics +% +%% +%% End of file `pstricks-pdf.sty'. diff --git a/Master/texmf-dist/tex/latex/pstricks/pstricks.sty b/Master/texmf-dist/tex/latex/pstricks/pstricks.sty index bebc8480004..7d928352b04 100644 --- a/Master/texmf-dist/tex/latex/pstricks/pstricks.sty +++ b/Master/texmf-dist/tex/latex/pstricks/pstricks.sty @@ -1,4 +1,4 @@ -% $Id: pstricks.sty 680 2017-12-05 12:22:55Z herbert $ +% $Id: pstricks.sty 704 2018-01-06 09:50:33Z herbert $ %% %% This is file `pstricks.sty'. %% @@ -50,23 +50,27 @@ %---------------------------------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 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 setgray } def + end false setglobal }}} \DeclareOption*{\PassOptionsToPackage\CurrentOption{\pst@ColorPackage}} \ProcessOptions\relax -- cgit v1.2.3