%!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/eeo3/eeo31-5n
%%BoundingBox: 70 85 245 206

%START PDFDE011.EPS
/pdfmark15 where {pop} {userdict /pdfmark15 /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/eeo3/eeo3.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:2023070112200)
 /ModDate (D:20230701112200)
/DOCINFO pdfmark15
[ /View [ /Fit ]
/DOCVIEW pdfmark15
%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 1 def /lanind2 1 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 0 def
/ifunc 0 def
/idevi 1 def
/imevi 1 def
/expnr 4 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 (eeo30-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 0 def
%ifunc 0 eq {Yi_L*i_dYi_L_0} if
%ifunc 1 eq {Yi_L*i_dYi_C_0} if

%Yi_Yxyi

 /xchartl 0 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 (eeo31-5n) 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 Rezeptorerregung) showde
               (achromatic receptor response) showen
              } if %xchartl=00

xchartl 01 ge {%xchartl>=1
               tfy
               TBK
               ( & modified) showen
               ( & modifiziert) showde
              } if %xchartl>=1

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 1 def
/iytj 0 def

xchartl 0 eq {/jm2 0 def} 
             {/jm2 1 def} ifelse

jm1 1 jm2 {/j exch def %j=jm1,jm2
           j 0 eq {/iyta 0 def} if
           j 1 eq {/iyta 0 def} if

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 tfy} 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 {tfy} 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


j 0 eq {%j=0, both sides
        tfw
        TBS
        ix3 1400 add iyt0 000 add moveto
        (a=1,00, b=1,00 e=2,718282) show
        ioute 1 eq {%ioute=1
                    ix3 1400 add iyt0 200 sub moveto
                    (a'=a) show 30 0 rmoveto (ln(10)=) show
                    1.0 10 ln mul cvsshow3x
                   } if %ioute=1
       } if %j=0, both sides

ioute 1 eq
xchartl 0 eq and { %ioute=1, xchartl=0 right side
                  ix3 1400 add iyt0 200 add moveto
                  TBL (10) show
                  0 100 rmoveto SVxrx 0 -100 rmoveto
                  TBL (=e) show
                  0 100 rmoveto TBS (ln(10)) show
                  30 0 rmoveto SVxrx 0 -100 rmoveto
                  TBL (, 10) show
                  0 100 rmoveto 
                  SVxr TBS (/ln(10)) show 0 -100 rmoveto
                  TBL (=e) show
                  0 100 rmoveto SVxrx 0 -100 rmoveto

                  ix3 1400 add iyt0 
                           ioute 0 eq {250 sub moveto}
                                      {500 sub moveto} ifelse
                  TBL (10) show
                  ioute 0 eq {0 100 rmoveto SVxrx
                              TBS (/a) show 0 -100 rmoveto
                             } if
                  ioute 1 eq 
                  expnr 6 le and {0 100 rmoveto SVxrx %zr for xchartl<=6
                                  TBS (/a') show 0 -100 rmoveto
                                 } if
                  ioute 1 eq
                  expnr 6 gt and {0 100 rmoveto SVxrx %zr for xchartl>6
                                  TBS (/a') show 0 -100 rmoveto
                                 } if
                  TBL (=) show
                  TBL (10) show
                  0 100 rmoveto SVxrx
                  TBS ( / [a) show 30 0 rmoveto (ln(10)]) show 0 -100 rmoveto
                  TBL (=) show
                  TBL (e) show
                  0 100 rmoveto SVxrx 
                  TBS (/a) show 0 -100 rmoveto
                 } if %ioute=1, xchartl=0 right side

} for %j=jm1,jm2

idevi 1 eq {%idevi=1

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

ix0 iyt1t moveto
TBIL
(F') show
-50 -80 rmoveto TBS (ab) show 0 80 rmoveto
TBL
(\050) show
LSxrx
TBL
(\051) show
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
TBS
xchartl 0 eq {(a=1,00) show} if
xchartl 1 eq {(a=1,00) show} if
xchartl 2 eq {(a=2,00) show} if
xchartl 3 eq {(a=0,50) show} if
xchartl 4 eq {(a=2,00) show} if
xchartl 5 eq {(a=0,50) show} if
xchartl 6 eq {(a=1,00) show} if
xchartl 7 eq {(a=0,50) show} if

xchartl 1 ge {0 100 rmoveto TBS expnk expnr get show 0 -100 rmoveto} if

TBS
xchartl 0 eq {(; b=1,00) show} if
xchartl 1 eq {(; b=2,00) show} if
xchartl 2 eq {(; b=1,00) show} if
xchartl 3 eq {(; b=1,00) show} if
xchartl 4 eq {(; b=2,00) show} if
xchartl 5 eq {(; b=2,00) show} if
xchartl 6 eq {(; b=1,00) show} if
xchartl 7 eq {(; b=0,50) show} if

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
tfl [50 50] 0 setdash 0 2000 moveto 2000 0 rlineto stroke
tfn 200 2070 moveto TBL (Asymptote) show
tfw [ ] 0 setdash 2000 1500 moveto 0 500 rlineto stroke
TBL
2450         2050 moveto (W) show
tfn
1500 150 sub 0800 moveto (N) show

xchartl 1 le {%xchartl<=1 special text
4600         2000 50 sub moveto
tfw TBIL (F) show
-30 -80 rmoveto TBS (1_1) show 0 80 rmoveto
TBL (\050) show LSxr TBL (\051) show
} if %xchartl<=1 special text

xchartl 1 eq {%xchartl=1 special text
3200         2300 moveto
tfy TBIL (F) show
-30 -80 rmoveto TBS (1_2) show 0 80 rmoveto
TBL (\050) show LSxr TBL (\051) show
} if %xchartl=1 special text

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
/epxi 51 array def
/emxi 51 array def
/esxi 51 array def
/Frui 51 array def

/MULX 500 def
/MULY 500 def
%ioute 0 eq {/e 2.7182818 def}
%           {/e 10.0 def     } ifelse
/e 2.7182818 def

/im 45 def

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

j 0 eq {%j=0
        /a  1.0 expnp expnr get exp def
        /ai 1.0 expnp expnr get exp lne_10 mul def
        /bi 1.0 def
       } if %j=0

j 1 eq {%j=1
%xchartl 0 eq {/a  1.0 expnp expnr get exp def
%              /ai 1.0 expnp expnr get exp lne_10 mul def
%              /bi 1.0 def} if
xchartl 1 eq {/a  1.0 expnp expnr get exp def
              /ai 1.0 expnp expnr get exp lne_10 mul def
              /bi 2.0 def} if
xchartl 2 eq {/a  2.0 expnp expnr get exp def
              /ai 2.0 expnp expnr get exp lne_10 mul def
              /bi 1.0 def} if
xchartl 3 eq {/a  0.5 expnp expnr get exp def
              /ai 0.5 expnp expnr get exp lne_10 mul def
              /bi 1.0 def} if
xchartl 4 eq {/a  2.0 expnp expnr get exp def
              /ai 2.0 expnp expnr get exp lne_10 mul def
              /bi 2.0 def} if
xchartl 5 eq {/a  0.5 expnp expnr get exp def
              /ai 0.5 expnp expnr get exp lne_10 mul def
              /bi 2.0 def} if
xchartl 6 eq {/a  1.0 expnp expnr get exp def
              /ai 1.0 expnp expnr get exp lne_10 mul def
              /bi 0.5 def} if
xchartl 7 eq {/a  0.5 expnp expnr get exp def
              /ai 0.5 expnp expnr get exp lne_10 mul def
              /bi 0.5 def} if
} if %j=1

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

40 setlinewidth
[       ] 0 setdash

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 tfy} 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

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

k 1 eq {%k=1
xchartl 1 ge {%xchartl>=1
tfy
j 1 eq {%j=1
        /yta Frui 45 get MULY mul 070 add def
        ixt2 2000 add 1500 yta add moveto
        xchartl 1 eq {(a=1,00) show} if
        xchartl 2 eq {(a=2,00) show} if
        xchartl 3 eq {(a=0,50) show} if
        xchartl 4 eq {(a=2,00) show} if
        xchartl 5 eq {(a=0,50) show} if
        xchartl 6 eq {(a=1,00) show} if
        xchartl 7 eq {(a=0,50) show} if

        xchartl 1 ge {0  100 rmoveto TBS expnk expnr get show 0 -100 rmoveto
                      TBS (=) show ai cvsshow3x
                     } if %1<=xchartl<=7} if
       } if %j=1

j 1 eq {%j=1
        ixt2 2000 add 1500 yta add 0250 sub moveto
        ioute 1 eq {%ioute=1
                    xchartl 1 ge {(a'=) show ai 10 ln mul cvsshow3x
                    (, ) show} if
                   } if %ioute=1
        xchartl 1 eq {(b=2,00) show} if
        xchartl 2 eq {(b=1,00) show} if
        xchartl 3 eq {(b=1,00) show} if
        xchartl 4 eq {(b=2,00) show} if
        xchartl 5 eq {(b=2,00) show} if
        xchartl 6 eq {(b=0,50) show} if
        xchartl 7 eq {(b=0,50) show} if
       } if %j=1

} if %xchartl>=1

       } if %k=1

} for %k=0,1

idevi 1 eq {%idevi=1

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

/edxi 51 array def
/Frudi 51 array def

/ai 1 def %special case
0 1 50 {/i exch def %i=0,50
        xi i -4 i 0.2 mul add put

%        ioute 0 eq {%ioute=0
%        eqxi i e xi i get ai div     exp put
%        emxi i e xi i get ai div neg exp put
%                   }
%                   {%ioute=1
%        eqxi i e xi i get lne_10 div ai div exp put
%        emxi i e xi i get lne_10 div ai div neg exp put
%                   } ifelse

        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
        Frudi i edxi i get bi mul put
       } for %i=0,50

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

k 0 eq {%k=0
j 0 eq {[       ] 0 setdash tfg} if
j 1 eq {[       ] 0 setdash tfg} 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

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

} for %k=0,1

[ ] 0 setdash
20 setlinewidth

} if %idevi=1

%slope
/m0 Frui 21 get Frui 19 get sub
    xi   21 get xi   19 get sub div def

%font colour
j 0 eq {tfw} if
j 1 eq {tfy} if
1650 0700 j 180 mul sub moveto
TBIS (m) show
0 -70 rmoveto TBV ai cvsshow1x bi cvishow 0 70 rmoveto
TBS (=) show m0 cvsshow2x

} for %j=jm1,jm2

tfl
30 setlinewidth
[100 100] 0 setdash
1600   0 moveto 1600 Frui 16 get MULY mul 1500 add lineto stroke
2400 500 moveto 2400 Frui 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