From afe986e963943031e2292015b8588dcf77a2c47d Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 19 Jun 2008 00:37:20 +0000 Subject: new package xetex-pstricks (18jun08) git-svn-id: svn://tug.org/texlive/trunk@8862 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/doc/generic/xetex-pstricks/README | 36 +++++ .../tex/generic/xetex-pstricks/xetex-pstricks.con | 146 +++++++++++++++++++++ .../tex/xelatex/xetex-pstricks/pstricks.con | 8 ++ .../tex/xetex/xetex-pstricks/pstricks.con | 8 ++ Master/texmf/web2c/texmf.cnf | 2 +- Master/tlpkg/bin/ctan2tds | 24 ++-- Master/tlpkg/bin/tlpkg-ctan-check | 4 +- Master/tlpkg/tlpsrc/xetex-pstricks.tlpsrc | 2 + 8 files changed, 218 insertions(+), 12 deletions(-) create mode 100644 Master/texmf-dist/doc/generic/xetex-pstricks/README create mode 100644 Master/texmf-dist/tex/generic/xetex-pstricks/xetex-pstricks.con create mode 100644 Master/texmf-dist/tex/xelatex/xetex-pstricks/pstricks.con create mode 100644 Master/texmf-dist/tex/xetex/xetex-pstricks/pstricks.con create mode 100644 Master/tlpkg/tlpsrc/xetex-pstricks.tlpsrc diff --git a/Master/texmf-dist/doc/generic/xetex-pstricks/README b/Master/texmf-dist/doc/generic/xetex-pstricks/README new file mode 100644 index 00000000000..1c64a4b7ab9 --- /dev/null +++ b/Master/texmf-dist/doc/generic/xetex-pstricks/README @@ -0,0 +1,36 @@ +PSTricks configuration for XeTeX (with the xdvipdfmx driver) +============================================================ + +This package provides a configuration file to support the use of PSTricks +with the xdvipdfmx output driver, required by the XeTeX engine. + +The macro file `xetex-pstricks.con', as well as the driver enhancements in +xdvipdfmx to support PSTricks output, were written by Miyata Shigeru and +initially released on the XeTeX mailing list in March 2007; see + + http://tug.org/mailman/listinfo/XeTeX + +Any problems, suggestions, or questions are best discussed there. + + +To allow the xetex and xelatex formats to automatically find the correct +configuration, without interfering with other programs (e.g, LaTeX + dvips), +two files named `pstricks.con' are installed as: + tex/xetex/xetex-pstricks/pstricks.con + tex/xelatex/xetex-pstricks/pstricks.con +These will be found by default when PSTricks is loaded by Xe(La)TeX, but not +by other engines which will find the standard `pstricks.con' file in the +`generic' tree. + +These two files simply load the real configuration file `xetex-pstricks.con', +which is installed in the `generic' tree but will not be found by other engines +because of its different name. + + +This work is provided in the hope that it may be useful, but without warranty +of any kind, either expressed or implied, including, but not limited to, the +implied warranties of merchantability and fitness for a particular purpose. + +This work may be distributed, used and modified freely. + +Bug reports and patches are welcome via the XeTeX mailing list (see above). diff --git a/Master/texmf-dist/tex/generic/xetex-pstricks/xetex-pstricks.con b/Master/texmf-dist/tex/generic/xetex-pstricks/xetex-pstricks.con new file mode 100644 index 00000000000..49432d264a8 --- /dev/null +++ b/Master/texmf-dist/tex/generic/xetex-pstricks/xetex-pstricks.con @@ -0,0 +1,146 @@ +%% BEGIN: pstricks.con (for xdvipdfmx driver) +%% +%% Configuration file for PSTricks 97 +%% +%% Version 97 patch 2 (1997/04/28) +%% +%% For use with xdvipdfmx +%% Created by SMiyata based on standard pstricks.con from TeXLive distribution. +%% This file may be distributed, used and modified freely. + +\def\pstdriver{xdvipdfmx} +\def\pstverb#1{\special{pst: #1}} % Check catcode of " +\def\pstunit{1bp}% +\def\pstVerb#1{\immediate\special{PST: #1}} +\def\pstverbscale{72.27 72 div dup scale } +% DG/SR modification begin - Apr. 28, 1997 (D. Carlisle + S. Rahtz) +% \def\pstheader#1{\special{header=#1}} +% We used to check for |\AtBeginDvi|, but that was broken in early release +% so we now check for the existence of |\textsuperscript| (added 1995/05/16) +\ifx\textsuperscript\@undefined + \def\pstheader#1{\special{header=#1}} +\else + \ifx\Gin@PS@file@header\@undefined + \def\pstheader#1{\AtBeginDvi{\special{header=#1}}} + \else + \let\pstheader\Gin@PS@file@header + \fi +\fi +% DG/SR modification end +%% +%% In the following, CP is short for currentpoint. +%% The neg is necessary because dvips scales the coordinates by 1 -1. +%% \tx@NET means neg exch neg exch translate. +\def\pstrotate{CP CP translate 3 -1 roll neg rotate \tx@NET} +%% +%% ****************** END xdvipdfmx ***************************** + +%%%%%%%%%%%%%%%%%%% !! CUSTOMIZATION STUFF GOES HERE: !! %%%%%%%%%%%%%%%%%% +%% If you want to include your own customizations to pstricks.tex, then +%% uncomment the \pstcustomize command, and include your modifications +%% after \pstcustomize. These will be read in after pstricks.tex. +\def\c@lor@to@ps#1 #2\@@{\csname c@lor@ps@#1\endcsname#2 \@@} +\def\c@lor@ps@#1 #2\@@{TeXDict begin #1 end} +\def\c@lor@ps@rgb#1\@@{#1 setrgbcolor} +\def\c@lor@ps@hsb#1\@@{#1 sethsbcolor} +\def\c@lor@ps@cmyk#1\@@{#1 setcmykcolor} +\def\c@lor@ps@gray#1\@@{#1 setgray} +\pstcustomize +\typeout{Using PSTricks configuration for XeTeX+xdvipdfmx} +\def\@@scalebox{% +\leavevmode +\hbox{% +\ifdim\pst@tempd\p@<\z@ +\pst@dimg=\pst@tempd\ht\pst@hbox +\pst@dimh=\pst@tempd\dp\pst@hbox +\dp\pst@hbox=-\pst@dimg +\ht\pst@hbox=-\pst@dimh +\else +\ht\pst@hbox=\pst@tempd\ht\pst@hbox +\dp\pst@hbox=\pst@tempd\dp\pst@hbox +\fi +\pst@dima=\pst@tempc\wd\pst@hbox +\ifdim\pst@dima<\z@\kern-\pst@dima\fi +\special{x: bscale \pst@tempc \pst@tempd}% +\hbox to \z@{\box\pst@hbox\hss}% +\special{x: escale}% +\ifdim\pst@dima>\z@\kern\pst@dima\fi}} +\let\ps@@scalebox\@@scalebox +\def\ps@rotateleft#1{% +\leavevmode\hbox{\hskip\ht#1\hskip\dp#1\vbox{\vskip\wd#1% +\pst@Verb{90 \tx@RotBegin} +\vbox to \z@{\vss\hbox to \z@{\box#1\hss}\vskip\z@}% +\pst@Verb{\tx@RotEnd}}}} +\def\ps@rotateright#1{% + \leavevmode\hbox{% + \hskip\ht#1\hskip\dp#1\vbox{\vskip\wd#1% + \pst@Verb{-90 \tx@RotBegin} + \vbox to \z@{\hbox to \z@{\hss\box#1}\vss}% + \pst@Verb{\tx@RotEnd}}}} +\def\ps@rotatedown#1{% +\hbox{\hskip\wd#1\vbox{\vskip\ht#1\vskip\dp#1% +\pst@Verb{180 \tx@RotBegin}% +\vbox to \z@{\hbox to \z@{\box#1\hss}\vss}% +\pst@Verb{\tx@RotEnd}}}} +\def\begin@psclip{\special{x: gsave}} +\def\end@psclip{\special{x: grestore}} +\def\@newcolor#1#2#3{% +\expandafter\edef\csname #1\endcsname{\noexpand\pst@color{#2}}% +\expandafter\edef\csname\string\color@#1\endcsname{#2}% hv 1.14 2005-12-17 +\expandafter\edef\csname\string\color@xetex@#1\endcsname{#3}% +\ignorespaces} +\def\newgray#1#2{% + \pst@checknum{#2}\pst@tempg + \@newcolor{#1}{\pst@tempg setgray}{gray \pst@tempg}% +} +\def\newrgbcolor#1#2{% + \pst@expandafter\pst@getnumiii{#2} {} {} {} {}\@nil + \@newcolor{#1}{\pst@tempg \pst@temph \pst@tempi setrgbcolor}{rgb \pst@tempg \pst@temph \pst@tempi}% +} +\def\newhsbcolor#1#2{% + \pst@expandafter\pst@getnumiii{#2} {} {} {} {}\@nil + \@newcolor{#1}{\pst@tempg \pst@temph \pst@tempi sethsbcolor}{hsb \pst@tempg \pst@temph \pst@tempi}% +} +\def\newcmykcolor#1#2{% + \pst@expandafter\pst@getnumiv{#2} {} {} {} {} {}\@nil + \@newcolor{#1}{\pst@tempg \pst@temph \pst@tempi \pst@tempj setcmykcolor}% + {cmyk \pst@tempg \pst@temph \pst@tempi \pst@tempj}% +} +\newgray{black}{0} +\newgray{darkgray}{.25} +\newgray{gray}{.5} +\newgray{lightgray}{.75} +\newgray{white}{1} +\newrgbcolor{red}{1 0 0} +\newrgbcolor{green}{0 1 0} +\newrgbcolor{blue}{0 0 1} +\newrgbcolor{yellow}{1 1 0} +\newrgbcolor{cyan}{0 1 1} +\newrgbcolor{magenta}{1 0 1} + +\@ifundefined{LaTeXe}% + {\def\current@@@@color{\csname\string\color@xetex@\psfillcolor\endcsname}}{% + \AtBeginDocument{\@ifpackageloaded{xcolor}{\def\current@@@@color{\psfillcolor}}% + {\def\current@@@@color{\csname\string\color@\psfillcolor\endcsname}}}} +\def\pst@starbox{% +\setbox\pst@hbox\hbox{{% + \def\current@color{\current@@@@color}% +\dimen@\wd\pst@hbox\advance\dimen@2\psframesep\wd\pst@hbox\dimen@% +\dimen@\ht\pst@hbox\advance\dimen@\psframesep\ht\pst@hbox\dimen@% +\dimen@\dp\pst@hbox\advance\dimen@\psframesep\dp\pst@hbox\dimen@% +\@ifundefined{LaTeXe}{\special{color push \current@color}% + \rlap{\vrule width\wd\pst@hbox height\ht\pst@hbox depth\dp\pst@hbox}% + \special{color pop}}% + {\color@block{\wd\pst@hbox}{\ht\pst@hbox}{\dp\pst@hbox}}}% +\rlap{\hskip\psframesep\unhbox\pst@hbox}}} +\def\AltClipMode{} +\def\putoverlaybox#1{% +\hbox{\special{x: gsave}\special{x: initoverlay #1}\copy\theoverlaybox\special{x: grestore}}} +\def\pst@overlay#1{\edef\curr@overlay{#1}\special{x: clipoverlay #1}\aftergroup\pst@endoverlay} +\def\pst@endoverlay{\special{x: clipoverlay \curr@overlay}} +\def\AltOverlayMode{} +%The next line is not necessary, if pstricks.sty of [2007/02/18 v0.33] or newer is used. +\@ifundefined{LaTeXe}{}{\AtBeginDocument{\psset{fillcolor=white}}} +\endinput +%% +%% END: pstricks.con diff --git a/Master/texmf-dist/tex/xelatex/xetex-pstricks/pstricks.con b/Master/texmf-dist/tex/xelatex/xetex-pstricks/pstricks.con new file mode 100644 index 00000000000..8091700da1f --- /dev/null +++ b/Master/texmf-dist/tex/xelatex/xetex-pstricks/pstricks.con @@ -0,0 +1,8 @@ +%% pstricks.con (for xetex + xdvipdfmx driver) + +% wrapper to read the real file, which is placed in the tex/generic tree +% but given a xetex-specific name to avoid confusing other programs + +\input xetex-pstricks.con + +\endinput diff --git a/Master/texmf-dist/tex/xetex/xetex-pstricks/pstricks.con b/Master/texmf-dist/tex/xetex/xetex-pstricks/pstricks.con new file mode 100644 index 00000000000..8091700da1f --- /dev/null +++ b/Master/texmf-dist/tex/xetex/xetex-pstricks/pstricks.con @@ -0,0 +1,8 @@ +%% pstricks.con (for xetex + xdvipdfmx driver) + +% wrapper to read the real file, which is placed in the tex/generic tree +% but given a xetex-specific name to avoid confusing other programs + +\input xetex-pstricks.con + +\endinput diff --git a/Master/texmf/web2c/texmf.cnf b/Master/texmf/web2c/texmf.cnf index d4f85cb89cb..aeabd8c1702 100644 --- a/Master/texmf/web2c/texmf.cnf +++ b/Master/texmf/web2c/texmf.cnf @@ -171,7 +171,7 @@ TEXINPUTS.ftex = .;$TEXMF/tex/{formate,plain,generic,}// TEXINPUTS.jadetex = .;$TEXMF/tex/{jadetex,plain,generic,}// TEXINPUTS.mex = .;$TEXMF/tex/{mex,plain,generic,}// TEXINPUTS.texinfo = .;$TEXMF/tex/{texinfo,plain,generic,}// -TEXINPUTS.xetex = .;$TEXMF/tex/{plain,generic,}// +TEXINPUTS.xetex = .;$TEXMF/tex/{xetex,plain,generic,}// % LaTeX 2e specific macros are stored in latex/, macros that can only be % used with 2.09 in latex209/. In addition, we look in the directory diff --git a/Master/tlpkg/bin/ctan2tds b/Master/tlpkg/bin/ctan2tds index c26c9292ec3..6f9c11ca014 100755 --- a/Master/tlpkg/bin/ctan2tds +++ b/Master/tlpkg/bin/ctan2tds @@ -400,7 +400,8 @@ chdir $startdir || die "chdir($startdir) failed: $!"; # back to raw 'wordcount', "&MAKEwordcount", 'xbase', "&MAKEnosymlinks", 'xecyr', "&MAKEcopy", - 'ggggxfrac', "&MAKEflatten", + 'xetex-pstricks',"&MAKEcopy", + 'xfrac', "die 'skipping, still experimental'", #&MAKEflatten", 'xkeyval', "&MAKExkeyval", 'xmltex', "&MAKExmltex", 'xymtex', "&MAKExymtex", @@ -427,6 +428,7 @@ chdir $startdir || die "chdir($startdir) failed: $!"; # back to raw 'pgfplots' => '&POSTpgfplots', 'pst-cox' => '&POSTpstcox', 'xecyr' => '&POSTxecyr', + 'xetex-pstricks' => '&POSTxetex_pstricks', ); @@ -1344,8 +1346,8 @@ sub xchdir sub xmkdir { - my ($dir) = @_; - &SYSTEM ("mkdir -p $dir"); + my (@dirs) = @_; + &SYSTEM ("mkdir -p @dirs"); } @@ -1367,11 +1369,6 @@ sub MAKEcopy # do the copy. &SYSTEM ("$CP -r * $dest"); - # remove top-level README (shouldn't overwrite texmf-dist/README!), - # needed for vntex, pgf, others. Do this before removing symlinks, - # in case the README is a symlink (e.g., iwona). - -r "$dest/README" && &SYSTEM ("$RM $dest/README $dest/00readme*"); - # for arev et al., remove symlinks. &SYSTEM ("find $dest -type l | xargs --no-run-if-empty rm"); @@ -3211,10 +3208,19 @@ sub POSTxecyr . " $DEST/doc/xelatex/xecyr"); my $wdir = "$TOPDEST/bin/win32"; - &SYSTEM ("mkdir -p $wdir"); + &xmkdir ($wdir); &SYSTEM ("$MV $DEST/bin/xecyr/*.bat $wdir/"); } +sub POSTxetex_pstricks +{ + print "POST$package - need tex/ level\n"; + &xchdir ($DEST); + &xmkdir ("tex", "doc/generic/$package"); + &SYSTEM ("$MV README doc/generic/$package"); + &SYSTEM ("$MV generic xelatex xetex tex"); +} + # Allow overrides. In particular, CTAN can change some hashes to make # packages with licenses that TL doesn't allow. diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index ef7034261eb..d1f3b93e153 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -201,8 +201,8 @@ my @WorkingTLP = qw( vector velthuis venn verse versions vertex vhistory visualfaq vmargin vntex volumes vpe vxu wallpaper warning warpcol williams wordlike wrapfig - xargs xbase xcolor xdoc xecyr xetexfontinfo xetexref xfor xgreek - xifthen + xargs xbase xcolor xdoc xecyr xetex-pstricks xetexfontinfo + xetexref xfor xgreek xifthen xkeyval xltxtra xmpincl xnewcommand xoptarg xq xskak xtab xtcapts xunicode xyling xypic-tut-pt xytree york-thesis diff --git a/Master/tlpkg/tlpsrc/xetex-pstricks.tlpsrc b/Master/tlpkg/tlpsrc/xetex-pstricks.tlpsrc new file mode 100644 index 00000000000..c700a364236 --- /dev/null +++ b/Master/tlpkg/tlpsrc/xetex-pstricks.tlpsrc @@ -0,0 +1,2 @@ +name xetex-pstricks +category Package -- cgit v1.2.3