summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/pstricks
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2017-04-06 23:35:32 +0000
committerNorbert Preining <preining@logic.at>2017-04-06 23:35:32 +0000
commit018b1c5a977ef800bf91743aa219f228a3c0eb0c (patch)
treef4d38e412f6ddf8037890371dcd2435bd25b337e /Master/texmf-dist/tex/latex/pstricks
parent70495de22861ee04764c072c90c1dfff4b23e208 (diff)
pstricks (7Apr17)
git-svn-id: svn://tug.org/texlive/trunk@43710 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/pstricks')
-rw-r--r--Master/texmf-dist/tex/latex/pstricks/pst-platform.sty141
-rw-r--r--Master/texmf-dist/tex/latex/pstricks/pstricks-pdf.sty158
-rw-r--r--Master/texmf-dist/tex/latex/pstricks/pstricks.sty3
3 files changed, 293 insertions, 9 deletions
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..7daaf9f0df8
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/pstricks/pst-platform.sty
@@ -0,0 +1,141 @@
+%%
+%% This is file `pst-platform.sty',
+%%
+%% Copyright (C) 2017 Herbert Voß <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.
+%%
+\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
index e3907c28d7e..71e462a98d6 100644
--- a/Master/texmf-dist/tex/latex/pstricks/pstricks-pdf.sty
+++ b/Master/texmf-dist/tex/latex/pstricks/pstricks-pdf.sty
@@ -3,7 +3,7 @@
%%
%% IMPORTANT NOTICE:
%%
-%% pstricks-pdf.sty Copyright (C) 2016 Herbert Voss <hvoss@tug.org>
+%% pstricks-pdf.sty Copyright (C) 2017 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.
@@ -14,15 +14,157 @@
\ProvidesPackage{pstricks-pdf}[2015/11/11 v0.01 wrapper for `pstricks.sty' (HV)]
%
-\DeclareOption*{%
- \PassOptionsToPackage\CurrentOption{auto-pst-pdf}%
- \PassOptionsToPackage\CurrentOption{pstricks}}%
-\ProcessOptions\relax
-%
-\RequirePackage{auto-pst-pdf}%
+\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
-\@ifclassloaded{beamer}{\ifpdf\else\setbeamertemplate{navigation symbols}\fi}{}%
+\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}{}%
+ \app@convert{dvips}{\app@jobname.dvi}{\app@jobname.ps}%
+ \if@app@crop@
+ \app@convert{pstopdf}{\app@jobname.ps}{\app@jobname.pdf}%
+ \app@convert{pdfcrop}{\app@jobname.pdf}{\app@pics}%
+ \else
+ \app@convert{pstopdf}{\app@jobname.ps}{\app@pics}%
+ \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"}
+\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"}
+\fi
+\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"}
+\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 8720b0b42b9..3c4db535775 100644
--- a/Master/texmf-dist/tex/latex/pstricks/pstricks.sty
+++ b/Master/texmf-dist/tex/latex/pstricks/pstricks.sty
@@ -7,6 +7,7 @@
%% pstcol.sty Copyright (C) 1994-1996 1999 David Carlisle
%% pstricks.sty Copyright (C) 2004-2016 Rolf Niepraschk <Rolf.Niepraschk@gmx.de>
%% Herbert Voss <hvoss@tug.org>
+%% 2017- 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.
@@ -15,7 +16,7 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{pstricks}[2015/11/14 v0.62 LaTeX wrapper for `PSTricks' (RN,HV)]
+\ProvidesPackage{pstricks}[2017/03/17 v0.63 LaTeX wrapper for `PSTricks' (RN,HV)]
%
\def\documentclass{%
\edef\@tempa{\jobname.tex }%