summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/generic/pst-tools/Changes10
-rw-r--r--Master/texmf-dist/doc/generic/pst-tools/README20
-rw-r--r--Master/texmf-dist/doc/generic/pst-tools/pst-tools-doc.bib166
-rw-r--r--Master/texmf-dist/doc/generic/pst-tools/pst-tools-doc.pdfbin0 -> 64396 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-tools/pst-tools-doc.tex133
-rw-r--r--Master/texmf-dist/source/generic/pst-tools/Makefile70
-rw-r--r--Master/texmf-dist/tex/generic/pst-tools/pst-tools.tex111
-rw-r--r--Master/texmf-dist/tex/latex/pst-tools/pst-tools.sty8
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds1
-rw-r--r--Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/pst-tools.tlpsrc0
12 files changed, 521 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-tools/Changes b/Master/texmf-dist/doc/generic/pst-tools/Changes
new file mode 100644
index 00000000000..5aeb1c66b82
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-tools/Changes
@@ -0,0 +1,10 @@
+..... pst-tools.tex
+0.01 2012-01-01 - first CTAN version
+
+
+..... pst-tools.sty
+ 2012-01-01 first version
+
+
+..... pst-tools.pro
+0.01 2012-01-01 first version
diff --git a/Master/texmf-dist/doc/generic/pst-tools/README b/Master/texmf-dist/doc/generic/pst-tools/README
new file mode 100644
index 00000000000..e25e9ec1b92
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-tools/README
@@ -0,0 +1,20 @@
+pst-tools: helper functions
+-- psPrintValue
+
+
+Save the files pst-tools.sty|pro|tex in a directory, which is part of your
+local TeX tree. The pro file should go into $TEXMF/dvips/pstricks/
+Then do not forget to run texhash to update this tree.
+For more information see the documentation of your LATEX distribution
+on installing packages into your local TeX system or read the
+TeX Frequently Asked Questions:
+(http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages).
+
+pst-func needs pst-plot (pstricks-add) and pstricks, which should
+be part of your local TeX installation, otherwise get it from a
+CTAN server, http://mirror.ctan.org
+
+PSTricks is PostScript Tricks, the documentation cannot be run
+with pdftex, use the sequence latex->dvips->ps2pdf.
+
+%% $Id: README 286 2010-02-11 09:40:41Z herbert $
diff --git a/Master/texmf-dist/doc/generic/pst-tools/pst-tools-doc.bib b/Master/texmf-dist/doc/generic/pst-tools/pst-tools-doc.bib
new file mode 100644
index 00000000000..96838e3a2db
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-tools/pst-tools-doc.bib
@@ -0,0 +1,166 @@
+@STRING{tugboat = {TUGboat} }
+@STRING{beiprogramm = {{\TeX}-Beiprogramm} }
+@STRING{bretter = {Bretter, die die Welt bedeuten} }
+@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} }
+@STRING{editorial = {Editorial} }
+@STRING{fremdebuehne = {Von fremden B{\"u}hnen} }
+@STRING{fundus = {Aus dem Fundus} }
+@STRING{hinterbuehne = {Hinter der B{\"u}hne} }
+@STRING{leserbrief = {Leserbrief(e)} }
+@STRING{magazin = {Magazin} }
+@STRING{rezension = {Rezensionen} }
+@STRING{schonimmer = {Was Sie schon immer {\"u}ber {\TeX} wissen wollten \dots} }
+@STRING{theaterkasse = {Von der Theaterkasse} }
+@STRING{theatertage = {{\TeX}-Theatertage} }
+
+@Article{ dtk02.2:jackson.voss:plot-funktionen,
+ author = {Laura E. Jackson and Herbert Vo{\ss}},
+ title = {Die {P}lot-{F}unktionen von {\texttt{pst-plot}}},
+ journal = dtk,
+ year = 2002,
+ volume = {2/02},
+ altvolume = 2,
+ altnumber = 14,
+ month = jun,
+ pages = {27--34},
+ annote = bretter,
+ keywords = {},
+ abstract = { Im letzten Heft wurden die mathematischen Funktionen von
+ \PS~im Zusammenhang mit dem {\LaTeX}-Paket
+ \texttt{pst-plot} zum Zeichnen von Funktionen beschrieben
+ und durch Beispiele erl{\"a}utert. In diesem Teil werden
+ die bislang nur erw{\"a}hnten Plot-Funktionen f{\"u}r
+ externe Daten behandelt. }
+}
+
+@Article{ dtk02.1:voss:mathematischen,
+ author = {Herbert Vo{\ss}},
+ title = {Die mathematischen {F}unktionen von {P}ost{S}cript},
+ journal = dtk,
+ year = 2002,
+ volume = {1/02},
+ altvolume = 1,
+ altnumber = 14,
+ month = mar,
+ pages = {},
+ annote = bretter,
+ keywords = {},
+ abstract = { \PS, faktisch genauso alt wie {\TeX}, ist im
+ Verh{\"a}ltnis dazu allgemein noch weniger bekannt, wenn es
+ darum geht zu beurteilen, was es denn nun im eigentlichen
+ Sinne ist. Au{\ss}erdem wird h{\"a}ufig vergessen, dass
+ sich mit den \PS-Funktionen viele Dinge erledigen lassen,
+ bei denen sonst auf externe Programme zur{\"u}ckgegriffen
+ wird. Dies wird im Folgenden f{\"u}r die mathematischen
+ Funktionen im Zusammenhang mit dem Paket \texttt{pst-plot}
+ gezeigt. }
+}
+
+@Book{tlgc2,
+ author = {Michel Goosens and Frank Mittelbach and Sebastian Rahtz and Denis Roegel and Herbert Vo{\ss}},
+ title = {The {\LaTeX} {G}raphics {C}ompanion},
+ publisher = {{Addison-Wesley Publishing Company}},
+ edition = second,
+ year = {2007},
+ address = {Reading, Mass.}
+}
+
+
+@Book{voss:chaos,
+ author = {Herbert Vo{\ss}},
+ title = {Chaos und {F}raktale selbst programmieren: von {M}andelbrotmengen
+ {\"u}ber {F}arbmanipulationen zur perfekten Darstellung},
+ publisher = {{Franzis Verlag}},
+ year = {1994},
+ address = {Poing}
+}
+
+@Article{girou:01:,
+ author = {Denis Girou},
+ title = {Pr\'esentation de {PST}ricks},
+ journal = {Cahier {GUT}enberg},
+ year = 1994,
+ volume = {16},
+ month = apr,
+ pages = {21-70}
+}
+
+@Article{girou:02:,
+ author = {{Timothy van} Zandt and Denis Girou},
+ title = {Inside {PST}ricks},
+ journal = TUGboat,
+ year = 1994,
+ volume = {15},
+ month = sep,
+ pages = {239-246}
+}
+
+@Book{PostScript,
+ Author = {Kollock, Nikolai G.},
+ Title = {Post{S}cript richtig eingesetzt: vom {K}onzept zum
+ praktischen {E}insatz},
+ Publisher = {IWT},
+ Address = {Vaterstetten},
+ year = 1989,
+}
+
+@Manual{pstricks,
+ Title = {PSTricks - {\PS} macros for generic {\TeX}},
+ Author = {{Timothy van} Zandt},
+ Organization = {},
+ Address = {\url{http://www.tug.org/application/PSTricks}},
+ Note = {},
+ year = 1993
+}
+
+@Manual{pst-plot,
+ Title = {\texttt{pst-plot}: Plotting two dimensional functions and data},
+ Author = {{Timothy van} Zandt},
+ Organization = {},
+ Address = {\url{CTAN:graphics/pstricks/generic/pst-plot.tex}},
+ Note = {},
+ year = 1999
+}
+
+@Manual{multido,
+ Title = {\texttt{multido.tex} - a loop macro, that supports fixed-point addition},
+ Author = {{Timothy van} Zandt},
+ Organization = {},
+ Address = {\url{CTAN:/graphics/pstricks/generic/multido.tex}},
+ Note = {},
+ year = 1997
+}
+
+@Book{PSTricks2,
+ author = {Herbert Vo\ss},
+ title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX},
+ edition = {6.},
+ publisher = {DANTE -- Lehmanns},
+ year = {2010},
+ address = {Heidelberg/Berlin}
+}
+
+@Book{voss:math,
+ author = {Herbert Vo\ss},
+ title = {Typesetting mathematics with \LaTeX},
+ publisher = {UIT},
+ year = {2010},
+ address = {Cambridge}
+}
+
+@Book{PSTricks2-UIT,
+ author = {Herbert Vo\ss},
+ title = {PSTricks -- Graphics for \TeX\ and \LaTeX},
+ publisher = {UIT},
+ year = {2011},
+ address = {Cambridge}
+}
+
+@Manual{wolfram,
+ author = {Eric Weisstein},
+ title = {Wolfram MathWorld},
+ publisher = {{Wolfram}},
+ year = {2007},
+ address = {\url{http://mathworld.wolfram.com}}
+}
+
diff --git a/Master/texmf-dist/doc/generic/pst-tools/pst-tools-doc.pdf b/Master/texmf-dist/doc/generic/pst-tools/pst-tools-doc.pdf
new file mode 100644
index 00000000000..e72d2331947
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-tools/pst-tools-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-tools/pst-tools-doc.tex b/Master/texmf-dist/doc/generic/pst-tools/pst-tools-doc.tex
new file mode 100644
index 00000000000..8ca374ace13
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-tools/pst-tools-doc.tex
@@ -0,0 +1,133 @@
+%% $Id: pst-func-doc.tex 599 2011-11-03 19:38:28Z herbert $
+\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,
+ smallheadings, headexclude,footexclude,oneside]{pst-doc}
+\usepackage[utf8]{inputenc}
+\usepackage{pst-tools}
+\let\pstToolsFV\fileversion
+\renewcommand\bgImage{}
+
+\lstset{language=PSTricks,
+ morekeywords={psPrintValue},basicstyle=\footnotesize\ttfamily}
+%
+\begin{document}
+
+\title{\texttt{pst-tools}}
+\subtitle{Helper functions; v.\pstToolsFV}
+\author{Herbert Vo\ss}
+\docauthor{}
+\date{\today}
+\maketitle
+
+\tableofcontents
+\psset{unit=1cm}
+
+
+\section{\Lcs{psPrintValue}}\label{sec:printValue}
+This macro allows to \Index{print} single values of a math function. It has the syntax
+
+\begin{BDef}
+\Lcs{psPrintValue}\OptArgs\Largb{PostScript code}\\
+\Lcs{psPrintValue}\OptArg{algebraic,\ldots}\Largb{x value, algebraic code}
+\end{BDef}
+
+Important is the fact, that \Lcs{psPrintValue} works on \PS\ side. For \TeX\ it is only a box of
+zero dimension. This is the reason why you have to put it into a box, which reserves horizontal
+space.
+
+There are the following valid options for \Lcs{psPrintValue}:
+
+\noindent\medskip
+\begin{tabularx}{\linewidth}{@{}l|>{\ttfamily}l>{\ttfamily}lX@{}}
+\textrm{name} & \textrm{value} & \textrm{default}\\\hline
+\Lkeyword{PSfont} & PS font name & Times & only valid \PS font names are possible, e.g.
+ \Lps{Times-Roman}, \Lps{Helvetica}, \Lps{Courier}, \Lps{AvantGard}, \Lps{Bookman}\\
+\Lkeyword{fontscale} & <number> & 10 & the font scale in pt\\
+\Lkeyword{valuewidth} & <number> & 10 & the width of the string for the converted
+ real number; if it is too small, no value is printed\\
+\Lkeyword{decimals} & <number> & -1 & the number of printed decimals, a negative value
+ prints all possible digits.\\
+\Lkeyword{xShift} & <number> & 0 & the x shift in pt for the output, relative to the current point.\\
+\Lkeyword{algebraic} & <boolean> & false & function in algebraic notation.\\
+\end{tabularx}
+
+\begin{center}
+\psset{fontscale=12}
+\makebox[2em]{x(deg)} \makebox[5em]{$\sin x$} \makebox[4em]{$\cos x$}\hspace{1em}
+\makebox[5em]{$\sqrt x$}\makebox[7em]{$\sin x+\cos x$}\makebox[6em]{$\sin^2 x+\cos^2 x$}\\[3pt]
+\multido{\iA=0+10}{18}{
+ \makebox[1em]{\iA}
+ \makebox[5em]{\psPrintValue[PSfont=Helvetica,xShift=-10]{\iA\space sin}}
+ \makebox[4em][r]{\psPrintValue[PSfont=Courier,fontscale=10,decimals=3,xShift=-20]{\iA\space cos}}\hspace{1em}
+ \makebox[5em]{\psPrintValue[dot,valuewidth=15,linecolor=blue,PSfont=AvantGarde]{\iA\space sqrt}}
+ \makebox[7em]{\psPrintValue[PSfont=Times-Italic]{\iA\space dup sin exch cos add}}
+ \makebox[6em]{\psPrintValue[PSfont=Palatino-Roman]{\iA\space dup sin dup mul exch cos dup mul add}}\\}
+\end{center}
+
+\bigskip
+
+\begin{lstlisting}
+\psset{fontscale=12}
+\makebox[2em]{x(deg)} \makebox[5em]{$\sin x$} \makebox[4em]{$\cos x$}\hspace{1em}
+\makebox[5em]{$\sqrt x$}\makebox[7em]{$\sin x+\cos x$}\makebox[6em]{$\sin^2 x+\cos^2 x$}\\[3pt]
+\multido{\iA=0+10}{18}{
+ \makebox[1em]{\iA}
+ \makebox[5em]{\psPrintValue[PSfont=Helvetica,xShift=-10]{\iA\space sin}}
+ \makebox[4em][r]{\psPrintValue[PSfont=Courier,fontscale=10,decimals=3,xShift=-20]{\iA\space cos}}\hspace{1em}
+ \makebox[5em]{\psPrintValue[dot,valuewidth=15,linecolor=blue,PSfont=AvantGarde]{\iA\space sqrt}}
+ \makebox[7em]{\psPrintValue[PSfont=Times-Italic]{\iA\space dup sin exch cos add}}
+ \makebox[6em]{\psPrintValue[PSfont=Palatino-Roman]{\iA\space dup sin dup mul exch cos dup mul add}}\\}
+\end{lstlisting}
+
+With enabled \Lkeyword{algebraic} option there must be two arguments, separated by a comma.
+The first one is the x value as a number, which can also be PostScript code, which leaves a
+number on the stack. The second part is the function described in algebraic notation.
+Pay attention, in algebraic notation angles must be in radian and not degrees.
+
+\begin{center}
+\psset{algebraic, fontscale=12}% All functions now in algebraic notation
+\makebox[2em]{x(deg)} \makebox[5em]{$\sin x$} \makebox[4em]{$\cos x$}\hspace{1em}
+\makebox[5em]{$\sqrt x$}\makebox[7em]{$\sin x+\cos x$}\makebox[6em]{$\sin^2 x+\cos^2 x$}\\[3pt]
+\multido{\rA=0+0.1}{18}{\makebox[1em]{\rA}
+ \makebox[5em]{\psPrintValue[PSfont=Helvetica,xShift=-10]{\rA, sin(x)}}
+ \makebox[4em][r]{\psPrintValue[PSfont=Courier,fontscale=10,decimals=3,xShift=-20]{\rA,cos(x)}}\hspace{1em}
+ \makebox[5em]{\psPrintValue[dot,valuewidth=15,linecolor=blue,PSfont=AvantGarde]{\rA,sqrt(x)}}
+ \makebox[7em]{\psPrintValue[PSfont=Times-Italic]{\rA,sin(x)+cos(x)}}
+ \makebox[6em]{\psPrintValue[PSfont=Palatino-Roman]{\rA,sin(x)^2+cos(x)^2}}\\}
+\end{center}
+
+\bigskip
+
+\begin{lstlisting}
+\psset{algebraic, fontscale=12}% All functions now in algebraic notation
+\makebox[2em]{x(deg)} \makebox[5em]{$\sin x$} \makebox[4em]{$\cos x$}\hspace{1em}
+\makebox[5em]{$\sqrt x$}\makebox[7em]{$\sin x+\cos x$}\makebox[6em]{$\sin^2 x+\cos^2 x$}\\[3pt]
+\multido{\rA=0+0.1}{18}{\makebox[1em]{\rA}
+ \makebox[5em]{\psPrintValue[PSfont=Helvetica,xShift=-10]{\rA, sin(x)}}
+ \makebox[4em][r]{\psPrintValue[PSfont=Courier,fontscale=10,decimals=3,xShift=-20]{\rA,cos(x)}}\hspace{1em}
+ \makebox[5em]{\psPrintValue[dot,valuewidth=15,linecolor=blue,PSfont=AvantGarde]{\rA,sqrt(x)}}
+ \makebox[7em]{\psPrintValue[PSfont=Times-Italic]{\rA,sin(x)+cos(x)}}
+ \makebox[6em]{\psPrintValue[PSfont=Palatino-Roman]{\rA,sin(x)^2+cos(x)^2}}\\}
+\end{lstlisting}
+
+\clearpage
+\section{List of all optional arguments for \texttt{pst-tools}}
+
+\xkvview{family=pst-tools,columns={key,type,default}}
+
+
+
+
+\bgroup
+\raggedright
+\nocite{*}
+\bibliographystyle{plain}
+\bibliography{pst-tools-doc}
+\egroup
+
+\printindex
+
+
+
+\end{document}
+
+
diff --git a/Master/texmf-dist/source/generic/pst-tools/Makefile b/Master/texmf-dist/source/generic/pst-tools/Makefile
new file mode 100644
index 00000000000..c8e6bf62b78
--- /dev/null
+++ b/Master/texmf-dist/source/generic/pst-tools/Makefile
@@ -0,0 +1,70 @@
+# `Makefile' for `pst-func.pdf', hv, 2006/08/11
+
+.SUFFIXES : .tex .ltx .dvi .ps .pdf .eps
+
+PACKAGE = pst-tools
+
+MAIN = $(PACKAGE)-doc
+
+LATEX = latex
+
+ARCHNAME = $(MAIN)-$(shell date +%y%m%d)
+
+ARCHFILES = $(PACKAGE).sty $(PACKAGE).tex $(PACKAGE).pro $(MAIN).tex README Changes Makefile
+
+TDS = ~/PSTricks/PSTricks-TDS
+
+all : doc clean tds
+doc: $(MAIN).pdf
+
+$(MAIN).pdf : $(MAIN).ps
+ GS_OPTIONS=-dAutoRotatePages=/None ps2pdf $<
+
+$(MAIN).ps : $(MAIN).dvi
+ dvips $<
+
+$(MAIN).dvi : $(MAIN).tex
+ $(LATEX) $<
+ $(LATEX) $<
+ if ! test -f $(basename $<).glo ; then touch $(basename $<).glo; fi
+ if ! test -f $(basename $<).idx ; then touch $(basename $<).idx; fi
+ makeindex -s gglo.ist -t $(basename $<).glg -o $(basename $<).gls \
+ $(basename $<).glo
+ makeindex -s pst-doc.ist -t $(basename $<).ilg -o $(basename $<).ind \
+ $(basename $<).idx
+ bibtex $(basename $<)
+ $(LATEX) $<
+ $(LATEX) $<
+
+clean :
+ $(RM) $(addprefix $(MAIN), .log .aux .bbl .blg .glg .glo .gls .ilg .idx .ind .tmp .toc .out )
+ $(RM) $(addprefix $(MAIN), .dvi .ps .xcp)
+ rm *.dat
+
+veryclean : clean
+ $(RM) $(addprefix $(MAIN), .pdf .bbl .blg)
+
+arch :
+ zip $(ARCHNAME).zip $(ARCHFILES)
+
+tds:
+ cp -u Changes $(TDS)/doc/generic/$(PACKAGE)/
+ cp -u README $(TDS)/doc/generic/$(PACKAGE)/
+ cp -u $(MAIN).pdf $(TDS)/doc/generic/$(PACKAGE)/
+#
+ cp -u Changes $(TDS)/tex/latex/$(PACKAGE)/
+ cp -u $(PACKAGE).sty $(TDS)/tex/latex/$(PACKAGE)/
+#
+ cp -u Changes $(TDS)/tex/generic/$(PACKAGE)/
+ cp -u $(PACKAGE).tex $(TDS)/tex/generic/$(PACKAGE)/
+#
+ cp -u Changes $(TDS)/dvips/$(PACKAGE)/
+ cp -u $(PACKAGE).pro $(TDS)/dvips/$(PACKAGE)/
+ cp -u $(PACKAGE).pro ~/Links/dvips-local/
+#
+ cp -u Changes $(TDS)/source/$(PACKAGE)/
+ cp -u $(MAIN).tex $(TDS)/source/$(PACKAGE)/
+ cp -u $(MAIN).bib $(TDS)/source/$(PACKAGE)/
+ cp -u Makefile $(TDS)/source/$(PACKAGE)/
+
+# EOF
diff --git a/Master/texmf-dist/tex/generic/pst-tools/pst-tools.tex b/Master/texmf-dist/tex/generic/pst-tools/pst-tools.tex
new file mode 100644
index 00000000000..a6e4cad0e72
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pst-tools/pst-tools.tex
@@ -0,0 +1,111 @@
+%% $Id: pst-tools.tex 599 2011-11-03 19:38:28Z herbert $
+%%
+%% This is file `pst-tools.tex',
+%%
+%% IMPORTANT NOTICE:
+%%
+%% Package `pst-tools.tex'
+%%
+%% Herbert Voss <hvoss@tug.org>
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% DESCRIPTION:
+%% `pst-tools' is a PSTricks package for helper functions
+%%
+%%
+\csname PSTtoolsLoaded\endcsname
+\let\PSTtoolsLoaded\endinput
+
+\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi
+\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey.tex \fi
+%
+\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
+% interface to the `xkeyval' package
+\pst@addfams{pst-tools}
+%
+\def\fileversion{0.1}
+\def\filedate{2012/01/01}
+\message{`PST-tools' v\fileversion, \filedate\space (hv)}
+%
+\define@boolkey[psset]{pst-tools}[Pst@]{dot}[true]{}
+\define@key[psset]{pst-tools}{xShift}[0]{\def\psk@xShift{#1}}
+\define@key[psset]{pst-tools}{PSfont}[Times-Roman]{\def\psk@PSfont{/#1 }}
+\define@key[psset]{pst-tools}{valuewidth}[10]{\pst@getint{#1}\psk@valuewidth }
+\define@key[psset]{pst-tools}{fontscale}[10]{\pst@checknum{#1}\psk@fontscale }
+\define@key[psset]{pst-tools}{decimals}[-1]{\pst@getint{#1}\psk@decimals }
+\psset[pst-tools]{PSfont=Times-Roman,fontscale=10,valuewidth=10,decimals=-1,xShift=0,dot}
+%
+\def\psPrintValue{\pst@object{psPrintValue}}
+\def\psPrintValue@i#1{\expandafter\psPrintValue@ii#1,,\@nil}
+\def\psPrintValue@ii#1,#2,#3\@nil{% #1,#2 only for algebraic code
+ \begin@SpecialObj
+ \addto@pscode{
+ gsave \psk@PSfont findfont \psk@fontscale scalefont setfont
+ \ifPst@algebraic
+ /x #1 def
+ /Func (#2) tx@AlgToPs begin AlgToPs end cvx def
+ Func
+ \else #1 \fi
+ \psk@decimals -1 gt { 10 \psk@decimals exp dup 3 1 roll mul cvi exch div } if
+ \psk@valuewidth string cvs %/Output exch def % save output
+ \ifPst@dot dot2comma \fi % do we have to change dot to comma
+ \psk@xShift\space 0 moveto %Output
+ show grestore
+ }%
+ \end@SpecialObj%
+}
+
+\define@boolkey[psset]{pst-tools}[Pst@]{round}[true]{}%
+\define@boolkey[psset]{pst-tools}[Pst@]{science}[true]{%
+ \ifPst@science\def\psk@Scin{true }\else\def\psk@Scin{false }\fi}
+\psset[pst-tools]{science=false,round=false}
+\def\psPrintValueNew{\pst@object{psPrintValueNew}}
+\def\psPrintValueNew@i#1{\expandafter\psPrintValueNew@ii#1,,\@nil}
+\def\psPrintValueNew@ii#1,#2,#3\@nil{% #1,#2 only for algebraic code
+ \begin@SpecialObj
+ \addto@pscode{ % thanks to Buddy Ledger
+ /mfont { \psk@PSfont findfont \psk@fontscale scalefont setfont } bind def
+ /mfontexp { \psk@PSfont findfont \psk@fontscale 1.2 div scalefont setfont } bind def
+ /s1 { /Symbol findfont \psk@fontscale scalefont setfont } bind def
+ \ifPst@algebraic
+ /x #1 def
+ /Func (#2) tx@AlgToPs begin AlgToPs end cvx def
+ Func
+ \else #1 \fi
+ /value ED
+ \psk@Scin {
+ value 0 ne { value log floor cvi /expon ED }{ /expon 0 def } ifelse
+ value 10 expon exp div
+ \psk@decimals -1 gt { 10 \psk@decimals exp dup 3 1 roll mul
+ \ifPst@round round \else cvi \fi exch div } if
+ \psk@decimals 0 eq { cvi } if /numb ED
+ expon \psk@valuewidth string cvs /expon exch def
+ numb \psk@valuewidth string cvs
+ \ifPst@dot dot2comma \fi % do we have to change dot to comma
+ /Output exch def
+ /txspc \psk@fontscale 4 div def
+ \psk@xShift\space 0 moveto mfont Output show
+ txspc 0 rmoveto s1 (\string\264) show
+ txspc 0 rmoveto mfont (10) show
+ txspc 2 div txspc 1.5 mul rmoveto mfontexp expon show }
+ { value
+ \psk@decimals -1 gt { 10 \psk@decimals exp dup 3 1 roll mul
+ \ifPst@round round \else cvi \fi exch div } if
+ \psk@decimals 0 eq { cvi } if %inserted to handle decimals=0
+ \psk@valuewidth string cvs
+ \ifPst@dot dot2comma \fi % do we have to change dot to comma
+ \psk@xShift\space 0 moveto mfont %Output
+ show
+ } ifelse
+ }%
+ \end@SpecialObj%
+}
+%
+\catcode`\@=\PstAtCode\relax
+%
+%% END: pst-tools.tex
+\endinput
+%
diff --git a/Master/texmf-dist/tex/latex/pst-tools/pst-tools.sty b/Master/texmf-dist/tex/latex/pst-tools/pst-tools.sty
new file mode 100644
index 00000000000..d4e98a67303
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/pst-tools/pst-tools.sty
@@ -0,0 +1,8 @@
+\RequirePackage{pstricks}
+\ProvidesPackage{pst-tools}[2012/01/01 package wrapper for
+ pst-tools.tex (hv)]
+\input{pst-tools.tex}
+\ProvidesFile{pst-tools.tex}
+ [\filedate\space v\fileversion\space `PST-tools' (hv)]
+\endinput
+%% $Id: pst-tools.sty 355 2010-06-21 10:02:44Z herbert $
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 75fec779b66..869037fd8f6 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -323,7 +323,7 @@ my @TLP_working = qw(
pst-osci pst-pad pst-pdgr pst-platon pst-plot pst-poly pst-pdf
pst-qtree pst-rubans
pst-sigsys pst-slpe pst-solarsystem pst-solides3d pst-soroban pst-spectra
- pst-stru pst-support pst-text pst-thick pst-tree pst-tvz pst-uml
+ pst-stru pst-support pst-text pst-thick pst-tools pst-tree pst-tvz pst-uml
pst-vowel pst-vue3d
pst2pdf pstool pstricks pstricks-add pstricks-examples pstricks-examples-en
psu-thesis ptptex punknova purifyeps
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index e4f06dc26be..3b6665613c5 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -726,6 +726,7 @@ chomp ($Build = `cd $Master/../Build/source && pwd`);
'pst-support', "&MAKEpst",
'pst-text', "&MAKEpst",
'pst-thick', "&MAKEpst",
+ 'pst-tools', "&MAKEpst",
'pst-tree', "&MAKEpst",
'pst-tvz', "&MAKEpst",
'pst-uml', "&MAKEpst",
diff --git a/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc b/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc
index d6eb021119e..3c12b7cf9f0 100644
--- a/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc
@@ -69,6 +69,7 @@ depend pst-stru
depend pst-support
depend pst-text
depend pst-thick
+depend pst-tools
depend pst-tree
depend pst-tvz
depend pst-uml
diff --git a/Master/tlpkg/tlpsrc/pst-tools.tlpsrc b/Master/tlpkg/tlpsrc/pst-tools.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/pst-tools.tlpsrc