%!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/fgj5/fgj51-4a
%%BoundingBox: 70 85 245 206

%START PDFDE011.EPS
/pdfmark14 where {pop} {userdict /pdfmark14 /cleartomark load put} ifelse
/languagelevel where {pop languagelevel} {1} ifelse
2 lt { userdict (<<) cvn ([) cvn load put
       userdict (>>) cvn (]) cvn load put} if
[/Title (PostScript pictures: farbe.li.tu-berlin.de/fgj5/fgj5.HTM)
 /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1)
 /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de)
 /Keywords (image reproduction, colour devices)
 /Creator (klaus.richter@mac.com)
 /CreationDate (D:2021080112200)
 /ModDate (D:20210801112200)
/DOCINFO pdfmark14
[ /View [ /Fit ]
/DOCVIEW pdfmark14
%END  PDFDE011
 
/Times-Roman findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end

/Times-ISOL1 exch definefont pop

/Times-Italic findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end

/TimesI-ISOL1 exch definefont pop

/Times-Bold findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end

/TimesB-ISOL1 exch definefont pop

/Times-BoldItalic findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end

/TimesBI-ISOL1 exch definefont pop

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def /str {8 string } bind def

/TV {120 /Times-ISOL1 FS} bind def
/TS {160 /Times-ISOL1 FS} bind def
/TL {200 /Times-ISOL1 FS} bind def
/TK {250 /Times-ISOL1 FS} bind def
/TM {300 /Times-ISOL1 FS} bind def
/TG {350 /Times-ISOL1 FS} bind def

/TIV {120 /TimesI-ISOL1 FS} bind def
/TIS {160 /TimesI-ISOL1 FS} bind def
/TIL {200 /TimesI-ISOL1 FS} bind def
/TIK {250 /TimesI-ISOL1 FS} bind def
/TIM {300 /TimesI-ISOL1 FS} bind def
/TIG {350 /TimesI-ISOL1 FS} bind def

/TBV {120 /TimesB-ISOL1 FS} bind def
/TBS {160 /TimesB-ISOL1 FS} bind def
/TBL {200 /TimesB-ISOL1 FS} bind def
/TBK {250 /TimesB-ISOL1 FS} bind def
/TBM {300 /TimesB-ISOL1 FS} bind def
/TBG {350 /TimesB-ISOL1 FS} bind def

/TBIV {120 /TimesBI-ISOL1 FS} bind def
/TBIS {160 /TimesBI-ISOL1 FS} bind def
/TBIL {200 /TimesBI-ISOL1 FS} bind def
/TBIK {250 /TimesBI-ISOL1 FS} bind def
/TBIM {300 /TimesBI-ISOL1 FS} bind def
/TBIG {350 /TimesBI-ISOL1 FS} bind def

/SV {120 /Symbol FS} bind def
/SS {160 /Symbol FS} bind def
/SL {200 /Symbol FS} bind def
/SK {250 /Symbol FS} bind def
/SM {300 /Symbol FS} bind def
/SG {350 /Symbol FS} bind def

/CV {120 /Courier FS} bind def
/CS {160 /Courier FS} bind def
/CL {200 /Courier FS} bind def
/CK {250 /Courier FS} bind def
/CM {300 /Courier FS} bind def
/CG {350 /Courier FS} bind def

/CIV {120 /Courier-Oblique FS} bind def
/CIS {160 /Courier-Oblique FS} bind def
/CIL {200 /Courier-Oblique FS} bind def
/CIK {250 /Courier-Oblique FS} bind def
/CIM {300 /Courier-Oblique FS} bind def
/CIG {350 /Courier-Oblique FS} bind def

/CBV {120 /Courier-Bold FS} bind def
/CBS {160 /Courier-Bold FS} bind def
/CBL {200 /Courier-Bold FS} bind def
/CBK {250 /Courier-Bold FS} bind def
/CBM {300 /Courier-Bold FS} bind def
/CBG {350 /Courier-Bold FS} bind def

/CBIV {120 /Courier-BoldOblique FS} bind def
/CBIS {160 /Courier-BoldOblique FS} bind def
/CBIL {200 /Courier-BoldOblique FS} bind def
/CBIK {250 /Courier-BoldOblique FS} bind def
/CBIM {300 /Courier-BoldOblique FS} bind def
/CBIG {350 /Courier-BoldOblique FS} bind def

/nGs {350 /Times-ISOL1 FS  show} bind def
/kGs {350 /TimesI-ISOL1 FS  show} bind def
/bGs {350 /TimesB-ISOL1 FS  show} bind def
/jGs {350 /TimesBI-ISOL1 FS  show} bind def
/sGs {350 /Symbol FS  show} bind def
/iGs {300 /Times-ISOL1 FS 0 -90 rmoveto show 0   90 rmoveto} bind def
/eGs {300 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def
/ibGb {300 /TimesB-ISOL1 FS 0 -90 rmoveto show 0   90 rmoveto} bind def
/ebGb {300 /TimesB-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def
/ipG {300 /Times-ISOL1 FS 50 50 rmoveto (\267) show 50 -50 rmoveto} bind def

%20% kleiner
/nMs {300 /Times-ISOL1 FS  show TM} bind def
/kM2 {300 /TimesI-ISOL1 FS  show TM} bind def
/bM2 {300 /TimesB-ISOL1 FS  show TM} bind def
/jm2 {300 /TimesBI-ISOL1 FS  show TM} bind def
/sMs {300 /Symbol FS  show TM} bind def
/ims {250 /Times-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def
/eMs {250 /Times-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def
/ibMs {250 /TimesB-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def
/ebMs {250 /TimesB-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def
/ipM {250 /Times-ISOL1 FS 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def

%40% kleiner
/nKs {250 /Times-ISOL1 FS  show TK} bind def
/kKs {250 /TimesI-ISOL1 FS  show TK} bind def
/bKs {250 /TimesB-ISOL1 FS  show TK} bind def
/jKs {250 /TimesBI-ISOL1 FS  show TK} bind def
/sKs {250 /Symbol FS  show TK} bind def
/iKs {200 /Times-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def
/eKs {200 /Times-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def
/ibKs {200 /TimesB-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def
/ebKs {200 /TimesB-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def
/ipK {200 /Times-ISOL1 FS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def

%60% kleiner
/nLs {200 /Times-ISOL1 FS  show TS} bind def
/kLs {200 /TimesI-ISOL1 FS  show TS} bind def
/bLs {200 /TimesB-ISOL1 FS  show TS} bind def
/jLs {200 /TimesBI-ISOL1 FS  show TS} bind def
/sLs {200 /Symbol FS  show TS} bind def
/iLs {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def
/eLs {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def
/ibLs {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def
/ebLs {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def
/ipL {160 /Times-ISOL1 FS 25 25 rmoveto (\267) show 25 -25 rmoveto TS} bind def

%XCHA02.PS BEG
/rec %x, y width heigth
  {/heigth exch def /width exch def
   moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto
   closepath } bind def

/colrecfi %x y width heigth c m y k
  {setrgbcolor rec fill} bind def

/colrecst %x y width heigth c m y k
  {setrgbcolor rec stroke} bind def

/rem %x, y width heigth
  {/heigth exch 0.5 mul def /width exch 0.5 mul def
   /yleftb exch heigth 0.5 mul add def
   /xleftb exch width  0.5 mul add def
   xleftb yleftb
   moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto
   closepath } bind def

/colremfi %x y width heigth c m y k
  {setrgbcolor rem fill} bind def

/colremst %x y width heigth c m y k
  {setrgbcolor rem stroke} bind def

/tzr {1 0 0} bind def %Reproduktionsfarben
/tzg {0 1 0} bind def
/tzb {0 0 1} bind def
/tzc {0 1 1} bind def
/tzm {1 0 1} bind def
/tzy {1 1 0} bind def
/tzo {1 0 0} bind def %Reproduktionsfarben
/tzl {0 1 0} bind def
/tzv {0 0 1} bind def

/tzn {0.00} bind def %Graureihe
/tzd {0.25} bind def
/tzz {0.50} bind def
/tzh {0.75} bind def
/tzw {1.00} bind def

/tfr {1 0 0 setrgbcolor} bind def %Reproduktionsfarben
/tfg {0 1 0 setrgbcolor} bind def
/tfb {0 0 1 setrgbcolor} bind def
/tfc {0 1 1 setrgbcolor} bind def
/tfm {1 0 1 setrgbcolor} bind def
/tfy {1 1 0 setrgbcolor} bind def
/tfo {1 0 0 setrgbcolor} bind def %Reproduktionsfarben
/tfl {0 1 0 setrgbcolor} bind def
/tfv {0 0 1 setrgbcolor} bind def

/tfrn {0.5 0.0 0.0 setrgbcolor} bind def %Reproduktionsfarben
/tfgn {0.0 0.5 0.0 setrgbcolor} bind def
/tfbn {0.0 0.0 0.5 setrgbcolor} bind def
/tfcn {0.0 0.5 0.5 setrgbcolor} bind def
/tfmn {0.5 0.0 0.5 setrgbcolor} bind def
/tfyn {0.5 0.5 0.0 setrgbcolor} bind def
/tfon {0.5 0.0 0.0 setrgbcolor} bind def %Reproduktionsfarben
/tfln {0.0 0.5 0.0 setrgbcolor} bind def
/tfvn {0.0 0.0 0.5 setrgbcolor} bind def

/tfn {0.00 setgray} bind def %Graureihe
/tfd {0.25 setgray} bind def
/tfz {0.50 setgray} bind def
/tfh {0.75 setgray} bind def
/tfw {1.00 setgray} bind def

/cvishowr {dup 0 ge {0.5 add} {0.5 sub} ifelse
           cvi 6 string cvs show} def

/cvishow {cvi 6 string cvs show ( ) show} def
/cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def
/cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def
/cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def
/cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def
/cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def

/cvishow0 {cvi 6 string cvs show} def
/cvsshow10 {10 mul cvi 0.1 mul 9 string cvs show} def
/cvsshow20 {100 mul cvi 0.01 mul 9 string cvs show} def
/cvsshow30 {1000 mul cvi 0.001 mul 9 string cvs show} def
/cvsshow40 {10000 mul cvi 0.0001 mul 9 string cvs show} def
/cvsshow50 {100000 mul cvi 0.00001 mul 9 string cvs show} def

/cvsshow0r {10 mul 0.5 add cvi 0.1 mul 10 string cvs show} def
/cvsshow1r {10 mul 0.5 add cvi 0.1 mul %new980310
            dup 0 ge {(  ) show} if
            dup abs 10 lt {(  ) show} if
            10 string cvs show} def
/cvsshow2r {100 mul 0.5 add cvi 0.01 mul %new980310
            dup 0 ge {(  ) show} if
            dup abs 10 lt {(  ) show} if
            10 string cvs show} def
/cvsshow3r {1000 mul 0.5 add cvi 0.001 mul 10 string cvs show} def

%now with cvishow0 instead of cvishow
/cvsshow1x {/nxx exch def                              %example nxx=99.1/99.0
             nxx 10 mul cvi /nxi exch def              %nxi=991/990
             nxi 10 idiv /nxa exch def                 %nxa=99
             nxi nxa 10 mul sub /nxb exch def          %nxb=1/0
             nxa cvishow0 (,) show                      %nxa=99
             nxb cvishow0                               %nxb=1/0
           } def
/cvsshow2x {/nxx exch def                              %example nxx=99.12/99,02/99,00
             nxx 100 mul cvi /nxi exch def             %nxi=9912/9902/00
             nxi 100 idiv /nxa exch def                %nxa=99
             nxi nxa 100 mul sub /nxb exch def         %nxb=12/02/00
             nxa cvishow0 (,) show                      %nxb=99,
             nxb 10 ge {nxb cvishow0} if                %nxb=12
             nxb  1 ge
             nxb  9 le and {(0) show nxb cvishow0} if   %nxb=02
             nxb  0 eq {(00) show} if                  %nxb=00
           } def
/cvsshow3x {/nxx exch def                              %example nxx=99.123/99.012/99.001/99.000
             nxx 1000 mul cvi /nxi exch def            %nxi=99123/99012/99001/99000
             nxi 1000 idiv /nxa exch def               %nxa=99
             nxi nxa 1000 mul sub /nxb exch def        %nxb=123/012/001/000
             nxa cvishow0 (,) show                      %nxb=99,
             nxb 100 ge {nxb cvishow0} if               %nxb=123/012/001/000
             nxb  10 ge
             nxb  99 le and {(0) show nxb cvishow0} if  %nxb=012
             nxb   1 ge
             nxb   9 le and {(00) show nxb cvishow0} if %nxb=001
             nxb   0 eq {(000) show} if                %nxb=000
           } def

%***************************************************
%%EndProlog
gsave

/lanind 1 def
/lantex [(G) (E) (S) (F) (I) (J) (M)] def
/showde {0 lanind eq {show} {pop} ifelse} bind def
/showen {1 lanind eq {show} {pop} ifelse} bind def
/showes {2 lanind eq {show} {pop} ifelse} bind def
/showfr {3 lanind eq {show} {pop} ifelse} bind def
/showit {4 lanind eq {show} {pop} ifelse} bind def
/showjp {5 lanind eq {show} {pop} ifelse} bind def
/showea {1 lanind le {show} {pop} ifelse} bind def

/lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def
                    /lanindd laninddf def}
               {/lanind1 0 def /lanind2 0 def} ifelse
/colormf where {pop /colorm1 colormf def /colorm2 colormf def
                    /colormd colormdf def}
               {/colorm1 0 def} ifelse
/deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def
                    /deintpd deintpdf def}
               {/deintp1 0 def} ifelse
/xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def
                    /xcolord xcolordf def}
               {/xcolor1 3 def} ifelse
/xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def
                    /xchartd xchartdf def
                    /xchartm xchart2f xchart1f sub 1 add def}
               {/xchart1 0 def /xchartm 1 def} ifelse
/xchart3f where {pop /xchart3 xchart3f def}
                {/xchart3 0 def} ifelse
/xchart4f where {pop /xchart4 xchart4f def}
                {/xchart4 0 def} ifelse
/pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def
                    /pchartd pchartdf def}
               {/pchart1 3 def} ifelse
/colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def
                    /colsepd colsepdf def}
               {/colsep1 0 def} ifelse
/pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def
                    /pmetamd pmetamdf def}
               {/pmetam1 0 def} ifelse

%either defaul values for xchart=0 or values for xchart=1
/lanind lanind1 def %
/colorm colorm1 def %
/deintp deintp1 def %
/xcolor xcolor1 def %
/xchart xchart1 def %
/pchart pchart1 def %
/colsep colsep1 def %
/pmetam pmetam1 def %

/ioute 1 def
/ifunc 1 def
/idevi 0 def
/imevi 0 def
/expnr 1 def

colorm 0 eq deintp 0 eq and {/Txx (d) def /Fxx (d) def} if %colorm=0, deintp=0
colorm 0 eq deintp 1 eq and {/Txx (e) def /Fxx (e) def} if %colorm=0, deintp=1
colorm 1 eq deintp 0 eq and {/Txx (dd) def /Fxx (d) def} if %colorm=1, deintp=0
colorm 1 eq deintp 1 eq and {/Txx (de) def /Fxx (e) def} if %colorm=1, deintp=1
xchart 0 eq {/Txx (-) def /Fxx (-) def} if %always independent of intended output

5 /Times-ISOL1 FS
/cvishow {cvi 6 string cvs show} def
%75 85 moveto
%lanind cvishow (-) show
%colorm cvishow
%deintp cvishow
%xcolor cvishow
%xchart cvishow
%pchart cvishow
%colsep cvishow (-L) show pmetam cvishow

gsave
%XCHA01.PS END

4 /Times-ISOL1 FS
%74 86 moveto (fgj51-7R) show
%xchart 0 eq {(R) show}
%            {deintp colorm 2 mul add cvishow} ifelse

72 90 translate
0.01 MM dup scale

20 setlinewidth
%0 0 12250 17100 1.0 1.0 1.0 colrecfi %area white grey
%0 0 12250 17100 0.0 0.0 0.0 colrecst %Rahmen Schwarz

%/ifunc 1 def
%ifunc 0 eq {Yi_L*i_dYi_L_0} if
%ifunc 1 eq {Yi_L*i_dYi_C_0} if

%Yi_Yxyi

 /xchartl 3 def
%0 1 07 {/xchartl   exch def %xchartl=0,07
gsave
%from BEA80-7N.PS
%  xchartl   0 eq {  100 13000 translate} if
%  xchartl   1 eq { 6150 13000 translate} if
%  xchartl   2 eq {  100 08740 translate} if
%  xchartl   3 eq { 6150 08740 translate} if

%  xchartl   4 eq {  100 04480 translate} if
%  xchartl   5 eq { 6150 04480 translate} if
%  xchartl   6 eq {  100 00220 translate} if
%  xchartl   7 eq { 6150 00220 translate} if

130 /Times-ISOL1 FS
0 setgray
50 -130 moveto (fgj51-) show
xchartl 1 add cvishow
(a) show %a
%(_) show xchart 1 add cvishow

/xwidth 6000 def
/ywidth 4000 def
25 setlinewidth
0.5 setgray
0 0 moveto xwidth     0 rlineto 0 ywidth rlineto
           xwidth neg 0 rlineto closepath fill

0 0 moveto xwidth     0 rlineto 0 ywidth rlineto
           xwidth neg 0 rlineto closepath clip

0 setgray
0 0 moveto xwidth     0 rlineto 0 ywidth rlineto
           xwidth neg 0 rlineto closepath stroke

tfn %tfw
/xtr0 380 def
/ytr0 350 def

xtr0 ytr0 translate

%*********************************************************************
tfw
30 setlinewidth
 0 0 moveto  5250 0 rlineto  stroke
 0 0 moveto  0 3250 rlineto  stroke
  5250 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto stroke
 -50 3250 100 sub moveto  50 100 rlineto  50 -100 rlineto stroke 

/tx [(-4) (-3) (-2) (-1) (  0) (  1) (  2) (  3) (  4)] def
/ty [(-3) (-2) (-1) (  0) (  1) (  2) (  3)] def
 
/xz  (x)  def
/xzn (-x) def
ioute 1 eq
expnr 7 ge and {%xchartl>=7
                /xz  (z)  def
                /xzn (-z) def
               } if
              
/KLxr {20 0 rmoveto TBIK xz show
       0 -80 rmoveto TBL (r) show 20 80 rmoveto} def
/LSxr {20 0 rmoveto TBIL xz show
       0 -60 rmoveto TBS (r) show 20 60 rmoveto} def
/SVxr {20 0 rmoveto TBIS xz show
       0 -40 rmoveto TBV (r) show 20 40 rmoveto} def

/KLxrx {20 0 rmoveto TBIK (x) show
        0 -80 rmoveto TBL (r) show 20 80 rmoveto} def
/KLxrz {20 0 rmoveto TBIK (z) show
        0 -80 rmoveto TBL (r) show 20 80 rmoveto} def
/LSxrx {20 0 rmoveto TBIL (x) show
        0 -60 rmoveto TBS (r) show 20 60 rmoveto} def
/LSxrz {20 0 rmoveto TBIL (z) show
        0 -60 rmoveto TBS (r) show 20 60 rmoveto} def
/SVxrx {20 0 rmoveto TBIS (x) show
        0 -40 rmoveto TBV (r) show 20 40 rmoveto} def
/SVxrz {20 0 rmoveto TBIS (z) show
        0 -40 rmoveto TBV (r) show 20 40 rmoveto} def

/100KLxr {0 100 rmoveto KLxr 0 -100 rmoveto} def
/100LSxr {0 080 rmoveto LSxr 0 -080 rmoveto} def
/100SVxr {0 060 rmoveto SVxr 0 -060 rmoveto} def

/KLxrn {20 0 rmoveto TBIK xzn show
        0 -80 rmoveto TBL (r) show 20 80 rmoveto} def
/LSxrn {20 0 rmoveto TBIL xzn show
        0 -60 rmoveto TBS (r) show 20 60 rmoveto} def
/SVxrn {20 0 rmoveto TBIS xzn show
        0 -40 rmoveto TBV (r) show 20 40 rmoveto} def

/KLxrxn {20 0 rmoveto TBIK (xn) show
         0 -80 rmoveto TBL (r) show 20 80 rmoveto} def
/KLxrzn {20 0 rmoveto TBIK (zn) show
         0 -80 rmoveto TBL (r) show 20 80 rmoveto} def
/LSxrxn {20 0 rmoveto TBIL (xn) show
         0 -60 rmoveto TBS (r) show 20 60 rmoveto} def
/LSxrzn {20 0 rmoveto TBIL (zn) show
         0 -60 rmoveto TBS (r) show 20 60 rmoveto} def
/SVxrxn {20 0 rmoveto TBIS (xn) show
         0 -40 rmoveto TBV (r) show 20 40 rmoveto} def
/SVxrzn {20 0 rmoveto TBIS (zn) show
         0 -40 rmoveto TBV (r) show 20 40 rmoveto} def

/100KLxrn {0 100 rmoveto KLxrn 0 -100 rmoveto} def
/100LSxrn {0 080 rmoveto LSxrn 0 -080 rmoveto} def
/100SVxrn {0 060 rmoveto SVxrn 0 -060 rmoveto} def
                          
%!x-Achse: 1 log-Einheiten = 500 Skalen-Einheiten
TBL 
0 1 9 {/i exch def
       /ixt { -150 i 0500 mul add} def
       /ixl {  000 i 0500 mul add} def
        i 8 le {ixt -250 moveto tx i get exec show} if
        ixl 75 moveto 0 -150 rlineto stroke } for

%!y-Achse: 1 log-Einheiten = 500 Skalen-Einheiten
TBL 
0 1 6 {/i exch def
       /iyt {-100 i 0500 mul add} def
       /iyl { 000 i 0500 mul add} def
        -350 iyt moveto ty i get exec show
         -75 iyl moveto 150 0 rlineto stroke } for
 
4300 -260 moveto tfw LSxr
                 TBL (=) show 30 0 rmoveto
                 TBL (log[) show 30 0 rmoveto
                 TBIL (L/L) show
                 0 -50 rmoveto TBS (u) show 0 50 rmoveto
                 TBL (]) show
 
1900  200 moveto (L) TBIL tfw show
TBS 20 -80 rmoveto (u) show 50 80 rmoveto
 
4300 0200 moveto (L) TBIL tfw show
TBS 20 -80 rmoveto (u) show 00 80 rmoveto
TBL 20 0 (=28) ashow (cd/m) show
TBS 0 80 rmoveto (2) show 0 -80 rmoveto

tfl
40 setlinewidth
1600 0 moveto 800 0 rlineto stroke

2200 270 moveto
TBS
(range of office) showen
(Bereich B\374ro\255) showde
2200 100 moveto
(luminance) showen
(Leuchtdichte) showde

xtr0 neg ytr0 neg translate

%********************************************************

%BEG C01_C08 ********************************************

%original square
tfn %tfw
050 3750 moveto

xchartl 07 le {%xchartl=00
               tfw
               TBIK
               (F) show
               -50 -80 rmoveto TBL (ab) show 0 80 rmoveto
               TBK (\050) show
               KLxr
               TBK (\051) show 20 0 rmoveto (=) show 20 0 rmoveto
               (unbunte Rezeptorerregungen ) showde
               (achromatic receptor responses ) showen
               tfn TBIK (N) show
               tfw TBIK (, W) show
               xchartl 3 ge {%xchartl>=4
                             TBK (, ) show
                             tfn TBIK (N) show
                             tfw TBIK (+W) show
                            } if
              } if %xchartl>=4

tfn %tfw
%*********************************************************************
%BEG Common text
xtr0 ytr0 translate

TBIK

/iyt0 2900 def %top text line
/iyt1 2300 def %lower yellow text line
/ixt2 2420 def %right red text line
/iyt2 1100 def %right red text line
/ix0   100 def
/ix1   750 def %for F(x)
/ix1a  850 def %for Fn(x)
/ix2   2200 def %text e
/ix3   1700 def

%ifunc 0 eq {/x_zp (x) def /x_zm (-x) def}
%           {/x_zp (z) def /x_zm (-z) def /lne_10d 1 10 ln div def} ifelse
/x_zp (x) def /x_zm (-x) def

ioute 0 eq {/e_10 (e) def  /lne_10 1 def}
           {/e_10 (10) def /lne_10 1 def} ifelse

/expnp 10 array def
%       0     1     2     3     4     5     6     7     8     9 
/expnp [1.0   1.0   0.7   0.5   1.0   0.7   0.5   1.0   0.7   0.5] def
/expnk 10 array def
%       0     1     2     3     4     5     6     7     8     9
/expnk [(1,0) (1,0) (0,7) (0,5) (1,0) (0,7) (0,5) (1,0) (0,7) (0,5)] def

%****************************************
tfw
30 setlinewidth
/jm1 0 def
/jm2 0 def
/iytj 0 def
/iyta 0 def

%not clear why jm2=im1=0 is needed, otherwise line are to long
/j 0 def
jm1 1 jm2 {/j exch def %j=jm1,jm2

0 1 1 {/k exch def %k=0,1

k 0 eq {%k=0
j 0 eq {[       ] 0 setdash tfw} if
j 1 eq {[       ] 0 setdash tfw} if
       } if %k=0

k 1 eq {%k=1
j 0 eq {[100 100] 0 setdash tfn} if
j 1 eq {[100 100] 0 setdash tfn} if
       } if %k=1

%font colour
j 0 eq {tfw} if
j 1 eq {tfw} if

j 0 eq {/ixtx ix0 def
        /iytx iyt0 def} if
j 1 eq {/ixtx ixt2 def
        /iytx iyt2 def} if

/iytxt iytx 050 add j 0 eq {100 add} if def
ixtx 1000 add iytxt iyta add 70 add moveto
1050 ioute 1 eq {200 add} if 0 rlineto stroke

} for %k=0,1

ixtx iytxt moveto
TBIL
(F) show
-30 -80 rmoveto TBS (ab) show 0 80 rmoveto
TBL
(\050) show
LSxr
TBL
(\051) show
TBL
( = b ) show
ixtx 1000 add iytxt 100 add moveto
TBL e_10 show
0 100 rmoveto
SVxr
TBS (/a) show ioute 1 eq {(') show} if 0 -100 rmoveto
TBL ( - ) show
TBL e_10 show
0 100 rmoveto
SVxrn
TBS (/a) show ioute 1 eq {(') show} if 0 -100 rmoveto

ixtx 1000 add iytxt 200 sub moveto
TBL e_10 show
0 100 rmoveto
SVxr
TBS (/a) show ioute 1 eq {(') show} if 0 -100 rmoveto
TBL ( + ) show
TBL e_10 show
0 100 rmoveto
SVxrn
TBS (/a) show ioute 1 eq {(') show} if 0 -100 rmoveto

%xchartl %0     1     2      3      4     6     6      7
%gray
/a0i    [ -1.00 -1.00 -0.66  -0.66  -1.00 -1.00 -0.66  -0.66 ] def
/b0i    [  1.00  1.00  1.00   1.00   1.00  1.00  1.00   1.00 ] def
/a0in   [(-1)  (-1)  (-0,66)(-0,66)(-1)  (-1)  (-0,66)(-0,66)] def
/b0in   [ (1)   (1)   (1)    (1)    (1)   (1)   (1)   (1)    ] def

%yellow
/a1i    [ 1.00  1.00  1.00  1.00  1.00  1.00  1.00  1.00 ] def
/b1i    [ 1.00  2.00  2.00  2.00  1.00  2.00  2.00  2.00 ] def
/a1in   [ (1)   (1)   (1)   (1)   (1)   (1)   (1)   (1)  ] def
/b1in   [ (2)   (2)   (2)   (2)   (2)   (2)   (2)   (2)  ] def

        tfn
        TBS
        ix3 1400 add 400 sub iyt0 250 add moveto
        (a=-) show a0i xchartl get abs cvsshow2x
      (, b=) show b0i xchartl get cvsshow2x
        ioute 1 eq {%ioute=1
                    (, a'=a) show 30 0 rmoveto (ln(10)=-) show
                    a0i xchartl get abs 10 ln mul cvsshow3x
                   } if %ioute=1

        tfw
        TBS
        ix3 1400 add 400 sub iyt0 000 add moveto
        (a=) show a1i xchartl get cvsshow2x
      (, b=) show b1i xchartl get cvsshow2x
        ioute 1 eq {%ioute=1
                    (, a'=a) show 30 0 rmoveto (ln(10)=) show
                    a1i xchartl get 10 ln mul cvsshow3x
                   } if %ioute=1

} for %j=jm1,jm2

idevi 1 eq {%idevi=1

/iyt1t iyt1 330 add def
30 setlinewidth
[ ] 0 setdash
tfg

ix0 iyt1t moveto
TBIL
(dF) show
-50 -80 rmoveto TBS (ab) show 0 80 rmoveto
TBL
(\050) show
LSxrx
TBL
(\051/) show
TBIL
(d) show
LSxrx
TBL
(=4b/[) show
TBL (a) show 20 0 rmoveto
TBL ({) show
TBL e_10 show
0 80 rmoveto SVxr
TBS (/a) show ioute 1 eq {(') show} if
20 -80 rmoveto
TBL (+) show 20 0 rmoveto
TBL e_10 show
0 80 rmoveto TBS (-) show SVxr
TBS (/a) show ioute 1 eq {(') show} if
20 -80 rmoveto
TBL (}) show
0 80 rmoveto TBS (2) show 0 -80 rmoveto
TBL (]) show

ix0 iyt1t 300 sub moveto
tfn TBS
(a=-) show a0i xchartl get abs cvsshow2x
TBS
(; b=) show b0i xchartl get cvsshow2x
ix0 iyt1t 500 sub moveto
tfw TBS
(a=) show a1i xchartl get cvsshow2x
TBS
(; b=) show b1i xchartl get cvsshow2x

%xchartl 1 le {%xchartl<=1 special text
%xchartl 0 eq {1620}{1820} ifelse 2150 moveto
%tfg TBIL (F') show
%-30 -80 rmoveto TBS (1_1) show 0 80 rmoveto
%xchartl 0 eq {TBL (\050) show LSxr TBL (\051) show} if
%} if %xchartl<=1 special text

%xchartl 1 eq {%xchartl=1 special text
%0700         2000 moveto
%tfg TBIL (F') show
%-30 -80 rmoveto TBS (1_2) show 0 80 rmoveto
%TBL (\050) show LSxr TBL (\051) show
%tfw
%} if %xchartl=1 special text

} if %idevi=1

tfw
[ ] 0 setdash
0 1500 moveto 4500 0 rlineto stroke
%As1
%As2
%AS3
TBL
2450         2050 moveto (W) show
tfn
1500 150 sub 0800 moveto (N) show

xtr0 neg ytr0 neg translate

%*********************************************************************
/C0i_FXi {%BEG C0i_FXi

xtr0 ytr0 translate

/xi   51 array def %range -4 bis +4 in steps of
/yi   51 array def %range -1 to +1
/Fru0i 51 array def
/epx0i 51 array def
/emx0i 51 array def
/esx0i 51 array def
/Fru0i 51 array def

/epx1i 51 array def
/emx1i 51 array def
/esx1i 51 array def
/Fru1i 51 array def

/epx2i 51 array def
/emx2i 51 array def
/esx2i 51 array def
/Fru2i 51 array def

/epxi 51 array def
/emxi 51 array def
/esxi 51 array def
/Frui 51 array def

/MULX 500 def
/MULY 500 def
/e 2.7182818 def

/im 45 def

xchartl 2 le {/jm2 1 def}{/jm2 2 def} ifelse

jm1 1 jm2 {/j exch def %j=jm1,jm2

j 0 eq {%j=0
        /ai  a0i xchartl get def
        /bi  b0i xchartl get def

0 1 50 {/i exch def %i=0,50
        xi i -4 i 0.2 mul add put
        ioute 0 eq {%ioute=0
        epx0i i e xi i get ai div     exp put
        emx0i i e xi i get ai div neg exp put
                   }
                   {%ioute=1
        epx0i i e xi i get lne_10 div ai div exp put
        emx0i i e xi i get lne_10 div ai div neg exp put
                   } ifelse
        esx0i i epx0i i get emx0i i get add put
        Fru0i i epx0i i get emx0i i get sub
                epx0i i get emx0i i get add div bi mul put
        Frui  i Fru0i i get put
       } for %i=0,50

       } if %j=0

j 1 eq {%j=1
        /ai  a1i xchartl get def
        /bi  b1i xchartl get def

0 1 50 {/i exch def %i=0,50
        xi i -4 i 0.2 mul add put
        ioute 0 eq {%ioute=0
        epx1i i e xi i get ai div     exp put
        emx1i i e xi i get ai div neg exp put
                   }
                   {%ioute=1
        epx1i i e xi i get lne_10 div ai div exp put
        emx1i i e xi i get lne_10 div ai div neg exp put
                   } ifelse
        esx1i i epx1i i get emx1i i get add put
        Fru1i i epx1i i get emx1i i get sub
                epx1i i get emx1i i get add div bi mul put
        Frui  i Fru1i i get put
       } for %i=0,50
} if %j=1

j 2 eq {%j=2

0 1 50 {/i exch def %i=0,50
        xi i -4 i 0.2 mul add put
        Fru2i i Fru0i i get Fru1i i get add put
        Frui  i Fru2i i get put
       } for %i=0,50
} if %j=2

40 setlinewidth
[       ] 0 setdash

0 1 1 {/k exch def %k=0,1
k 0 eq {%k=0
j 0 eq {[       ] 0 setdash tfn} if
j 1 eq {[       ] 0 setdash tfw} if
j 2 eq {[       ] 0 setdash tfw} if
} if %k=0

k 1 eq {%k=1
j 2 eq {[100 100] 0 setdash tfn} if
} if %k=1

0 1 im {/i exch def %i=0,im
        i  0 eq {xi i get MULX mul 2000 add
                 Frui i get MULY mul 1500 add moveto} if
        i  1 ge
        i im 1 sub le and {xi i get MULX mul 2000 add
                           Frui i get MULY mul 1500 add lineto} if
        i im eq {xi i get MULX mul 2000 add
                 Frui i get MULY mul 1500 add lineto stroke} if
       } for %i=0,im

} for %k=0,1

j 0 eq {%j=0
        tfn
        /yta Fru0i 45 get MULY mul 050 sub def
        ixt2 2200 add 1500 yta add moveto
        TBIL (F) show TBS 0 -50 rmoveto a0in xchartl get show (_) show
                                        b0in xchartl get show
        /yta Fru0i 0 get MULY mul 200 sub def
        100 1500 yta add moveto
        tfn
        TBL (process N) showen
            (Proze\337 N) showde
        tfw
       } if %j=0

tfw
j 1 eq {%j=1
        tfw
        /yta Fru1i 45 get MULY mul 050 sub def
        ixt2 2200 add 1500 yta add moveto
        TBIL (F) show TBS 0 -50 rmoveto a1in xchartl get show (_) show
                                        b1in xchartl get show
        /yta Fru1i 30 get MULY mul 200 sub def
        ixt2 0900 add 1500 yta add moveto
        TBL (process W) showen
            (Proze\337 W) showde
       } if %j=1

j 2 eq {%j=2
        tfn
        /yta Frui 45 get MULY mul 50 add def
        ixt2 2200 add 1500 yta add moveto
        TBIL (F) show TBS 0 -50 rmoveto a0in xchartl get show (_) show
                                        b0in xchartl get show
        /yta Frui 45 get MULY mul 50 add 250 sub def
        ixt2 2200 add 1500 yta add moveto
        TBL tfw (+ ) show
        TBIL (F) show TBS 0 -50 rmoveto a1in xchartl get show (_) show
                                        b1in xchartl get show
        /yta Frui 30 get MULY mul 200 sub def
        ixt2 0900 add 1500 yta add moveto
        TBL (process ) showen
            (Proze\337 ) showde
        tfn (N) show tfw (+W) show
       } if %j=2

%slope
j 0 eq {/mN Fru0i 21 get Fru0i 19 get sub
            xi    21 get xi    19 get sub div def
       } if
j 1 eq {/mW Fru1i 21 get Fru1i 19 get sub
            xi    21 get xi    19 get sub div def
        /mS Frui  21 get Frui  19 get sub
            xi    21 get xi    19 get sub div def
       } if

%font colour
j 0 eq {1650 0620 j 180 mul sub moveto
        tfn TBIS (m) show
        0 -70 rmoveto TBV (N) show 0 70 rmoveto
        TBS (=-) show mN abs cvsshow2x
       } if
j 1 eq {1650 0620 j 180 mul sub moveto
        tfw TBIS (m) show
        0 -70 rmoveto TBV (W) show 0 70 rmoveto
        TBS (=) show mW cvsshow2x
        1650 1000 add 0620 1 180 mul sub moveto
        tfw TBIS (m) show
        0 -70 rmoveto TBV (N+W) show 0 70 rmoveto
        TBS (=) show mS cvsshow2x
       } if

} for %j=jm1,jm2

idevi 1 eq {%idevi=1

%integral dx/(a^2+x^2) = (1/a) arctan (x/a)

/edxi 51 array def
/Frud0i 51 array def
/Frud1i 51 array def
/Frud2i 51 array def
/Frudi 51 array def

/ai a0i xchartl get def
/bi b0i xchartl get def
0 1 50 {/i exch def %i=0,50
        xi i -4 i 0.2 mul add put
        edxi i e xi i get     exp
               e xi i get neg exp add 2 exp put
        edxi i 4 edxi i get ai mul div put
        Frud0i i edxi i get bi mul put
       } for %i=0,50

/ai a1i xchartl get def
/bi b1i xchartl get def
0 1 50 {/i exch def %i=0,50
%        xi i -4 i 0.2 mul add put
        edxi i e xi i get     exp
               e xi i get neg exp add 2 exp put
        edxi i 4 edxi i get ai mul div put
        Frud1i i edxi i get bi mul put
       } for %i=0,50

0 1 50 {/i exch def %i=0,50
%        xi i -4 i 0.2 mul add put
        Frud2i i Frud0i i get Frud1i i get add put
       } for %i=0,50

/jm1 0 def
/jm2 1 def %only 1, jm2=2 later
jm1 1 jm2 {/j exch def %j=jm1,jm2

0 1 2 {/k exch def %k=0,2

50 setlinewidth
/im 45 def
k 0 eq {%k=0
j 0 eq {[       ] 0 setdash tfg} if
j 1 eq {[100 100] 0 setdash tfn} if
0 1 im {/i exch def %i=0,im
        i  0 eq {xi i get MULX mul 2000 add
                 Frud0i i get MULY mul 1500 add moveto} if
        i  1 ge
        i im 1 sub le and {xi i get MULX mul 2000 add
                           Frud0i i get MULY mul 1500 add lineto} if
        i im eq {xi i get MULX mul 2000 add
                 Frud0i i get MULY mul 1500 add lineto stroke} if
       } for %i=0,im
       } if %k=0

k 1 eq {%k=1
j 0 eq {[       ] 0 setdash tfg} if
j 1 eq {[100 100] 0 setdash tfw} if
0 1 im {/i exch def %i=0,im
        i  0 eq {xi i get MULX mul 2000 add
                 Frud1i i get MULY mul 1500 add moveto} if
        i  1 ge
        i im 1 sub le and {xi i get MULX mul 2000 add
                           Frud1i i get MULY mul 1500 add lineto} if
        i im eq {xi i get MULX mul 2000 add
                 Frud1i i get MULY mul 1500 add lineto stroke} if
       } for %i=0,im
       } if %k=1

xchartl 4 ge {%xchartl>=4
k 2 eq {%k=2
j 0 eq {[       ] 0 setdash tfg} if
j 1 eq {[100 100] 0 setdash tfn} if

%manuel slope calculation
1 1 im {/i exch def %i=0,im
        /im1 i 1 sub def
        Frud2i i Fru2i i get Fru2i im1 get sub
                 xi    i get xi    im1 get sub div put
       } for %i=0,im
Frud2i 0 Frud2i 1 get put
%Frud2i 1 Frud2i 2 get put

0 1 im {/i exch def %i=0,im
        i  0 eq {xi i get MULX mul 2000 add
                 Frud2i i get MULY mul 1500 add moveto} if
        i  1 ge
        i im 1 sub le and {xi i get MULX mul 2000 add
                           Frud2i i get MULY mul 1500 add lineto} if
        i im eq {xi i get MULX mul 2000 add
                 Frud2i i get MULY mul 1500 add lineto stroke} if
       } for %i=0,im

[100 200] 0 setdash tfr
0 1 im {/i exch def %i=0,im
        i  0 eq {xi i get MULX mul 2000 add
                 Frud2i i get MULY mul 1500 add moveto} if
        i  1 ge
        i im 1 sub le and {xi i get MULX mul 2000 add
                           Frud2i i get MULY mul 1500 add lineto} if
        i im eq {xi i get MULX mul 2000 add
                 Frud2i i get MULY mul 1500 add lineto stroke} if
       } for %i=0,im
       } if %k=2
} if %xchartl>=4

} for %k=0,2

[ ] 0 setdash
20 setlinewidth

} for %j=jm1,jm2

} if %idevi=1

tfl
30 setlinewidth
[100 100] 0 setdash
1600   0 moveto 1600 Fru1i 16 get MULY mul 1500 add lineto stroke
2400 500 moveto 2400 Fru1i 24 get MULY mul 1500 add lineto stroke

[ ] 0 setdash
20 setlinewidth

xtr0 neg ytr0 neg translate

} def %C0i_FXi %END C0i_FXi

%*********************************************************************
C0i_FXi
%**************************************************************

%special space for 'xm03'PROZ0.COM 2x before/after xchartl

%  xchartl    0 eq {  100 neg 13000 neg translate} if
%  xchartl    1 eq { 6150 neg 13000 neg translate} if
%  xchartl    2 eq {  100 neg 08740 neg translate} if
%  xchartl    3 eq { 6150 neg 08740 neg translate} if

%  xchartl    4 eq {  100 neg 04480 neg translate} if
%  xchartl    5 eq { 6150 neg 04480 neg translate} if
%  xchartl    6 eq {  100 neg 00220 neg translate} if
%  xchartl    7 eq { 6150 neg 00220 neg translate} if
  
grestore

%} for %xchartl=0,07

showpage
grestore

             
%%Trailer