%!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/her1/her10-2n
%%BoundingBox: 70 85 245 206

%START PDFDE011.EPS
/pdfmark02 where {pop} {userdict /pdfmark02 /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/her1/her1.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:2024120112200)
 /ModDate (D:20241201112200)
/DOCINFO pdfmark02
[ /View [ /Fit ]
/DOCVIEW pdfmark02
%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

/20rm {20 0 rmoveto} 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 (her10-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 (her10-2n fek00-2n,ch) 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
/KLxu {20 0 rmoveto TBIK xz show
       0 -80 rmoveto TBL (u) show 20 80 rmoveto} def
/LSxu {20 0 rmoveto TBIL xz show
       0 -60 rmoveto TBS (u) show 20 60 rmoveto} def
/SVxu {20 0 rmoveto TBIS xz show
       0 -40 rmoveto TBV (u) 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  150 moveto (L) TBIL tfw show
TBS 20 -60 rmoveto (u) show 50 60 rmoveto

4300 0300 moveto (L) TBIL tfw show
TBS 20 -60 rmoveto (u) show 00 60 rmoveto
TBL 20 0 (=28) show 20rm (cd/m) show
TBS 0 80 rmoveto (2) show 0 -80 rmoveto

4600 080 moveto TBIL (L) show

1670 -240 moveto (x) TBIL tfw show
TBS -20 -60 rmoveto (u) show -20 60 rmoveto TBL (=) show

tfl
40 setlinewidth
1600 0 moveto 800 0 rlineto stroke

2200 240 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 3770 moveto

xchartl 07 le {%xchartl=00
               tfw
               TBIK
               (F) show
               -50 -80 rmoveto TBL (1,ar) show 0 80 rmoveto
               TBK (\050) show
               KLxr
               TBK (\051) show 20 0 rmoveto (=) show 20 0 rmoveto

               (F) show
               -50 -80 rmoveto TBL (1,ab) show 0 80 rmoveto
               TBK (\050) show
               KLxr
               TBK (\051) show 20 0 rmoveto (/) show 20 0 rmoveto

               (F) show
               -50 -80 rmoveto TBL (1,ab) show 0 80 rmoveto
               TBK (\050) show
               KLxu
               TBK (\051) show 20 0 rmoveto (=) show 20 0 rmoveto

               (relative Rezeptorerregung) showde
               (relative 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 50 sub j 0 eq {100 add} if def
ixtx 1100 add iytxt iyta add 50 add moveto         %iyta=0
1050 ioute 1 eq {200 add} if 0 rlineto stroke      %ioute=0

} for %k=0,1

ixtx iytxt moveto
TBIL
(F) show
-30 -80 rmoveto TBS (1,ar) show 0 80 rmoveto
TBL
(\050) show
LSxr

TBL
(\051) show
TBL
( = 2 ) show
ixtx 1100 add 400 add iytxt 070 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 1100 add iytxt 160 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

ixtx 2300 add iytxt moveto
[ ] 0 setdash
TBL
( = 2 ) show
ixtx 2700 add iytxt 50 add moveto 0600 0 rlineto stroke
ixtx 2950 add iytxt 130 add moveto
TBIL (p) show
ixtx 2800 add iytxt 090 sub moveto
TBIL (p + q) show

4300 1000 moveto
LSxu TBL (=) show 30 0 rmoveto (0) show

4300 0750 moveto
TBIL (p) show 
TBL (\050) show LSxu TBL (\051=) show
TBIL (q) show
TBL (\050) show LSxu TBL (\051=1) show


ix3 1400 add 800 add iyt0 250 add moveto
TBIL (p) show TBL ( = ) show
TBL e_10 show
0 100 rmoveto
SVxr
TBS (/a) show ioute 1 eq {(') show} if 0 -100 rmoveto

ix3 1400 add 1600 add iyt0 250 add moveto
TBIL (q) show 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 600 add iyt0 000 add moveto
        (a=1,00, b=1,00 e=2,718282) show
        ioute 1 eq {%ioute=1
                    ix3 1400 add 600 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 600 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 600 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 300 add def
30 setlinewidth
[ ] 0 setdash
tfg

ix0 iyt1t moveto
TBIL
(F') show
-50 -80 rmoveto TBS (1,ar) show 0 80 rmoveto
TBL
(\050) show
LSxrx
TBL
(\051) show
TBL
( = 4 / [) 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

ix0 2500 add iyt1t moveto
TBL
( = 4 / [) show
TBIL (p) show TBL ( + ) show TBIL (q) show
TBL (]) show
0 80 rmoveto TBS (2) show 0 -80 rmoveto

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
xchartl 0 eq {1220}{1820} ifelse 2150 moveto %xchartl=0
tfg TBIL (F') show
-30 -80 rmoveto TBS (1,ar) 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
tfw [ ] 0 setdash 2000 1000 moveto 0 1000 rlineto stroke

xchartl 1 le {%xchartl<=1 special text
%4600         2000 50 sub moveto
4600         2500 50 sub moveto
tfw TBIL (F) show
-30 -80 rmoveto TBS (1,ar) 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 2 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 0500 j 180 mul sub moveto
TBIS (m) show
0 -70 rmoveto TBV ai cvsshow1x bi cvishow 0 70 rmoveto
TBS (=) show m0 2 mul cvsshow2x

} for %j=jm1,jm2

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

[ ] 0 setdash
20 setlinewidth

TBL %last circles
newpath
tfw 1600 Frui 16 get MULY mul yshi add 70 0 360 arc fill
tfn 1600 Frui 16 get MULY mul yshi add 50 0 360 arc fill
tfn 2400 Frui 24 get MULY mul yshi add 70 0 360 arc fill
tfw 2400 Frui 24 get MULY mul yshi add 50 0 360 arc fill

newpath
tfn 1600 100 add Frui 16 get MULY mul yshi add 100 sub moveto (N) show
tfw 2400 150 sub Frui 24 get MULY mul yshi add 100 add moveto (W) show

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