diff --git a/doc/ps/FixMdframed.tex b/doc/ps/FixMdframed.tex
new file mode 100644
index 0000000000000000000000000000000000000000..9db59a5a9af273b167987c137b3adfd14015898d
--- /dev/null
+++ b/doc/ps/FixMdframed.tex
@@ -0,0 +1,171 @@
+% Prevents erroneous page breaks,
+% as proposed by David Carlisle,
+% http://tex.stackexchange.com/questions/241543.
+
+\makeatletter
+
+\def\mdf@put@frame@ii{%
+  \setlength{\mdf@freevspace@length}{\vsize}%
+    \ifbool{mdf@repeatframetitle}%
+      {%repeating title -- more robust using hooks.
+       \toggletrue{mdf@notfirstframetitle}%
+       \splitmaxdepth\z@ \splittopskip\z@%
+       \setbox\mdf@splitbox@one=\vbox{\break\unvbox\mdf@splitbox@one}%
+       \mdf@ignorevbadness%
+       \setbox0=\vsplit\mdf@splitbox@one to \z@\relax%
+       \setbox\mdf@splitbox@one=\vbox{\unvbox\mdf@splitbox@one}%
+       \setbox\mdf@splitbox@one\vbox%
+          {%
+           \parskip\z@\relax%
+           \parindent\z@\relax%
+           \vskip\mdf@frametitleaboveskip@length%
+           \unvcopy\mdf@frametitlebox\relax%
+           \mdf@@frametitlerule\relax%
+           \unvbox\mdf@splitbox@one\relax%
+          }%
+       \setbox\mdf@splitbox@one=\vbox{\unvbox\mdf@splitbox@one}%
+      }{}%
+  \setlength{\dimen@}{\dimexpr\ht\mdf@splitbox@one+\dp\mdf@splitbox@one\relax}%
+  \mdf@dolist{\mdf@advancelength@add{\dimen@}}%
+        {innerbottommargin,innerlinewidth,middlelinewidth,outerlinewidth}%
+  \ifboolexpr { bool {mdf@everyline} and bool {mdf@topline} }%
+    {%
+     \mdf@dolist{\mdf@advancelength@add{\dimen@}}%
+        {innerlinewidth,middlelinewidth,outerlinewidth}%
+    }{}%
+   \notbool{mdf@bottomline}%remove bottom if neccessary
+     {%
+       \mdf@dolist{\mdf@advancelength@sub{\dimen@}}%
+         {innerlinewidth,middlelinewidth,outerlinewidth}%
+     }{}%
+   \ifdimgreater{\dimen@}{\mdf@freevspace@length}%
+    {%have a middle box
+     \advance\mdf@freevspace@length by -\mdf@splitbottomskip@length\relax%
+     \ifbool{mdf@everyline}%regard top and bottom if everyline is used
+       {%
+        \ifbool{mdf@topline}%
+          {%
+           \mdf@dolist{\mdf@advancelength@sub{\mdf@freevspace@length}}%
+             {innerlinewidth,middlelinewidth,outerlinewidth}%
+          }{}%
+        \ifbool{mdf@bottomline}%
+          {%
+           \mdf@dolist{\mdf@advancelength@sub{\mdf@freevspace@length}}%
+             {innerlinewidth,middlelinewidth,outerlinewidth}%
+          }{}%
+       }{}%
+     \setbox\mdf@splitbox@save=\vbox{\unvcopy\mdf@splitbox@one}%
+     \splitmaxdepth\z@ \splittopskip\mdf@splittopskip@length%
+     \mdf@ignorevbadness%
+     \setbox\mdf@splitbox@two\vsplit\mdf@splitbox@one to \mdf@freevspace@length%
+     \setbox\mdf@splitbox@two\vbox{\unvbox\mdf@splitbox@two}%
+     \setbox\mdf@splitbox@one\vbox{\unvbox\mdf@splitbox@one}%
+     \ifdimgreater{\ht\mdf@splitbox@two+\dp\mdf@splitbox@two}%
+                  {\mdf@freevspace@length}%
+       {%splitted wrong
+        \mdf@PackageInfo{Box was splittet wrong^^J
+                         starting loop to iterate
+                         the splitting point\MessageBreak}%
+        \dimen@i=\mdf@freevspace@length%\relax
+        \@tempcnta=\z@\relax
+        \loop
+        \ifdim\dimexpr\ht\mdf@splitbox@two+\dp\mdf@splitbox@two\relax>%
+              \mdf@freevspace@length\relax
+          \advance\dimen@i by -\p@\relax%
+          \advance\@tempcnta by \@ne\relax%
+          \ifnum\@tempcnta>100
+            \let\iterate\relax%
+            \mdf@PackageWarning{correct box splittet fails^^J
+                                It seems you are using a non splittable
+                                contents\MessageBreak}%
+          \fi
+          \mdf@ignorevbadness%
+          \setbox\mdf@splitbox@one=\vbox{\unvcopy\mdf@splitbox@save}%
+          \splitmaxdepth\z@ \splittopskip\mdf@splittopskip@length%
+          \mdf@ignorevbadness%
+          \setbox\mdf@splitbox@two\vsplit\mdf@splitbox@one to \dimen@i\relax%
+          \setbox\mdf@splitbox@two\vbox{\unvbox\mdf@splitbox@two}%
+          \setbox\mdf@splitbox@one\vbox{\unvbox\mdf@splitbox@one}%
+        \repeat%
+       }{}%
+     \ifvoid\mdf@splitbox@one\relax%
+        \mdf@PackageWarning{You got a bad break because the splittet box is
+                            empty^^J
+                            You have to change the page settings^^J
+                            like enlargethispage or something else^^J
+                            the package increases do
+                            \enlargethispage{\baselineskip}\MessageBreak}%
+        \setbox\mdf@splitbox@one=\vbox{\unvcopy\mdf@splitbox@save}%
+        \enlargethispage{\baselineskip}%
+        \def\mdf@reserved@a{\mdf@put@frame@ii}%
+     \else
+      \setbox\mdf@splitbox@two=\vbox%
+                   {%
+                    \hrule \@height\z@ \@width\mdfboundingboxwidth\relax%
+                    \unvcopy\mdf@splitbox@two%
+                   }%
+        \begingroup%
+          \mdf@@setzref%
+          \booltrue{mdfmiddleframe}%
+          \mdf@beforebreak%
+          \mdf@putbox@middle%
+          \mdf@afterbreak%
+        \endgroup%
+          \hrule \@height\z@ \@width\hsize%
+          \vfill\eject%
+          \def\mdf@reserved@a{\mdf@put@frame@ii}%
+        \fi
+     }%End middle box case
+     {%start last box case
+      \ifvoid\mdf@splitbox@one
+           \mdf@PackageWarning{You got a bad break\MessageBreak
+                               because the last split box is empty\MessageBreak
+                               You have to change the settings1}%%
+%CHANGE:  leave final box as void
+\iffalse
+ \setbox\mdf@splitbox@one=\vbox%
+                  {%
+                   \unvbox\mdf@splitbox@one%
+                   \hrule \@height\z@ \@width\mdfboundingboxwidth
+                  }%
+\fi
+%end CHANGE
+      \fi%
+      \ifdimless{\ht\mdf@splitbox@one}{1sp}%
+         {%
+          \mdf@PackageWarning{You got a bad break\MessageBreak
+                              because the last split box is empty\MessageBreak
+                              You have to change the settings2}%
+
+          \let\mdf@reserved@a\relax%
+%CHANGE: add discard final box
+\iffalse
+ \setbox\mdf@splitbox@one=\vbox%
+                 {%
+                  \unvbox\mdf@splitbox@one%
+                  \hrule \@height\z@ \@width\mdfboundingboxwidth
+                 }%
+\fi
+%END CHANGE
+\setbox\mdf@splitbox@one\box\voidb@x
+         }{}%
+      \begingroup%
+      \toggletrue{mdflastframe}%
+      \mdf@beforebreak%
+%Debug{\color{red}\rule{\textwidth}{1pt}}
+      \begingroup%
+        \mdf@@setzref%
+        \booltrue{mdflastframe}%
+        \mdf@beforelastframe%
+        \mdf@putbox@second%
+        \mdf@afterlastframe%
+      \endgroup%
+      \hrule \@height\z@ \@width\hsize%
+      \mdf@afterbreak%
+      \endgroup%
+      \let\mdf@reserved@a\relax%
+     }%
+  \mdf@reserved@a%
+}
+
+\makeatother
diff --git a/doc/ps/FridaGraphicPostprocessing.tex b/doc/ps/FridaGraphicPostprocessing.tex
new file mode 100644
index 0000000000000000000000000000000000000000..31d29322322d2c17f11b993f51baaf94ae4e9325
--- /dev/null
+++ b/doc/ps/FridaGraphicPostprocessing.tex
@@ -0,0 +1,36 @@
+\documentclass[a4paper,11pt,twoside,fleqn]{article}\usepackage[final]{graphicx}
+%\documentclass[a4paper,11pt,fleqn,draft]{article}\usepackage[draft]{graphicx}
+
+% TODO: revert article -> report, as soon as there is more than one \chapter
+
+\input jwu2.sty
+\input{Setup}
+\usepackage{cleveref}
+
+\def\E#1{\textsl{#1}}
+
+\def\UserManualVersionNumber{0.1.0$\gamma$1}
+
+\begin{document}
+\flushbottom
+
+% \input{Macros}
+\input{Title}
+
+\tableofcontents %\cleardoublepage
+
+%\include{Introduction}
+\include{GraphicPostprocessing}
+
+%\otherchapter{Bibliography}
+%\bibliographystyle{switch}
+%\bibliography{jw7}
+
+%\otherchapter{\nomname}\label{Snomencl}
+%\printnomenclature[6em]
+
+\otherchapter{Index}
+\small
+\printindex
+
+\end{document}
diff --git a/doc/ps/GraphicPostprocessing.tex b/doc/ps/GraphicPostprocessing.tex
new file mode 100644
index 0000000000000000000000000000000000000000..60842383a92783fb0549e3e8f71f460c5da2fd9f
--- /dev/null
+++ b/doc/ps/GraphicPostprocessing.tex
@@ -0,0 +1,501 @@
+\def\ttbs{\symbol{92}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section{Introduction}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+Frida is a versatile data-analysis program.
+From a command-line interface, it offers various methods to
+visualize, manipulate and fit tabular data.
+Frida is especially designed for the analysis of spectral data,
+in particular from quasielastic neutron scattering (QENS).
+
+Frida is currently in maintenance mode, which means:
+bugs will be fixed speedily,
+new features will be implemented occasionally,
+but development at large is stalled until a decision is taken
+which QENS software shall be institutionally supported at MLZ and
+partner institutes.
+
+The following notes describe how to post-process PostScript graphics files
+generated by Frida, in order to obtain publication-grade figure.
+These notes have grown out of an oral tutorial.
+They will be gradually converted from slide-show format to written-manual style.
+
+In Frida, two different methods are used to visualize data.
+For screen display in interactive sessions,
+Frida spawns a Gnuplot session.
+Plot commands are sent from Frida to Gnuplot through a first-in, first-out pipe.
+For saving graphics (command \texttt{gp}),
+Frida does \E{not} use Gnuplot's PostScript backend,
+but directly writes PostScript commands to a file.
+In the following,
+the structure of this Frida-generated PostScript file is explained,
+and it is shown how to embellish a plot by a few edits to this file.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section{Graphic formats, workflow}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\subsection{Graphic formats}
+
+Graphics can be stored in many different file formats.
+\Cref{Tgformats} lists formats that are in wide-spread use.
+One distinction is between \E{proprietary} and \E{open} standards.
+It strongly correlates with the distinction between \E{platform-specific}
+and \E{cross-platform} formats.
+To facilitate cooperation,
+we should prefer open, cross-platform standards whenever possible.
+Platform-specific formats like Windows Metafile (wmf)
+or Enhanced Metafile (emf) should be avoided.
+
+The most important distinction, however, is between \E{raster graphics}
+(bitmaps, pixel maps) and \E{vector graphics}.
+In raster graphics, the coloring of each single pixel in an image
+is specified.
+Typically, for each of the three base colors,
+values between 0 and 255 can be specified.
+Additional, there may be a fourth number to indicate transparency.
+So there are three or four bytes per pixel.
+Accordingly,
+an image with $1000\times1000$ pixels (1~Megapixel) is stored in a file
+of size 3~or 4~MByte.
+
+In contrast, a graphics file in vector format specifies an image in
+terms of basic plotting operations.
+Such operations include: choice of color, pen, font;
+coordinate system transformations;
+specification of path, clippath, region;
+drawing lines, arcs, Bezier curves using chosen pen;
+printing text using characters from chosen font.
+In this way, complex plots can be stored in a file
+that takes only a few kBytes.
+
+\begin{table}
+    \begin{center}
+    \btabb @{}p{.32\TW}@{}p{.42\TW}@{} 1.1
+    \hline
+    ps, eps &vector\\
+    svg &vector, XML-based, for WWW\\
+    pbm, pgm, ppm, pnm & bitmap (b/w, grey, color, any)\\
+    bmp & bitmap, reinvented by MS\\
+    png & compressed bitmap, lossless\\
+    gif & ditto, was patented, now obsolete\\
+    jpg & compressed bitmap, lossy\\
+    tiff & container\\
+    exif & container, for multimedia\\
+    wmf, emf & container, by MS\\
+    pdf &ps-based container\\
+    \hline
+    \etabb
+    \end{center}
+\caption{Frequently used data formats}
+\label{Tgformats}
+\end{table}
+
+Advantages of vector format over bitmap:
+    \bitem
+    \I scaling without quality loss
+    \I easier manipulation
+    \I smaller files
+    \eitem
+    \bigskip
+    Therefore:
+    \bitem
+    \I don't convert to bitmap until unavoidable
+    \I usually, leave conversion to
+    \bitem \I printer / printer driver
+           \I screen viewer (\texttt{acrobat}, \texttt{evince}, \ldots) \eitem
+    \I since 2013, even MS Words understands PDF
+    \eitem
+
+\subsection{Figures in LaTeX}
+
+  [from memory, needs verification]
+
+    classic LaTeX:\\
+    \bitem \I generates PS \I includes only PS\eitem
+    \bigskip
+    pdfLaTeX:\\
+    \bitem \I generates PDF \I includes PDF and many others, but no PS\eitem
+    \bigskip
+    XeLaTeX:\\
+    \bitem \I generates PDF \I includes all current graphic formats\eitem
+
+\subsection{Workflow for Frida figures}
+    \bitem
+    \I plot commands \texttt{p}, \texttt{a}
+    \I \texttt{gp} creates e.~g.\ \url{~/gnew/l97.ps}
+    \I rename file, move to appropriate folder
+    \I open with viewer (e.~g.\ \texttt{evince})
+    \I in parallel, open with editor and modify
+    \I \texttt{bboxx -insert <filename>.ps}
+    \I \texttt{ps2pdf -dEPSCrop <filename>.ps <filename>.pdf}
+    \eitem
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section{Postscript}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\subsection{PostScript}\label{STEST}
+  Basic facts:
+  \bitem
+  \I Created around 1981, few additions
+  \I Open standard: Red Book
+  \I Lossless convertible $\leftrightarrow$ PDF, SVG
+  \I Programmable in plain ASCII
+  \eitem
+  \bigskip
+  To come:
+  \bitem
+  \I 4 slides on programming
+  \I 2 slides on plotting
+  \I then back to Frida
+  \eitem
+
+
+\subsection{Programming PostScript}
+    Compute $(780-120)/2$:
+    \bigskip
+\lstset{basicstyle=\ttfamily\normalsize}
+\begin{lstlisting}
+   780 120 sub 2 div
+\end{lstlisting}
+
+
+\subsection{Programming PostScript}
+    Convert $r=7$, $\varphi=36^\circ$ to Cartesian coordinates
+\lstset{basicstyle=\ttfamily\normalsize}
+\begin{lstlisting}
+  7 36     % -> 7 36
+  2 copy   % -> 7 36 7 36
+  cos      % -> 7 36 7 cos(36)
+  mul      % -> 7 36 x [where x=7*cos(36)]
+  3 1 roll % -> x 7 36
+  sin      % -> x 7 sin(36)
+  mul      % -> x y [where y=7*sin(36)]
+\end{lstlisting}
+
+
+\subsection{Programming PostScript}
+    Convert $r=7$, $\varphi=36^\circ$ to Cartesian coordinates
+\lstset{basicstyle=\ttfamily\normalsize}
+\begin{lstlisting}
+  7 36
+  /phi exch def
+  /r exch def
+  r phi cos mul % -> x
+  r phi sin mul % -> x y
+\end{lstlisting}
+\bigskip
+Easier and clearer, but does not allow iteration\\
+(only global namespace)
+
+
+\subsection{Programming PostScript}
+    Subroutine to convert $r$, $\varphi$ to Cartesian coordinates
+\lstset{basicstyle=\ttfamily\normalsize}
+\begin{lstlisting}
+  /polar2xy { % r phi | x y
+     2 copy   % -> r phi r phi
+     cos mul  % -> r phi x
+     3 1 roll % -> x r phi
+     sin mul  % -> x y
+  } def
+\end{lstlisting}
+\bigskip
+Application:
+\begin{lstlisting}
+  7 36 polar2xy % yields 7*cos(36) 7*sin(36)
+\end{lstlisting}
+
+
+\subsection{Programming PostScript}
+\subsubsection*{Exercises}
+This code fragment takes one operand. What does it return?
+\lstset{basicstyle=\ttfamily\normalsize}
+\begin{lstlisting}
+  dup sin exch cos div
+\end{lstlisting}
+\bigskip
+Here a piece of code that takes two operands:
+\lstset{basicstyle=\ttfamily\normalsize}
+\begin{lstlisting}
+   2 copy gt { exch } if pop
+\end{lstlisting}
+
+
+\subsection{Plotting with PostScript}
+\lstset{basicstyle=\ttfamily\normalsize}
+\begin{lstlisting}
+%!PS
+/Helvetica 20 selectfont
+70 700 moveto
+(Hello world!) show
+showpage
+\end{lstlisting}
+
+
+\subsection{Plotting with PostScript}
+\begin{minipage}[b]{.4\textwidth}
+\begin{lstlisting}
+%!PS
+
+150 250 moveto
+0 400 rlineto
+200 0 rlineto
+stroke
+
+1 0 0 setrgbcolor
+/Helvetica 24 selectfont
+225 580 moveto
+(Hello world!) show
+
+0 1 0 setrgbcolor
+10 setlinewidth
+newpath
+250 450 80 0 270 arc
+250 450 40 270 0 arcn
+stroke
+
+0 0 1 setrgbcolor
+310 290 2 copy 2 copy
+moveto
+40 20 340 arc
+moveto
+closepath fill
+
+showpage
+\end{lstlisting}
+\end{minipage}
+\hfill
+\begin{minipage}[b]{.45\textwidth}
+\includegraphics[width=1\textwidth]{ex2.pdf}
+\end{minipage}
+\hfill\strut
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section{Postprocessing Frida graphics}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\subsection{PostScript generated by Frida}
+\subsubsection*{Basic structure of Frida .ps file}
+\begin{lstlisting}
+%!PS-Adobe-2.0
+... [ca 1600 lines with macro definitions]
+%%  Mark "ewu", the end of the wups.. macro definition file
+
+... [ca 50 lines to set up page and plot style]
+%%  Mark "ecu", end of the customization section
+
+%% output created by frida2
+... [ca 20 lines to plot frame and labels]
+... [data blocks]
+... [metadata]
+\end{lstlisting}
+
+
+\subsection{Global settings}
+\subsubsection*{plot frame}
+
+after mark "ewu", in each Frida .ps file, or globally in g3.ps
+
+\begin{lstlisting}
+10 dup autolabel defsiz   % overall size (sublinear labels)
+1 dup geld stdred         % linear reduction; aspect ratio
+2 -11 setnewpage newpage  % offset
+\end{lstlisting}
+\bigskip
+use aspect ratio macros:
+\begin{lstlisting}
+/gyld {0.447214 mul} def /Gyld {0.447214 div} def
+/guld {0.547723 mul} def /Guld {0.547723 div} def
+/gold {0.618034 mul} def /Gold {0.618034 div} def
+/gild {0.707107 mul} def /Gild {0.707107 div} def
+/geld {0.759836 mul} def /Geld {0.759836 div} def
+/gald {0.817765 mul} def /Gald {0.817765 div} def
+\end{lstlisting}
+or none for a square frame
+
+\subsubsection*{global switches}
+\begin{lstlisting}
+1 1 InfSet
+% argument 1 : print file name ? (0=no, 1=yes)
+% argument 2 : print metadata ? (ditto)
+
+1 dup 2 SymGSet
+% argument 1 : size of plot symbols
+% argument 2 : linewidth for plot symbols
+% argument 3 : print error bar ? (0=no, 1=yes, 2=depends)
+\end{lstlisting}
+
+\subsubsection*{plot symbol selection}
+\begin{lstlisting}
+F /pcol x def % change F -> T for black & white
+{ 8 aCol5 iColA } /ipCol x bind def
+  % number of colors
+  % colour style aCol1,..,aCol5
+
+/pStyles [
+% now different lines for pstyle = 1, 2, 3, ...
+{ pcol {1 1 0 1. 1. pset} {11 0 0 1. 1. pset 0 ipCol} ifelse }
+...
+% first variant is black&white, second is color (default)
+
+% arguments of pset:
+% - plot symbol (1=square, 2=diamond, ..., 11=plus, ...)
+% - filled ? (0=no, 1=yes)
+% - with error bar? (0=no, 1=yes, unless preset!=2)
+% - symbol size, relativ to global preset
+% - symbol line width, relativ to global preset
+\end{lstlisting}
+
+\subsubsection*{line style selection for curves}
+\begin{lstlisting}
+T /ccol x def % change T -> F for color
+{ 8 aCol2 iColA } /icCol x bind def % as above
+
+/cStyles [
+% now different lines for cstyle = 1, 2, 3, ...
+{ ccol { 1. [ ] lset } { 1. [ ] lset  0 icCol } ifelse }
+...
+% first variant is black&white (default), second is color
+
+% arguments of lset:
+% - linewidth
+% - dashes, e.g. [.1 .1] [.15 .05] [.12 .06 .03 .06]
+\end{lstlisting}
+
+
+\subsection{Coordinate frame}
+
+After mark "ecu", in each Frida .ps file.
+Here for x (similar for y):
+
+\begin{lstlisting}
+0 -32 32 xSetCoord % log_flag x_low x_hig [read only]
+
+/xPlotFrame {
+  [
+    1.875000 {(-20)}
+    5.000000 {(0)}
+    8.125000 {(20)}
+  ] SetTacVec
+  -1.25 11.25 5 4 SetTicVecLin
+  {(E  (ueV))} % label [often needs postprocessing]
+   0 10   0  0     0  90 OneAxx Axx Tic Tac xNumL %% low x axis
+   0 10   0 10     0 270 OneAxx Axx Tic Tac       %% top x axis
+  xCL
+} def
+\end{lstlisting}
+
+\subsection{Text}
+\subsubsection*{using Frida's PostScript macros}
+Generic format:\\[.8ex]
+\texttt{\{$X*$ (text)\}}\\[.8ex]
+where \texttt{$X*$} stands for 0,1,\ldots\ repeats of\\[.8ex]
+\texttt{(normal\_text) (modifiable\_text) operator}
+\bigskip
+
+Operators:\\
+\btabb @{}p{.1\TW}@{}p{.3\TW}@{}p{.44\TW}@{}p{.16\TW}@{} 1.2
+\texttt{g} & greek & \texttt{\{()(e)g()\}} & $\epsilon$\\
+\texttt{sb} & subscript & \texttt{\{(E)(f)sb( - E)(i)sb()\}} & $E_f - E_i$ \\
+\texttt{sp} & superscript & \texttt{\{(m c)(2)sp()\}} & $m\,c^2$ \\
+\texttt{sbgr} & greek subscript & \texttt{\{(K)(a)sbgr()\}} & $K_\alpha$ \\
+\texttt{spgr} & greek superscript & \texttt{\{(n)(3-)sp()(h)spgr()\}} & $n^{3-\eta}$\\
+\etabb
+
+
+\subsection{Text}
+
+Greek character set also contains special symbols:
+
+\btabb @{}p{.44\TW}@{}p{.36\TW}@{} 1.2
+\texttt{\{()(\ttbs341t\ttbs361)g()\}} & $\langle \tau\rangle$\\
+\texttt{\{()(\ttbs261)g(60)(\ttbs260)g()\}} & $\pm 60^\circ$\\
+\etabb
+
+
+\includegraphics[width=1\textwidth]{symbols.pdf}
+
+
+\subsection{Text}
+
+\subsubsection*{Parentheses}
+PostScript string may contain matched parentheses:\\
+\btabb @{}p{.64\TW}@{}p{.36\TW}@{} 1.2
+\texttt{\{(E  (meV))\}} & E (meV)\\
+\etabb\\
+\bigskip
+Unmatched parentheses must be escaped:\\
+\btabb @{}p{.64\TW}@{}p{.36\TW}@{} 1.2
+\texttt{\{(E  \ttbs() (m)g(eV\ttbs))\}} & E ($\mu$eV)\\
+\texttt{\{(S  \ttbs(q,)(w)g(\ttbs)  \ttbs()(m)g(eV\ttbs))(-1)sp()\}} & $S(q,\omega)$  ($\mu$eV$^{-1}$)\\
+\etabb
+
+
+\subsection{Text}
+\subsubsection*{Macros}
+Generic format:\\[.8ex]
+\texttt{\{$X*$ (text)\}}\\[.8ex]
+where \texttt{$X*$} stands for 0,1,\ldots\ repeats of any of the following\\[.8ex]
+\texttt{(normal\_text) (modifiable\_text) operator}\\
+\texttt{(normal\_text) macro}\\
+\bigskip
+\begin{minipage}[t]{.51\textwidth}
+\btabb @{}p{.58\TW}@{}p{.42\TW}@{} 1.2
+\texttt{\{()hbar()\}} & $\hbar$\\
+\texttt{\{()hbarw()\}} & $\hbar\omega$\\
+\texttt{\{()Sqw()\}} & $S(q,\omega)$\\
+\texttt{\{()ueV()\}} & $\mu$eV\\
+\texttt{\{()inueV()\}} & ($\mu$eV)\\
+\texttt{\{()inueVr()\}} & ($\mu$eV)$^{-1}$\\
+\texttt{\{()inmeVr()\}} & (meV)$^{-1}$\\
+\texttt{\{()Sqw(  )inueVr()\}} & $S(q,\omega)$ ($\mu$eV)$^{-1}$\\
+\etabb\\
+\end{minipage}
+\hfill
+\begin{minipage}[t]{.48\textwidth}
+\btabb @{}p{.72\TW}@{}p{.28\TW}@{} 1.2
+\texttt{\{()wbar()\}} & $\omega/2\pi$\\
+\texttt{\{()taumean()\}} & $\bar{\tau}$\\
+\texttt{\{()Angstr()\}} & \AA\\
+\texttt{\{()Angr()\}} & \AA$^{-1}$\\
+\texttt{\{()inAngr()\}} & (\AA$^{-1}$)\\
+\texttt{\{()inAngrr()\}} & (\AA$^{-2}$)\\
+\texttt{\{(q)(2)sp(  )inAngrr()\}} & $q^2$ (\AA$^{-2}$)\\ &\\
+\etabb\\
+\end{minipage}
+
+
+\subsection{Legend}
+\begin{minipage}[b]{.58\textwidth}
+\begin{lstlisting}
+2 8 21 1.8 NewList
+% arguments: x y fontsize linespacing
+{(q = 1.2 )Angr()} TxLine
+1 {(    4 K)} PtTxLine
+2 {(200 K)} PtTxLine
+3 {(240 K)} PtTxLine
+4 {(280 K)} PtTxLine
+\end{lstlisting}
+\end{minipage}
+\hfill
+\begin{minipage}[b]{.26\textwidth}
+\includegraphics[width=1\textwidth]{legend.pdf}
+\end{minipage}
+
+
+\subsection{Other text in figure}
+\begin{lstlisting}
+21 setown % set font size
+
+5 5 {(centered text)} textCM
+1 1 {(bottom left aligned)} textLB
+9 9 {(top right aligned)} textRT
+
+5 5 60 {(rotated by 60)(\260)g()} rtextCM
+\end{lstlisting}
diff --git a/doc/ps/Setup.tex b/doc/ps/Setup.tex
new file mode 100644
index 0000000000000000000000000000000000000000..996aa7dfcebc80d8b6db859a959a8923037fb13c
--- /dev/null
+++ b/doc/ps/Setup.tex
@@ -0,0 +1,271 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%%   BornAgain User Manual
+%%
+%%   homepage:   http://www.bornagainproject.org
+%%
+%%   copyright:  Forschungszentrum Jülich GmbH 2015
+%%
+%%   license:    Creative Commons CC-BY-SA
+%%
+%%   authors:    Scientific Computing Group at MLZ Garching
+%%               C. Durniak, M. Ganeva, G. Pospelov, W. Van Herck, J. Wuttke
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\let\angstrom=\AA
+
+%-------------------------------------------------------------------------------
+%  Page layout
+%-------------------------------------------------------------------------------
+
+% Horizontal setup
+\textwidth=410pt
+\hoffset=210mm % width of A4
+\advance\hoffset by -1\textwidth
+\hoffset=0.5\hoffset
+\advance\hoffset by -1in
+% Now a slight assymmetry to leave more blank on the side of the fold
+\evensidemargin=0pt
+\oddsidemargin=5pt
+\advance\evensidemargin by -1\oddsidemargin
+
+\def\myparindent{5ex}
+\setlength{\parindent}{\myparindent} % workaround, for colorboxes
+
+% Vertical setup
+\setlength{\headheight}{0pt}
+\setlength{\headsep}{10pt}
+\setlength{\textheight}{630pt} % default=592pt
+\setlength{\footskip}{45pt}
+\setlength{\marginparwidth}{7em}
+\renewcommand{\baselinestretch}{1.02}
+
+\renewcommand{\arraystretch}{1.3}
+
+%-------------------------------------------------------------------------------
+%  Symbols, fonts
+%-------------------------------------------------------------------------------
+
+\usepackage{amsmath}
+\usepackage{mathtools} % has \coloneqq for :=
+% \usepackage{manfnt} % for \dbend
+\usepackage{dingbat}
+\usepackage{amssymb}
+
+\usepackage[bold-style=ISO]{unicode-math} % must come after ams and symbols
+% from unicode-0.8, use \symbf instead of \mathbf
+% see https://github.com/wspr/unicode-math/issues/340
+%     http://apps.jcns.fz-juelich.de/redmine/issues/1293
+\newif\ifolducm
+\makeatletter
+\@ifpackagelater{unicode-math}{2014/07/01}{\olducmfalse}{\olducmtrue}
+\makeatother
+
+%-------------------------------------------------------------------------------
+%  Sectioning
+%-------------------------------------------------------------------------------
+
+% Add rubber to white space around chapter header
+\makeatletter
+\newif\ifnumberedchapter
+\def\@makechapterhead#1{\numberedchaptertrue\mychapterhead{#1}}
+\def\@makeschapterhead#1{\numberedchapterfalse\mychapterhead{#1}}
+
+\def\mychapterhead#1{%
+  \vspace*{50\p@ plus 10\p@ minus 10\p@}%
+  {\parindent \z@ \normalfont
+    \ifnumberedchapter
+    \raggedright
+    \Large\bfseries \@chapapp\space \thechapter
+    \par\nobreak
+    \vskip 20\p@ plus 4\p@ minus 4\p@
+    \interlinepenalty\@M
+    \fi
+%    \hrule
+    \vskip 10\p@ plus 2\p@ minus 2\p@
+    \interlinepenalty\@M
+    \raggedright
+  \huge \bfseries #1\par\nobreak
+    \interlinepenalty\@M
+    \vskip 10\p@ plus 2\p@ minus 2\p@
+%    \hrule
+    \interlinepenalty\@M
+    \vskip 40\p@ plus 8\p@ minus 8\p@
+  }}
+
+\def\otherchapter#1{
+  \clearpage
+  \phantomsection
+  \addcontentsline{toc}{chapter}{#1}
+  \markboth{#1}{#1}}
+
+\def\ichapter#1{\chapter*{#1}\addcontentsline{toc}{chapter}{#1}}
+\def\isection#1{\section*{#1}\addcontentsline{toc}{section}{#1}}
+
+\renewcommand\section{\@startsection {section}{1}{\z@}%
+                                   {-3.5ex \@plus -1.5ex \@minus -.5ex}%
+                                   {2.3ex \@plus .8ex \@minus .5ex}%
+                                   {\normalfont\Large\bfseries}}
+\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
+                                     {-3.25ex\@plus -1.3ex \@minus -.4ex}%
+                                     {1.5ex \@plus .5ex \@minus .3ex}%
+                                     {\normalfont\large\bfseries}}
+% from size11.clo
+\renewcommand\normalsize{
+   \@setfontsize\normalsize\@xipt{13.6}%
+   \abovedisplayskip 11\p@ \@plus7\p@ \@minus6\p@
+   \abovedisplayshortskip \z@ \@plus3\p@
+   \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
+   \belowdisplayskip \abovedisplayskip
+   \let\@listi\@listI}
+\makeatother
+
+\setcounter{secnumdepth}{3}
+\setcounter{tocdepth}{3}
+%\usepackage[toc,page]{appendix}
+\usepackage{titlesec}
+
+%-------------------------------------------------------------------------------
+%  Index, List of Symbols
+%-------------------------------------------------------------------------------
+
+\usepackage{imakeidx}
+\makeindex
+
+\usepackage[refpage]{nomencl}
+\makenomenclature
+\renewcommand{\nomname}{List of Symbols}
+  % see nomencl.txt for how to force the ordering of symbols
+
+%-------------------------------------------------------------------------------
+%  Improve LaTeX basics
+%-------------------------------------------------------------------------------
+
+\usepackage{enumitem}
+\usepackage{subfigure}
+
+\usepackage{placeins} % defines \FloatBarrier
+\usepackage{float}
+\usepackage[font={small}]{caption}
+
+%-------------------------------------------------------------------------------
+%  Tables, code listings, ...
+%-------------------------------------------------------------------------------
+
+\usepackage{longtable}
+%\usepackage{booktabs} % defines \toprule &c for use in tabular
+% see http://tex.stackexchange.com/questions/78075/multi-page-with-tabulary
+\usepackage{tabulary}
+
+\usepackage[final]{listings}
+% \usepackage{lstcustom}
+\lstset{basicstyle=\ttfamily\footnotesize,language=postscript,commentstyle=\color{blue}}
+% ,style=eclipseboxed,numbers=none,nolol,escapeinside={<@}{@>}} % usage: <@\textcolor{red}{red text}@>
+
+%-------------------------------------------------------------------------------
+%  Tikz pictures
+%-------------------------------------------------------------------------------
+
+\usepackage{tikz}
+%\usepackage{tikz-uml}
+\usetikzlibrary{trees,matrix,positioning,decorations.pathreplacing,calc}
+
+\newcommand{\ntikzmark}[2]
+           {#2\thinspace\tikz[overlay,remember picture,baseline=(#1.base)]
+             {\node[inner sep=0pt] (#1) {};}}
+
+\newcommand{\makebrace}[3]{%
+    \begin{tikzpicture}[overlay, remember picture]
+        \draw [decoration={brace,amplitude=0.6em},decorate]
+        let \p1=(#1), \p2=(#2) in
+        ({max(\x1,\x2)}, {\y1+1.5em}) -- node[right=0.6em] {#3} ({max(\x1,\x2)}, {\y2});
+    \end{tikzpicture}
+}
+
+%-------------------------------------------------------------------------------
+%  Highlighting
+%-------------------------------------------------------------------------------
+
+\usepackage{ifdraft}
+\usepackage{mdframed}
+\input FixMdframed % bug fix to prevent erroneous page breaks
+% doesnt work:
+%\newcommand\widow{%
+%  \widowpenalty=10000
+%
+%  \widowpenalty=150}
+
+\def\defineBox#1#2#3#4#5{
+  \newmdenv[
+    usetwoside=false,
+    skipabove=3pt minus 1pt plus 3pt,
+    skipbelow=3pt minus 1pt plus 3pt,
+    leftmargin=-4pt,
+    rightmargin=-4pt,
+    innerleftmargin=2pt,
+    innerrightmargin=2pt,
+    innertopmargin=4pt,
+    innerbottommargin=4pt,
+    backgroundcolor=#3,
+    topline=false,
+    bottomline=false,
+    linecolor=#4,
+    linewidth=2pt,
+    ]{#2*}
+  \newenvironment{#1}
+    {\begin{#2*}\makebox[0pt][r]{\smash{#5}}\ignorespaces}
+    {\end{#2*}\mdbreakon}
+}
+
+\def\mdbreakoff{\makeatletter\booltrue{mdf@nobreak}\makeatother}
+\def\mdbreakon{\makeatletter\boolfalse{mdf@nobreak}\makeatother}
+
+\def\marginSymbolLarge#1#2{\ifdraft{\textbf{#2~~~~}}{\raisebox{-3ex}%
+{\includegraphics[width=3em]{#1}\hspace{10pt}}}}
+
+\defineBox{boxWork}{boxxWork}{magenta!40}{magenta}
+  {\marginSymbolLarge{fig/icons/Arbeiten.png}{TODO}}
+\defineBox{boxWarn}{boxxWarn}{magenta!40}{magenta}
+  {\marginSymbolLarge{fig/icons/Achtung.png}{WARN}}
+\defineBox{boxNote}{boxxNote}{yellow!33}{yellow}{{}}
+\defineBox{boxTuto}{boxxTuto}{blue!20}{blue}{{}}
+\defineBox{boxEmph}{boxxEmph}{green!20}{green}{{}}
+
+\def\Warn#1{\begin{boxWarn}#1\end{boxWarn}}
+\def\Work#1{\begin{boxWork}#1\end{boxWork}}
+\def\Note#1{\begin{boxNote}#1\end{boxNote}}
+\def\Tuto#1{\begin{boxTuto}#1\end{boxTuto}}
+\def\Emph#1{\begin{boxEmph}#1\end{boxEmph}}
+\def\Emphc#1{\begin{boxEmph}#1\vskip -5pt\end{boxEmph}}
+
+\def\MissingSection{\begin{boxWork}\ldots\ to be written \ldots\end{boxWork}}
+
+% % OLD STYLE:
+%
+% \newcommand{\BareRemark}[1]%
+% {\noindent\smallpencil\colorbox{blue!10}%
+% {\parbox{\dimexpr\linewidth-8\fboxsep}{#1}}}
+%
+% \newcommand{\MakeRemark}[2]{\BareRemark{\underline{#1} #2 }}
+%
+% \newcommand{\ImportantPoint}[2]
+% {\noindent
+%   {\huge\danger}\colorbox{magenta!40}{\parbox{\dimexpr\linewidth-8\fboxsep}
+%  {\underline{#1} #2}}}
+
+
+%-------------------------------------------------------------------------------
+%  Hyperref
+%-------------------------------------------------------------------------------
+
+\usepackage[final]{hyperref} % wants to be included last
+\hypersetup{
+    colorlinks,
+    linkcolor={red!50!black},
+    citecolor={blue!50!black},
+    urlcolor={blue!80!black},
+    pdftitle={BornAgain User Manual} % seems to be ignored
+}
+\def\tuto#1#2{\href{http://bornagainproject.org/node/#1}{#2}}
+\ifdraft{\usepackage[right]{showlabels}}{}
diff --git a/doc/ps/Title.tex b/doc/ps/Title.tex
new file mode 100644
index 0000000000000000000000000000000000000000..4e3aa5e1bd9a0562f8674ac41fdd8c6e82d72bb0
--- /dev/null
+++ b/doc/ps/Title.tex
@@ -0,0 +1,48 @@
+
+% \input{UserManualVersion} % defines command UserManualVersionNumber
+
+%-------------------------------------------------------------------------------
+%  Title page
+%-------------------------------------------------------------------------------
+
+\thispagestyle{empty}
+\strut\vspace{10mm}
+\begin{center}
+\Huge
+{\bf Frida}\\[10mm]
+\Large
+Graphics postprocessing\\[10mm]
+\large
+Version \UserManualVersionNumber\ (\today)\\\vfill
+\Large
+Joachim Wuttke\\[10mm]
+\large
+Scientific Computing Group\\[.2ex]
+J\"ulich Centre for Neutron Science\\[.2ex]
+at Heinz Maier-Leibnitz Zentrum Garching\\[.2ex]
+Forschungszentrum J\"ulich GmbH
+\end{center}
+\newpage
+
+%------------------------------------------------------------------------------
+%	DOCUMENT
+%------------------------------------------------------------------------------
+
+
+% Back of title page.
+\thispagestyle{empty}
+~\vfill
+\noindent
+\begin{tabular}{@{}p{7em}@{}l@{}}
+Homepage:  &\url{http://apps.jcns.fz-juelich.de/frida}\\[2ex]
+Copyright:  &  Forschungszentrum Jülich GmbH 2016--\the\year\\[2ex]
+Licenses:   &Software: GNU General Public License version 3 or higher\\
+            &Documentation: Creative Commons CC-BY-SA\\[2ex]
+Author :    &Joachim Wuttke\\
+            &Scientific Computing Group\\
+            &at Heinz Maier-Leibnitz Zentrum (MLZ) Garching\\[2ex]
+Disclaimer: &Software and documentation are work in progress.\\
+            &We cannot guarantee correctness and accuracy.\\
+            &If in doubt, contact us for assistance or scientific collaboration.
+\end{tabular}
+\newpage
diff --git a/doc/ps/ex2.pdf b/doc/ps/ex2.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..506fee5a75ee0efd88bffd640077452d979cdd0e
--- /dev/null
+++ b/doc/ps/ex2.pdf
@@ -0,0 +1,92 @@
+%PDF-1.4
+%Ç쏢
+5 0 obj
+<</Length 6 0 R/Filter /FlateDecode>>
+stream
+xœMQËNÃ@¼û+Ì
.ËÚñ>rEBåJ›?´JTµúûØëM©V‘_ã±Ç¹`„Ñ^·ó
+¯û‚§_ ˆ7ˆ¸ÓOÝUDuàïþ¼íz‚‹uØëf^ñmR²Š,8;°$Âi…çïe9ãí|]¾ž^¦xŸàSY|°á÷; ª1Ƕ‚û’(TFi–+ÙL«˜7CJ5PÉòCoL³i@JY7<ñFÔ¼ÜÏMh)cˆ£GÙÒ¥¶Dþçl.1Œ*Òá,÷ÝÄ)™[ÝòÐá3ÀO¥W%cW?–ªî+9T%_4C5KÕ'º”)ÊØ.b~|›–6幏äÎm{™&—´Á7tjKö©DÉïÖ÷â2­)ø¨¿ñvÿtmendstream
+endobj
+6 0 obj
+293
+endobj
+4 0 obj
+<</Type/Page/MediaBox [0 0 201 402]
+/Rotate 0/Parent 3 0 R
+/Resources<</ProcSet[/PDF /Text]
+/ExtGState 9 0 R
+/Font 10 0 R
+>>
+/Contents 5 0 R
+>>
+endobj
+3 0 obj
+<< /Type /Pages /Kids [
+4 0 R
+] /Count 1
+>>
+endobj
+1 0 obj
+<</Type /Catalog /Pages 3 0 R
+/Metadata 11 0 R
+>>
+endobj
+7 0 obj
+<</Type/ExtGState
+/OPM 1>>endobj
+9 0 obj
+<</R7
+7 0 R>>
+endobj
+10 0 obj
+<</R8
+8 0 R>>
+endobj
+8 0 obj
+<</BaseFont/Helvetica/Type/Font
+/Subtype/Type1>>
+endobj
+11 0 obj
+<</Type/Metadata
+/Subtype/XML/Length 1344>>stream
+<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
+<?adobe-xap-filters esc="CRLF"?>
+<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
+<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
+<rdf:Description rdf:about='uuid:ed4a5f8c-5467-11f1-0000-03e49cbc6693' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.19'/>
+<rdf:Description rdf:about='uuid:ed4a5f8c-5467-11f1-0000-03e49cbc6693' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2016-05-17T18:21:15+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2016-05-17T18:21:15+02:00</xmp:CreateDate>
+<xmp:CreatorTool>UnknownApplication</xmp:CreatorTool></rdf:Description>
+<rdf:Description rdf:about='uuid:ed4a5f8c-5467-11f1-0000-03e49cbc6693' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:ed4a5f8c-5467-11f1-0000-03e49cbc6693'/>
+<rdf:Description rdf:about='uuid:ed4a5f8c-5467-11f1-0000-03e49cbc6693' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+</rdf:RDF>
+</x:xmpmeta>
+                                                                        
+                                                                        
+<?xpacket end='w'?>
+endstream
+endobj
+2 0 obj
+<</Producer(GPL Ghostscript 9.19)
+/CreationDate(D:20160517182115+02'00')
+/ModDate(D:20160517182115+02'00')>>endobj
+xref
+0 12
+0000000000 65535 f 
+0000000615 00000 n 
+0000002265 00000 n 
+0000000556 00000 n 
+0000000397 00000 n 
+0000000015 00000 n 
+0000000378 00000 n 
+0000000680 00000 n 
+0000000780 00000 n 
+0000000721 00000 n 
+0000000750 00000 n 
+0000000844 00000 n 
+trailer
+<< /Size 12 /Root 1 0 R /Info 2 0 R
+/ID [<9F212B772493F43C7E6401617033D592><9F212B772493F43C7E6401617033D592>]
+>>
+startxref
+2388
+%%EOF
diff --git a/doc/ps/legend.pdf b/doc/ps/legend.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..8db8dcba6c62fb020f01565774b2aa45de535041
Binary files /dev/null and b/doc/ps/legend.pdf differ
diff --git a/doc/ps/symbols.pdf b/doc/ps/symbols.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..7d64fe163f81b093b7d5fab8bf906e48c14c6ca0
Binary files /dev/null and b/doc/ps/symbols.pdf differ
diff --git a/pub/share/wups11a.ps b/pub/share/wups11a.ps
index 7c2d7d3e788fa88c0a05ff4b4a29022b1c0037c8..e84f9e9826dadeb3372a7976e6db989bcd4f3ddb 100644
--- a/pub/share/wups11a.ps
+++ b/pub/share/wups11a.ps
@@ -3,7 +3,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%  FRIDA: fast reliable interactive data analysis                           %%
 %%  wups11a.ps: graphic macros                                               %%
-%%  (C) Joachim Wuttke 1990-2011                                             %%
+%%  (C) Joachim Wuttke 1990-2016                                             %%
 %%  http://www.messen-und-deuten.de/frida                                    %%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
@@ -586,7 +586,7 @@ WuGdict11a begin
    blabla endall
    xwidth % has been determined
    } def
-/textw { % obj textW y : dito, in 0..10-units
+/textw { % obj | y : dito, in 0..10-units
    textW xmm div
    } def
 
@@ -1476,13 +1476,15 @@ WuGdict11a begin
 
 %%  special objects
 
+/pfeilangle 36.87 def
 /pfeilspitze { % x[local] y[local] rot siz
    % draw with current linestyle, as set e.g. by linsetAxx
    x 4 2 roll % siz rot x y
    gsave
      xym translate 180 add rotate dup dup dup
      [] 0 setdash
-     .8 mul x .6 mul np mv 0 0 li .8 mul x -.6 mul li st
+     pfeilangle cos mul x pfeilangle sin mul np mv
+     0 0 li pfeilangle cos mul x pfeilangle sin neg mul li st
    grestore
    } def
 /pfeiL { % (arrow anchored at base) x y rot siz len
@@ -1554,27 +1556,15 @@ WuGdict11a begin
       splng -.5 mul fm 0 np mv splng fm 0 rl st grestore
    } def
 
-% broken:
-/setBemasz { % textsize textspace arrowsize arrowthick | -
-    /bmszTH x def
-    /bmszSZ x def
-    /bmszSP x def
-    /bmszOW x def
-   } def
-18 .2 .5 .01 setBemasz
-/Bemasz { % x y dx ang text_ang text | -
+/bemasz { % x y L ang text | - %% precede by '24 setown 1 [] lset /pfeilangle 90 def'
     gsave
-    6 4 roll offset % consumes x and y
-    3 2 roll rotate % consumes ang | dx text_ang text
-    bmszOW setown
-    x /bmszRT x def
-    x 2 div x 2 copy % dx/2 text dx/2 text
-    textw 2 div bmszSP add % dx/2 text dx/2 halflabelwidth
-       % ACHTUNG: fuer bmszRT <> 0 ist textw NOCH FALSCH
-    4 1 roll 0 3 2 roll bmszRT x rtextCM % hlw dx/2
-    dup 2 mul 3 1 roll x sub dup % dx len len
-    0 0 180 4 -1 roll bmszSZ bmszTH arrow % dx len
-    x 0 0 4 -1 roll  bmszSZ bmszTH arrow
+    5 3 roll offset % consumes x and y
+    x rotate % consumes ang | L text
+    dup textw .5 mul fontheight .4 mul add /bmszDT x def % => half text width
+    0 0 3 2 roll textCM % L
+    .5 mul /bmszDX x def % => half bemasz length
+    bmszDX     0   0 fontheight .67 mul bmszDX bmszDT sub Pfeil
+    bmszDX neg 0 180 fontheight .67 mul bmszDX bmszDT sub Pfeil
     grestore
    } def