diff --git a/old/gcode/colour-table2.ps b/old/gcode/colour-table2.ps
deleted file mode 100755
index 3fd63f74525248ce437d86270824bbd5986c109e..0000000000000000000000000000000000000000
--- a/old/gcode/colour-table2.ps
+++ /dev/null
@@ -1,273 +0,0 @@
-WuGdict97a begin %% the following lines are produced by g3.ps
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%                                                                           %%
-%%                            Switchboard                                    %%
-%%                                                                           %%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-17.5 dup geld x deftot
-fullpage {EdgeLeftDIN 1.7 -12 1} {-10 -10 1} ifelse
-/psize x def offset
-/mainscale { psize psize psize defred } def mainscale
-0 0 offset % positive offset moves it right and up.
-
-0 0 InfSet % plot fnam, info
-3 dup 2 SymGSet % slin srad serr(2=from pset) : graph symbols, global preset
-
-/next { dx dy offset } bind def
-
-/iCol { % n_this n_tot iCol - : starting with red, round the circle
-   div dup truncate sub 3 mul
-   dup 1 le {
-      dup 1 sub neg 0 3 2 roll } {
-      dup 2 le {
-         1 sub dup 1 sub neg 0 3 1 roll } {
-         2 sub dup 1 sub neg 0 3 0 roll } ifelse
-      } ifelse
-   0 setcmykcolor
-} def
-
-1 100 pColSet % arg1: color on/off; arg2: max no. of colours
-/pStyles [
-{ {  1 0 0 1. 1. pset } { 1 1 0 1. 1. pset  1 ipCol} ifpcol } %  1
-{ {  1 1 0 1. 1. pset } { 1 1 0 1. 1. pset  2 ipCol} ifpcol } %  2
-{ {  2 0 0 1. 1. pset } { 1 1 0 1. 1. pset  3 ipCol} ifpcol } %  3
-{ {  2 1 0 1. 1. pset } { 1 1 0 1. 1. pset  4 ipCol} ifpcol } %  4
-{ {  3 0 0 1. 1. pset } { 1 1 0 1. 1. pset  5 ipCol} ifpcol } %  5
-{ {  3 1 0 1. 1. pset } { 1 1 0 1. 1. pset  6 ipCol} ifpcol } %  6
-{ {  4 0 0 1. 1. pset } { 1 1 0 1. 1. pset  7 ipCol} ifpcol } %  7
-{ {  4 1 0 1. 1. pset } { 1 1 0 1. 1. pset  8 ipCol} ifpcol } %  8
-{ {  5 0 0 1. 1. pset } { 1 1 0 1. 1. pset  9 ipCol} ifpcol } %  9
-{ {  5 0 0 1. 1. pset } { 1 1 0 1. 1. pset 10 ipCol} ifpcol } %  9
-{ {  1 0 0 1. 1. pset } { 1 1 0 1. 1. pset 11 ipCol} ifpcol } %  1
-{ {  1 1 0 1. 1. pset } { 1 1 0 1. 1. pset 12 ipCol} ifpcol } %  2
-{ {  2 0 0 1. 1. pset } { 1 1 0 1. 1. pset 13 ipCol} ifpcol } %  3
-{ {  2 1 0 1. 1. pset } { 1 1 0 1. 1. pset 14 ipCol} ifpcol } %  4
-{ {  3 0 0 1. 1. pset } { 1 1 0 1. 1. pset 15 ipCol} ifpcol } %  5
-{ {  3 1 0 1. 1. pset } { 1 1 0 1. 1. pset 16 ipCol} ifpcol } %  6
-{ {  4 0 0 1. 1. pset } { 1 1 0 1. 1. pset 17 ipCol} ifpcol } %  7
-{ {  4 1 0 1. 1. pset } { 1 1 0 1. 1. pset 18 ipCol} ifpcol } %  8
-{ {  5 0 0 1. 1. pset } { 1 1 0 1. 1. pset 19 ipCol} ifpcol } %  9
-{ {  5 0 0 1. 1. pset } { 1 1 0 1. 1. pset 20 ipCol} ifpcol } %  9
-{ {  1 0 0 1. 1. pset } { 1 1 0 1. 1. pset 21 ipCol} ifpcol } %  1
-{ {  1 1 0 1. 1. pset } { 1 1 0 1. 1. pset 22 ipCol} ifpcol } %  2
-{ {  2 0 0 1. 1. pset } { 1 1 0 1. 1. pset 23 ipCol} ifpcol } %  3
-{ {  2 1 0 1. 1. pset } { 1 1 0 1. 1. pset 24 ipCol} ifpcol } %  4
-{ {  3 0 0 1. 1. pset } { 1 1 0 1. 1. pset 25 ipCol} ifpcol } %  5
-{ {  3 1 0 1. 1. pset } { 1 1 0 1. 1. pset 26 ipCol} ifpcol } %  6
-{ {  4 0 0 1. 1. pset } { 1 1 0 1. 1. pset 27 ipCol} ifpcol } %  7
-{ {  4 1 0 1. 1. pset } { 1 1 0 1. 1. pset 28 ipCol} ifpcol } %  8
-{ {  5 0 0 1. 1. pset } { 1 1 0 1. 1. pset 29 ipCol} ifpcol } %  9
-{ {  5 0 0 1. 1. pset } { 1 1 0 1. 1. pset 30 ipCol} ifpcol } %  9
-{ {  1 0 0 1. 1. pset } { 1 1 0 1. 1. pset 31 ipCol} ifpcol } %  1
-{ {  1 1 0 1. 1. pset } { 1 1 0 1. 1. pset 32 ipCol} ifpcol } %  2
-{ {  2 0 0 1. 1. pset } { 1 1 0 1. 1. pset 33 ipCol} ifpcol } %  3
-{ {  2 1 0 1. 1. pset } { 1 1 0 1. 1. pset 34 ipCol} ifpcol } %  4
-{ {  3 0 0 1. 1. pset } { 1 1 0 1. 1. pset 35 ipCol} ifpcol } %  5
-{ {  3 1 0 1. 1. pset } { 1 1 0 1. 1. pset 36 ipCol} ifpcol } %  6
-{ {  4 0 0 1. 1. pset } { 1 1 0 1. 1. pset 37 ipCol} ifpcol } %  7
-{ {  4 1 0 1. 1. pset } { 1 1 0 1. 1. pset 38 ipCol} ifpcol } %  8
-{ {  5 0 0 1. 1. pset } { 1 1 0 1. 1. pset 39 ipCol} ifpcol } %  9
-{ {  5 0 0 1. 1. pset } { 1 1 0 1. 1. pset 40 ipCol} ifpcol } %  9
-{ {  1 0 0 1. 1. pset } { 1 1 0 1. 1. pset 41 ipCol} ifpcol } %  1
-{ {  1 1 0 1. 1. pset } { 1 1 0 1. 1. pset 42 ipCol} ifpcol } %  2
-{ {  2 0 0 1. 1. pset } { 1 1 0 1. 1. pset 43 ipCol} ifpcol } %  3
-{ {  2 1 0 1. 1. pset } { 1 1 0 1. 1. pset 44 ipCol} ifpcol } %  4
-{ {  3 0 0 1. 1. pset } { 1 1 0 1. 1. pset 45 ipCol} ifpcol } %  5
-{ {  3 1 0 1. 1. pset } { 1 1 0 1. 1. pset 46 ipCol} ifpcol } %  6
-{ {  4 0 0 1. 1. pset } { 1 1 0 1. 1. pset 47 ipCol} ifpcol } %  7
-{ {  4 1 0 1. 1. pset } { 1 1 0 1. 1. pset 48 ipCol} ifpcol } %  8
-{ {  5 0 0 1. 1. pset } { 1 1 0 1. 1. pset 49 ipCol} ifpcol } %  9
-{ {  5 0 0 1. 1. pset } { 1 1 0 1. 1. pset 50 ipCol} ifpcol } %  9
-{ {  1 0 0 1. 1. pset } { 1 1 0 1. 1. pset 51 ipCol} ifpcol } %  1
-{ {  1 1 0 1. 1. pset } { 1 1 0 1. 1. pset 52 ipCol} ifpcol } %  2
-{ {  2 0 0 1. 1. pset } { 1 1 0 1. 1. pset 53 ipCol} ifpcol } %  3
-{ {  2 1 0 1. 1. pset } { 1 1 0 1. 1. pset 54 ipCol} ifpcol } %  4
-{ {  3 0 0 1. 1. pset } { 1 1 0 1. 1. pset 55 ipCol} ifpcol } %  5
-{ {  3 1 0 1. 1. pset } { 1 1 0 1. 1. pset 56 ipCol} ifpcol } %  6
-{ {  4 0 0 1. 1. pset } { 1 1 0 1. 1. pset 57 ipCol} ifpcol } %  7
-{ {  4 1 0 1. 1. pset } { 1 1 0 1. 1. pset 58 ipCol} ifpcol } %  8
-{ {  5 0 0 1. 1. pset } { 1 1 0 1. 1. pset 59 ipCol} ifpcol } %  9
-{ {  5 0 0 1. 1. pset } { 1 1 0 1. 1. pset 60 ipCol} ifpcol } %  9
-{ {  1 0 0 1. 1. pset } { 1 1 0 1. 1. pset 61 ipCol} ifpcol } %  1
-{ {  1 1 0 1. 1. pset } { 1 1 0 1. 1. pset 62 ipCol} ifpcol } %  2
-{ {  2 0 0 1. 1. pset } { 1 1 0 1. 1. pset 63 ipCol} ifpcol } %  3
-{ {  2 1 0 1. 1. pset } { 1 1 0 1. 1. pset 64 ipCol} ifpcol } %  4
-{ {  3 0 0 1. 1. pset } { 1 1 0 1. 1. pset 65 ipCol} ifpcol } %  5
-{ {  3 1 0 1. 1. pset } { 1 1 0 1. 1. pset 66 ipCol} ifpcol } %  6
-{ {  4 0 0 1. 1. pset } { 1 1 0 1. 1. pset 67 ipCol} ifpcol } %  7
-{ {  4 1 0 1. 1. pset } { 1 1 0 1. 1. pset 68 ipCol} ifpcol } %  8
-{ {  5 0 0 1. 1. pset } { 1 1 0 1. 1. pset 69 ipCol} ifpcol } %  9
-{ {  5 0 0 1. 1. pset } { 1 1 0 1. 1. pset 70 ipCol} ifpcol } %  9
-{ {  1 0 0 1. 1. pset } { 1 1 0 1. 1. pset 71 ipCol} ifpcol } %  1
-{ {  1 1 0 1. 1. pset } { 1 1 0 1. 1. pset 72 ipCol} ifpcol } %  2
-{ {  2 0 0 1. 1. pset } { 1 1 0 1. 1. pset 73 ipCol} ifpcol } %  3
-{ {  2 1 0 1. 1. pset } { 1 1 0 1. 1. pset 74 ipCol} ifpcol } %  4
-{ {  3 0 0 1. 1. pset } { 1 1 0 1. 1. pset 75 ipCol} ifpcol } %  5
-{ {  3 1 0 1. 1. pset } { 1 1 0 1. 1. pset 76 ipCol} ifpcol } %  6
-{ {  4 0 0 1. 1. pset } { 1 1 0 1. 1. pset 77 ipCol} ifpcol } %  7
-{ {  4 1 0 1. 1. pset } { 1 1 0 1. 1. pset 78 ipCol} ifpcol } %  8
-{ {  5 0 0 1. 1. pset } { 1 1 0 1. 1. pset 79 ipCol} ifpcol } %  9
-{ {  5 0 0 1. 1. pset } { 1 1 0 1. 1. pset 80 ipCol} ifpcol } %  9
-{ {  1 0 0 1. 1. pset } { 1 1 0 1. 1. pset 81 ipCol} ifpcol } %  1
-{ {  1 1 0 1. 1. pset } { 1 1 0 1. 1. pset 82 ipCol} ifpcol } %  2
-{ {  2 0 0 1. 1. pset } { 1 1 0 1. 1. pset 83 ipCol} ifpcol } %  3
-{ {  2 1 0 1. 1. pset } { 1 1 0 1. 1. pset 84 ipCol} ifpcol } %  4
-{ {  3 0 0 1. 1. pset } { 1 1 0 1. 1. pset 85 ipCol} ifpcol } %  5
-{ {  3 1 0 1. 1. pset } { 1 1 0 1. 1. pset 86 ipCol} ifpcol } %  6
-{ {  4 0 0 1. 1. pset } { 1 1 0 1. 1. pset 87 ipCol} ifpcol } %  7
-{ {  4 1 0 1. 1. pset } { 1 1 0 1. 1. pset 88 ipCol} ifpcol } %  8
-{ {  5 0 0 1. 1. pset } { 1 1 0 1. 1. pset 89 ipCol} ifpcol } %  9
-{ {  5 0 0 1. 1. pset } { 1 1 0 1. 1. pset 90 ipCol} ifpcol } %  9
-{ {  1 0 0 1. 1. pset } { 1 1 0 1. 1. pset 91 ipCol} ifpcol } %  1
-{ {  1 1 0 1. 1. pset } { 1 1 0 1. 1. pset 92 ipCol} ifpcol } %  2
-{ {  2 0 0 1. 1. pset } { 1 1 0 1. 1. pset 93 ipCol} ifpcol } %  3
-{ {  2 1 0 1. 1. pset } { 1 1 0 1. 1. pset 94 ipCol} ifpcol } %  4
-{ {  3 0 0 1. 1. pset } { 1 1 0 1. 1. pset 95 ipCol} ifpcol } %  5
-{ {  3 1 0 1. 1. pset } { 1 1 0 1. 1. pset 96 ipCol} ifpcol } %  6
-{ {  4 0 0 1. 1. pset } { 1 1 0 1. 1. pset 97 ipCol} ifpcol } %  7
-{ {  4 1 0 1. 1. pset } { 1 1 0 1. 1. pset 98 ipCol} ifpcol } %  8
-{ {  5 0 0 1. 1. pset } { 1 1 0 1. 1. pset 99 ipCol} ifpcol } %  9
-{ {  5 0 0 1. 1. pset } { 1 1 0 1. 1. pset 100 ipCol} ifpcol } %  9
-] def
-
-1 4 cColSet % arg1: color on/off; arg2: max no. of colours
-/cStyles [
-{ { 1. [          ] lset } { 1. [] lset  2 icCol} ifccol } % 1
-] def
-
-24 setown
-5 11 {(colour table 2: cmyk (1-100))} textCM
-
-0.5 9.6 23 1.85 NewList
-  1  {(01)} PtTxLine
-  2  {(02)} PtTxLine
-  3  {(03)} PtTxLine
-  4  {(04)} PtTxLine
-  5  {(05)} PtTxLine
-  6  {(06)} PtTxLine
-  7  {(07)} PtTxLine
-  8  {(08)} PtTxLine
-  9  {(09)} PtTxLine
- 10  {(10)} PtTxLine
- 11  {(11)} PtTxLine
- 12  {(12)} PtTxLine
- 13  {(13)} PtTxLine
- 14  {(14)} PtTxLine
- 15  {(15)} PtTxLine
- 16  {(16)} PtTxLine
- 17  {(17)} PtTxLine
- 18  {(18)} PtTxLine
- 19  {(19)} PtTxLine
- 20  {(20)} PtTxLine
-2.5 9.6 23 1.85 NewList
- 21  {(21)} PtTxLine
- 22  {(22)} PtTxLine
- 23  {(23)} PtTxLine
- 24  {(24)} PtTxLine
- 25  {(25)} PtTxLine
- 26  {(26)} PtTxLine
- 27  {(27)} PtTxLine
- 28  {(28)} PtTxLine
- 29  {(29)} PtTxLine
- 30  {(30)} PtTxLine
- 31  {(31)} PtTxLine
- 32  {(32)} PtTxLine
- 33  {(33)} PtTxLine
- 34  {(34)} PtTxLine
- 35  {(35)} PtTxLine
- 36  {(36)} PtTxLine
- 37  {(37)} PtTxLine
- 38  {(38)} PtTxLine
- 39  {(39)} PtTxLine
- 40  {(40)} PtTxLine
-4.5 9.6 23 1.85 NewList
- 41  {(41)} PtTxLine
- 42  {(42)} PtTxLine
- 43  {(43)} PtTxLine
- 44  {(44)} PtTxLine
- 45  {(45)} PtTxLine
- 46  {(46)} PtTxLine
- 47  {(47)} PtTxLine
- 48  {(48)} PtTxLine
- 49  {(49)} PtTxLine
- 50  {(50)} PtTxLine
- 51  {(51)} PtTxLine
- 52  {(52)} PtTxLine
- 53  {(53)} PtTxLine
- 54  {(54)} PtTxLine
- 55  {(55)} PtTxLine
- 56  {(56)} PtTxLine
- 57  {(57)} PtTxLine
- 58  {(58)} PtTxLine
- 59  {(59)} PtTxLine
- 60  {(60)} PtTxLine
-6.5 9.6 23 1.85 NewList
- 61  {(61)} PtTxLine
- 62  {(62)} PtTxLine
- 63  {(63)} PtTxLine
- 64  {(64)} PtTxLine
- 65  {(65)} PtTxLine
- 66  {(66)} PtTxLine
- 67  {(67)} PtTxLine
- 68  {(68)} PtTxLine
- 69  {(69)} PtTxLine
- 70  {(70)} PtTxLine
- 71  {(71)} PtTxLine
- 72  {(72)} PtTxLine
- 73  {(73)} PtTxLine
- 74  {(74)} PtTxLine
- 75  {(75)} PtTxLine
- 76  {(76)} PtTxLine
- 77  {(77)} PtTxLine
- 78  {(78)} PtTxLine
- 79  {(79)} PtTxLine
- 80  {(80)} PtTxLine
-8.5 9.6 23 1.85 NewList
- 81  {(81)} PtTxLine
- 82  {(82)} PtTxLine
- 83  {(83)} PtTxLine
- 84  {(84)} PtTxLine
- 85  {(85)} PtTxLine
- 86  {(86)} PtTxLine
- 87  {(87)} PtTxLine
- 88  {(88)} PtTxLine
- 89  {(89)} PtTxLine
- 90  {(90)} PtTxLine
- 91  {(91)} PtTxLine
- 92  {(92)} PtTxLine
- 93  {(93)} PtTxLine
- 94  {(94)} PtTxLine
- 95  {(95)} PtTxLine
- 96  {(96)} PtTxLine
- 97  {(97)} PtTxLine
- 98  {(98)} PtTxLine
- 99  {(99)} PtTxLine
-100  {(00)} PtTxLine
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%                                                                           %%
-%%                   now the output produced by WuGra                        %%
-%%                                                                           %%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-/filename (l1) def
-
- 10 -3 18 showfilename
-
-%: Coordinate system : 
-
-%  Lin x-axis from   170.0000       310.0000    
-%  Log y-axis from  0.2000000E-09   4000.000    
-
-Resets
-
-0 10   0  0     0  90 OneAxx Axx % low x axis
-0 10   0 10     0 270 OneAxx Axx % top x axis
-				 
-0 10   0  0    90   0 OneAxx Axx % left y axis
-0 10  10  0    90 180 OneAxx Axx % right y axis
-
-Basta % now plot the page (if Basta is not redefined)
diff --git a/pub/share/g3.ps b/pub/share/g3.ps
index 0f94f3817079ef968d3074674e82470215bc1c8f..3bb14e66391d9a5897d647fc686f928047344a23 100644
--- a/pub/share/g3.ps
+++ b/pub/share/g3.ps
@@ -1,4 +1,4 @@
-WuGdict07a begin %% the following lines are produced by g3.ps
+WuGdict10a begin %% the following lines are produced by g3.ps
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%                                                                           %%
@@ -14,38 +14,41 @@ EdgeLeftDIN
 1 1 language
 0 0 InfSet % plot fnam, info
 1 dup 2 SymGSet % slin srad serr(2=from pset) : graph symbols, global preset
-0 setschool
 
 /EndFrame { plotafter Basta } def
 % /setboxbackgroundcolor { 0.93 setgray } def
 
 % x y 24 abcset
-% /next{ 12 0 offset } def /nextPoints{ next } def /nextCurve{ next } def
-% 100 DDsetresolution
+% /next{ 12 0 offset } def
 
-1 100 pColSet % arg1: color on/off; arg2: max no. of colours
+1 /pcol  x def % colours off/on
+{ 10 iCol1 } /ipCol x bind def % number of colours and colour style
 /pStyles [
-{ {  1 1 0 1. 1. pset } { 1 1 0 1. 1. pset  0 ipCol} ifpcol } %  1
-{ {  2 1 0 1. 1. pset } { 1 1 0 1. 1. pset 30 ipCol} ifpcol } %  3
-{ {  1 0 0 1. 1. pset } { 1 1 0 1. 1. pset 70 ipCol} ifpcol } %  2
-{ {  2 0 0 1. 1. pset } { 1 1 0 1. 1. pset 80 ipCol} ifpcol } %  4
-{ {  3 1 0 1. 1. pset } { 1 1 0 1. 1. pset 50 ipCol} ifpcol } %  5
-{ {  3 0 0 1. 1. pset } { 1 1 0 1. 1. pset 15 ipCol} ifpcol } %  6
-{ {  4 1 0 1. 1. pset } { 1 1 0 1. 1. pset 70 ipCol} ifpcol } %  7
-{ {  4 0 0 1. 1. pset } { 1 1 0 1. 1. pset siemensred    } ifpcol } %  8
-{ {  4 0 0 1. 1. pset } { 1 1 0 1. 1. pset siemensblue   } ifpcol } %  8
-{ {  4 0 0 1. 1. pset } { 1 1 0 1. 1. pset siemensgreen  } ifpcol } %  8
-{ {  4 0 0 1. 1. pset } { 1 1 0 1. 1. pset siemensorange } ifpcol } %  8
-{ {  5 1 0 1. 1. pset } { 1 1 0 1. 1. pset siemensdark   } ifpcol } %  9
-{ {  5 0 0 1. 1. pset } { 1 1 0 1. 1. pset siemenspink   } ifpcol } %  0
+{ {  1 1 0 1. 1. pset } { 1 1 0 1. 1. pset  0 ipCol } ifpcol } %  1
+{ {  1 0 0 1. 1. pset } { 1 1 0 1. 1. pset  1 ipCol } ifpcol } %  3
+{ {  2 1 0 1. 1. pset } { 1 1 0 1. 1. pset  2 ipCol } ifpcol } %  2
+{ {  2 0 0 1. 1. pset } { 1 1 0 1. 1. pset  3 ipCol } ifpcol } %  4
+{ {  3 1 0 1. 1. pset } { 1 1 0 1. 1. pset  4 ipCol } ifpcol } %  5
+{ {  3 0 0 1. 1. pset } { 1 1 0 1. 1. pset  5 ipCol } ifpcol } %  6
+{ {  4 1 0 1. 1. pset } { 1 1 0 1. 1. pset  6 ipCol } ifpcol } %  7
+{ {  4 0 0 1. 1. pset } { 1 1 0 1. 1. pset  7 ipCol } ifpcol } %  8
+{ {  5 1 0 1. 1. pset } { 1 1 0 1. 1. pset  8 ipCol } ifpcol } %  9
+{ {  5 0 0 1. 1. pset } { 1 1 0 1. 1. pset  9 ipCol } ifpcol } % 10
+{ {  6 1 0 1. 1. pset } { 1 1 0 1. 1. pset siemensred    } ifpcol }
+{ {  7 1 0 1. 1. pset } { 1 1 0 1. 1. pset siemensblue   } ifpcol }
+{ {  8 1 0 1. 1. pset } { 1 1 0 1. 1. pset siemensgreen  } ifpcol }
+{ {  9 1 0 1. 1. pset } { 1 1 0 1. 1. pset siemensorange } ifpcol }
+{ { 10 1 0 1. 1. pset } { 1 1 0 1. 1. pset siemensdark   } ifpcol }
+{ { 11 1 0 1. 1. pset } { 1 1 0 1. 1. pset siemenspink   } ifpcol }
 ] def
 
-0 100 cColSet % arg1: color on/off; arg2: max no. of colours
+0 /ccol x def % color on/off
+{ 4 iCol2 } /icCol x bind def % number of colours and colour style
 /cStyles [
-{ { 1. [          ] lset } { 1. [] lset 10 icCol} ifccol } % 1
-{ { 1. [1 3       ] lset } { 1. [] lset 20 icCol} ifccol } % 2 
-{ { 1. [8 6       ] lset } { 1. [] lset 30 icCol} ifccol } % 3
-{ { 1. [8 3 1 3   ] lset } { 1. [] lset 40 icCol} ifccol } % 4
+{ { 1. [          ] lset } { 1. [] lset  0 icCol } ifccol } % 1
+{ { 1. [1 3       ] lset } { 1. [] lset  1 icCol } ifccol } % 2 
+{ { 1. [8 6       ] lset } { 1. [] lset  2 icCol } ifccol } % 3
+{ { 1. [8 3 1 3   ] lset } { 1. [] lset  3 icCol } ifccol } % 4
 ] def
 
 Resets
diff --git a/pub/share/wups10a.ps b/pub/share/wups10a.ps
new file mode 100644
index 0000000000000000000000000000000000000000..a649dca8f292ed779341a21c21cf24b3da25c702
--- /dev/null
+++ b/pub/share/wups10a.ps
@@ -0,0 +1,1421 @@
+%!PS-Adobe-1.0
+
+gsave
+/WuGdict10a 400 dict def 
+WuGdict10a begin
+
+/Reencsmalldict 12 dict def      % Lokaler Speicher fuer ReEncodeSmall
+/ReEncodeSmall % existing_font name_of_new_font array_of_pairs(octal_code/name)
+{ Reencsmalldict begin
+    /NewCodesAndNames exch def
+    /NewFontName exch def
+    /BaseFontName exch def
+    /BaseFontDict
+    BaseFontName findfont def
+    /NewFont BaseFontDict
+    maxlength dict def
+
+    BaseFontDict
+    { exch dup /FID ne
+      { dup /Encoding eq
+        { exch dup
+          length array copy
+          NewFont 3 1 roll put
+        }
+        { exch NewFont
+          3 1 roll put
+        } ifelse
+      }
+      { pop pop
+      } ifelse
+    } forall
+
+    NewFont
+    /FontName NewFontName put
+    NewCodesAndNames aload pop
+    NewCodesAndNames length 2 idiv
+    { NewFont /Encoding get
+      3 1 roll put
+    } repeat
+
+    NewFontName NewFont
+    definefont pop
+  end
+} def
+
+/GermanVec
+[ 8#201 /udieresis
+  8#204 /adieresis
+  8#216 /Adieresis
+  8#224 /odieresis
+  8#231 /Odieresis
+  8#232 /Udieresis
+  8#341 /germandbls
+] def
+
+/Helvetica             /HelveticaGerman             GermanVec ReEncodeSmall
+/Helvetica-Oblique     /HelveticaGerman-Oblique     GermanVec ReEncodeSmall
+/Helvetica-Bold        /HelveticaGerman-Bold        GermanVec ReEncodeSmall
+/Helvetica-BoldOblique /HelveticaGerman-BoldOblique GermanVec ReEncodeSmall
+
+%% shortwords :
+
+/np {newpath}   bind def
+/mv {moveto}    bind def
+/rm {rmoveto}   bind def
+/rl {rlineto}   bind def
+/li {lineto}    bind def
+/cp {closepath} bind def
+/st {stroke}    bind def
+/x  {exch}      bind def
+
+/L  {langSel}   bind def
+
+/g  {exch grec endgr} bind def
+/sb {exch subsc endsc} bind def
+/sp {exch supsc endsc} bind def
+/sbgr {exch grec  () subsc endsc () endgr} bind def
+/spgr {exch grec  () supsc endsc () endgr} bind def
+/u  {umlaut} bind def
+/U  {Umlaut} bind def
+
+/MV {ym exch xm exch moveto}  bind def
+/RM {ym exch xm exch rmoveto} bind def
+/LI {ym exch xm exch lineto}  bind def
+/RL {ym exch xm exch rlineto} bind def
+
+/G { gsave exec grestore } bind def
+
+%% generic operators :
+
+/lastindex { length 1 sub } bind def
+/min { 2 copy gt { exch } if pop } def
+/max { 2 copy lt { exch } if pop } def
+
+%% math:
+/eexp { 2.71828 exch exp } def
+/tan { dup sin x cos div } def
+/cot { dup cos x sin div } def
+/pol2xy{ 2 copy cos mul 3 1 roll sin mul } def % r phi | x y
+/tanh { 2.71828 exch 2 copy exp 3 1 roll neg exp
+        2 copy sub 3 1 roll add div } def
+/rnd  { rand cvr 1 30 bitshift div 2 div 0 max 1 min } def % zwischen 0 und 1
+/twopi { 6.2831853072 } def
+
+%% modi :
+
+/Basta {
+   showpage
+   end % pop dictionary from stack
+   } def
+
+/next{ pop } def /nextPoints{ next } def /nextCurve{ next } def
+
+%% constants :
+
+/pt {  .018567 mul} bind def
+/cm {28.346456 mul} bind def
+/gyld {0.447214 mul} bind def /Gyld {0.447214 div} bind def % sqrt(5)
+/guld {0.547723 mul} bind def /Guld {0.547723 div} bind def % sqrt(3)
+/gold {0.618034 mul} bind def /Gold {0.618034 div} bind def % goldener Schnitt
+/gild {0.707107 mul} bind def /Gild {0.707107 div} bind def % sqrt(2) : DIN
+/geld {0.759836 mul} bind def /Geld {0.759836 div} bind def % sqrt(sqrt(3))
+/gald {0.817765 mul} bind def /Gald {0.817765 div} bind def % sqrt sqrt sqrt 5
+
+%% operations in cm:
+
+/cmtranslate { % x y cmtranslate - 
+   cm x cm x translate } bind def
+/EdgeDIN{ 20.3 28.3 cmtranslate } bind def
+/EdgeLeftDIN{ .6 28.3 cmtranslate } bind def
+/EdgeAMI{ 18 26 cmtranslate } bind def % ????
+
+%% set total and relativ window :
+
+/defred { % xrel yrel frel defred - ; define xlen,ylen, and the metric xm,ym,fm
+   /fmm exch ftot mul def 
+   /ymm exch def 
+   /xmm exch def 
+   } def
+/defsiz { % size(cm) labelsize(rel) - ; PS-units shall equal xm/ym-units
+   /ftot exch def
+   cm 10 div dup scale 
+   } def
+/autolabel { % size(cm) | labelsize(rel)
+   dup 7 div 2 add 4 mul % the simplest sublinear increase
+   exch div % anticipate overall rescaling
+   } def
+
+%% graphic units (running from 0 to 10) :
+
+/xm {xmm mul} def 
+/ym {ymm mul} def
+/fm {fmm mul} def
+/xym {ym x xm x} def
+
+/offset { xym translate } def
+/poloffset { pol2xy offset } def % r phi | 
+/currentxy { currentpoint ymm div x xmm div x } def
+
+/mmscale { xmm ymm scale } def
+/mmunscale { 1 xmm div 1 ymm div scale } def
+
+%% prepare font commands :
+
+/setfontandsize { % font size setfontandsize - ;
+                  % scale and set font; define fontsize, fontheight
+   dup 0 le { pop 100 } if % fontsize <= 0 not allowed ! 
+   /fontnonnil true def
+   pt fm dup /fontsize x def
+   x findfont
+   x scalefont
+   setfont
+   gsave % determine fontheight - from the cookbook :
+     np 0 0 mv (1) true charpath flattenpath
+     pathbbox  % low_left_x, low_left_y, up_right_x, up_right_y
+     x pop x pop x pop
+     /fontheight x def
+   grestore
+   } def
+
+/SetNum { /HelveticaGerman            24 setfontandsize } bind def
+/setlab { /HelveticaGerman            24 setfontandsize } bind def
+/setown { /HelveticaGerman             x setfontandsize } bind def
+/setbol { /HelveticaGerman-Bold        x setfontandsize } bind def
+/setboq { /HelveticaGerman-BoldOblique x setfontandsize } bind def
+/setobl { /HelveticaGerman-Oblique     x setfontandsize } bind def
+
+%% language selection (27jul97) :
+
+/language {
+   /langMax exch def
+   /langChc exch def
+} def
+
+1 1 language % default
+
+/langSel { % T_1 .. T_M langSel T_C mit M=langMax, C=langC
+   langMax dup langChc sub 1 add roll
+   langMax 1 sub { pop } repeat
+} def
+   
+%% prepare drawing commands :
+
+/setline { pt fm setlinewidth [] 0 setdash } bind def
+
+%% coordinate system :
+
+%: world coordinates:
+/xSetCoord { % log min max | -
+	/wxmax exch def
+	/wxmin exch def
+	/wxlog exch 0 eq not def
+} def
+/ySetCoord { % log min max | -
+	/wymax exch def
+	/wymin exch def
+	/wylog exch 0 eq not def
+} def
+/wx {
+   wxlog {
+      wxmin div log wxmax wxmin div log div 10 mul
+   } {
+      wxmin sub wxmax wxmin sub div 10 mul
+   } ifelse
+} def
+/wxd { % step
+   wxlog {
+      log wxmax wxmin div log div 10 mul
+   } {
+      wxmax wxmin sub div 10 mul
+   } ifelse
+} def
+/wy {
+   wylog {
+      wymin div log wymax wymin div log div 10 mul
+   } {
+      wymin sub wymax wymin sub div 10 mul
+   } ifelse
+} def
+/wyd { % step
+   wylog {
+      log wymax wymin div log div 10 mul
+   } {
+      wymax wymin sub div 10 mul
+   } ifelse
+} def
+/wxy {
+   wy exch wx exch
+} def
+
+%: new plot :
+/Resets{
+   /yNumLengthL 0 def /yNumLengthH 0 def
+   /xNumHeightL .3 def /xNumHeightH 0 def
+   /xNumHeightRel 2.4 def
+   /aMean 5 def
+   /xPlotFrame {} def
+   /yPlotFrame {} def
+   /zPlotFrame {} def
+   black
+   } def
+/BoxBackground{ 0 0 10 10 boxit gsave setboxbackgroundcolor fill grestore } def
+/setboxbackgroundcolor { white } def
+
+%: Set tick array : internal commands (1dec93) :
+/tiputs { % rel_pos_of_tick tiputs pos_of_tick : innermost routine for /taproc
+   tastep mul taloop add 
+   } def 
+/taproclin { % (#tick/tack) taproclin - : define /taproc for use in SetVec
+   1 x div /tistep x def
+   /taproc { 0 tistep .999 { tiputs } for } def
+   } def
+/taproclog { % (#ticks/tacks) taproclog - : define /taproc for use in SetVec
+       dup 3 gt { pop /taproc { 1 1 9 { log tiputs } for } def 
+    }{ dup 1 gt { pop /taproc { 0 tiputs 2 log tiputs 5 log tiputs } def 
+    }{ dup 0 gt { pop /taproc { 0 tiputs } def 
+    }{            neg taproclin  
+    } ifelse } ifelse } ifelse
+} def
+/SetVec { % tafro tatoo nta /vector SetVec - : set /"vector"
+   4 1 roll 
+   /nta x def /tatoo x def /tafro x def
+   /tastep tatoo tafro sub nta 1 sub div def
+   [ 0 1 nta { 
+         tastep mul tafro add /taloop x def
+         taproc exec
+         } for
+      ] def
+   } def
+%: Set tick array : user commands :
+   % arguments are: first_tack_pos, last_tack_pos, #tacks, #ticks/tack
+/SetTicVecLin { taproclin /TicVec SetVec } def 
+/SetTicVecLog { taproclog /TicVec SetVec } def 
+
+%: Layout for ticks and axes :
+/xyTicLen {0.10 fm} def 
+/xyTacLen {0.20 fm} def 
+{0.20 fm} dup /txllen x def /tyllen x def
+/SetAxx {black 0.7 setline} def
+/SetTic {black 0.7 setline} def
+/SetTac {black 0.7 setline} def
+/SetGric {black 0.4 setline} def
+
+%: Draw ticks and axes. Usage: fro to pos aang tang OneAxx ( Tic | ) ( Axx | )
+     % Note on angles : 0 = x-axis, 90 = y-axis, values are 0..359.
+/OneAxx { % fro to xpos ypos aang tang OneAxx - : presets for Axx, Tic, Tac, Num
+    /tAng x def /aAng x def 
+    /yPos x def /xPos x def /aTo x def /aFro x def % save input
+    /xTicLen tAng cos xyTicLen mul def /yTicLen tAng sin xyTicLen mul def
+    /xTacLen tAng cos xyTacLen mul def /yTacLen tAng sin xyTacLen mul def
+    /xAng aAng cos def /yAng aAng sin def
+    /aMean aFro aTo add 2 div def
+    /aArr false def
+} def
+/ArrAxx { % label (args of OneAxx) ArrAxx -
+    OneAxx
+    /aLab x def
+    /aArr true def
+} def
+/Axx { % - Axx - : draw axis (that's just a line) as predefined by OneAxx.
+    SetAxx
+    gsave
+	xPos yPos offset
+	mmscale
+	aAng rotate
+	aFro 0 np mv
+	aTo  0 li st
+	aArr {
+	    gsave
+		aTo 0 offset
+		aAng neg rotate
+		mmunscale
+		aAng rotate
+		0 0 0 .3 pfeilspitze % draw an arrow
+		.3 0 offset
+		aAng neg rotate
+		setlab
+		aAng 45 le
+		    { 0 -.8 xNumHeightL sub aLab textRT }
+		    { 0  .2 aLab textCB } ifelse
+	    grestore
+	} if
+    grestore
+} def
+/Tic { % - Tic - : draw ticks as predefined by OneAxx.
+    SetTic
+    TicVec { dup dup aFro lt x aTo gt or {pop} {TicProc} ifelse } forall
+} def
+/TicProc { % aPos TicProc - : plot one tick.
+   np
+   xPos yPos xym mv 
+   dup xAng mul x yAng mul xym rm % eat argument, go to start pos.
+   xTicLen yTicLen rl st
+   } def
+/xGric { % yFro yTo xGric - : draw lines over y range of instead just an x Tic
+   SetGric
+   TicVec {
+      3 copy dup 5 -1 roll aFro lt x aTo gt or {pop pop pop} {
+         dup % y1 y2 x x
+         4 -1 roll xym np mv % y2 x
+         x xym li st
+         } ifelse
+      } forall
+   pop pop
+   } def
+/yGric { % xFro xTo yGric - : draw lines over x range of instead just an y Tic
+   SetGric
+   TicVec {
+      3 copy dup 5 -1 roll aFro lt x aTo gt or {pop pop pop} {
+         dup % x1 x2 y y 
+         4 -1 roll x xym np mv % x2 y
+         xym li st
+         } ifelse
+      } forall
+   pop pop
+   } def
+
+%: Tacks and numbers on axis.
+/SetTacVec { % [ pos {label} pos {label} ... ] SetTacVec - : Preset TacVec
+   /TacVec x def
+   } def
+/TacExe { % Proc TacExe - % Execute Proc for all pairs of elements of TacVec
+                          % (but only if inside aFro..aTo)
+    /TacProc x def
+    /ispair true def % toggle: take pos, take label, take pos, take label ...
+    TacVec {
+	ispair
+	    {
+		/aPos x def
+		/ispair false def
+	    } {
+		aPos dup aFro lt x aTo gt or
+		{pop} {TacProc} ifelse
+		/ispair true def
+	    } ifelse
+	} forall
+} def
+%: General routines, governed by OneAxx :
+/Tac { %
+   SetTac
+   { pop xPos yPos xym mv 
+     aPos dup xAng mul x yAng mul xym rm
+     xTacLen yTacLen rl st } TacExe
+   } def
+/Num { % General but useless. Adjust for your application.
+   SetNum
+   fontheight ymm div yDisRel mul tAng sin mul /yDist x def
+   { dup textW xDisRel mul tAng cos mul /xDist x def
+     xPos aPos xAng mul add xDist sub 
+     yPos aPos yAng mul add yDist sub 3 2 roll textCM } TacExe
+   } def
+/SetNumDisRel { % xDisRel yDisRel SetNumDisRel - : adjust just a little bit
+   /yDisRel x def /xDisRel x def
+   } def
+1.2 1.2 SetNumDisRel % default setting
+
+%: Tacks and Numbers: explicit routines for rectangular case :
+/xTacL { % : tack on low x axis
+   SetTac
+   { pop aPos xm np yPos ym mv 0 txllen rl st } TacExe
+   } def
+/xTacH { % : tack on high x axis
+   SetTac
+   { pop aPos xm np yPos ym mv 0 txllen neg rl st } TacExe
+   } def
+/xTacC { % : centered tack on x axis
+   SetTac
+   { pop aPos xm yPos ym txllen 2 div sub np mv 0 txllen rl st } TacExe
+   } def
+/xGrid { % : rule instead of tack on x axis
+   SetTac
+   { pop aPos xm np yPos ym mv 0 10 xym rl st } TacExe
+   } def
+/yTacL { % : tack on low y axis
+   SetTac
+   { pop xPos xm aPos ym np mv tyllen 0 rl st } TacExe
+   } def
+/yTacH { % : tack on high y axis
+   SetTac
+   { pop xPos xm aPos ym np mv tyllen neg 0 rl st } TacExe
+   } def
+/yTacC { % : centered tack on y axis
+   SetTac
+   { pop xPos xm tyllen 2 div sub aPos ym np mv tyllen 0 rl st } TacExe
+   } def
+/yGrid { % : rule instead of tack on low y axis
+   SetTac
+   { pop aPos ym np xPos xm x mv 10 0 xym rl st } TacExe
+   } def
+/xNumL { % : numbers on low x axis 
+   SetNum
+   { fontheight ymm div % conversion -> user_scale
+     dup /xNumHeightL x def
+     -.6 mul yPos add aPos x 3 2 roll textCT } TacExe
+   } def
+/xNumH { % : numbers on high x axis 
+   SetNum
+   { fontheight ymm div % conversion -> user_scale
+     dup /xNumHeightH x def
+     .6 mul yPos add aPos x 3 2 roll textCB } TacExe
+   } def
+/yNumL { % : numbers on low y axis 
+   SetNum
+   { fontsize -.3 mul xmm div xPos add aPos 3 2 roll textRM
+     xwidth dup yNumLengthL gt {/yNumLengthL x def} {pop} ifelse
+     } TacExe
+   } def
+/yNumLD { % : calculate only yNumLength (used for adjustement)
+   SetNum
+   { textW dup yNumLengthL gt {/yNumLengthL x def} {pop} ifelse
+     } TacExe
+   } def
+/yDumL { % {(..)} yDumL : compare yNumLength with one arg (used for adjustement)
+   SetNum
+   textW dup yNumLengthL gt {/yNumLengthL x def} {pop} ifelse
+   } def
+/yNumH { % : numbers on high y axis 
+   SetNum
+   { fontsize .3 mul xmm div xPos add aPos 3 2 roll textLM
+     xwidth dup yNumLengthH gt {/yNumLengthH x def} {pop} ifelse
+     } TacExe
+   } def
+/yNumHD { % : calculate only yNumLength (used for adjustement)
+   SetNum
+   {textW dup yNumLengthH gt {/yNumLengthH x def} {pop} ifelse
+     } TacExe
+   } def
+/yDumH { % {(..)} yDumH : compare yNumLength with one arg (used for adjustement)
+   SetNum
+   textW dup yNumLengthH gt {/yNumLengthH x def} {pop} ifelse
+   } def
+/xTucL { % len | - : tack on low x axis
+   black 0.7 setline
+   /TucLen x def
+   { pop aPos xm np yPos ym mv 0 TucLen xm rl st } TacExe
+   } def
+/yTucL { % len | - : tack on low y axis
+   black 0.7 setline
+   /TucLen x def
+   { pop aPos ym np xPos xm x mv TucLen ym 0 rl st } TacExe
+   } def
+
+%: Label on side of axes :
+/xCL { % xlabel xCL - ; plots coordinate name below the x-axis.
+   setlab
+   aMean xNumHeightL xNumHeightRel neg mul
+   3 -1 roll textCT
+   } def
+/xCH { % xlabel xCH - ; plots coordinate name above the x-axis.
+   setlab
+   aMean xNumHeightH xNumHeightRel mul 10 add
+   3 -1 roll textCB
+   } def
+/yCL { % ylabel yCL - ; plots coordinate name to the left of the y-axis.
+   gsave
+      setlab
+      yNumLengthL neg fontsize -.85 mul add % yNumLengthL calculated in yN
+      aMean ym translate
+      0 0 mv
+      90 rotate
+      0 x 0 x textCB
+   grestore
+   } def
+/yCH { % ylabel yCH - ; plots coordinate name to the right of the y-axis.
+   gsave
+      setlab
+      yNumLengthH fontsize .85 mul add 10 xm add
+      aMean ym translate
+      0 0 mv
+      90 rotate
+      0 x 0 x textCT
+   grestore
+   } def
+/yCF { % ylabel yCF - ; plots coordinate name *falling* right of the y-axis.
+   gsave
+      setlab
+      yNumLengthH fontsize .85 mul add 10 xm add
+      aMEan ym translate
+      0 0 mv
+      -90 rotate
+      0 x 0 x textCB
+   grestore
+   } def
+
+%% string treatment :
+
+/showif { % string showif - ; increment xwidth or plot string
+   prepare
+      { stringwidth pop xwidth add /xwidth x def }
+      { show }
+   ifelse
+   } def
+/script { % matrix relpos_y script
+   /yoffset x fontheight mul def
+   currentfont x makefont setfont
+   0 yoffset rm
+   } def
+/scred .71 def
+/subsc {
+   showif
+   [scred 0 0 scred 0 0] -.2 script
+   } def
+/supsc {
+   showif
+   [scred 0 0 scred 0 0] .6 script
+   } def
+/endsc {
+   showif
+   regularfont setfont
+   0 yoffset neg rm
+   } def
+/grec {
+   showif
+   /Symbol findfont fontsize scalefont setfont
+   } def
+/endgr {
+   showif
+   regularfont setfont
+   } def
+/endall {
+   showif
+   regularfont setfont
+   } def
+/build { % string xrel yrel obj build - ; plot obj above/below string
+   /obj x def /yrelbui x def /xrelbui x def
+   dup showif
+   prepare
+      { pop }
+      { stringwidth pop xrelbui neg mul fontheight yrelbui mul % relpos for obj
+        currentpoint 4 2 roll % save position after string
+	rm obj pop       % obj must end with () that will be pop'ed
+	mv               % back to saved position
+	}
+   ifelse
+   } def
+/gbuild { % string xrel yrel obj build - ; plot obj above/below string
+   /obj x def /yrelbui x def /xrelbui x def
+   /Symbol findfont fontsize scalefont setfont
+   dup showif 
+   prepare
+      { pop regularfont setfont }
+      { stringwidth pop xrelbui neg mul fontheight yrelbui mul % relpos for obj
+        currentpoint 4 2 roll % save position after string
+        regularfont setfont 
+	rm obj pop       % obj must end with () that will be pop'ed
+	mv               % back to saved position
+	}
+   ifelse
+   } def
+/umlaut { % ..) (<char>) umlaut (..
+   x
+   showif
+   .79 0 {(\310) show ()} build
+   } def
+/Umlaut { % ..) (<Char>) Umlaut (..
+   x
+   showif
+   .79 .2 {(\310) show ()} build
+   } def
+/hut { % ..) (<Char>) hut (..            %%% MISERABEL PROGRAMMIERT
+   x
+   showif
+   1.4 .6 {(\136) show ()} build
+   } def
+/ghut { % ..) (<grec-Char>) ghut (..      %%% BREITE PASST NUR FUER Phi(t)
+   x
+   showif
+   .8 .65 {(\136) show ()} gbuild
+   } def
+/tilde { 
+   x
+   showif
+   1. .6 {(~) show ()} build
+   } def
+/gtilde { 
+   x
+   showif
+   1. .6 {(~) show ()} gbuild
+   } def
+/spce { % string n spce - ; insert n times ( )
+   {showif (  )} repeat
+   } def
+/pins { % string symins - ; symbol must be selected by pset
+   showif 
+   ( ) showif ( ) .5 .5 { currentxy 0 p black ()} build ( ) showif
+   } def
+/clenins { % string len clenins - ; curve must be selected by cset
+   x showif % I suppose that pins is preceeded by 8 spaces
+   dup ( ) stringwidth pop mul 2 add /xstrich x xmm div def 
+            % length of inserted curve : 
+            % -1 space : curve begins and ends in  middle of ( )
+            % +3 spaces: pins requires 3 times ( )
+   ( ) 0 .5 { currentxy currentxy 0 ci x xstrich add x 0 cf () } build 
+   2 add {( ) showif} repeat
+   } def
+/cins { % string symins - ; curve must be selected by cset
+   showif 8 % I suppose that pins is preceeded by 8 spaces
+   dup ( ) stringwidth pop mul 2 add /xstrich x xmm div 10 div def
+   % nov03, ohne zu verstehen, "10 div" eingefuegt
+            % length of inserted curve : 
+            % -1 space : curve begins and ends in  middle of ( )
+            % +3 spaces: pins requires 3 times ( )
+   ( ) 0 .5 { currentxy currentxy 0 ci x xstrich add x 0 cf () } build 
+   2 add {( ) showif} repeat
+   } def
+/block { % x y ob xrel yrel block -
+   /yrel x def /xrel x def /blabla x def
+    /ypos x ym def /xpos x xm def
+   /regularfont currentfont def /yoffset 0 def % initialize for security
+   /prepare true def /xwidth 0 def 0 0 mv % to prevent empty-path-error
+    blabla endall % first pass : determine xwidth
+   boxif { /boxwidth  xwidth (M) stringwidth pop boxxr mul 2 mul add def
+           /boxheight fontheight 1 boxyr 2 mul add mul def
+           np xpos xwidth xrel mul sub boxwidth xwidth sub 2 div sub 
+           ypos fontheight .5 boxyr add mul sub mv 
+           boxwidth 0 rl 0 boxheight rl boxwidth neg 0 rl cp
+           boxproc 
+    } if
+    xpos xwidth xrel mul sub ypos fontheight yrel mul sub mv
+    /prepare false def
+    blabla endall % second pass : plot
+   /boxif false def
+   } def
+/rblock { % x y ang ob proc rblock -
+   5 3 roll
+   gsave
+      xym translate
+      3 2 roll rotate
+      0 0 4 2 roll exec
+   grestore
+   } def
+/Box { % x y {exe}
+   /boxif true def
+   /boxproc x def /boxyr x def /boxxr x def
+   } def
+/nBox { .6 .6 3 2 roll Box } def
+/boxif false def
+/textW { % obj textW y : calculate only length.
+   /blabla x def
+   /regularfont currentfont def /yoffset 0 def % initialize for security
+   /prepare true def /xwidth 0 def 0 0 mv % to prevent empty-path-error
+   blabla endall
+   xwidth % has been determined
+   } def
+/textw { % obj textW y : dito, in 0..10-units
+   textW xmm div 
+   } def
+
+%% text % x y ob textXY - 2 = left/cent/right Y = top/midl/bot
+/textLB { 0. 0. block } bind def
+/textCB { .5 0. block } bind def
+/textRB { 1. 0. block } bind def
+/textLM { 0. .5 block } bind def
+/textCM { .5 .5 block } bind def
+/textRM { 1. .5 block } bind def
+/textLT { 0. 1. block } bind def
+/textCT { .5 1. block } bind def
+/textRT { 1. 1. block } bind def
+
+%% rtext %  x y ang ob rtextXY
+/rtextLB { {textLB} rblock } bind def
+/rtextLM { {textLM} rblock } bind def
+/rtextRB { {textRB} rblock } bind def
+/rtextRM { {textRM} rblock } bind def
+/rtextCM { {textCM} rblock } bind def
+
+%% list (info lines, may also contain symbols) :
+
+/NewList { % xins yins size advance NewList -
+   /nl_advance x def setown /nl_yins x def /nl_xins x def
+   /nl_xshift fontsize xmm div .9 mul def
+   /nl_xrline 0.33 def
+   /nl_ystep fontheight ymm div nl_advance mul def
+   /newline {
+      /nl_yins nl_yins nl_ystep sub def
+      } def
+   /fracline % frac | -
+   {
+      fontheight ymm div nl_advance mul mul /nl_yins x nl_yins x sub def
+      } def
+   } def
+/newlist { 1.65 NewList } def 
+/TxLine { % text TxLine -
+   nl_xins nl_yins 3 -1 roll textLM newline
+   } bind def
+/TxCLine { % text TxLine -
+   nl_xins nl_yins 3 -1 roll textCM newline
+   } bind def
+/infline{ % text infline - : plot info-line, but only if switch oooinfo=1
+   oooinfo 1 eq { TxLine } { pop } ifelse
+   } bind def
+/symline { % styp sfill serr srad lwidth text symline - % OBSOLET
+   6 1 roll
+   pset nl_xins yins 0 p
+   nl_xins nl_xshift add nl_yins 3 2 roll textLM
+   newline
+   } bind def
+/PtTxLine { % pstyle text symline -
+   x pstyle nl_xins nl_yins 0 p 
+   black nl_xins nl_xshift add nl_yins 3 2 roll textLM
+   newline
+   } bind def
+/IndentPtTxLine { % pstyle text symline -
+   x pstyle nl_xins nl_xshift add nl_yins 0 p 
+   black nl_xins nl_xshift 2 mul add nl_yins 3 2 roll textLM
+   newline
+   } bind def
+/PtPtCvTxLine { % pstyle pstyle cstyle text symline -
+   4 3 roll pstyle nl_xins nl_yins 0 p 
+   3 2 roll pstyle nl_xins nl_xshift add nl_yins 0 p 
+   exch cstyle
+   nl_xins nl_xshift 2 mul add 
+   dup dup nl_xshift nl_xrline mul sub nl_yins 0 ti 
+   nl_xshift nl_xrline mul add nl_yins 0 tf
+   nl_xshift add nl_yins 3 2 roll black textLM
+   newline
+   } bind def
+/PtCvTxLine { % pstyle cstyle text symline -
+   3 2 roll pstyle nl_xins nl_yins 0 p 
+   exch cstyle
+   nl_xins nl_xshift 1 mul add 
+   dup dup nl_xshift -.33 mul add nl_yins 0 ti 
+   nl_xshift 0.33 mul add nl_yins 0 tf
+   nl_xshift add nl_yins 3 2 roll black textLM
+   newline
+   } bind def
+/PtPtTxLine { % pstyle pstyle text symline -
+   3 2 roll pstyle nl_xins nl_yins 0 p 
+   x pstyle nl_xins nl_xshift add nl_yins 0 p 
+   black nl_xins nl_xshift 2 mul add nl_yins 3 2 roll textLM
+   newline
+   } bind def
+/CvTxLine { % cstyle text symline -
+   x cstyle 
+   nl_xins fontsize xmm div nl_xrline mul sub nl_yins 0 ti 
+   nl_xins fontsize xmm div nl_xrline mul add nl_yins 0 tf  
+   black nl_xins nl_xshift add nl_yins 3 2 roll textLM
+   newline
+   } bind def
+/Cv2TxLine { % cstyle text symline -
+   x cstyle 
+   nl_xins fontsize xmm div nl_xrline mul sub nl_yins 0 ti 
+   nl_xins fontsize xmm div nl_xrline mul add nl_xshift add nl_yins 0 tf  
+   black nl_xins nl_xshift 2 mul add nl_yins 3 2 roll textLM
+   newline
+   } bind def
+/PCTxLine { % pstyle(with plset) text symline -
+   x pstyle 
+   nl_xins fontsize xmm div nl_xrline 2 mul mul sub nl_yins 0 ci 
+   nl_xins fontsize xmm div nl_xrline 2 mul mul add nl_yins 0 cf  
+   nl_xins yins 0 p
+   black nl_xins 
+      fontsize xmm div 1.9 mul % instead of xshift
+      add nl_yins 3 2 roll textLM
+   newline
+   } bind def
+/TxSyTxLine { % text1 styp sfill serr srad lwidth text2 symline - % OBSOLET
+   6 1 roll 7 6 roll % stack -> text2 styp .. lwidth text1 
+   dup nl_xins nl_yins 3 -1 roll textLM textw nl_xins add nl_xshift add 
+   /nl_xinsa x def
+   pset nl_xinsa nl_yins 0 p
+   nl_xinsa nl_xshift add nl_yins 3 2 roll textLM
+   newline
+   } bind def
+/showfilename { % xins yins size showfilename -
+   setown
+   ooofnam 1 eq { filename textRB } { pop pop } ifelse
+   } def
+/InfSet { % ooofnam oooinfo InfSet - : set on(1) or off(0)
+   /oooinfo x def /ooofnam x def
+   } def
+   /oooset { InfSet } def % obsolete
+0 0 InfSet % default setting
+
+%% gray areas (mainly applied with grayval=1 for blank areas) [longtime grey..]
+/graybox { % grayval x_L y_B dx dy graybox -
+   boxit
+   cp gsave setgray fill grestore
+   } def
+/boxit { %  x_L y_B dx dy
+   4 2 roll
+   np ym x xm x mv % corner Left Bottom
+   ym dup 0 x rl   % line up
+   x xm 0 rl       % line right
+   neg 0 x rl      % line down
+   } def
+/execOval { %  xl yl dx dy dr { proc } % works only in quadratic grid
+   x 6 2 roll 
+   4 2 roll % proc dr dx dy xl yl
+   {   xym translate
+       {   xym scale
+	   dup neg 0 np mv
+	   0 1 rl
+	   dup 0 1 3 2 roll 180 90 arcn
+	   1 0 rl
+	   dup 1 1 3 2 roll 90 0 arcn
+	   0 -1 rl
+	   dup 1 0 3 2 roll 0 -90 arcn
+	   -1 0 rl
+	   dup 0 0 3 2 roll -90 -180 arcn
+	   pop
+	   exec
+       } G
+   } G
+} def
+/execRectangle { % xl xh yl yh (all in user coords) {proc} | -
+   5 1 roll
+   gsave
+   wy /qqyh x def
+   wy /qqyl x def
+   wx /qqxh x def
+   wx /qqxl x def
+   np
+   qqxl xm qqyl ym mv
+   qqxh xm qqyl ym li
+   qqxh xm qqyh ym li
+   qqxl xm qqyh ym li
+   cp exec grestore
+} def
+/execHexagon { % xl xh yl yh (all in user coords) {proc} | -
+   5 1 roll
+   gsave
+   wy /qqyh x def
+   wy /qqyl x def
+   wx /qqxh x def
+   wx /qqxl x def
+   /qqdr qqyh qqyl sub 2 div def
+   np
+   qqxl qqdr add qqyl xym mv
+   qqxh qqdr sub qqyl xym li
+   qqxh qqyl qqdr add xym li
+   qqxh qqdr sub qqyh xym li
+   qqxl qqdr add qqyh xym li
+   qqxl qqyl qqdr add xym li
+   cp exec grestore
+} def
+/execTrueOval { % xl xh yl yh dr {proc} | -
+   6 1 roll
+   gsave
+   /qqdr x def
+   /qqyh x def
+   /qqyl x def
+   /qqxh x def
+   /qqxl x def
+   np
+   qqxl qqdr add qqyl xym mv
+   qqxh qqdr sub qqyl xym li
+   qqxh qqdr sub qqyl qqdr add qqdr -90 0 arc
+   qqxh qqyh qqdr sub xym li
+   qqxh qqdr sub qqyh qqdr sub qqdr 0 90 arc
+   qqxl qqdr add qqyh xym li
+   qqxl qqdr add qqyh qqdr sub qqdr 90 180 arc
+   qqxl qqyl qqdr add xym li
+   qqxl qqdr add qqyl qqdr add qqdr 180 270 arc
+   cp exec grestore
+} def
+/coordRectangle { % xl xh yl yh (all in plot coords) {proc} | -
+   5 1 roll
+   gsave
+   /qqyh x def
+   /qqyl x def
+   /qqxh x def
+   /qqxl x def
+   np
+   qqxl xm qqyl ym mv
+   qqxh xm qqyl ym li
+   qqxh xm qqyh ym li
+   qqxl xm qqyh ym li
+   cp exec grestore
+} def
+
+%% plot symbols and error bars :
+
+/SymGSet { % slinglo sradglo serrglo - : global preset
+   /serrglo x def /sradglo x def /slinglo x def 
+} def		
+
+/SymGlo { 0 SymGSet } def % OBSOLET
+
+/nopoints { % : instead of pset or cset, make t* plot nothing
+   {pop pop pop} dup dup dup dup dup dup 
+   /ti x def /t x def /tf x def /ci x def /c x def /cf x def /p x def
+} def
+
+/pset { % styp sfill serr srad sline pset - ;
+        % defines the corresponding variables for use in p.
+   slinglo mul dup /sline x fm pt 0.08 mul def setline
+   /srad x fm 0.08 mul sradglo mul def
+   2 serrglo ne { pop serrglo } if % if (serrglo=2) use serr else use serrglo
+   1 eq {/pserr % x y d- d+ error  :  vertical error bars
+            {
+             3 copy pop pop
+             dup 0 gt x 10 lt and {
+             4 copy
+             x pop add 10. 2 copy gt { x } if pop ym x xm x
+	     2 copy x .05 sub x np mv .1 0 rl st
+	     np mv
+             pop   sub 0.  2 copy lt { x } if pop ym x xm x
+	     2 copy lineto st
+	      x .05 sub x np mv .1 0 rl st
+             } { pop pop pop pop } ifelse
+             } def}
+         {/pserr
+            {pop pop pop pop} def} ifelse
+   /sfill x def
+   /ps {pop pop}  def  % default : don't plot
+   dup  1 eq {/ps {square}     def} if
+   dup  2 eq {/ps {diamond}    def} if
+   dup  3 eq {/ps {circle}     def} if
+   dup  4 eq {/ps {triangle}   def} if
+   dup  5 eq {/ps {cedez}      def} if
+   dup  6 eq {/ps {eieruhr}    def} if
+   dup  7 eq {/ps {valve}      def} if
+   dup  8 eq {/ps {tfwd}       def} if
+   dup  9 eq {/ps {tbwd}       def} if
+   dup 11 eq {/ps {plus}       def} if
+   dup 12 eq {/ps {cross}      def} if
+   dup 13 eq {/ps {2 copy cross plus} def} if      % gives a "*"
+   dup 14 eq {/ps {column}     def} if
+   pop
+   sfill 0 eq {/srad srad sline 2 div sub def} if
+   /ti {p} def /t {p} def /tf {p black} def % newstyle -> oldstyle
+   % the following can be overwritten by nopoints :
+   /p { % x y d p  :  plots a symbol and eventually an error bar.
+      3 copy pop ps dup pserr
+      } def
+} def
+
+/pp { % x y d- d+ pp  : dito with asymmetric error bar.
+   4 copy pop pop ps pserr
+} def
+
+%% plot curves :
+
+/lset { % lwidth dashes lset - :  prepares everything for ti t t ... t tf.
+   0 setdash
+   dup 0 gt {
+      pt fm setlinewidth
+      /ti {ci} def /t {c} def /tf {cf} def % newstyle -> oldstyle
+      % the following can be overwritten by nopoints :
+      /ci { % x y d ci  :  first point of curve
+   	 pop np xym mv
+   	 } def
+      /c {  % x y d c   :  point of curve
+   	 pop xym lineto
+   	 } def
+      /cf { % x y d c   :  last point of curve
+   	 c st 
+         } def
+   } { nopoints } ifelse
+} def
+/cset { % lwidth #dash cset - :   old version of lset: some predefined dashes.
+   dup 0 eq { pop pop nopoints } {
+      dup 1 eq { [          ] lset } if
+      dup 2 eq { [1 3       ] lset } if
+      dup 3 eq { [8 6       ] lset } if
+      dup 4 eq { [8 3 1 3   ] lset } if
+      dup 5 eq { [2 2       ] lset } if
+      dup 6 eq { [1.8       ] lset } if
+      dup 7 eq { [3 1.8     ] lset } if
+      dup 8 eq { [2 2 3.5 2 ] lset } if
+      dup 9 eq { [2 2 5.5 2 ] lset } if
+      pop
+      } ifelse
+} def
+/lstepset { % lwidth dashes dx lset - :  prepares  for ti t t ... t tf.
+   /lhalfstep x wx 0 wx sub 2 div def
+   0 setdash
+   dup 0 gt {
+      pt fm setlinewidth
+      /ti {ci} def /t {c} def /tf {cf} def % newstyle -> oldstyle
+      % the following can be overwritten by nopoints :
+      /ci { % x y d ci  :  first point of curve
+   	 pop np 2 copy x lhalfstep sub x xym mv x lhalfstep add x xym li
+   	 } def
+      /c {  % x y d c   :  point of curve
+   	 pop 2 copy x lhalfstep sub x xym li x lhalfstep add x xym li
+   	 } def
+      /cf { % x y d c   :  last point of curve
+   	 c st 
+         } def
+      /ti { 3 copy pop pop lhalfstep sub 0 xym np mv c } def % jump ex 0
+      /tf { 3 copy c pop pop lhalfstep add 0 xym li st } def % jump back to 0
+   } { nopoints } ifelse
+} def
+
+%% symbols _and_ curves:
+
+/plset { % p_args l_args plset # not foreseen in the original design ...
+   lset % but dashes will be lost (overwritten by pset)
+   pset
+   /ti {3 copy ci gsave p grestore } def 
+   /t  {3 copy c  gsave p grestore } def 
+   /tf {3 copy cf gsave p grestore black } def
+} def
+
+%% from style arrays:
+
+/pstyle { pStyles setstyle } def
+/cstyle { cStyles setstyle } def
+/setstyle { % #style array setstyle - : set p or c as predefined in array.
+   dup length % i A n
+   3 2 roll % A n i
+   dup 0 le {pop pop pop nopoints} { % #style<=0 means : don't plot
+   1 sub x % A i-1 n
+   mod get % A(i-1)
+   exec } ifelse
+   } def
+% preset, for security :
+/pStyles [ { 1 0 0 1 1.0 pset } ] def
+
+%% data symbols : x y ps
+
+/square { /D srad 0.707 mul def
+	  np ym x xm x mv
+          D D rm
+	  0 D -2 mul rl
+	  D -2 mul 0 rl
+	  0 D 2 mul  rl
+	  cp 
+	  sfill 0 eq {st} {fill} ifelse
+        } def
+
+/diamond {/D srad def
+          np ym x xm x mv
+          0 D rm
+	  D D -1 mul rl
+	  D -1 mul D -1 mul rl
+	  D -1 mul D rl
+	  cp
+	  sfill 0 eq {st} {fill} ifelse
+        } def
+
+/cross {  /D srad 0.707 mul def
+	  np ym x xm x 2 copy mv
+          D dup rm
+	  D -2 mul dup rl st
+	  np mv
+          D dup -1 mul rm
+          D -2 mul D 2 mul rl st
+        } def
+
+/plus {   /D srad def
+          np ym x xm x 2 copy mv
+          D 0 rm
+	  D -2 mul 0 rl st         % horizontal lineelement
+          np mv
+     	  0 D rm
+	  0 D -2 mul rl st         % vertical lineelement
+        } def
+
+/triangle{/D srad 1.14 mul def
+          np ym x xm x mv
+          0 D rm                       %  + (0,1)      = (0,1)
+	  D 0.886 mul D -1.5 mul rl    %  + (.88,-1.5) = (.88,-.5)
+	  D -1.772 mul 0 rl            %  + (-1.7,0)   = (-.88,-.5)
+	  cp
+	  sfill 0 eq {st} {fill} ifelse
+        } def
+
+/cedez {  /D srad 1.14 mul def
+          np ym x xm x mv
+          0 D -1 mul rm              %  + (0,-1)    = (0,-1)
+	  D 0.886 mul D 1.5 mul rl   %  + (.88,1.5) = (.88,.5)
+          D -1.772 mul 0 rl          %  + (-1.7,0)  = (-.88,.5)
+	  cp
+	  sfill 0 eq {st} {fill} ifelse
+        } def
+
+/tfwd  {/D srad 1.14 mul def % triangle looking forward
+          np ym x xm x mv
+          D 0 rm                   
+	  D -1.5 mul D 0.886 mul rl
+	  0 D -1.772 mul rl        
+	  cp
+	  sfill 0 eq {st} {fill} ifelse
+        } def
+
+/tbwd  {/D srad 1.14 mul def % triangle looking backward
+          np ym x xm x mv
+          D neg 0 rm              
+	  D 1.5 mul D 0.886 mul rl
+	  0 D -1.772 mul rl       
+	  cp
+	  sfill 0 eq {st} {fill} ifelse
+        } def
+
+/circle { /D srad 0.86 mul def
+          np ym x xm x D 0 360 arc
+	  sfill 0 eq {st} {fill} ifelse
+        } def
+
+/eieruhr {/D srad 0.86 mul def
+	  np ym x xm x mv
+          D D rl                 % + ( 1, 1)   = ( 1, 1)
+	  D -2 mul 0 rl          % + (-2, 0)   = (-1, 1)
+	  D 2 mul D -2 mul rl    % + ( 2,-2)   = ( 1,-1)
+	  D -2 mul 0 rl          % + (-2, 0)   = (-1, 1)
+ 	  cp
+	  sfill 0 eq {st} {fill} ifelse
+        } def
+
+/valve {  /D srad 0.86 mul def
+	  np ym x xm x mv
+          D D rl                 % + ( 1, 1)   = ( 1, 1)
+	  0 D -2 mul rl          % + ( 0,-2)   = ( 1,-1)
+	  D -2 mul D 2 mul rl    % + (-2, 2)   = (-1, 1)
+	  0 D -2 mul rl          % + ( 0, 2)   = (-1,-1)
+ 	  cp
+	  sfill 0 eq {st} {fill} ifelse
+        } def
+
+/column { np x colshift add x xym 2 copy mv pop
+	  colwidth xm 0 rl
+	  colwidth xm add 0 wy ym li
+	  colwidth neg xm 0 rl
+	  cp colexec
+} def
+
+/setcolumn{ % shift width exec | %
+    /colexec x def
+    /colwidth x def
+    /colshift x def
+} def
+0 .2 { { .5 setgray fill } G cp } setcolumn
+
+%% symbols with text, no error bars: usage is <x> <y> rpt
+
+/rpt { 3 copy pop 0 t 3 2 roll .12 add 3 -2 roll textLM } def
+/lpt { 3 copy pop 0 t 3 2 roll .12 sub 3 -2 roll textRM } def
+/tpt { 3 copy pop 0 t 3 1 roll .15 add 3 -1 roll textCB } def
+/bpt { 3 copy pop 0 t 3 1 roll .15 sub 3 -1 roll textCT } def
+/ipt {        pop 0 t } def
+/dpt { red rpt black } def
+
+%% colours
+
+% for symbols :
+/pColSet { % col ncol ColSet - : global preset OBSOLET
+   /npcol x def % # different colours
+   /pcol  x def % colours off/on
+   } def
+0 3 pColSet % default setting
+/ifpcol { % proc1 proc2 ifcol - : shorthand for: col 0 eq proc1 proc2 ifelse
+   pcol 0 eq { pop exec } { exec pop} ifelse % 3 1 roll ifelse
+   } def
+% for curves :
+/cColSet { % col ncol ColSet - : global preset OBSOLET
+   /nccol x def % # different colours
+   /ccol  x def % colours off/on
+   } def
+0 3 cColSet % default setting
+/ifccol { % proc1 proc2 ifcol - : shorthand for: col 0 eq proc1 proc2 ifelse
+   ccol 0 eq { pop exec } { exec pop} ifelse % 3 1 roll ifelse
+   } def
+/black { 0 0 0 setrgbcolor } bind def
+/white { 1 1 1 setrgbcolor } bind def
+% the following from http://intranet.icn.siemens.de/
+%    marketing/gc/root/en/1mess/2pre/presentation_design/guidelines.pdf
+/setRGBcolor   { 3 { 255 div 3 1 roll } repeat setrgbcolor } def
+/siemensorange { 255 153   0 setRGBcolor } bind def
+/siemensblue   { 0   102 153 setRGBcolor } bind def
+/siemenstext   {   0  51 102 setRGBcolor } bind def
+/siemensred    { 165   0  33 setRGBcolor } bind def
+/red           { 255   0   0 setRGBcolor } bind def
+/siemenspink   { 221 102 102 setRGBcolor } bind def
+/siemensgrey   { 221 221 221 setRGBcolor } bind def
+/siemensdark   { 102 102 102 setRGBcolor } bind def
+/siemensgreen  {  33 153 102 setRGBcolor } bind def
+/siemensyellow { 255 221   0 setRGBcolor } bind def
+
+/colormix { % weight(0..1) col1(R|G|B) col2(R|G|B) | colormix | colmix(R|G|B)
+    7 -1 roll dup /weightA x def /weightB x 1 x sub def
+    4 -1 roll weightA mul x weightB mul add 5 1 roll
+    3 -1 roll weightA mul x weightB mul add 4 1 roll
+    2 -1 roll weightA mul x weightB mul add 3 1 roll
+} def
+
+% one-dimensional colour choice :
+/relcol { % n_this n_tot | rel (0..1)
+   div dup truncate sub
+   } def
+/iCol1 { % n_this n_tot iCol - : default -2010, round the circle, RGBR
+   relcol dup 1 x % rel 1 rel
+   360 mul 255 add cos 1 add dup mul neg .053 mul 1 add % modulate saturation
+   sethsbcolor
+   } def
+/iCol2 { % n_this n_tot iCol - : cyan  - yellow - magenta
+   relcol 3 mul
+   dup 1 le {
+      dup 1 sub neg 0 3 2 roll } {
+      dup 2 le {
+         1 sub dup 1 sub neg 0 3 1 roll } {
+         2 sub dup 1 sub neg 0 3 0 roll } ifelse
+      } ifelse
+   0 setcmykcolor
+} def
+/iCol3 { % siemens
+   div /icnow exch def
+   165 1 icnow sub mul 
+   102   icnow     mul
+    33 120 icnow mul add setRGBcolor
+} def
+/aCol4 [
+   { 255 0 0 }
+   { 0 0 255 }
+   { 255 255 255 }
+   { 0 0 0 }
+] def
+/iCol4 { % red to blue, using old scheme
+   relcol
+   3 x sub 3 div 1 iCol1
+} def
+/iCol5 { % red to blue
+   relcol
+   aCol4 length 1 sub mul % position within array
+   dup truncate dup 3 1 roll % idx pos idx
+   sub x 0 max aCol4 length 1 sub min dup 1 add % offset i i+1
+   aCol4 x get exec setRGBcolor pop pop %%%%% TODO
+} def
+/ipCol { 100 iCol1 } def % OBSOLET: this macro should be set locally
+/icCol { 100 iCol1 } def % dito
+
+%% presets:
+
+/zValues { pop pop } def 
+/plotafter {} def
+/whiteframe { 1 0 0 10 10 graybox } def 
+/plotframes { xPlotFrame yPlotFrame } def
+/plotbefore { plotframes } def
+
+%% special objects
+
+/pfeilspitze { % x[local] y[local] rot siz
+  % draw with current linestyle, as set e.g. by SetAxx
+  exch 4 2 roll % siz rot x y
+  gsave
+     xym translate 180 add rotate dup dup dup
+     [] 0 setdash
+     .8 mul exch .6 mul np mv 0 0 li .8 mul exch -.6 mul li st
+     grestore
+  } def
+/pfeil { % x[local] y[local] rot siz len[global]
+  5 copy
+  pop pfeilspitze
+  exch pop
+  exch 4 2 roll % len rot x y
+  gsave
+    xym translate 180 add rotate
+    0 0 np mv 0 li st
+    grestore
+  } def
+  
+/knautschy { % x0 y0 y_knau y_tot knautschy - : insert an S in dived y-axis 
+   % the total height of the generated object is y_tot
+   % of which y_knau(.le. y_tot) is for the real knautsch,
+   % the remainder is for vertical prolongations.
+   x ym 4 div dup /tmpy x def 5 sqrt mul /tmpx x def 
+   /tmpa x ym tmpy 4 mul sub 2 div def
+   np ym x xm x mv 0 tmpa rl tmpx tmpy rl tmpx -2 mul tmpy 2 mul rl 
+   tmpx tmpy rl 0 tmpa rl st
+   } def
+/separy { % x0 y0 sep lng ang lin - : insert an // in dived y-axis 
+   setline
+   /spang x def 
+   /splng x def
+   /spsep x def
+   2 copy spsep sub gsave offset spang rotate 
+      splng -.5 mul fm 0 np mv splng fm 0 rl st grestore
+   spsep add gsave offset spang rotate 
+      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 | -
+    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 
+    grestore
+} def
+
+%% Styles:
+
+/setschool { % <0|1> | -
+   /schoolstyle exch def
+   schoolstyle 0 gt {
+       /TicProc { % aPos TicProc - : plot one tick.
+	   np
+	   xPos yPos xym mv 
+	   dup xAng mul xTicLen .5 mul sub x yAng mul yTicLen .5 mul sub xym rm
+	   xTicLen yTicLen rl st
+       } def
+   } if
+} def
+0 setschool
+
+%% text macros for insertion,..
+
+/abc {abclab setown abcx abcy 3 2 roll textCM} def % usage ((a)) abc
+/abcset { % x y siz abcset - : preset for abc
+   /abclab x def /abcy x def /abcx x def } def
+
+%% text macros for scattering :%
+
+/hbar {
+   showif
+   (h) 1.2 .66 {
+      currentpoint fontheight .11 mul setline np mv
+      fontheight dup .8 mul x .3 mul rl
+      st ()
+      } build
+   } bind def
+/hbarw { hbar () grec (w) endgr } bind def
+/wbar { grec (w) endgr ( / 2) grec (p) endgr } bind def
+/Sqw { showif (S \(q,) grec (w) endgr (\)) showif } bind def
+/Sqn { showif (S \(q,) grec (n) endgr (\)) showif } bind def
+/SQw { showif (S \(Q,) grec (w) endgr (\)) showif } bind def
+/Sttw { showif (S \(2) grec (q) endgr (,) grec (w) endgr (\)) showif } bind def
+/Sttn { showif (S \(2) grec (q) endgr (,) grec (n) endgr (\)) showif } bind def
+/Xqw { grec (c) endgr (''\(q,) grec (w) endgr (\)) showif } bind def
+/Xqn { grec (c) endgr (''\(q,) grec (n) endgr (\)) showif } bind def
+/ueV{ grec (m) endgr (eV) showif} bind def
+/inueV { showif (\() grec (m) endgr (eV\)) showif } bind def
+/inmeVr { showif (\(meV) supsc (-1) endsc (\)) showif } bind def
+/inueVr { showif (\() grec (m) endgr (eV) 
+          supsc (-1) endsc (\)) showif } bind def
+/inGHzr { showif (\(GHz) (-1) sp (\)) showif } def
+
+/Angstr {
+   showif
+   (A) .5 1.23 {
+      currentpoint fontheight .1 mul setline np
+      fontheight .14 mul 0 360 arc st ()
+      } build } bind def
+/Angr { Angstr () supsc (-1) endsc } bind def
+/inAngr { showif (\() Angr (\)) showif } bind def
+/Angrr { Angstr () supsc (-2) endsc } bind def
+/inAngrr { showif (\() Angr (\)) showif } bind def
+/wmin {grec (w) endgr () subsc (min) endsc} def
+/winpi { grec (w) endgr ( / 2) grec (p) endgr } def
+
+
+end % pop WuGdict 
+
+% This is "ewu", the very end of the wups* setup file.
diff --git a/pub/src/dualplot.cpp b/pub/src/dualplot.cpp
index 8abcd666fdc08bfdf50cf43a9606e5b275418687..21bd7faf3896d495195d663e888d150158a8fcff 100644
--- a/pub/src/dualplot.cpp
+++ b/pub/src/dualplot.cpp
@@ -311,7 +311,7 @@ void CPlot::writePostscript( string ps_outdir, string ps_head, string ps_dict )
 
     // additional output (do not append this to ps_accu to allow
     // further incrementation of ps_accu):
-    fprintf( pssav, "\nblack 0 -4 13 newlist\n" );
+    fprintf( pssav, "\nblack 0 -4 13 1.65 NewList\n" );
     for ( uint i=0; i<ps_Doc.size(); i++ ) 
         fprintf( pssav, "{(%s)} infline\n", ps_Doc[i].c_str() );