summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-09-27 23:21:34 +0000
committerKarl Berry <karl@freefriends.org>2009-09-27 23:21:34 +0000
commite7f049fa0c02e2011551de39ad50a836a26ca76c (patch)
treec12254bb5303ca22bcb81d6ae0ebb8faa28aa6f1
parent4de5d522eaad563d787cdfa4ae9a4f44003968d0 (diff)
new pstricks package pst-abspos 0.20 (27sep09)
git-svn-id: svn://tug.org/texlive/trunk@15485 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/generic/pst-abspos/Changes7
-rw-r--r--Master/texmf-dist/doc/generic/pst-abspos/README9
-rw-r--r--Master/texmf-dist/doc/generic/pst-abspos/pst-abspos-doc.bib110
-rw-r--r--Master/texmf-dist/doc/generic/pst-abspos/pst-abspos-doc.pdfbin0 -> 78879 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-abspos/pst-abspos-doc.tex290
-rw-r--r--Master/texmf-dist/source/generic/pst-abspos/Makefile68
-rw-r--r--Master/texmf-dist/tex/generic/pst-abspos/pst-abspos.tex136
-rw-r--r--Master/texmf-dist/tex/latex/pst-abspos/pst-abspos.sty13
-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-abspos.tlpsrc0
12 files changed, 636 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-abspos/Changes b/Master/texmf-dist/doc/generic/pst-abspos/Changes
new file mode 100644
index 00000000000..fac82153a7a
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-abspos/Changes
@@ -0,0 +1,7 @@
+pst-abspos.sty --------
+2007-09-27
+
+pst-abspos.tex --------
+0.20 2009-09-27 first CTAN version
+
+pst-abspos-doc.tex --------
diff --git a/Master/texmf-dist/doc/generic/pst-abspos/README b/Master/texmf-dist/doc/generic/pst-abspos/README
new file mode 100644
index 00000000000..daad8bb3863
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-abspos/README
@@ -0,0 +1,9 @@
+Save the files pst-abspos.sty|tex in a directory,
+which is part of your local TeX tree.
+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).
+
diff --git a/Master/texmf-dist/doc/generic/pst-abspos/pst-abspos-doc.bib b/Master/texmf-dist/doc/generic/pst-abspos/pst-abspos-doc.bib
new file mode 100644
index 00000000000..d4c75592e2a
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-abspos/pst-abspos-doc.bib
@@ -0,0 +1,110 @@
+@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} }
+
+@Book{PostScript,
+ Author = {Kollock, Nikolai G.},
+ Title = {PostScript richtig eingesetzt: vom Konzept zum
+ praktischen Einsatz},
+ 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{pdftricks,
+ Title = {PSTricks Support for pdf},
+ Author = {Herbert Voss},
+ Organization = {},
+ Address = {\url{http://PSTricks.de/pdf/pdfoutput.phtml}},
+ Note = {},
+ year = 2002,
+}
+
+@Manual{miwi,
+ Title = {References for \TeX{} and Friends},
+ Author = {Michael Wiedmann and Peter Karp},
+ Organization = {},
+ Address = {\url{http://www.miwie.org/tex-refs/}},
+ Note = {},
+ year = 2003,
+}
+
+
+@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}ostscript},
+ journal = dtk,
+ year = 2002,
+ volume = {1/02},
+ altvolume = 1,
+ altnumber = 14,
+ month = mar,
+ pages = {40-47},
+ 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{companion,
+ author = {Michel Goosens and Frank Mittelbach and Serbastian Rahtz and Denis Roegel and Herbert Vo\ss},
+ title = {The {\LaTeX} {G}raphics {C}ompanion},
+ publisher = {{Addison-Wesley Publishing Company}},
+ year = {2007},
+ edition = {2nd},
+ address = {Reading, Mass.}
+}
+
+@Book{PSTricks2,
+ author = {Herbert Vo\ss},
+ title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX},
+ edition = {5.},
+ publisher = {DANTE/Lehmanns Media},
+ year = {2008},
+ address = {Heidelberg/Berlin}
+}
+
+@Book{voss:math,
+ author = {Herbert Vo\ss},
+ title = {Mathematik mit \LaTeX},
+ publisher = {{DANTE/Lehmanns Media}},
+ year = {2009},
+ address = {Heidelberg/Berlin}
+}
+
diff --git a/Master/texmf-dist/doc/generic/pst-abspos/pst-abspos-doc.pdf b/Master/texmf-dist/doc/generic/pst-abspos/pst-abspos-doc.pdf
new file mode 100644
index 00000000000..74e38cc4cc9
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-abspos/pst-abspos-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-abspos/pst-abspos-doc.tex b/Master/texmf-dist/doc/generic/pst-abspos/pst-abspos-doc.tex
new file mode 100644
index 00000000000..057e61b95d5
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-abspos/pst-abspos-doc.tex
@@ -0,0 +1,290 @@
+%% $Id: pst-abspos-doc.tex 135 2009-09-27 12:33:57Z herbert $
+\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
+ headexclude,footexclude,oneside]{pst-doc}
+\usepackage[utf8]{inputenc}
+\usepackage[absolute]{pst-abspos}
+
+\let\pstFV\fileversion
+\lstset{pos=l,wide=false,language=PSTricks,
+ morekeywords={multidipole,parallel},basicstyle=\footnotesize\ttfamily}
+%
+\definecolor{myGray}{rgb}{0.9,0.9,0.9}
+\newcommand\x{blah blub laber text nonsense }
+\begin{document}
+
+\title{\texttt{pst-abspos}}
+\subtitle{A PSTricks package for using abolute or relative coordinates of a page; v.\pstFV}
+\author{Herbert Vo\ss}
+\docauthor{}
+\date{\today}
+\maketitle
+
+\tableofcontents
+
+\newpage
+\pstSetAbsoluteOrigin
+A Nonsense text line with \verb|\noindent|.
+
+\section{Introduction}
+\pstPutAbs[position=rb,unit=1pt](0.95\paperwidth,-10){\texttt{pst-abspos}}
+The package \LPack{pst-abspos} allows absolute positioning of objects. In \TeX{} the
+actual ''cursor'' position is the \Index{origin} of the \Index{paper plane}. This makes it difficult
+to put objects into absolute positions. The only constant position is the
+origin of the paper plane, the upper left corner, which is 1 inch right
+and 1 inch down. This absolute PostScript origin is not the one for the textarea
+of \TeX, because it adds the horizontal margins \Lcs{oddsidemargin} and for the first
+line \Lskip{parskip}. In the vertical direction there are added \Lskip{topskip},
+\Ldim{headheight} and \Ldim{headsep}. This is a bit confusing because there are different
+origins of the paper plane:
+\begin{itemize}
+\item the upper left corner of the paper \pstPutAbs[position=lt](0,0){\qdisk(0,0){5pt}%
+ \raisebox{-2ex}{\red Absolute Paper Origin}}
+\item the PostScript origin 1 inch from left and 1 inch from top
+ \pstPutAbs[unit=1in,position=lC](1,-1){\qdisk(0,0){5pt}\red ~~PostScript Origin}
+\item the \TeX{} origin, adding \verb|\oddsidemargin| or \verb|\evensidemargin| to 1 inch and
+ substract \verb|\topskip|, \verb|\headheight| and \verb|\headsep| from the top
+ \qdisk(pstTextOrigin){5pt}\rput[rC](pstTextOrigin){\red Text Origin~~}
+\item the \TeX{} relative origin, which describes the actual ''cursor'' position, like here: \qdisk(0,0){5pt}\rput[lC](0,0){\red "Cursor" Origin}.
+\end{itemize}
+
+\section{Package Options}
+
+\begin{tabularx}{\textwidth}{lX}
+\Loption{notitlepage} & When there is no titlepage it is easier to run the
+ initialisation macros. In this case the user has only to set the package option.\\
+\Loption{absolute} & the origin is the upper left paper corner\\
+\Loption{lowerleft} & the origin is mirrored to the lower left of the paper plane\\
+\Loption{PostScript} & the origin is 1inch from the left and 1 inch from the top of the paper\\
+\Loption{relative} & the origin is the upper left text area
+\end{tabularx}
+
+Especially the \Loption{lowerleft} option may be useful. Together with the \Loption{absolute}
+option the origin of the paper plane is at the lower left corner (see section~\ref{sec:lowerleft}).
+
+\section{The Macros}
+The package tries to set the origin immediately after a newpage. This is not possible
+with a \Index{title} because of an additional \Lcs{newpage} of the \Lenv{titlepage} environment.
+In this case the user should controll the setting manually with
+the macros
+
+\noindent
+\begin{tabularx}{\linewidth}{@{}lX@{}}
+\Lcs{pstSetAbsoluteOrigin} & the new origin is the upper left corner of the paper\\
+\Lcs{pstSetPostScriptOrigin} & the new origin is 1 inch from left and 1 inch from top of the upper left corner of the paper\\
+\Lcs{pstSetRelativeOrigin}\Largr{\CAny} & the new origin is the current point for $(0;0)$. All other values are relative to this one.\\
+\Lcs{pstPutAbs}\OptArgs\Largr{\CAny}\Largb{object} & puts any object depending to the option at $(x;y)$.
+\end{tabularx}
+
+The first two macros have to be used immediately after a newpage.
+
+\subsection{Optional Parameters}
+The \Lcs{pstPutAbs} macro can be called with all vaild \verb|pstricks| options and additionally
+with \Lkeyword{position}\verb+=position+, where \Larg{position} can be replaced by the usual placing
+values \Lnotation{lt}, \Lnotation{lC}, \Lnotation{lB}, \Lnotation{lb}, \ldots\ of the well known \Lcs{rput} macro. Important is the
+setting of the \Lkeyword{unit} parameter, because \LPack{pst-abspos} knows nothing about
+the unit. A valid call may be like
+
+\begin{Xverbatim}{\xLcs{pstPutAbs}}
+\pstPutAbs[unit=1in,position=lC](1,-1){%
+ \qdisk(0,0){5pt}\textcolor{red}{~PostScript Origin}}
+\end{Xverbatim}
+
+\section{Examples}
+It is no problem to switch between the different origin settings when calling the
+macros immediately aften a \Lcs{newpage}. If you want to set the origin at the ''cursor''
+position, then the macro can be called just on ''cursor'' position.
+
+\newpage
+\pstSetAbsoluteOrigin
+\section{Absolute Coordinates}
+The point (0,0) is in the upper left corner and is set by the package option \Loption{absolute}.
+
+\begin{BDef}
+\Lcs{usepackage}\Largs{absolute}\Largb{pst-abspos}
+\end{BDef}
+
+\psset{unit=1in}%
+\pstPutAbs(0,0){\qdisk(0,0){2pt}\rput(0,0){\red Origin}}Nonsense Text\pstPutAbs(1,-2){\qdisk(0,0){4pt}\red Point(1,-2)}%
+\verb|\pstPutAbs(1,-2){\qdisk(0,0){4pt}\red Point(1,-2)}|\\
+Nonsense Text\\
+Nonsense Text\pstPutAbs(0,-2){\qdisk(0,0){4pt}\red Point(0,-2)}%
+\verb|\pstPutAbs(0,-2){\qdisk(0,0){4pt}\red Point(0,-2)}|\\
+Nonsense Text\\
+Nonsense Text\pstPutAbs(0,-1){\qdisk(0,0){4pt}\red Point(0,-1)}%
+\verb|\pstPutAbs(0,-1){\qdisk(0,0){4pt}\red Point(0,-1)}|
+\pstPutAbs(1,-10){\scalebox{8}{\textcolor{myGray}{pst-abspos}}}
+\pstPutAbs(1,-10){\qdisk(0,0){4pt}\red Point(1,-10)}%
+\verb|\pstPutAbs(1,-10){\scalebox{8}{\textcolor{myGray}{pst-abspos}}}|
+\verb|\pstPutAbs(1,-10){\qdisk(0,0){4pt}\red Point(1,-10)}|
+
+\vspace*{\fill}
+\parbox{\textwidth}{%
+ \x\x\x\x\textcolor{red}{\texttt{\textbackslash pstPutAbs(3,0.5)\{\textbackslash qdisk(0,0)\{4pt\}\textbackslash blue Point(3,0.5)\}}}%
+ \pstPutAbs(3,0.5){\qdisk(0,0){4pt}\blue Point(3,0.5)}\x\x\x\x%
+ \texttt{\textcolor{red}{\textbackslash pstPutAbs(3,-5)\{\textbackslash qdisk(0,0)\{4pt\}\textbackslash blue Point(3,-5)\}}}\x\x\x%
+ \pstPutAbs(3,-5){\qdisk(0,0){4pt}\blue Point(3,-5)}}
+
+\clearpage
+\pstSetRelativeOrigin(0,0)%
+
+\section{Relative Coordinates}
+The point (0,0) is set as the relative origin and is set by the package option
+\Loption{relative}.
+
+\begin{BDef}
+\Lcs{usepackage}\Largs{relative}\Largb{pst-abspos}
+\end{BDef}
+
+This relative point is the beginning of the first textline, which depends to all margins.
+It allows to place the relative origin elsewhere depending to the relative point \verb|(0,0)|.
+
+\psset{unit=1in}%
+\pstPutAbs(0,0){\qdisk(0,0){2pt}\rput(0,0){\red Origin}}
+Nonsense Text\pstPutAbs(1,-2){\qdisk(0,0){4pt}\red Point(1,-2)}%
+\verb|\pstPutAbs(1,-2){\qdisk(0,0){4pt}\red Point(1,-2)}|\\
+Nonsense Text\\
+Nonsense Text\pstPutAbs(0,-2){\qdisk(0,0){4pt}\red Point(0,-2)}%
+\verb|\pstPutAbs(0,-2){\qdisk(0,0){4pt}\red Point(0,-2)}|\\
+Nonsense Text\\
+Nonsense Text\pstPutAbs(0,-1){\qdisk(0,0){4pt}\red Point(0,-1)}%
+\verb|\pstPutAbs(0,-1){\qdisk(0,0){4pt}\red Point(0,-1)}|
+\pstPutAbs(1,-10){\scalebox{8}{\textcolor{myGray}{pst-abspos}}}
+\pstPutAbs(1,-10){\qdisk(0,0){4pt}\red Point(1,-10)}%
+\verb|\pstPutAbs(1,-10){\scalebox{8}{\textcolor{myGray}{pst-abspos}}}|
+\verb|\pstPutAbs(1,-10){\qdisk(0,0){4pt}\red Point(1,-10)}|
+
+\vspace*{\fill}
+\parbox{\textwidth}{%
+ \x\x\x\x\textcolor{red}{\texttt{\textbackslash pstPutAbs(3,0.5)\{\textbackslash qdisk(0,0)\{4pt\}\textbackslash blue Point(3,0.5)\}}}%
+ \pstPutAbs(3,0.5){\qdisk(0,0){4pt}\blue Point(3,0.5)}\x\x\x\x%
+ \texttt{\textcolor{red}{\textbackslash pstPutAbs(3,-5)\{\textbackslash qdisk(0,0)\{4pt\}\textbackslash blue Point(3,-5)\}}}\x\x\x%
+ \pstPutAbs(3,-5){\qdisk(0,0){4pt}\blue Point(3,-5)}}
+
+\clearpage
+\pstSetPostScriptOrigin%
+\section{PostScript Origin}
+The point (1in,-1in) is set as the absolue PostScript origin and is set by the package option
+\Loption{relative}.
+
+\begin{Xverbatim}{\xLcs{usepackage}\xLoption{absolute}}
+\usepackage[PostScript]{pst-abspos}
+\end{Xverbatim}
+
+The coordinates (1in; -1in) have some historical
+background and have nowadays no more real sense. If all horizontal and vertical
+margins inside \TeX{} are set to zero, then this point
+is (0,0).
+
+\psset{unit=1in}%
+\pstPutAbs(0,0){\qdisk(0,0){2pt}\rput(0,0){\red Origin}}%
+Nonsense Text\pstPutAbs(1,-2){\qdisk(0,0){4pt}\red Point(1,-2)}%
+\verb|\pstPutAbs(1,-2){\qdisk(0,0){4pt}\red Point(1,-2)}|\\
+Nonsense Text\\
+Nonsense Text\pstPutAbs(0,-2){\qdisk(0,0){4pt}\red Point(0,-2)}%
+\verb|\pstPutAbs(0,-2){\qdisk(0,0){4pt}\red Point(0,-2)}|\\
+Nonsense Text\\
+Nonsense Text\pstPutAbs(0,-1){\qdisk(0,0){4pt}\red Point(0,-1)}%
+\verb|\pstPutAbs(0,-1){\qdisk(0,0){4pt}\red Point(0,-1)}|
+\pstPutAbs(1,-10){\scalebox{8}{\textcolor{myGray}{pst-abspos}}}
+\pstPutAbs(1,-10){\qdisk(0,0){4pt}\red Point(1,-10)}%
+\verb|\pstPutAbs(1,-10){\scalebox{8}{\textcolor{myGray}{pst-abspos}}}|
+\verb|\pstPutAbs(1,-10){\qdisk(0,0){4pt}\red Point(1,-10)}|\\
+
+\vspace*{\fill}
+\parbox{\textwidth}{%
+ \x\x\x\x\textcolor{red}{\texttt{\textbackslash pstPutAbs(3,0.5)\{\textbackslash qdisk(0,0)\{4pt\}\textbackslash blue Point(3,0.5)\}}}%
+ \pstPutAbs(3,0.5){\qdisk(0,0){4pt}\blue Point(3,0.5)}\x\x\x\x%
+ \texttt{\textcolor{red}{\textbackslash pstPutAbs(3,-5)\{\textbackslash qdisk(0,0)\{4pt\}\textbackslash blue Point(3,-5)\}}}\x\x\x%
+ \pstPutAbs(3,-5){\qdisk(0,0){4pt}\blue Point(3,-5)}}
+
+\newpage
+\makeatletter
+\pst@lowerlefttrue
+\makeatother
+\pstSetAbsoluteOrigin
+
+\section{Absolute Coordinates with an Origin in the Lower Left}\label{sec:lowerleft}
+The point (0,0) is in the lower left corner and is set by the package option
+\Loption{lowerLeft}. This is only useful for absolute coordinates. This is the reason why
+this option should implie also the option \Loption{absolute}.
+
+
+\begin{Xverbatim}{\xLcs{usepackage}\xLoption{lowerLeft}\xLoption{absolute}}
+\Lcs{usepackage}\Largs{lowerLeft,absolute}\Largb{pst-abspos}
+\end{BDef}
+
+
+\psset{unit=1in}%
+\pstPutAbs(0,0){\qdisk(0,0){4pt}\rput(0,0){\red Origin}}%
+Nonsense Text\pstPutAbs(1,2){\qdisk(0,0){4pt}\red Point(1,2)}%
+\verb|\pstPutAbs(1,2){\qdisk(0,0){4pt}\red Point(1,2)}|\\
+Nonsense Text\\
+Nonsense Text\pstPutAbs(0,2){\qdisk(0,0){4pt}\red Point(0,2)}%
+\verb|\pstPutAbs(0,2){\qdisk(0,0){4pt}\red Point(0,2)}|\\
+Nonsense Text\\
+Nonsense Text\pstPutAbs(0,1){\qdisk(0,0){4pt}\red Point(0,1)}%
+\verb|\pstPutAbs(0,1){\qdisk(0,0){4pt}\red Point(0,1)}|
+\pstPutAbs(1,10){\scalebox{8}{\textcolor{myGray}{pst-abspos}}}
+\pstPutAbs(1,10){\qdisk(0,0){4pt}\red Point(1,10)}%
+\verb|\pstPutAbs(1,10){\scalebox{8}{\textcolor{myGray}{pst-abspos}}}|\\
+\verb|\pstPutAbs(1,10){\qdisk(0,0){4pt}\red Point(1,10)}|\\
+
+\vspace*{\fill}
+\parbox{\textwidth}{%
+ \x\x\x\x\textcolor{red}{\texttt{\textbackslash pstPutAbs(3,-0.5)\{\textbackslash qdisk(0,0)\{4pt\}\textbackslash blue Point(3,-0.5)\}}}%
+ \pstPutAbs(3,-0.5){\qdisk(0,0){4pt}\blue Point(3,-0.5)}\x\x\x\x%
+ \texttt{\textcolor{red}{\textbackslash pstPutAbs(3,5)\{\textbackslash qdisk(0,0)\{4pt\}\textbackslash blue Point(3,5)\}}}\x\x\x%
+ \pstPutAbs(3,5){\qdisk(0,0){4pt}\blue Point(3,5)}}
+
+\newpage
+\pstSetPostScriptOrigin
+
+\section{Absolute PostScript Coordinates with an Origin in the Lower Left}
+The origin point (0,0) is in the lower left corner with 1in from the left and 1inch
+from the bottom and is set by the package option
+\Loption{lowerLeft}. This is only useful for \Index{absolute coordinate}s.
+
+\begin{Xverbatim{\xLcs{usepackage}\xLoption{lowerLeft}\xLoption{PostScript}}
+\usepackage[lowerLeft,PostScript]{pst-abspos}
+\end{Xverbatim}
+
+
+\psset{unit=1in}%
+\pstPutAbs(0,0){\qdisk(0,0){4pt}\rput(0,0){\red Origin}}%
+Nonsense Text\pstPutAbs(1,2){\qdisk(0,0){4pt}\red Point(1,2)}%
+\verb|\pstPutAbs(1,2){\qdisk(0,0){4pt}\red Point(1,2)}|\\
+Nonsense Text\\
+Nonsense Text\pstPutAbs(0,2){\qdisk(0,0){4pt}\red Point(0,2)}%
+\verb|\pstPutAbs(0,2){\qdisk(0,0){4pt}\red Point(0,2)}|\\
+Nonsense Text\\
+Nonsense Text\pstPutAbs(0,1){\qdisk(0,0){4pt}\red Point(0,1)}%
+\verb|\pstPutAbs(0,1){\qdisk(0,0){4pt}\red Point(0,1)}|
+\pstPutAbs(1,10){\scalebox{8}{\textcolor{myGray}{pst-abspos}}}
+\pstPutAbs(1,10){\qdisk(0,0){4pt}\red Point(1,10)}%
+\verb|\pstPutAbs(1,10){\scalebox{8}{\textcolor{myGray}{pst-abspos}}}|\\
+\verb|\pstPutAbs(1,10){\qdisk(0,0){4pt}\red Point(1,10)}|\\
+
+\vspace*{\fill}
+\parbox{\textwidth}{%
+ \x\x\x\x\textcolor{red}{\texttt{\textbackslash pstPutAbs(3,-0.5)\{\textbackslash qdisk(0,0)\{4pt\}\textbackslash blue Point(3,-0.5)\}}}%
+ \pstPutAbs(3,-0.5){\qdisk(0,0){4pt}\blue Point(3,-0.5)}\x\x\x\x%
+ \texttt{\textcolor{red}{\textbackslash pstPutAbs(3,5)\{\textbackslash qdisk(0,0)\{4pt\}\textbackslash blue Point(3,5)\}}}\x\x\x%
+ \pstPutAbs(3,5){\qdisk(0,0){4pt}\blue Point(3,5)}}
+
+\section{List of all optional arguments for \texttt{pst-abspos}}
+
+\xkvview{family=pst-abspos,columns={key,type,default}}
+
+
+\bgroup
+\raggedright
+\nocite{*}
+\bibliographystyle{plain}
+\bibliography{\jobname}
+\egroup
+
+\printindex
+\end{document}
+
+
+\end{document}
diff --git a/Master/texmf-dist/source/generic/pst-abspos/Makefile b/Master/texmf-dist/source/generic/pst-abspos/Makefile
new file mode 100644
index 00000000000..079874f0bfd
--- /dev/null
+++ b/Master/texmf-dist/source/generic/pst-abspos/Makefile
@@ -0,0 +1,68 @@
+# `Makefile' for `pst-circ.pdf', hv, 2007/03/17
+
+.SUFFIXES : .tex .ltx .dvi .ps .pdf .eps
+
+PACKAGE = pst-abspos
+
+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 -t $(basename $<).ilg -o $(basename $<).ind \
+ $(basename $<).idx
+ bibtex $(basename $<)
+ $(LATEX) $<
+ $(LATEX) $<
+
+clean :
+ $(RM) $(addprefix $(MAIN), .log .aux .glg .glo .gls .ilg .idx .ind .tmp .toc .out .blg .Roessler .bbl )
+ $(RM) $(addprefix $(MAIN), .dvi .ps)
+
+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 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-abspos/pst-abspos.tex b/Master/texmf-dist/tex/generic/pst-abspos/pst-abspos.tex
new file mode 100644
index 00000000000..2f5ac667454
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/pst-abspos/pst-abspos.tex
@@ -0,0 +1,136 @@
+%% $Id: pst-abspos.tex 135 2009-09-27 12:33:57Z herbert $
+%%
+%% This is file `pst-abspos.tex',
+%%
+%% IMPORTANT NOTICE:
+%%
+%% Package `pst-abspos.tex'
+%%
+%% Herbert Voss <voss@perce.de>
+%%
+%% 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-abspos' is a PSTricks package to put objects at absolute coordinates
+%%
+%% For a ChangeLog go the the end
+%%
+\csname PSTabsposLoaded\endcsname
+\let\PSTabsposLoaded\endinput
+% Requires PSTricks, pst-node
+\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi
+\ifx\PSTnodesLoaded\endinput\else\input pst-node.tex\fi
+\ifx\PSTXKeyLoaded\endinput\else\input pst-xkey \fi
+%
+\def\fileversion{0.2}
+\def\filedate{2009/09/27}
+\message{`PST-abspos' v\fileversion, \filedate\space (Herbert Voss)}
+%
+\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
+\SpecialCoor
+%
+\pst@addfams{pst-abspos}
+%
+\newif\ifpst@lowerleft \pst@lowerleftfalse
+\newif\ifpst@notitlepage \pst@notitlepagefalse
+\newdimen\pst@xOffset
+\newdimen\pst@yOffset
+%
+\define@key[psset]{pst-abspos}{position}{\edef\psk@abspos@position{#1}}
+\psset{position=lb}
+%
+\let\pst@newpage\newpage
+%
+\DeclareOption{notitlepage}{\pst@notitlepagetrue}
+\DeclareOption{absolute}{%
+ \ifpst@notitlepage
+ \def\newpage{\pst@newpage\pstSetAbsoluteOrigin}%
+ \AtBeginDocument{\pstSetAbsoluteOrigin}
+ \fi%
+}
+\DeclareOption{lowerleft}{\pst@lowerlefttrue}
+\DeclareOption{relative}{%
+ \ifpst@notitlepage
+ \def\newpage{\pst@newpage\pstSetRelativeOrigin(0,0)}%
+ \AtBeginDocument{\pstSetRelativeOrigin(0,0)}
+ \fi%
+}
+\DeclareOption{PostScript}{%
+ \ifpst@notitlepage
+ \def\newpage{\pst@newpage\pstSetPostScriptOrigin}%
+ \AtBeginDocument{\pstSetPostScriptOrigin}
+ \fi%
+}
+\ProcessOptions\relax
+%
+\def\pst@paperheight{\ifpst@lowerleft 1 \else 0 \fi }
+%
+% save the origin point of the paper plane. This macro must be
+% initiated before any other output
+%
+\def\pstSetRelativeOrigin(#1){\pnode(#1){pst@Origin}}
+\def\pstSetAbsoluteOrigin{%
+ \pst@xOffset=-\oddsidemargin%
+ \advance\pst@xOffset by -\parindent%
+ \pst@yOffset=\topmargin%
+ \advance\pst@yOffset by \headheight%
+ \advance\pst@yOffset by \headsep%
+ \advance\pst@yOffset by \topskip%
+ \bgroup
+ \psset{unit=1pt}
+% \pnode(\strip@pt\pst@xOffset, \strip@pt\pst@yOffset){pstTextOrigin}%
+ \pnode(0,0){pstTextOrigin}%
+ \advance\pst@xOffset by -1in%
+ \advance\pst@yOffset by 1in%
+ \ifpst@lowerleft
+ \advance\pst@yOffset by -\paperheight
+ \advance\pst@yOffset by 1in%
+ \fi
+ \pnode(\strip@pt\pst@xOffset, \strip@pt\pst@yOffset){pst@Origin}%
+ \egroup%
+}
+\def\pstSetPostScriptOrigin{%
+ \pst@xOffset=-\oddsidemargin%
+ \advance\pst@xOffset by -\parindent%
+ \pst@yOffset=\topmargin%
+ \advance\pst@yOffset by \headheight%
+ \advance\pst@yOffset by \headsep%
+ \advance\pst@yOffset by \topskip%
+ \bgroup
+ \psset{unit=1pt}
+ \pnode(\strip@pt\pst@xOffset, \strip@pt\pst@yOffset){pstTextOrigin}%
+ \ifpst@lowerleft
+ \advance\pst@yOffset by -\paperheight
+ \advance\pst@yOffset by 3in
+ \fi
+ \pnode(\strip@pt\pst@xOffset, \strip@pt\pst@yOffset){pst@Origin}%
+ \egroup}
+%
+\def\pstPutAbs{\@ifnextchar[{\pst@PutAbs@i}{\pst@PutAbs@i[]}}
+\def\pst@PutAbs@i[#1](#2)#3{{%
+% #1: options for \rput[#1]{...}
+% #2: absolute coordinates relative to the paper (0,0)
+% #3: any object to put at (#1)
+ \psset{#1}
+ \pnode(0,0){pst@tempNodeA} % the "cursor" position
+ \pst@getcoor{pst@Origin}\pst@tempa % Origin of the paper
+ \pst@getcoor{#2}\pst@tempb % Absolute coordinates
+ \pst@getcoor{pst@tempNodeA}\pst@tempc % relative coordinates
+ \pnode(! % Special Coor
+ /XA \pst@tempa pop \pst@number\psxunit div def
+ /YA \pst@tempa exch pop \pst@number\psyunit div def
+ /XB \pst@tempb pop \pst@number\psxunit div def
+ /YB \pst@tempb exch pop \pst@number\psyunit div def
+ /XC \pst@tempc pop \pst@number\psxunit div def
+ /YC \pst@tempc exch pop \pst@number\psyunit div def
+ XB XC sub XA add
+ YB YC sub YA add \pst@paperheight\space sub){pst@tempNodeB}
+ \rput[\psk@abspos@position](pst@tempNodeB){#3}%
+}}
+%
+\catcode`\@=\PstAtCode\relax
+%
+%% END: pst-abspos.tex
+\endinput
diff --git a/Master/texmf-dist/tex/latex/pst-abspos/pst-abspos.sty b/Master/texmf-dist/tex/latex/pst-abspos/pst-abspos.sty
new file mode 100644
index 00000000000..0c1714baf73
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/pst-abspos/pst-abspos.sty
@@ -0,0 +1,13 @@
+%% $Id: pst-abspos.sty 135 2009-09-27 12:33:57Z herbert $
+%
+\RequirePackage{pstricks}
+\ProvidesPackage{pst-abspos}[2009/09/27 v. 0.01 package wrapper for
+ pst-abspos.tex (hv)]
+\input{pst-abspos.tex}
+\ProvidesFile{pst-abspos.tex}
+ [\filedate\space v\fileversion\space `PST-abspos' (hv)]
+%\IfFileExists{pst-abspos.pro}{%
+% \ProvidesFile{pst-abspos.pro}
+% [2009/01/29 v. 0.01, PostScript prologue file (hv)]
+% \@addtofilelist{pst-abspos.pro}}{}%
+\endinput
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index b730e0612b7..23df9222421 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -199,7 +199,7 @@ my @WorkingTLP = qw(
prettyref preview printlen proba probsoln procIAGssymp program
properties protex protocol
psbao pseudocode psfrag psfrag-italian psgo pslatex psnfss pspicture
- pst-2dplot pst-3d pst-3dplot pst-asr pst-bar
+ pst-2dplot pst-3d pst-3dplot pst-abspos pst-asr pst-bar
pst-barcode pst-bezier pst-blur pst-bspline
pst-calendar pst-circ pst-cox pst-dbicons pst-diffraction
pst-eps pst-eucl pst-fill
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index f69ebc08ca9..4d967872f92 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -440,6 +440,7 @@ chdir $startdir || die "chdir($startdir) failed: $!"; # back to raw
'pst-2dplot', "&MAKEpst",
'pst-3d', "&MAKEpst",
'pst-3dplot', "&MAKEpst",
+ 'pst-abspos', "&MAKEpst",
'pst-asr', "&MAKEpst",
'pst-bar', "&MAKEpst",
'pst-barcode', "&MAKEpst",
diff --git a/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc b/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc
index 6be4e11c5f6..652689fae7d 100644
--- a/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-pstricks.tlpsrc
@@ -8,6 +8,7 @@ depend psbao
depend pst-2dplot
depend pst-3d
depend pst-3dplot
+depend pst-abspos
depend pst-asr
depend pst-bar
depend pst-barcode
diff --git a/Master/tlpkg/tlpsrc/pst-abspos.tlpsrc b/Master/tlpkg/tlpsrc/pst-abspos.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/pst-abspos.tlpsrc