summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-07-28 00:27:44 +0000
committerKarl Berry <karl@freefriends.org>2007-07-28 00:27:44 +0000
commitaea330a2bc712291777bdb4bf73fe68b594227ff (patch)
tree0b9da9ec2538ad2c548401d7b329a9d9490b272b /Master/texmf-dist/doc/generic
parent45f7ca5889d4629472094f1267ed18522e3ab472 (diff)
new pstricks package pst-optexp
git-svn-id: svn://tug.org/texlive/trunk@4671 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic')
-rw-r--r--Master/texmf-dist/doc/generic/pst-optexp/README14
-rw-r--r--Master/texmf-dist/doc/generic/pst-optexp/doc/parque-nacional.eps286
-rw-r--r--Master/texmf-dist/doc/generic/pst-optexp/doc/pst-optexp-doc.pdfbin0 -> 259301 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-optexp/doc/pst-optexp-doc.tex726
4 files changed, 1026 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-optexp/README b/Master/texmf-dist/doc/generic/pst-optexp/README
new file mode 100644
index 00000000000..742e2d4d270
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-optexp/README
@@ -0,0 +1,14 @@
+The package pst-optexp is a collection of optical components
+that facilitate easy sketching of optical experimental
+setups. Mechanisms for proper alignment of different components are
+provided internally. This way the user does not have to care for proper
+orientation of the elements.
+
+This is version 1.0, the first official release.
+
+This material is subject to the LaTeX Project Public License.
+See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html
+for the details of that license.
+
+--
+Christoph Bersch 2007/7/18
diff --git a/Master/texmf-dist/doc/generic/pst-optexp/doc/parque-nacional.eps b/Master/texmf-dist/doc/generic/pst-optexp/doc/parque-nacional.eps
new file mode 100644
index 00000000000..9576fcfe18a
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-optexp/doc/parque-nacional.eps
@@ -0,0 +1,286 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: jpeg2ps V1.9 by Thomas Merz
+%%Title: parque-nacional.jpg
+%%CreationDate: Thu Jun 16 20:16:59 2005
+%%BoundingBox: 20 20 173 176
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%EndComments
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+/languagelevel where {pop languagelevel 2 lt}{true} ifelse {
+ (JPEG file 'parque-nacional.jpg' needs PostScript Level 2!\n) dup print flush
+ /Helvetica findfont 20 scalefont setfont 100 100 moveto show showpage stop
+} if
+save
+/RawData currentfile /ASCII85Decode filter def
+/Data RawData << >> /DCTDecode filter def
+20 20 translate
+152.64 155.52 scale
+/DeviceRGB setcolorspace
+{ << /ImageType 1
+ /Width 212
+ /Height 216
+ /ImageMatrix [ 212 0 0 -216 0 216 ]
+ /DataSource Data
+ /BitsPerComponent 8
+ /Decode [0 1 0 1 0 1]
+ >> image
+ Data closefile
+ RawData flushfile
+ showpage
+ restore
+} exec
+s4IA0!"_al8O`[\!<E12!+Z'0s5<qn7<iNY!!#_f!%IsK!!iQ)zs8E!76ZQaHFCe
+u*GA2/4+B3#c+@f!t;#f8M6N@8l"9\i0"U"r2"U,&6#7LkC#6tJE$O[7L&J#Ke&J
+#Hc',DQ(',2?"&J5j'(`FD8+!2R<(Et+K*[D^H+!1I:!(-bj"U,,8#7_"F%NZ;r'
+HS;:*Zc@D*Zc@D*Zc@D*Zc@D*Zc@D*Zc@D*Zc@D*Zc@D*Zc@D*Zc@D*Zc@D*ZcC&
+^]4rP!8%;$!s'SG!YGG8&HVpM!#tt=!!`N*zzz!<NB-"pY59s24n2&-)_4"9\f1"
+9f#8$j-J0!!*-'!!EH;"qi(6#89BI;.4Hq#S]%V'dKEW_)"DU@Zn(e(*k1aEm`h^
+-8e.h@s*BtUU'E$PLKQM!#bk<!WrH(zz!!!!"!WW<+":"nE!%ec_!WiE)!<WH*!s
+J]*z!<Ni8+VHL41-nb@'-^j!6@k7D;K9P#nGh2B$j-M1!YGMH!'^J'SXa]ne?gg?
+kYZ,od_eG!>[LbIS[utmW+pLKbgIj#Umkd]=W=Y>Q6Op+D/T;\oX5dX<,'8Uf9U^
+O$OnX=eS$OM,T@1O+HIQ&?S\r.:\IU<A+p8Hacl\#`Z,ApG!^cid[Qh_r?Jjs,Ip
+oCgdhF33Ir[M!.+*YD_BMAZKm<5Ejr'\5UtV\;s=qIG7W;@o,NWF13.e7:^\j3H"
+f1H8sX:X+70p.icV]1DMlZVPjJ=j-=0"ab!Lh\Yi,[gBG:JE46sAu,3J)H"XR2`V
+.EfkPUn0@q>s4SMeVHdCR!c&5'akOl*BmF\&.Lk1CmHJ,FeTPa3>[E$p6eZ/^:R+
+rCR[N(hH@8Q;7U0AfusH-Zu8kj73i$,9ok+SE7!(5X,1!-#i5UArOp$-=phe>deN
+k3>+k.M^qd:I!-GuX8YZ[pdP2_P>2j"@5fe<!:(W[i?g\p6\c%3<g$&TS!Q-1fDM
+JKDQtS`>,ihmJNYcCo@)!t[[07WV$aMmisJFn;MM""J9MbUf0/Y2Y">lrSpAJT8m
+[gf#$+ke\R6?X<2"+'IuJ,"DAVg\aYt)Q%SlU8"XQ]bU-Kr-&A*1*]qPQqg&D&/F
+-C;C&"+3aDPq)Z==LtqOHleGgJ#2,OE"a%^4a`j7o:b!fN+;kV=rc6SL:jt[=Wp'
+m@Y6(9i$EkWa"gPkIVo"=siOYDO$]BPUBmhi!n^B<rm*HH,e;f:nF.uV(9_]Q;`d
+<[;;[3:8YgUBSB0"o+]Cl_'q[N\:cE-bEa`[f%aoB;">0/%$;/9`@X4j11l,D1DL
+Ia*,W_KL4bBMP*.[&PC$WSn(o4`NB3b0k.<,u/DC>09AIs@H>?nAY-tgo)OpXT>j
+U*#8gS>@PH&3E/@C&:aTsfVT[kG<S1DPll9r<@K^=Yt8-s<NYB3EcDifq8,aaR%p
+-_Oa/[I70dR8]Y3AU6M[O1<2#t[;%f%o*!IP@./+Y:gGR7?/S!WbjW2nX!+>S"i;
+%
+B[Q)9W/[SW;F6jegX"76o]iFH5M43E4Z]2.rK\@cOuB>WM8MOok9_TK[[IUa"27j
+7F?p<`60V6U]i;m7kLO%Oe;kG%D3lW8tf+%V)\#I&qSdhXH\q)HYIQ[T^ds,f*g1
+](A#%2[</@W)!+FMbU99r+8^_h$e8@,YNY8)Pbk[_9M=RUr?YY1d)/IWdOC1ufiH
+"U#NmG(8nT%KDT-FV"YT[T.aZi:g.=@#?7`%@Fi9QAS?8\hW$#[rh,JO$r*Z=>gq
+>;g1sI/M[aUX^ne>)AU@u..naV:A.pJEa1G2O3D(Ou+=Ak6i'5bB8I?!6`SXg@?'
+m:a@N4:[Rg(rWA6]'$OpC[eanaM@VW^TftD8dgc7>I*"O#W%=K.&th_bTaf(07AV
+Eg4'_ZPr7^fd]QW!#tc&Up^rUDN81Fm;5RUO7[LaX(XB6ICl2Ja`L*&[Bho]_U?O
+X]iM/G$<<Q?/d*>'Fj(0b"DnVr,UlX7cC%__o0<p`j:-]8]J$2C((1!EH&8=8S<Z
+F*iEhMg18`R+iGl<8q07^0/PBhaZu`*2>se-@Z_FcJ/\q9,b"pfp7_L4R9iWX-&m
+0TR^=/"H8d`]s%fL]U`.X[2>!d38DFhFu=F;DQ;H-,sX*o)u_bQ;mG2JZY>Dg^4<
+bE,TH#*!GX:D['`MB;uDI'!\W,79?\Hi1_JCC\#0WnF&dDk:V-;J0a)cBq)VosUn
+ar<us[s@L)Qk:M0cQE@bEJ+;sA@RU_d/k,I+7-9<3)\>e(ho`0m\Ddh[lu0<l`;L
+mND_;5"#o+NDH)at+IcOqZ9jilD0gWfKN?[LSL$h;E5)ObNU^3cYFq:D7$jcX!#7
+DMJ.Rq@8idI?'REqG@7l]IV,Q$Edj<b5P[QRUBq](5IO+B2Uu!ngB'ME&0F=_C!<
+#Z(`TFV&[a\MHo"%l*q93R0>=WUk&''khr1':R860m4R_E`$MuNcj8$!C>]#Rjs@
+9gj&g99ZG00dk%!'qHfa[f%$Ai_rUOH)r&Rigqso14S+b]?V/-*ZSicd%!Cm(bIb
+U&%![#U!Jf8q;c@?Ql3neE8W8.(An[U+.r%&>Z)p@AueJ"A<:$81(#"k`:j[M:[e
+VI#LRnGj:G9Edo3G%t3R"E`/+c"t!E";ObR#6ms'"EaYTfQriLK&)J!r_O,-LYd"
+Dc..3Feq?ceJV=8S)D%4=6^%?s!Js"c-<`XNHa_A1%R?r#,>>ChC$6@&*$t0!Di>
+eU*bHG?o$"@02AgDG08cTYX5WpsS-Z-lSNRa;YRiS3!8n4'6\f5!dIZWuqVM9bo*
+fh#KR19G=9pFAbb-X2NTDICYL>5tL/?s2C1aH:M\8bu4MFK%_<24re*s(&*V)AVe
+h'^<GoX%L;<:b"!F)'ec3L52YiiT2b$0g^1)0p2kPqu0!8)g%?B/;oAI$[m%Q'Dt
+JkGWOm4njL1g?)D'.[tT]-rESUkG39Jlo'D0nVB2"N"omY>S<60GE.XE2H>K0F;O
+cOn-C:H5lm\PW?;fYIn3JucXcOION.fLdSjp2R)>iHBF@%>N*1>P+F%i2iRSkOEC
+Z8las)5QQ6fBt7,>t=#6b/K:uNmV3_)'-!<Q4C^f%RnPsblfn3k&=&kkR;?B@ZJ"
+GfW4@LtWe$;$8%K*EJ/ku;arNX.Ae$A\eo0VDp9BJ?A5#B4(f[>lD6_LeKnl$0CA
+H-^Vpk)4h`[O8o(<;<S;iCBCWVU5+gaT>`bcOqUoT1_e!`$@17g-%+`lYfnM<g>X
+?d5;0jK?MI[QgG#CfCO^-KD7lq].l)r,qp2[%s%ZO>C]#Si*rf@gZSubC2);L5T*
+,o#ds:q8->jBf8b>E.no9u>Eiiq_oZbn</%T"?Krn):W`eub:lL=9fdrj8I?nIUu
+1cp5*.!EN?P'Q[I(3MBI8aNUi#"b'%BO(YShA#h[<s9?oJn9O^fe;dHrP-rr>kLf
+`(s2AUe`VRj'"p#PAT;rrBp4Ir^pGN?!D3A]q<b)u[I"O''U\#97\G#8'o`<DTID
+RZMeg\tLI9TW!!.<K]jXY8V[ElYe2nG]Q3FehP2Y"_*<`WT:u($2:uBh9(o'F;]Y
+6^!FtUMb.,>9(,616ES\@"X/c:(3unD(Vq]7h8S_s7>M'XF=AEoX>:]NP3+0>$mp
+,'=CtN-/lsNR%$D5>HW]QV]u@gq[>a:$o'BeF/9(anduITn-<d5kc=0\fFgQ3$S*
+W4M*_6m2@`nXIS&a;M`+B]'ULD<HXX^%H[H'=#@DfRk$VFF&I)Q[Wl//]bg.@m19
+$53W;GDkV`"\Lp_:,Q\R7pnAh0EVRBf.50amR?@p[IZ,0.ug:U#t-'La4P[8[qk`
+Je)i>a.7Hl_L*MbQ]5SBNDDE.VID!B,X!Y4Q^5u)apK[tHX+Ie\Jeci29!!\S%lo
+6P(J:kW"=<3Zm;91h>D^6QZ*#&<L-*"^_PPQ:/9b>d4WY[NR[=$RJD:mA2_/p&3<
+0CBUiF9VlGl20SrtKeb*M!e!XHXU8!a6X7JrJ'm4Uj%t#3aPGb(ar\eNm`mlhU;W
+8,#h4UuQ4N&-*lQ1A=p1.l854Ldph+_:?igj[S1IuKXbZ#@QqUYlB&NRaf<JrP[1
+hVQU7srPfOd:o+\QF&[,m?e=,lAkbUmiXdiWJ37!EA-n8D7lN^9@WsZ],X)Pals8
+MM/Xtb;-8%4jn>Yh,%t,WQ"q`ODLQkQaecK?[.`*=6qBjUSq-F220,1_hs_j`=j?
+_prV#t=Jf&t7S8,8#O:0i[Si9^Dtf.D\fnTRLiLrm(#`>6$`b.HX!r'l/M4CFLE6
+gu?co&'r1N<ZONSZUrE(+5=%:UR0>F#*0%&j[-9\9'gMho/-Bo-[@8/pi=uVj^<4
+3`LOJFI""\DbZ2Uk&OY*6*0=6r'XKa#A!p=/E@#2IFQX[U4r&:,EEcPWa'>?i+&!
+U4j"9(e!FIZJ`k'+O_Ar1WYlOqpZPk*a!+48jk]d0XX06$42qU3^Z%EtG*rMC[a%
+N5\(%l[Rs/.f+b\lM>SN6>fPl8fk2[/eOR<5#<IXe"Sn=T$=p[iTgdW80mML@>\$
+I8.+&k8s0J6/84!9p5T>P>SBD!5tmRdp6--M`'+C8_))-drrAeT^N>j2Nr4?jE6G
+JHI!NDJ4tBQVXi(omlAHrgPuUfo:'mTN@D^i^':I?a?qId+!5HqhfZ%470#nfRXN
+=#B^/NkBo\"3_+)G,O6&?n.88#c/.u<]emNfiC6@GV4Ws#s0D65;sYgQ."3I<\-,
+ZkZZ6:LaiA(g^D9>m>I`+HVC.$lZ"8o<7S\'^`Q.7sZ!9!<?=.p*hSrF5`m%p9T1
+%
+H9sLl:[<RroDpCM"=/(XlGMEqF(aRm)amX-rLQ+-gT%,gm)SPLh5]VBm?9cKS?^,
+:of.gHN=c-NR-F:e%1BNhuukr@g'DulHU&E_XhYBk(-OTP1d/l^MuN^IBJ39c6de
+,/&KR`nIA$7M)/"@UJkoE^.ZRdQDHI+hVd9FF[%)d]G#uE\4afpDBG"3RspWZl)q
+DJP<!\%Q5!AaS;Bea,sZ1J1_"7F;M*A6qb1Kk-W#R;WF=I=eCq]9(7+c5&4+Zp(.
+Y?V(8@VgRqXCM7Jf*O=fk[Y<t]8RJk`mGqdNF-n<VcY"\Cau7D]'M>bp*.SC;.ug
+@AI=AVjYM>aJ'o&i(.#!*c%j_Q]M$iJ/57K#(B1<to88U8;Vkb"[NC?sfY:rJn@<
+`b/;)\=\@tNjPb6RSrAb<MXAags)*srrB=AXgLFL_X6p/F<6VD)YZo$hD7rA/3\s
+;$`@X,+hE@B8Y;2o%b"r;+aHjNA"1^LN@?/(86]sXBMq0[[%,69:8'rI*rb17*])
+$L.Di/Y[na+tY#Vj`<BB@*U^mD)MZ,l4OYJN2,0Z=gfpd!(Y\Ulb_0FnHH&8/VSo
+B.1PfhLjqi-Z$DQX\Q`=sfd-KE:F@J+q,HeAHlM5JeeQBGj!TGq/`@$.X9="iYRe
+dJE#Xb,bZA18uAPhC9*LZ^+nQ$eSM?IJi46#ZZ=ca<9oCC8FhBi%=I29$sYU8qET
+;N6`cgIV!gm3$i&DZeThVS[&WM$E6FXq[Za_oslXm^\0-Bo+W+_0XNuO"&'h*[dD
+@IEOi7JE-+j^U'`,=<P,\[83C*M:Xgt,j7JLli%K<<Oi%q!e8`idMd4kOU?&>YYo
+TJh9_(Z,U@snhCYOKk*>;p+RM?fHC^$BfFnnb\sq03HR_9\Y*W)6LthDF#%iLA.C
+;V."S7dMnr1A#UR2'?3Cu-Wh-u-fUpuI,:$iT#,ko>kRSoom')&bIFPCuk7-np*E
+p'Mo@eS6O5;_(aBV=\U()GZ=nI:Kd;RgI]j1&eg?bXSY,037-(/IGd-UpUr8aeUN
+<n=&u=&ucY;;i1PDK?e;_JOX`'tk5Z<Flee0jiFYNh<3K!)R3k)l:CVOSiKV23FA
+*In10;CJbl%a[jeIW/%\)MkoJ<P7VT17eR0L7crl05*7!<g<,!6?ZEKK[S]LTPJ&
+$u^k;R)_uB`+\R4-h-4E9"EL-gT7s-RkpIU3_(W4[!q[$T@lP8,C(6YKQgAWCaR[
+R4+F>,&2ECh`-Z@[`D!0B['hW4N>/.+,X@r\42&77guAP7m4.BIYfVGj@l/!H3]W
+$6N<6NP"ZPRnCD7T!_;HpR!4ntMrq*iAFXp2:-Z&u_aK@gUIjWb!X51u,I/ArT`(
+UEoa4Z3#sH6Ae&e,2G9cCqME"*,][62J!Os>mSndBKDmOF.8[21>&M1OaGs`,5$@
+Mmb>SkZ#QR0CgJN_EMj&PN%e29[.X"U<;.%h8p`a%+nTL_S#0RPgA+=e6g!Y$@k7
+[qGhS+U3LRlI1\.C'.jM#XP\k([,>]/>H]-O9$sK5*-X]Gag(;U\f>Dj&fB@*$]0
+,HY:Pue"P#XNq$#EOnjjk?5RW/ZSKW'Ec'dVpW\>;J_#2)bE6ZrtO39*u'DJb--3
+(@':9YW+c>:L_Z6Y\PXgp&9AJ802U+%SB?:F1&M[bHeQP(bgP\lLkD4/3[pn:)-\
+C;]`4&QarRS9$bbIG5o7gBAuS.ilIA/Su6N)k0FMMJ%pHCMVk[-RfboRM5<0V8pu
+db*aP2RfF?Tacq&rBR4A0<ZT0pNXS%O'oaY`PmT$ZX`US-TERc\&jQIc,s[Vb:10
+leNCBUg__P5;H7Z?PPN$na;ACtQD'cQ$5F@,%5a:-Zl_I(d:R@Q;<4(_u1CPqsC$
+*:ZUZ.K2Ko=J*fdir,cSBK)M'n.#/RV6[8Y:.ZMl89gq@]'PU_Jce;$fipALU%HD
+51"gDB;3D!NS&!=\Zt7>&>`aRPDu.Ms^=%`fWfd;CMoU.9*8RG[JH:AWYJ]4J6"B
+e>^l].0o,/o'OZD9H^e8/rQQ?4+]Pfe>2/p<0shH3d988E79^>#$V4,C"5mHR9G9
+G4c*m-QRMk6@7WXL!C6l:DMC"g-XEG*=XPRF'c&1YR<+PON.kCBb*?Ns!8bjigLC
+fD*#[_*_7Q((;**V"Soq;fq,AQYK(+dB_:7YIfQ'8UEj%Z=(>4,VI^#Xt-L4Mj+X
+5OHOM#^-&h[t*<OR4G3:)C?F=_.!&0fCK%:L1V'TOlkEc?]I([VT!f^0Q[*bGe)?
+oA</Q2&=cfAqJY4R"g#(Ga_?FGLYGTPJ*h`5M$=MC"cV(5N];#/^-#UiH?!m3BC1
+X7:#cTXC_sC-"V1TWH/P:a7gF+b[]ND(W'?7Vc:E80jf+m_<:UQ[.2Q-.`p?D0s3
+/3p%a*!$hC"m$Y29l_)M])@e6UCH^L)rrB#t+8BBUmZS:%`'+DRq%#b<hrqUdPL/
+l!]M'jg\1,2W$Up3MQ$\<6&9igVqEc<Y"uh/G5jJar`$8\482Q7AOtY5t&oXR2#V
+CXNg(TSl<_0SY916fV0"u4m6tATWO@WGMZuo#,F9Xe&2@uN=L.I;o_>r4l(5.(/<
+eCrs((a3O6.ueQrF++i^`X*E!GD^OPs>T1"COM/!$I5Ug(n0M5$ab;<,8;L+70L0
+k+u5d;6?S:5+k^"@[2XXQI,&n^<m?)Otq^GpY$mt!j]upBr\A9Ld7cu.3$9NS[kP
+2GRC]Yh.]2U@T3k8D4jBF.3cQZFFbE::AkpYJPo+(CMHV>9gh-PM^J0Jcu%c,^)8
+@+"KN^tUL]><Ihmg&j<[Ca!2)fZ95D#k)D>dBZe]jArrC-14A!*[/lq,lmZSL>#;
+Mt;]P,;e-D7c@6DIkY>qp-0/JBOT7;RR!b^u)_NJROHfe>RL#G>1'qC5S.b!]^ef
+Knk0:#^P[3G)U09?-GNBbLfW;f_u:L`*c-K]VDN@WmYPrrCLrT;`d`dToFY$;qSF
+P_B9U/i5dPU@8f+;T,(SUfFH/C7D.]WJ!J+P*D4G9K8:#O9`W82X(j%-,qLrHmp:
+BY\JFk9YF2-`?gA:J]pQD9AGTtMT<%VeaV:%:?VGDDL%4f=hmQ,:g^"IglqOqn[F
+>"E;A9E[Sk9&St@?T.m[&,7e1UUl7B-?";@Ye1r':e<QB@:pr4,1YgZiPj(3EF]S
+*FgKnYdEhJmY3H=G'7?@dR94<m2N'kPTV_H];c0N;Z;A)*qJc.!_E7AH?jKS:N86
+Vb"MZ#-r&+iG@=5erV+e8)6@1RAaFb^cTu,1jsD!!1T4#E3<*BA,QV<,)`*WD_pD
+XY!RIaBDq9*U=%!!TK3>m=K#Wge$L[+ia2pP;u41:+DT#Q#j=TMcM<LV!*"0(V%'
+&k_j3NRgi4L/N$MmjYgFk?JV.9ZC=#@<p1d@&7OYL?POLrns8Y&=N-YVMa`f2:=K
+?Ee#kO_[)3?PjLSV5ClEn-'K$*Gf6]p]<JIBuP49HW0.?8rn0F]3NNlQOFgC+dQI
+Lgo+S<BP'BK`ac\Q@Se>\s&_Fs"BCC)UT0GID2-%R44,\ih%>)d?]#-&5D]"Mk2>
+`4R70Z%iF"]OTh71rX<.a"V0T4nc;[>IS[Ih&_AKa"8$$47!U&8j':beLKu&eqNn
+S#TLqS5O]48Tb:>7rji*,;4YT*I!M`(R_D`I!\)p]):!RV+W;-U<F06;e&^Y"+(*
+>a!`i;Bjbg%,q/cn8ouZ,3b[9O@D:ReTbr9dSi!BS*(PWnUaKcD9.mh43A/LT5aZ
+@>Toh]RAfST=3o<SE[)l#s4!_c*X3#XDL=5B_-Y8u<i/]Q[1mLrV4)H#2]Ek:m9L
+2[Bia)u0[-=AC`DL\lSk3WG,n2`&,33#g+[Y0@i1>_I83K!>I]un2/d()8(p=lfM
+A$FS-0XZ/1@HN"Wab((E1W@&5d;8^#eXr&%AHENg*173'mN=CMV\ES<6T&OS=cU`
+2UbQfC6Wer;O!?OTaE)+<,S0W2EF9epXU(ZD%)#W5On:1pkblape`"+2?`eFS9WQ
+IG8@9(-8!-kM3F\]`4NIKD.7[EAcUs.gU))M-*\@\VGNh67o0Zfkn2$(!_u`@)dH
+NMH,a3YmiemnlNBVBLaL4k`5%"B9j%!lm9e-AEnT!;[aN<Q:bS9lT3F\FEr3p+"J
+I2?E%X9L>[O9sV'T.G+Z;C9X?2YD;oq<.!(M`:rr=.s)GOnb8%c&Job.i$J*<k=g
+nH6&,<:".`AqA$P?qhV^J1K,fb[C(p@s&jPQpc:6`3_Z9LRfD.93-_#9DCY"LsVs
+bt>YsOj(s1[a^T)()_6=g7.C4/tk^S?]ll5O_9D2?^AZF.W5^Sf2F,!(F9]X]:nd
+R!F":R\5'p3Ia9UC>*4c2G_Xt=`\f#I6i`II[rZu"f(!tD()3(RpaW7uAhkajfdU
+XPSAD[(Xfp,;+"P>UKdEeP9A,o?9jKBF04(e]*KlbTH%dEsn)\5HE!YeV6n`D:c,
+#;q8M[bi?_S&3EFO,%iXA\@>enm)N2@eu)9/Z_/g2ZT"JrQGg*p'!USq5fmYh)FZ
+F1mBXNb6u,j!gJPVn"jAYkJ]8XTqPBr7DlOf`$V',YKld\meUm8N+NQO:.,PbuDi
+`CAq`R&NqcpE+'b7bV`DP+YB@'@<'$Fg%G3_/aS)P+Zf/XdhPA)G56%6$g>W0WCD
+/=&gZm3N;PVLSSXP8#0Vnc^9lf5`r!af!dc[Ptm$0QtBSeY`F$>\6!bbFZG\]D=W
+o.dmbj\0+c=cq0JRDh+?P4E[B8[/Kl>":1_.*YSX^iKs.R:(Ucaa,,&5S;qa!Z,b
+d;@=p3)9-b79f%$CEJ_d4(eoZn8^K8Nu,.V<r?H"'S1d_]hY*X%-Hccj:e*YD<12
+\<#8Q+&<D3b5hDpj$_T\t@`^L0P"S7(t/1-6%2o9sog).LA_,MOJeO8KIg2Op%B<
+VnOGMTD&9bdP#*4"+(L;,iYjRQfDumW[sqPQX6.iC::-3<2SN'f0="-Z?=SMj\Lh
+Jm2I7;"XVl7&X.K8\rh*&LI#aRrrDWuGd>'i2>G;-W%EnHFEq+oa,f<K5c&L7_,E
+:u!@VsNdb,k`%&t>d!\JI(I@KN.CVfUE8uP'kQssoSkEC7UcmP-Qgmo43i7N`lDs
+)Ss(trH7RXHeX<"[J:SnFt=p-`bAr6+eiV:JHFFNe/E,USOe,Y]D3g9'4-/L/#tZ
+O8:$^*nn7a]HW"*n(bC-Sd,q@8:ViQX"bG4]&3U7,Jl%3Pp/+WDqSTK^4HgGr28K
+bKIC!4lmnDXno:)_r?OP3,ok3EjX#H#ptpUL<V69T@uhnV\Lq8*LPl@#*4RTNQKR
+%
+q=i!oVUVEEDabfiOABNSc0]?f"RQsn?:O5E0E1tO+EC(!IM?50nGA2eqAe84;mfj
+]QQH66JN'2Vd[pLWEo$pgpH::".4L+o4r,&@MXj:`rR$C1r*>%ipp\.up)U;7C+F
+1EaXOU$nl2tBgoVeVDfgmuiOSjG<T7Q0]("Sib\,"#UeMPqf&\:j>JT8P\@HeV8@
+?Fa8G6&L;`lHqlb7)4pY8X7.C3R_gPoU))?0]Ce@Cn'jT,VXd.=#=MjSKolqiZA`
+HQ?drNaN/+U^GeGo6-+'qGiol&ZCphe[UIo4D$N%!cWE9$`CX<VkIhpj-C\H73pE
+dd6*mY0[7$hBH36b.,-9Yn8EbEmp$_!%^WTh@UeDEcW6[,C%9"?0,\5NnVL5Bh;2
+lALgIT\Ub+kguT=gda01ir_.j4@B"B]EL0$c3k1=*5U,5G^^9>ih]8M]EP`_<>ao
+K/kQc+4dMq.j]#Ghl9WFdUS<]oW(K3;K;@6A<faC.56Bi0\TUaT[pBYb3XWh4P=\
+gm8TQPXX]S;Rg>/G_'>s4m&dpA0fgIk=38lArdmbru:%PYJRM)9K6rr?I>A4f*+>
+KSF#*h.%gL"Ku!b#B$JAWrHsc(m7He<m_$l,U.U%`>eBjW+I8Ka=u;!"dB&WM[%<
+?K0#RAm=("ej7M2k0;)akiUIPnF?fdC.qNZ`(h!)9Q<m'7\Z<].I_kAbt0mZ/_#c
+CTVSP6h$pQ)050[hSekgO$S^Yt*N>Cg>\LFBWM`(Lb9SL3"GEToP_*_@RgYUrqNr
+qI"3-`X?-ua4p(UgKDRLUb-@OUU?2C#@(bGlW!db^,X4o9$oFXRPh[a]fnUjsD!/
+Hb#MW.i5F%cb6-=?j^6!n#_OHc!59-kj,L:[]k?GHg^*RJT+8h$,@P?uU<Xe2<EV
+9%Wh(\M^lTV8-!cI\HCYA_bibQAcE%.HD="6'7[ULZuhR!!euWO8VHQu^rDd3**9
+F)Ie:8[d_$crj;GYd=b%WCc<9MN:5>_]\<l'Y'3&;,Wlggmk]C\KgBD>#&;sSU="
+hhU%X0=GMVg""]`7oe;8^R[a*![]WVsXn$)3]&i@>&M:GV.7e:^;U*]VYu1&[Jm&
+e[;RD-'JeSL#,K:'b99U6o<+5\*YDHR*is^9=8pRVj?^uV3#ReeuA0j2'>*K8Z&?
+Zdfb(GT@J].?GOI>sIEbW[Q=#n:DD62Oo,mkZV@^4jrg`l>O_b;iZ#]g0l$0l@Jf
+D4hY<b.J\AdYeAR>tOf)g&<lJ;])]%80>O0.trsBqtkTZjR#4$NN;>Zm3$r+.'b=
+,)=;'Si:V@$t3re22X)X[+qJTMp/\q.VWdnK&T^J(NXPl-!.iK)CHD</5>U`Vcf9
+^1@rplmPKDjk8ONi=Gq&UU]1<B0SNtl1*q"i:9`I(n=d^_O[hdEXEH[A@lM@d1Dd
+gmo.,D*`4YJD>W".@bKPKj1=LoO.bk=-e@#hRXo"gMTc(h$;5EFmDA"WL\6"A%$*
+b1Y6D/g!ZBDDuR'ao(UbNCe/f(@i,5)UXH<sa=1tXQM@"b<U!;C[B5U07dp*dlsV
+N3qrMK&Bc:!69%>@g_#Ybe6A<*,@0D08r_SYEM?-0ddTmo3P,$Hjj^rDOb<`et5C
+Z\JJ[l[D^r9#@m_SNj,ab'8oom;d2Yf.NW,%!:M$Z#]P;-^:6KF[oXakmSVXY<gh
+_$&-VPQ^gs1pl47D[]ftl%COu@N+1o(fs-I`Kd@KQPn,SN&.<gI,5jSjBG"Mj"f9
+canj4&ObA#+p'W$*qef/]lDrP9"Q;_I`Bali_&=g;$!0dk0CN]+h_blt"2WA=T8c
+f>e6J3&E#5X889uXSs&oNHRi5oB4<(K/J;r\Ti8,T-3p2QTh0OqIT;ADrqE1sKfO
+ggQ[:RKF5*eH7;S&^mU=c(ED`,*Z/iEW/!jNOGL^!]Z/Gbj!f>]l*#8BikJ.br7S
+aF/hBRC<`F'Ka6IGgj1M_jVQU4:ks7SO=lE*D:$,%Km>qlO3t;(9i3pD%&\&m0*h
+96m)U<0!K:c&VQNKKU>mG#sUBN!J7s,5XqtY#H(3[-38o["Eu6-$GbNfE*m]]&r>
+=4XH]X/lBCp3PNn/3e0Z.XfXR^MR.U+bB,d&P;_C&l9;$fRD/C=qRrF$?]\<K`aM
+mYu),<oJ,-(Nk8m8P/B$_U'g`]E'NC-RPVN=H!-sc0F^7B-$#*n?u`o--.7OCo02
+Ic<WkhN5=:LU&u,>Ci;:j'\V/Dq;j"/VYW>:eFh;K]CQVNTpOTlkCt(DkTcHhEEC
+<#!f4D^sJ2V+8%WDEkib1NTm#1Wr*rhG]CK\<Y^FW"Pb&PGkt0VqKnFgdnEOPWn^
++O?T`Y#[$Z^[bl`QNQYrIaQmEn1TL2X>!1:W"VnON)*EWG^7rPi/&!V1@i8A3V^3
+ssr3H`2CB>9(k(SCNaNEb4[hRNs;A<=nEA&O[;K$?J_d7u-Z?s!*j]U/=;HdIoe=
+oprS-X'Q+,@%q1fU.8&`nr<)jNXKFkLKY;s+lbR=4HKd.9n=f1h+2A<8]-m-AR,\
+Pp#hV-$OP3LemE;KH]b4EOn*]Z655B117m;\$mjAo0h-\MVKT_$9U*Xd_rs\CN4T
+il.auM3=*7=2m"GX7Wgo\Jf_5:\$7oCFVsn\a"Kj)),%,JgMS3OBo7-&o/`SJ>!_
+sG!3[,"b]KWH;^&)_Prcn?a?^Lnqq%)P,Wn189INBOpE;ZmRQf[/Q4<j3M1DZDL$
+Z)dTfRZ<nIN7jEKo!r5?4'?]LaPp1"UiqdIKL6\mec8\"T5mPk#Q`70XSY^lQrAg
+m7#=4T4OJJPN?K%dXpqXf[k[PPqOaN7/qo8L8Cfe^c'Z[RG\-!'9,p\A):.hhA<5
+8n6>4_bBGj2U])ds10ee-)%SSP>YWn0oh]a9ieSg3&<c&GE>jX%\@QX=$,;b#N.S
+T#jO7Na!-4/q"8#FXV92ROEL0l->B#BZFhYd9J`%63Hhc1+OiZ'+J%Q$+7T.0lNr
+Z7fcQhpM<]&f3mmeJ,'*IKY@^sM=H8:8Lg8pGp-(,o$\_>N_??Yh0=*#KPC=:,7+
+onr\.\=6'*4^5sQ7l_@fRuhZe7[N*0GL_j!0=XRh9@)GaolFfV6,S2*gP!U.[SUF
+Ul,/OF0p'TQtE*P7*e(kk]4RWIP-7?T755!\l@nKj$-1DQq6bt;h@]_dCN'Cb`Da
+@0F@iI<(D=L&[UQNl8/$sB2HKP<W-i>to@da9Qk[3T)!+hd9oh),*n+"7P3`97F(
+D&jI2kse=F-J'P)Rs@<6VLi'uieK&t&:o1BZsu\uG%nqc)Ca7$DI\PLMs*P7;HRd
+1UR+^`!,Anah+%.Qr]ap!;U;kn)#jRMYk3`\8L\BG3fq_2Pm&9YJjBXUrG<EVZ`H
+-q&>YDQl$U)^FTYR@)W.?.Z8d&`e$AS.k[gE"M?6Eo-nSRE=fW%Y_G8,3q8ERSi7
+U^k8)79Go>jc88QZ8\"+01=p?Hbq_t`[?2+8B^SNA<cq3=UG9dRiO3jRI=!D:/[=
+I\PjBs^Q)0P8ZYA`hiYE8=)X*4f-\V+00R7r%l4?p!?7+,@k62(mXcboFl(>]HPB
+W@5l^!.Z\$/[i]5d\rOK#?0^?Q1m,;DBu((ER(eM2$!%K]6D/*cNrbA*%rY_^1G6
+oi(WGIZ^?t#>r,\RC-0'<dE.[l;i[2BLG\?1Kf5^!(DbIpK6(pm\P,mMEt'EiUpT
++^;+9rBgB4X<=62.H*L1p(F-9G&XXbNJ[K+U"am437?:0,arrA*dk%RDf<$Ygff%
+/$-@9fJ2iOt!3\ZdOIe=M7F.B'jC9Q^Vfgn/)^Y$q`g<R-pMhS]IPdpEU%RmEO4;
+NQ_jaqPVgd,&6,\A,6%"]<(7;\))=3*,%eKdL*@C_R0).rf!G4CPtr>Ge>,*29S`
+1J#J5AlQNGQ?tBn+/i)![_X=[TT7A%D@!c'-)O;%R[,@0E`@(]b5m_`^&H8IqmML
+$<EcOFQZc\KLLkM*?mKoa)@__e`'q+u;N\lud5Ka\]VCn'o3!4\_m4[2*fqbkD=g
+tk8uTOMm%jX].caJ7PXRIAP&>3`GCLQ8.5[Ka6CB[cm4s-.7VT2N5:lAoE<j<O+H
+N%-r,]`s?78C2R,tH]HZh`1@%p]b>MfA[i>J'$F^X)_h:$`'ThZj]CY%W*r+X4=X
+dOW-GXj9B@l^!Rr5I+^gTH'E!nKoWHutRN9K'>sDn:Lgl3UT8FE!VEc`i*Pq+$MN
+V-+:*Vg,nK]0mH6@rP07mZ+GOd#)h+Zs)Oq<GG($a]b4`8fE9sD]2sl35:Hkj3lB
+nL9BhJC?S;dU_K?`)Wh/7WThtg(KO8BL?'2bE+*PY?D3M.fb2(>Mi/<ge9't:#cB
+jh6Q:2OM-SIl5psV=+j0dRBAVb<7VUP!amcU*$+RHHR[<'"G$3<R5=1I#f<r_)N?
+:k1,8C->%CAPuijN"2Rt(Qrdc:H6eeT/5m2TgN<<8S(I'T)k`$OJ)R4^BT*L"uij
+/%]I8'8sAcI[q<#GG^WTlA^d'3(`+AGal1[]g:BPP/<6P'gcTZOLsj5;t3QHqqdD
+Qch-M&`tFg5*&WF5X<jCHL(*'M\1EL?`YGCU<C[$qp.koXR=6F9%(BV_!7,1*pXZ
+NH#)7\rJu\Z6G:D:*@!2OUX_5#J+F6+70t?\9"3F]@CZ%PeZj6aT0DO:_?o;-h>(
+_+M76Ctl&#XnWDHHVH&5*JDB*Z@'@t_QSss*9Gcp%o8tI,oAYm_rbqu\m/-D./b'
+MtB`&dKk:fJ[VqdfY+H,^]4"cD^LX=Q3Wf=E.>15=3#EEV^OdmN+'7&$[%]1[G=O
+:%5;UG)[s3hN\lbfmE72OJ>Ap=@h"ej"kkGD[BN.Ue4o9g)?rb;.FJ8@QLAnZ^j`
+/Fs/7fW4VHU3="g\%G/*+=&6?:/c4Q"cku'!VPP7"dF^C-kW0M@9bsXH@I4)QifU
+Z/Z"3+,!J`nWJo!M=#[@7(%<g<&h!LFRM_QVE>%Xgjdo/c@#YAj#?tH43Y4/0`9a
+WZST_+^b:P3:&>_/"SA22OX/UQB_lf<<#SD0O\@:sJ>I9=07;bF\M4$C\W0D/6X:
+D`SlU`$+f"Zl=CK"6g6N7$@M_9]W.7e/H-.7P]"gp9,CeaQ33^A66d@RM$L749+G
+"XgS8nTF9Mnl^Sb?KLj+Jg;\#uLr26#.F,>`KarQ+qacPUVj?.`ra:Q^Vs[Yfnb>
+Df'UhJH?1J91(\nfjU(_"@u*1\Je[G4d[Xo-mch)\[K8Beff#J7HRc2MCY]l#[UN
+>i%#-;r)n`(#55:3^N9_mYt7R,PBB;+Et`>+WL%A+V<#4n3EEGgXS+)%bQ0W4"1p
+jpBQUm[7AWP0WAN%[S:sT]K&P3k5$'e-!X*[<o1P3>IhcY!j#X3@Q'"2kiIiH7bH
+TRrHJ?jkEWXdI)hDdHJH@n&H;?'RahK#oS/0a+,:F[mCT+_/UdF'tG$:Q!>7CS!'
+:-n'c*+C[qNqg=VELZD&q&)#GNM$a7[_%@RNiJ'UfJDXj,Gg^AR<>:Y;%)B+!Ugi
+:FTTsRHUot_H)Wt9h\=-[k0"5C$4$A:OieS^0;Z0O^aNK90.UUT0`lN.MfaiVo.t
+S!\mm7)E?m5[P42:S7Ybf8sq,);gFm&FbBqen>Pa=&CTiIcT5f4fgTJ`RrEtd=Gr
+*5ocS)Q">"*(DeE'%Znd<2oHd-NTG!nrD*BSLkA0I5TqH:?RZ!Ah:5=Hr/M43u+]
+fp7!YsCmdbF%d:Il$@g<^M?5um,%<@TDe;f_](5XN],ej@J&mbH[m\C_2TY0cTHL
+(r5J\'^S??f)hQk:+D;'(++=8h>>/K3R60TKn0UAt:8>_+V)FR<;AANA3>eM$K9P
+$&='`W2/'rD5+4B@!]c(Un9AYX53T2]T^MF;G]p9:ep(RklM!0[eSL?=rFohNB!^
+LeSn&(]>=[V&BX,mO8ml~>
+%%EOF
diff --git a/Master/texmf-dist/doc/generic/pst-optexp/doc/pst-optexp-doc.pdf b/Master/texmf-dist/doc/generic/pst-optexp/doc/pst-optexp-doc.pdf
new file mode 100644
index 00000000000..bf4dcb67978
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-optexp/doc/pst-optexp-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-optexp/doc/pst-optexp-doc.tex b/Master/texmf-dist/doc/generic/pst-optexp/doc/pst-optexp-doc.tex
new file mode 100644
index 00000000000..76e8b330781
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-optexp/doc/pst-optexp-doc.tex
@@ -0,0 +1,726 @@
+\documentclass[headinclude,DIV12]{scrartcl}
+
+\usepackage[latin1]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage[english]{babel}
+
+\usepackage{scrpage2}
+\usepackage{url}
+%
+\usepackage{pstricks}
+\usepackage{pst-optexp}
+\let\verPstOptExp\fileversion
+\let\datePstOptExp\filedate
+\usepackage{multicol}
+\usepackage{showexpl}
+\lstset{breakatwhitespace}
+\usepackage{nicefrac}
+\usepackage{graphicx}
+\usepackage[colorlinks,linktocpage]{hyperref}
+%
+% New commands
+%
+\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}}
+\newcommand{\OptExpPackage}{\textsf{`pst-optexp'}}
+\newcommand{\parameter}[1]{\texttt{#1}}
+\let\param\textrm
+\def\@UrlFont{\small\ttfamily}
+
+%
+% Settings
+\setkomafont{sectioning}{\normalfont\normalcolor\bfseries}
+\setcounter{tocdepth}{2}
+%
+\makeatletter
+\renewenvironment{description}
+ {\list{}{\labelwidth\z@ \itemindent-\leftmargin
+ \itemsep0pt \parsep0pt
+ \let\makelabel\descriptionlabel}}
+ {\endlist}
+\makeatother
+%
+% Kopfzeile mit scrpage2 definieren
+\clearscrheadfoot
+\setheadsepline{0.4pt}
+\ihead{\OptExpPackage}\ohead{A PSTricks package to draw optical experimental setups}
+\pagestyle{scrheadings}
+
+\psset{subgriddiv=0,griddots=10,gridlabels=7pt}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{document}
+ \title{\texttt{pst-optexp}\\ A PSTricks package to draw optical experimental setups}
+ \author{Christoph Bersch \textless
+ \href{mailto:usenet@bersch.net}{\texttt{usenet@bersch.net}}\textgreater}
+ \date{\datePstOptExp\enspace\enspace Version \verPstOptExp}
+
+\maketitle
+
+\setlength{\columnseprule}{0.6pt}
+\begin{multicols}{2}
+{\parskip 0pt \tableofcontents}
+\end{multicols}
+\section{Introduction}
+The package \texttt{pst-optexp} is a collection of optical components
+that facilitate easy sketching of optical experimental
+setups. Mechanisms for proper alignment of different components are
+provided internally. This way the user does not have to care for proper
+orientation of the elements.
+
+\section{Components}
+
+In the following sections \ref{sec:mirror}--\ref{sec:custom} the
+available components with their parameters are described. Up to now
+there are two types of components: those which require two reference
+points and do not alter the direction of the passing light beam (for
+example lenses and retardation plates) and those which work in
+reflection and require three reference points (mirrors, grids,
+beamsplitters etc.).
+
+In section \ref{sec:general} general parameters are described that are not proprietary
+to a specific unit but can be used for several different components. Finally, in
+section \ref{sec:labels} the options for the positioning of labels are
+explained.
+
+\subsection{Lens}\label{sec:lens}
+
+\begin{description}
+\item[\param{lensheight} (dimension):] (\emph{default:~\texttt{1}})
+\item[\param{lenswidth} (dimension):] (\emph{default:~\texttt{0.3}})
+\item[\param{lenstype} (plainconvex, plainconcave, convexplain, concaveplain, biconvex, biconcave):] (\emph{default:~\texttt{biconvex}})
+\item[\param{lensradius} (dimension):] (\emph{default:~\texttt{\cs{empty}}})
+\end{description}
+
+For the convex lenses only two parameters are used. If the
+parameter \parameter{lensradius} is set, its value will be used together
+with \parameter{lensheight} to draw the
+lens. Otherwise \parameter{lenswidth} and
+\parameter{lensheight} are used. For concave lenses all three parameters
+are needed.
+
+\medskip
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,2){A}
+ \pnode(3,1){B}
+ \psline[linecolor=green](A)(B)
+ \lens[lenstype=plainconvex](A)(B){Lens}
+\end{pspicture}
+\end{LTXexample}
+
+\bigskip
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,2){A}
+ \pnode(3,1){B}
+ \psline[linecolor=green](A)(B)
+ \lens[lenstype=convexplain](A)(B){Lens}
+\end{pspicture}
+\end{LTXexample}
+
+\bigskip
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,2){A}
+ \pnode(3,1){B}
+ \psline[linecolor=green](A)(B)
+ \lens(A)(B){Lens}
+\end{pspicture}
+\end{LTXexample}
+
+\bigskip
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,2){A}
+ \pnode(3,1){B}
+ \psline[linecolor=green](A)(B)
+ \lens[lenstype=plainconcave](A)(B){Lens}
+\end{pspicture}
+\end{LTXexample}
+
+\bigskip
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,2){A}
+ \pnode(3,1){B}
+ \psline[linecolor=green](A)(B)
+ \lens[lenstype=concaveplain](A)(B){Lens}
+\end{pspicture}
+\end{LTXexample}
+
+\bigskip
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,2){A}
+ \pnode(3,1){B}
+ \psline[linecolor=green](A)(B)
+ \lens[lenstype=biconcave](A)(B){Lens}
+\end{pspicture}
+\end{LTXexample}
+
+\medskip
+
+\subsection{General plate}
+
+\begin{description}
+\item[\param{plateheight} (dimension):] (\emph{default:~\texttt{1}})
+\item[\param{platelinewidth} (dimension):] (\emph{default:~\texttt{2\cs{pslinewidth}}})
+\end{description}
+
+\medskip
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,1.5){A}
+ \pnode(3,1.5){B}
+ \psline[linecolor=green](A)(B)
+ \optplate(A)(B){filter}
+\end{pspicture}
+\end{LTXexample}
+
+\medskip
+
+\subsection{Retardation plate}
+
+\begin{description}
+\item[\param{plateheight} (dimension):] (\emph{default:~\texttt{1}})
+\item[\param{platewidth} (dimension):] (\emph{default:~\texttt{0.1}})
+\end{description}
+
+\medskip
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,1.5){A}
+ \pnode(3,1.5){B}
+ \psline[linecolor=green](A)(B)
+ \optretplate(A)(B){$\nicefrac{\lambda}{2}$}
+\end{pspicture}
+\end{LTXexample}
+
+\medskip
+
+\subsection{Pinhole}
+
+\begin{description}
+\item[\param{phlinewidth} (dimension):] (\emph{default~\texttt{2\cs{pslinewidth}}})
+\item[\param{owidth} (dimension):] (\emph{default:~\texttt{1}})
+\item[\param{iwidth} (dimension):] (\emph{default:~\texttt{0.1}})
+\end{description}
+
+\medskip
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,1.5){A}
+ \pnode(3,1.5){B}
+ \psline[linecolor=green](A)(B)
+ \pinhole(A)(B){PH}
+\end{pspicture}
+\end{LTXexample}
+
+\medskip
+
+\subsection{Crystal}
+
+\begin{description}
+\item[\param{crystalwidth} (dimension):] (\emph{default:~\texttt{2}})
+\item[\param{crystalheight} (dimension):] (\emph{default:~\texttt{0.8}})
+\item[\param{caxislength} (dimension):] (\emph{default:~\texttt{0.6}})
+\item[\param{caxisinv} (boolean):] (\emph{default:~\texttt{false}})
+\item[\param{voltage} (boolean):] (\emph{default:~\texttt{false}})
+\item[\param{lamp} (boolean):] (\emph{default:~\texttt{false}})
+\item[\param{lampscale} (real):] (\emph{default:~\texttt{0.3}})
+\end{description}
+
+\medskip
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,1.5){A}
+ \pnode(3,1.5){B}
+ \crystal[crystalwidth=1.5,%
+ crystalheight=0.6,%
+ fillstyle=solid,%
+ fillcolor=yellow!90!black,%
+ labelangle=-45,%
+ voltage,%
+ lamp](A)(B){SBN}
+ \psline[linecolor=green](A)(B)
+\end{pspicture}
+\end{LTXexample}
+
+\medskip
+
+\subsection{Box}
+
+\begin{description}
+\item[\param{optboxheight} (dimension):] (default:~\texttt{0.5})
+\item[\param{optboxwidth} (dimension):] (default:~\texttt{1})
+\item[\param{endbox} (boolean):] (default: \texttt{false})
+\end{description}
+
+\medskip
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,0){A}
+ \pnode(3,2){B}
+ \psline[linecolor=green](A)(B)
+ \optbox[labeloffset=-1](A)(B){Box}
+\end{pspicture}
+\end{LTXexample}
+
+\bigskip
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,0){A}
+ \pnode(2,2){B}
+ \psline[linecolor=green](A)(B)
+ \optbox[endbox,labeloffset=1,labelangle=180](A)(B){Box}
+\end{pspicture}
+\end{LTXexample}
+
+\bigskip
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,0){A}
+ \pnode(2,2){B}
+ \psline[linecolor=green](A)(B)
+ \optbox[endbox,labelrelative](A)(B){Box}
+\end{pspicture}
+\end{LTXexample}
+
+\medskip
+
+\subsection{Detector}
+
+\begin{description}
+\item[\param{detsize} (dimension):] (default: \texttt{0.5})
+\end{description}
+
+\medskip
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,0){A}
+ \pnode(2,1){B}
+ \psline[linecolor=green](A)(B)
+ \detector[labeloffset=-1](A)(B){detector}
+\end{pspicture}
+\end{LTXexample}
+
+\medskip
+
+\subsection{Polarisation}
+
+\begin{description}
+\item[\param{pol} (parallel,perp,misc,lcirc,rcirc):] (\emph{default:~\texttt{parallel}})
+\item[\param{polwidth} (dimension):] (\emph{default:~\texttt{0.6}})
+\end{description}
+
+\medskip
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3.2)\psgrid
+ \pnode(0,0.4){A1}\pnode(3,0.4){B1}
+ \pnode(0,1){A2}\pnode(3,1){B2}
+ \pnode(0,1.6){A3}\pnode(3,1.6){B3}
+ \pnode(0,2.2){A4}\pnode(3,2.2){B4}
+ \pnode(0,2.8){A5}\pnode(3,2.8){B5}
+ \psline[linecolor=green](A1)(B1)
+ \psline[linecolor=green](A2)(B2)
+ \psline[linecolor=green](A3)(B3)
+ \psline[linecolor=green](A4)(B4)
+ \psline[linecolor=green](A5)(B5)
+ \polarisation[pol=misc,position=0.2](A5)(B5)
+ \polarisation[pol=perp,position=0.35](A4)(B4)
+ \polarisation[pol=parallel,position=0.5](A3)(B3)
+ \polarisation[pol=rcirc,position=0.65](A2)(B2)
+ \polarisation[pol=lcirc,position=0.8](A1)(B1)
+\end{pspicture}
+\end{LTXexample}
+
+\medskip
+
+%
+%
+% MIRROR
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\subsection{Mirror}\label{sec:mirror}
+
+\begin{description}
+\item[\param{mirrorwidth} (dimension):] (\emph{default:~\texttt{1}})
+\item[\param{mirrorlinewidth} (dimension):] (\emph{default:~\texttt{0.7\cs{pslinewidth}}})
+\item[\param{mirrortype} (normal,piezo,extended):] (\emph{default:~\texttt{normal}})
+\item[\param{mirrordepth} (dimension):] (\emph{default:~\texttt{0.08}})
+\item[\param{variable} (boolean):] (\emph{default:~\texttt{false}})
+\end{description}
+
+The style of the extended mirror is defined as a
+psstyle \parameter{ExtendedMirror} and can be changed using
+\cs{newpsstyle}. The appearence of the piezo mirror likewise can be
+changed by adapting the psstyle \parameter{PiezoMirror}.
+
+\medskip
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,0){A}
+ \pnode(2,2){G}
+ \pnode(0,3){B}
+ \psline[linecolor=green](A)(G)(B)
+ \mirror(A)(G)(B){Mirror}
+\end{pspicture}
+\end{LTXexample}
+
+\bigskip
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,0){A}
+ \pnode(2,2){G}
+ \pnode(0,3){B}
+ \psline[linecolor=green](A)(G)(B)
+ \mirror[variable](A)(G)(B){Mirror}
+\end{pspicture}
+\end{LTXexample}
+
+\bigskip
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,0){A}
+ \pnode(2,2){G}
+ \pnode(0,3){B}
+ \psline[linecolor=green](A)(G)(B)
+ \mirror[mirrortype=piezo](A)(G)(B){Piezo}
+\end{pspicture}
+\end{LTXexample}
+
+\bigskip
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,0){A}
+ \pnode(2,2){G}
+ \pnode(0,3){B}
+ \psline[linecolor=green](A)(G)(B)
+ \mirror[mirrortype=extended,
+ mirrordepth=0.1](A)(G)(B){Extended mirror}
+\end{pspicture}
+\end{LTXexample}
+
+\medskip
+
+\subsection{Beamsplitter}
+
+\begin{description}
+\item[\param{bswidth} (dimension):] (\emph{default:~\texttt{1}})
+\end{description}
+
+\medskip
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,2){A}
+ \pnode(2,2){G}
+ \pnode(3,0){B}
+ \psline[linecolor=green](A)(G)(B)
+ \beamsplitter(A)(G)(B){BS}
+\end{pspicture}
+\end{LTXexample}
+
+\medskip
+
+
+\subsection{Optical grid}
+
+\begin{description}
+\item[\param{optgridcount} (integer):] (\emph{default:~\texttt{10}})
+\item[\param{optgridwidth} (dimension):] (\emph{default:~\texttt{1}})
+\item[\param{optgridheight} (dimension):] (\emph{default:~\texttt{0.1}})
+\item[\param{optgriddepth} (dimension):] (\emph{default:~\texttt{0.05}})
+\item[\param{optgridlinewidth} (dimension):] (\emph{default:~\texttt{0.7\cs{pslinewidth}}})
+\item[\param{reverse} (boolean):] (\emph{default:\texttt{false}})
+\end{description}
+
+\medskip
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,2.5){A}
+ \pnode(1.5,2){G}
+ \pnode(0,0){B}
+ \psline[linecolor=green](A)(G)(B)
+ \optgrid(A)(G)(B){grid}
+\end{pspicture}
+\end{LTXexample}
+
+\bigskip
+
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,2.5){A}
+ \pnode(1.5,2){G}
+ \pnode(0,0){B}
+ \psline[linecolor=green](A)(G)(B)
+ \optgrid[reverse](A)(G)(B){grid}
+\end{pspicture}
+\end{LTXexample}
+
+\bigskip
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,2.5){A}
+ \pnode(1.5,2){G}
+ \pnode(0,0){B}
+ \psline[linecolor=green](A)(G)(B)
+ \optgrid[optgridcount=6,%
+ optgriddepth=0.2,%
+ optgridheight=0.3](A)(G)(B){grid}
+\end{pspicture}
+\end{LTXexample}
+
+\medskip
+
+
+\subsection{Custom components}\label{sec:custom}
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,2){A}
+ \pnode(3,1){B}
+ \optdipole(A)(B){%
+ \rput(0,0){%
+ \includegraphics[scale=0.25]{parque-nacional}
+ }
+ }{Label}
+ \psline[linecolor=red](A)(B)
+\end{pspicture}
+\end{LTXexample}
+
+\bigskip
+
+\begin{LTXexample}[width=3.5cm]
+\begin{pspicture}(3,3)\psgrid
+ \pnode(0,0){A}
+ \pnode(1.5,2){G}
+ \pnode(3,1.5){B}
+ \opttripole(B)(G)(A){\rput[b](0,0){Text}}{Label}
+ \psline[linecolor=red](A)(G)(B)
+\end{pspicture}
+\end{LTXexample}
+
+\medskip
+
+\subsection{General options}\label{sec:general}
+
+\begin{description}
+\item[\param{angle} (real):] (\emph{default:~\texttt{0}})
+\item[\param{optional} (boolean):] (\emph{default:~\texttt{false}})
+\item[\param{position} (real):] (\emph{default:~\texttt{\cs{empty}}})
+\item[\param{abspos} (dimension):] (\emph{default:~\texttt{\cs{empty}}})
+\item[\param{showoptdots} (boolean):] (\emph{default:~\texttt{false}})
+\end{description}
+
+The parameter \parameter{angle} is available for the macros \cs{optbox}
+and \cs{crystal} only, as for the most other cases it would make
+no sense. \parameter{optional} can be used with every component and marks it as
+optional and can be configured by changing the psstyle \parameter{OptionalStyle}.
+\parameter{position} is equivalent to the \parameter{npos} parameter of \cs{ncput},
+but is used only for the \lq dipole\rq-macros to position the component
+between the two given points. In addition, there is a parameter
+\parameter{abspos} that allows absolute positioning between the two line
+points. \parameter{showoptdots} shows in black the two points calculated for the
+positioning of the component, and in red the reference point for the
+label.
+
+\medskip
+
+\begin{LTXexample}[width=3.5cm]
+ \begin{pspicture}(3,3)\psgrid
+ \pnode(0,1){A}
+ \pnode(3,1){B}
+ \psline[linecolor=green](A)(B)
+ \optbox[labeloffset=-1,%
+ angle=10](A)(B){Box}
+ \end{pspicture}
+\end{LTXexample}
+
+\bigskip
+
+\begin{LTXexample}[width=3.5cm]
+ \begin{pspicture}(3,3)\psgrid
+ \pnode(0,1.5){A}
+ \pnode(3,1.5){B}
+ \psline[linecolor=green](A)(B)
+ \lens[optional](A)(B){L}
+ \end{pspicture}
+\end{LTXexample}
+
+\bigskip
+
+\begin{LTXexample}[width=3.5cm]
+ \begin{pspicture}(3,3)\psgrid
+ \pnode(0,1.5){A}
+ \pnode(3,1.5){B}
+ \psline[linecolor=green](A)(B)
+ \lens[position=0.8](A)(B){L}
+ \end{pspicture}
+\end{LTXexample}
+
+\bigskip
+
+\begin{LTXexample}[width=3.5cm]
+ \begin{pspicture}(3,3)\psgrid
+ \pnode(0,1.5){A}
+ \pnode(3,1.5){B}
+ \psline[linecolor=green](A)(B)
+ \lens[abspos=1](A)(B){L}
+ \end{pspicture}
+\end{LTXexample}
+
+\bigskip
+
+\begin{LTXexample}[width=3.5cm]
+ \begin{pspicture}(3,3)\psgrid
+ \pnode(0,0){A}
+ \pnode(1.5,2){G}
+ \pnode(0,3){B}
+ \psline[linecolor=green](A)(G)(B)
+ \mirror[labelangle=0,showoptdots](A)(G)(B){Mirror}
+ \end{pspicture}
+\end{LTXexample}
+
+\medskip
+
+\subsection{Labels}\label{sec:labels}
+
+\begin{description}
+\item[\param{labeloffset} (dimension):] (\emph{default:~\texttt{1}})
+\item[\param{labelangle} (real):] (\emph{default:~\texttt{-90}})
+\item[\param{labelstyle} (macro):] (\emph{default:~\texttt{\cs{small}}})
+\item[\param{labelalign} (\cs{rput} pos string):] (\emph{default:~\texttt{c}})
+\item[\param{labelrelative} (boolean):] (\emph{default:~\texttt{false}})
+\end{description}
+
+\parameter{labeloffset} specifies the offset from the center of the component, \parameter{labelangle} is the
+absolute angle which is independent of the component orientation,
+\parameter{labelstyle} is the textstyle that is used to typeset the
+label and \parameter{labelalign} corresponds to the refpoint of
+\cs{rput}. With \parameter{labelrelative} the label is oriented like the
+component is.
+
+\newpage
+\section{Examples}
+\begin{LTXexample}[pos=t,vsep=10mm]
+\begin{pspicture}(12,2.4)\psgrid
+\pnode(1,1.2){CCD}\pnode(12,1.2){Start}
+\psline[linewidth=2\pslinewidth,linecolor=green!90!black](Start)(CCD)
+\psset{plateheight=1.5,
+ lensheight=1.5,
+ lensradius=2}
+\polarisation[pol=perp,
+ position=0.1](Start)(CCD)
+\optretplate[position=0.15](Start)(CCD){$\nicefrac{\lambda}{2}$}
+\lens[lensheight=0.5,
+ lensradius=0.5,
+ position=0.25](Start)(CCD){$L_1$}
+\lens[position=0.5](Start)(CCD){$L_2$}
+\optplate[position=0.57,
+ labelangle=90,
+ platelinewidth=3\pslinewidth](Start)(CCD){SLM}
+\optplate[position=0.63,
+ labelangle=270](Start)(CCD){PF}
+\lens[position=0.7](Start)(CCD){$L_3$}
+\optbox[endbox](Start)(CCD){CCD}
+\end{pspicture}
+\end{LTXexample}
+
+\begin{LTXexample}[pos=t,vsep=10mm]
+\begin{pspicture}(6,3.5)
+ \psgrid[subgriddiv=1,griddots=10,gridlabels=7pt]
+ \psset{labelstyle=\scriptsize}
+ \pnode(1.5,1){LaserOut}
+ \pnode(3,1){Grid}
+ \pnode(6,3){Out}
+ \pnode(4,3){Mvar}
+ \psline[linewidth=2\pslinewidth,
+ linecolor=red!90!black](LaserOut)(Grid)(Out)\psline(Grid)(Mvar)
+ \optbox[endbox,optboxwidth=1.5](Grid)(LaserOut){diodelaser}
+ \optretplate[position=0.3,
+ labeloffset=0.7](LaserOut)(Grid){$\nicefrac{\lambda}{4}$}
+ \optgrid[labeloffset=0.5](LaserOut)(Grid)(Out){grid}
+ \mirror[variable,
+ labelangle=20,
+ labeloffset=1](Grid)(Mvar)(Grid){variable mirror}
+\end{pspicture}
+\end{LTXexample}
+
+\psset{unit=1cm}
+\begin{LTXexample}[pos=t,vsep=10mm]
+\begin{pspicture}(9,6)\psgrid
+ \pnode(1.5,5){Laser}\pnode(4,5){PBS}\pnode(6.5,5){PBS2}
+ \pnode(6.5,5.7){piezo}\pnode(4,2){BSFwd}\pnode(6.5,2){BSBwd}
+ \pnode(2,2){BS4f}\pnode(2,0.5){M4f3}\pnode(8,2){M4f1}
+ \pnode(8,0.5){M4f2}\pnode(1,2){CCD}
+ \psline[linecolor=green!90!black,linewidth=2\pslinewidth]%
+ (Laser)(PBS2)(piezo)(BSBwd)(M4f1)(M4f2)(M4f3)(BS4f)(CCD)
+ \psline[linecolor=green!90!black,linewidth=2\pslinewidth](PBS)(BSFwd)(BS4f)
+ \psset{mirrorwidth=0.6, plateheight=0.7, owidth=0.7, labeloffset=0.6, labelstyle=\scriptsize, lensheight=0.8, lenswidth=0.2, bswidth=0.5}
+ \optbox[endbox,optboxwidth=1.5, optboxheight=0.7]%
+ (PBS)(Laser){\parbox{1.5cm}{\centering Nd:YAG\\ 532\,nm}}
+ \lens[lensheight=0.5, position=0.2](Laser)(PBS){MO}
+ \pinhole[position=0.3, labelangle=90](Laser)(PBS){PH}
+ \lens[position=0.5](Laser)(PBS){L}
+ \optretplate[position=0.8](Laser)(PBS){$\nicefrac{\lambda}{2}$}
+ \beamsplitter[labelangle=90](Laser)(PBS)(BSFwd){PBS}
+ \optretplate[labelangle=180](PBS)(BSFwd){$\nicefrac{\lambda}{2}$}
+ \lens[position=0.8,labelangle=180](PBS)(BSFwd){L}
+ \optretplate(PBS)(PBS2){$\nicefrac{\lambda}{2}$}
+ \beamsplitter[labelangle=0](PBS)(PBS2)(piezo){PBS}
+ \optretplate[labelangle=180, abspos=0.5](PBS2)(piezo){$\nicefrac{\lambda}{4}$}
+ \mirror[mirrortype=piezo, labelangle=0](PBS2)(piezo)(PBS2){PZ}
+ \lens[position=0.8,labelangle=0](PBS2)(BSBwd){L}
+ \beamsplitter(PBS)(BSFwd)(BSBwd){BS}
+ \beamsplitter(PBS2)(BSBwd)(BSFwd){BS}
+ \crystal[crystalwidth=1, crystalheight=0.5, voltage, lamp, fillstyle=solid, fillcolor=yellow!90!black, labeloffset=0.8](BSFwd)(BSBwd){SBN:Ce}
+ \mirror[labelangle=0](BSBwd)(M4f1)(M4f2){M}
+ \mirror[labelangle=0](M4f1)(M4f2)(M4f3){M}
+ \lens(M4f2)(M4f3){L}
+ \mirror[labelangle=180](M4f2)(M4f3)(BS4f){M}
+ \beamsplitter[labelangle=90](M4f3)(BS4f)(CCD){BS}
+ \optbox[endbox](BS4f)(CCD){CCD}
+ \lens[abspos=0.7](BSFwd)(BS4f){L}
+ \lens[abspos=0.7](BSBwd)(M4f1){L}
+ \psline[linecolor=green!90!black, linewidth=2\pslinewidth](BSFwd)(BSBwd)
+\end{pspicture}
+\end{LTXexample}
+
+\section{Known bugs}
+
+For some reason, filling of the concave lenses by
+specifiying \parameter{fillstyle} does not work properly. For sure there
+are other bugs, but they are not known, yet. If you find some, do not
+hesitate to contact me.
+
+\section{ Todo}
+
+\begin{itemize}
+\item Add components for fiber optics.
+\end{itemize}
+
+Drawing of extended beams with focusing, and so on, is not planned to be
+integrated in the near future due to missing ideas for the realization.
+
+
+\end{document}