diff options
author | Norbert Preining <preining@logic.at> | 2017-04-06 23:35:32 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2017-04-06 23:35:32 +0000 |
commit | 018b1c5a977ef800bf91743aa219f228a3c0eb0c (patch) | |
tree | f4d38e412f6ddf8037890371dcd2435bd25b337e /Master/texmf-dist/tex/latex/pstricks/pst-platform.sty | |
parent | 70495de22861ee04764c072c90c1dfff4b23e208 (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/pst-platform.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/pstricks/pst-platform.sty | 141 |
1 files changed, 141 insertions, 0 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'. |