summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-07-11 00:23:38 +0000
committerKarl Berry <karl@freefriends.org>2012-07-11 00:23:38 +0000
commit098bf061faf05059dd90a3b9ee89bb5d85abebda (patch)
tree376bc695a21802678e76ef4afafd299929681376 /Master/texmf-dist/doc
parentc353e13397245a2ace91c7d3ce5eed2e590447d0 (diff)
pst-optexp (10jul12)
git-svn-id: svn://tug.org/texlive/trunk@26992 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r--Master/texmf-dist/doc/generic/pst-optexp/Changes95
-rw-r--r--Master/texmf-dist/doc/generic/pst-optexp/README32
-rw-r--r--Master/texmf-dist/doc/generic/pst-optexp/parque-nacional.eps286
-rw-r--r--Master/texmf-dist/doc/generic/pst-optexp/pst-optexp-doc.pdfbin370537 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-optexp/pst-optexp-doc.tex2057
-rw-r--r--Master/texmf-dist/doc/latex/pst-optexp/Changes119
-rw-r--r--Master/texmf-dist/doc/latex/pst-optexp/README28
-rw-r--r--Master/texmf-dist/doc/latex/pst-optexp/pst-optexp-DE.pdfbin0 -> 1163028 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pst-optexp/pst-optexp-quickref.pdfbin0 -> 44681 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pst-optexp/pst-optexp.pdfbin0 -> 1138738 bytes
10 files changed, 147 insertions, 2470 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-optexp/Changes b/Master/texmf-dist/doc/generic/pst-optexp/Changes
deleted file mode 100644
index 45c229ab47e..00000000000
--- a/Master/texmf-dist/doc/generic/pst-optexp/Changes
+++ /dev/null
@@ -1,95 +0,0 @@
-2.1 2009-11-05 * Bugfix: removed the buggy check for an appropriate version of
- pstricks-add.
-
- * Bugfix: 'thicklens' now also works with plain* lenses
-
- * Different minor bugfixes
-
- * Minor enhancements
-
- * New psstyle 'OptComp' which sets general parameters for all optical
- components. Appropriate parameters 'addtoOptComp' and 'newOptComp'
- were also introduced.
-
- * New parameters:
- - 'label' allows a more condensed change of several label parameters
- - 'innerlabel'
- - 'compshift'
- - 'bsstyle'
- - 'connjoin'
- - 'newBeam' and 'addtoBeam' to allow for local changes
- of the internal beam style.
-
- * New component: 'optfiberpolarizer'
-
- * Changed 'fibercollimator' so that it uses two, three or four nodes.
-
- * Changed documentation to use 'pst-doc' class.
-
-
-2.0 2008-07-27 * Added fiber-optical components
-
- * Added support for components with internal refraction (e.g. prisms)
-
- * Added support for arbitrary connection types (fiber and beam mixed).
- Components can be connected directly at definition time or later.
-
- * Added new free-ray objects
- - \optdiode
- - \pentaprism
- - \rightangleprism
- - \doveprism
- - \optprism
-
- * Added support for supplementary nodes for electric connections
- (parameter extnode)
-
- * Bugfix: renamed macro \detector to \optdetector to avoid conflicts
- with pst-circ which also define a macro \detector.
- If pst-circ is loaded before pst-optexp the macro is not overwritten.
-
-1.2 2008-06-17 * Great emprovement of the TeX and Postscript code.
-
- * New macros \newOptexpDipole, \newOptexpDipoleNolabel and
- \newOptexpTripole which allow very convenient definition
- of new components.
-
- * Enhancement of the lens design. Now much more types of lenses
- with two different curvatures and thick lenses are possible.
- The new parameters lensradiusleft, lensradiusright and lens
- are introduced.
- Unfortunately complete backward compatibility for the case
- where the lens is defined using only lenswidth and lensheight
- was not possible. Using the old behaviour is possible only
- by setting lenstype explicitly which in turn does not allow you
- to use the new features.
-
- * Added curved mirrors (new parameter mirrorradius).
-
- * Added binary gratings (new parameter optgridtype).
-
-
-1.1 2007-09-06 * Considerably enhanced labeling of the components.
- Added new parameter 'labelref' which specifies the
- reference coordinate system for the label positioning
- and the rotation of the label. Default is labelref=relgrav,
- the label point is rotated together with the component, but
- the label text itself is not rotated.
-
- * parameter labelrelative is now obsolete, and replaced by
- labelref=relative. It will be removed in future versions.
-
- * parameter polwidth, bswidth, iwidth and owidth are now obsolete,
- and replaced by polsize, bssize, innerheight and outerheight for
- consistency reasons. They will be removed in future versions.
-
- * macro \polarisation was changed to \polarization for consistency.
- The old notation is obsolete and will be removed in future versions.
-
- * fixed bug: filling of all components with 'fillstyle'
- is now possible.
-
- * added some liftpen=1 in the code to fix the look of
- the lenses and the optgrid.
-
-1.0 2007-07-18 first CTAN version
diff --git a/Master/texmf-dist/doc/generic/pst-optexp/README b/Master/texmf-dist/doc/generic/pst-optexp/README
deleted file mode 100644
index 0c6c2f39a25..00000000000
--- a/Master/texmf-dist/doc/generic/pst-optexp/README
+++ /dev/null
@@ -1,32 +0,0 @@
-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 2.1
-For a changelog see file Changes
-
-Save the files
-
-pst-optexp.sty
-pst-optexp.tex
-pst-optexp.pro
-
-in any place, where latex or any other TeX program will find it.
-The pro file should go into $TEXMF$/dvips/pstricks/.
-
-pst-optexp uses the extended version of the keyval package. So
-be sure that you
-- have installed xkeyval with the special pst-xkey
- (CTAN: tex-archive/macros/latex/contrib/xkeyval/)
-- do not load another package after pst-optexp, which loads
- the old keyval.sty or pst-key.tex
-
-
-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 2009/11/05
diff --git a/Master/texmf-dist/doc/generic/pst-optexp/parque-nacional.eps b/Master/texmf-dist/doc/generic/pst-optexp/parque-nacional.eps
deleted file mode 100644
index 9576fcfe18a..00000000000
--- a/Master/texmf-dist/doc/generic/pst-optexp/parque-nacional.eps
+++ /dev/null
@@ -1,286 +0,0 @@
-%!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/pst-optexp-doc.pdf b/Master/texmf-dist/doc/generic/pst-optexp/pst-optexp-doc.pdf
deleted file mode 100644
index 5455f6d9b38..00000000000
--- a/Master/texmf-dist/doc/generic/pst-optexp/pst-optexp-doc.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-optexp/pst-optexp-doc.tex b/Master/texmf-dist/doc/generic/pst-optexp/pst-optexp-doc.tex
deleted file mode 100644
index bbab17d1c81..00000000000
--- a/Master/texmf-dist/doc/generic/pst-optexp/pst-optexp-doc.tex
+++ /dev/null
@@ -1,2057 +0,0 @@
-%\documentclass[headinclude,DIV12]{scrartcl}
-\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings,
- headexclude,footexclude,oneside]{pst-doc}
-
-\usepackage[latin1]{inputenc}
-%
-\usepackage{pst-func}
-\usepackage{pst-optexp}
-\let\verPstOptExp\fileversion
-\let\datePstOptExp\filedate
-\usepackage{pst-circ}
-\usepackage{nicefrac}
-\usepackage{longtable}
-\usepackage{multicol}
-\usepackage{multirow}
-\usepackage{float}
-%
-\newfloat{LTXexampleFloat}{H}{expl}
-\floatname{LTXexampleFloat}{Listing}
-%
-% New commands
-%
-\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}}
-\newcommand{\OptExpPackage}{\textsf{`pst-optexp'}}
-\newcommand{\parameter}[1]{\texttt{#1}}
-\newcommand{\nodename}[1]{\emph{#1}}
-\newcommand{\param}[1]{\normalfont\texttt{#1}}
-\newcommand{\paramvalue}[1]{\texttt{#1}}
-\newcommand{\defaultparam}[1]{\emph{default:} \paramvalue{#1}}
-\newcommand{\paramitem}[3]{\item[\param{#1}:] \paramvalue{#2} (\defaultparam{#3})}
-\newcommand{\styleitem}[2]{\item[\param{#1}:] \paramvalue{#2}}
-\newcommand{\styleshape}[1]{\texttt{#1}}
-\newcolumntype{T}{>{\ttfamily}l}
-\newcolumntype{B}{>{\bfseries}l}
-\newcommand{\refstringexplanation}[0]{%
- A \paramvalue{<ref string>} is any combination of \paramvalue{c}
- (center), \paramvalue{t} (top), \paramvalue{b} (bottom), \paramvalue{l}
- (left), \paramvalue{r} (right)}
-%
-% Settings
-%\setkomafont{sectioning}{\normalfont\normalcolor\bfseries}
-%
-\makeatletter
-\renewenvironment{description}
- {\list{}{\labelwidth\z@ \itemindent-0.5\leftmargin
- \itemsep0pt \parsep0pt
- \let\makelabel\descriptionlabel}}
- {\endlist}
-\makeatother
-%
-%\clearscrheadfoot
-%\setheadsepline{0.4pt}
-%\ihead{\OptExpPackage}\ohead{A PSTricks package to draw optical experimental setups}
-%\ofoot{\pagemark}
-%\pagestyle{scrheadings}
-
-\psset{usefiberstyle=true}
-\addtopsstyle{Fiber}{linecolor=red,linewidth=1.5\pslinewidth}
-\addtopsstyle{Beam}{linewidth=1.5\pslinewidth}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{document}\title{\texttt{pstricks-add}\\additionals Macros for \texttt{pstricks}%
-%\thanks{%
-% This document was written with \texttt{Kile: 1.7 (Qt: 3.1.1; KDE: 3.3;}
-% \url{http://sourceforge.net/projects/kile/}) and the PDF output
-% was build with VTeX/Free (\url{http://www.micropress-inc.com/linux})}
-\\
- \small v.\verPstOptExp}
- \title{\texttt{pst-optexp}\\ A PSTricks package to draw optical experimental setups}
- \author{Christoph Bersch}
- \date{\datePstOptExp}
-\maketitle
-
-\clearpage
-\tableofcontents
-\clearpage
-
-\section{Introduction}
-The package \nxLPack{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. Macros for convenient definition of new
-user-defined components are also provided.
-
-\section{Concept and General Behavior}\label{sec:general}
-
-This section introduces into the basic concepts of the package design and
-explains the parameters and commands which are supported by most optical
-objects.
-
-\subsection{Concept}
-
-The objects provided by \nxLPack{pst-optexp} can be differentiated into
-two different categories: free-ray and fiber-optical objects.
-
-The free-ray units are subdivided in two different kinds: dipoles which
-require two reference points for alignment and do not alter the
-direction of passing light beams (e.g. lenses and retardation plates)
-and tripoles which work in reflection and require three reference points
-(mirrors, gratings, beamsplitters etc.).
-
-For free-ray setups one usually has a few straight light paths in which
-several different objects are to be arranged. In this case it is very
-convenient to define only two nodes for each light path. The objects are
-placed on this light path using the different positioning parameters
-(see Sec.~\ref{sec:positioning}) of the package. After having arranged
-everything, the beams themselves are drawn. If objects with multiple
-internal reflections (e.g. prisms, see Sections \ref{sec:doveprism},
-\ref{sec:prism} -- \ref{sec:ppprism}) or objects without internal beams
-(e.g. optical diodes, see Sec.~\ref{sec:optdiode}) are involved. The
-different possibilities are explained in Sec.~\ref{sec:connecting}.
-
-The fiber-optical objects can be classified as dipoles, tripoles and
-quadrupoles which have a corresponding number of fiber
-connections. Their handling differs in some aspects from the free-ray
-objects. The fiber optics are directly connected to the reference
-nodes. Every input and output fiber can be flexibly customized for each
-object (see Sec.~\ref{sec:styles}). Positioning of the fiber dipoles is
-handled equivalently to the free-ray dipoles. Tripoles and quadrupoles
-can be found only as different coupler types. Their positioning
-mechanisms are a bit more involved and explained in
-Sec.~\ref{sec:coupler}.
-
-Some hybrid dipoles (optbox, detector etc.) can be used both as
-fiber-optical or free-ray elements. The way they are treated regarding
-the connections to the reference points can be controlled by the
-parameters explained in Sec.~\ref{sec:connecting}.
-
-\subsection{General Settings}
-
-\begin{description}
-\paramitem{angle}{<degree>}{0}
-\paramitem{compshift}{<num>}{0}
-\paramitem{optional}{<boolean>}{false}
-\paramitem{showoptdots}{<boolean>}{false}
-
-\end{description}
-
-\parameter{optional} can be used with every object and marks it as
-optional. The style of an optional element can be configured by changing
-the psstyle \styleshape{OptionalStyle}.
-
-\parameter{showoptdots} draws some internal nodes which are used to
-place the object and the label. The black points are used for
-positioning, the red points mark the label references.
-
-\medskip
-
-\begin{LTXexample}[pos=t, vsep=0.8cm]
-\begin{pspicture}[showgrid=true](8,2)
-\psset{beam}
-\lens[optional](0,1)(3,1){L}
-\mirror[showoptdots](4,1)(7,1)(7,0){mirror}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Using PSStyles}\label{sec:styles}
-
-\begin{description}
-\styleitem{OptionalStyle}{<psstyle>}
-\paramitem{addtoOptComp}{<psstyle>}{}
-\paramitem{newOptComp}{<psstyle>}{}
-\styleitem{OptComp}{<psstyle>}
-\end{description}
-
-\styleshape{OptComp} affects only the appearence of the optical
-components. This was introduced, because using only the standard
-graphics parameters changes also the connections that are drawn within
-the component.
-
-\medskip
-
-\begin{LTXexample}[pos=t, vsep=0.8cm]
-\begin{pspicture}[showgrid=true](8,2)
- \psset{beam}
- \addtopsstyle{OptComp}{linestyle=dashed, dash=2pt 2pt}
- % wrong, also beam width is changed
- \mirror[linewidth=3\pslinewidth](0,1)(3,1)(3,0){mirror}
- % correct result
- \mirror[addtoOptComp={linewidth=3\pslinewidth}](5,1)(7,1)(7,0){mirror}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Positioning}\label{sec:positioning}
-
-\begin{description}
-\paramitem{position}{<num>}{\{\}}
-\paramitem{abspos}{<num>}{\{\}}
-\end{description}
-
-\noindent\parameter{position} is equivalent to the \parameter{npos}
-parameter of \cs{ncput} (can be any number from 0 to 1) and controls the
-relative position of object between the two reference points. It is only
-not available for the free-ray tripoles.
-
-The parameter \parameter{abspos} allows absolute positioning between the
-two reference nodes. Its value is given in psunits.
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \lens[beam, position=0.8](0,1.2)(3,1.2){L}
-\end{pspicture}
-\end{LTXexample}
-
-\bigskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \lens[beam, abspos=1](0,1.2)(3,1.2){L}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Labels}\label{sec:labels}
-
-\begin{description}
-\paramitem{labeloffset}{<num>}{0.8}
-\paramitem{labelangle}{<num>}{0}
-\paramitem{labelstyle}{<macro>}{\cs{small}}
-\paramitem{labelalign}{<ref string>\footnote{\refstringexplanation}}{c}
-\paramitem{labelref}{relative|relgrav|global}{relgrav}
-\paramitem{label}{<offset> <angle> <ref string> <labelref>}{}
-\end{description}
-
-\noindent\parameter{labeloffset} specifies the offset from the label
-reference node of the object which is mostly the center.
-\parameter{labelstyle} defines the textstyle that is used to typeset
-the label and \parameter{labelalign} corresponds to the refpoint of
-\cs{rput}. The parameter \parameter{labelref} sets the reference
-coordinate system for the \parameter{labelangle} and the orientation of
-the label text. The detailed behaviour is best illustrated looking at
-the following three examples.
-
-\medskip
-
-\begin{LTXexample}[width=5cm]
-\begin{pspicture}(-2,-2)(2.5,2)
- \multido{\i=0+45}{8}{%
- \optbox[endbox,
- labelref=relative,
- labeloffset=0,
- optboxwidth=1,
- optboxheight=0.6](0,0)(1;\i){\i}
- }
-\end{pspicture}
-\end{LTXexample}
-
-\bigskip
-
-\begin{LTXexample}[width=5cm]
-\begin{pspicture}(-2,-2)(2.5,2)
- \multido{\i=0+72}{5}{%
- \optbox[endbox,
- labelref=relgrav,
- optboxwidth=1,
- optboxheight=0.6](0,0)(1;\i){\i}
- }
-\end{pspicture}
-\end{LTXexample}
-
-\bigskip
-
-\begin{LTXexample}[width=5cm]
-\begin{pspicture}(-2,-2)(2.5,2)
- \multido{\i=0+72}{5}{%
- \optbox[endbox,
- labelref=global,
- optboxwidth=1,
- optboxheight=0.6](0,0)(1;\i){\i}
- }
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\parameter{label} simplifies the simultaneous change of more than one label-related parameter. It takes up to four space-separated arguments. Unchanged arguments may be specified with a dot.
-
-\medskip
-
-\begin{LTXexample}[width=5cm]
- \begin{pspicture}[showgrid=true](0,0)(3,3)
- \psset{endbox, beam}
- \optbox[label=1 -45](1,0)(2,1){label}
- \optbox[label=0 . . relative](0.6,0.6)(0.6,1.6){label}
- \end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Named Objects}\label{sec:namedobj}
-
-\begin{description}
- \paramitem{compname}{<string>}{\{\}}
-\end{description}
-
-\noindent Every \nxLPack{pst-optexp} object of an experimental setup can
-be assigned a name that is unique within one pspicture environment. The
-name is defined with the parameter \parameter{compname} which is
-defineable only directly within a \nxLPack{pst-optexp} object: \medskip
-
-\begin{lstlisting}
-\optbox[compname=MyBox](A)(B){Box} % valid use of 'compname'
-\psset{compname=MyName} % not valid, gives an error
-\end{lstlisting}
-
-\medskip
-
-\noindent With this naming mechanisms one can access some special nodes of the
-component at any time after its definition:
-
-\begin{table}[H]
- \centering
- \addtolength{\extrarowheight}{1.5mm}
- \begin{tabularx}{.8\linewidth}{TX}
- \toprule
- \multicolumn{1}{l}{node name} & description\\
- \midrule
- <compname>ExtNode & Node for external connections (\emph{external node})\\
- <compname>Intern1 & Node which should be connected to the first reference node.
- In the text we refer to this node as \emph{left outer node} \\
- <compname>Intern2 & First internal node. As the nodes with higher numbers it
- is only available for objects with multiple internal beams (e.g. dove prism,
- see Sec.~\ref{sec:doveprism}). They are called \emph{internal nodes}.\\
- \multicolumn{1}{c}{\vdots} & \\
- <compname>InternN & Node which should be connected to the second reference node.
- In the text this node is referred to as \emph{right outer node}\\
- \bottomrule
- \end{tabularx}
- \caption{Naming conventions for special nodes which are created by named objects and can be
- accessed by the user after definition of the object.}
-\end{table}
-
-If \parameter{compname} is empty, the external node has the name
-\nodename{ExtNode} and will be overwritten by any following object. The
-outer nodes are not accessible to the user and will also be overwritten
-by following object. The internal nodes are deleted after the object's
-definition.
-
-These named objects are used to create permanent external nodes (see
-Sec.~\ref{sec:extnode}) and to connect objects after their definition
-(see Sec.~\ref{sec:connecting}).
-
-
-\subsection{Nodes For External Usage}\label{sec:extnode}
-
-\begin{description}
-\paramitem{extnode}{<ref string>\footnote{\refstringexplanation}}{\{\}}
-\end{description}
-
-\noindent Some of the objects can provide a supplementary node for additional
-connections. A laser diode may be connected for example to a frequency synthesizer
-(use package \nxLPack{pst-circ}) or a detector to a computer.
-
-\parameter{extnode} controls the position of the additional node and
-takes a \paramvalue{<ref string>} as its argument. By default this
-parameter is empty (\paramvalue{\{\}}) and no node is created.
-
-The name of the new node depends on the \parameter{compname} parameter
-(see Sec.~\ref{sec:namedobj} for naming conventions). If \parameter{compname} is empty
-the new node is named \nodename{ExtNode} by default and overwritten by
-following objects.
-
-Table.~\ref{tab:nodes} shows all objects which provide an external
-node. Some allow any possible \paramvalue{<ref string>} for \parameter{extnode}, others have
-only one reasonable possibility (e.g. piezo mirror, see
-Sec.~\ref{sec:mirror}) which does not depend on the actual value of \parameter{extnode}.
-
-\bigskip
-
-\begin{LTXexample}[pos=t, vsep=8mm]
-\begin{pspicture}[showgrid=true](11,3)
- \psset{conn=o-o, labelangle=-90, labeloffset=0.3}
- \optbox[extnode=tl](0,2.5)(3,2.5){\texttt{tl}}\psdot(ExtNode)
- \optbox[extnode=l](0,1.5)(3,1.5){\texttt{l}}\psdot(ExtNode)
- \optbox[extnode=bl](0,0.5)(3,0.5){\texttt{bl}}\psdot(ExtNode)
- \optbox[extnode=t](4,2.5)(7,2.5){\texttt{t}}\psdot(ExtNode)
- \optbox[extnode=c](4,1.5)(7,1.5){\texttt{c}}\psdot(ExtNode)
- \optbox[extnode=b](4,0.5)(7,0.5){\texttt{b}}\psdot(ExtNode)
- \optbox[extnode=tr](8,2.5)(11,2.5){\texttt{tr}}\psdot(ExtNode)
- \optbox[extnode=r](8,1.5)(11,1.5){\texttt{r}}\psdot(ExtNode)
- \optbox[extnode=br](8,0.5)(11,0.5){\texttt{br}}\psdot(ExtNode)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{table}[H]
-\centering
- \begin{tabular}{llc}
- \toprule
- Object & possible extnode positions &\\
- \midrule
- %
- \cs{optbox} &
- all (any combination of \paramvalue{t}, \paramvalue{r}, \paramvalue{l} and \paramvalue{b}) &
- \begin{pspicture}[shift=-0.3](0,-0.4)(1,0.4)
- \psframe(0,-0.25)(1,0.25)
- \psdot(0,-0.25)\psdot(0.5,-0.25)\psdot(1,-0.25)
- \psdot(0,0)\psdot(0.5,0)\psdot(1,0)
- \psdot(0,0.25)\psdot(0.5,0.25)\psdot(1,0.25)
- \end{pspicture}\\
- %
- \cs{mirror} &
- one fixed position (only for \parameter{mirrortype=piezo}) &
- \begin{pspicture}[shift=-0.3](1,0.8)
- \mirror[mirrortype=piezo,extnode=t](0,0.4)(0.5,0.4)(0.5,0){}\psdot(ExtNode)
- \end{pspicture}\\
- %
- \cs{optdetector} &
- one (for \parameter{dettype=round}) &
- \begin{pspicture}[shift=-0.3](1,0.8)
- \optdetector[detsize=0.6, extnode=r](0,0.4)(0.5,0.4){}
- \psdot(ExtNode)
- \end{pspicture}\\
- %
- & all (for \parameter{dettype=diode})& see \cs{optbox}\\
- \cs{optmzm} & all& see \cs{optbox}\\
- \cs{optfilter} & all & see \cs{optbox}\\
- \cs{optswitch} & all & see \cs{optbox}\\
- \cs{fiberdelayline} & all & see \cs{optbox}\\
- \bottomrule
- \end{tabular}
- \caption{The objects which may provide an external node when parameter
- \parameter{extnode} is not empty. Some allow different positions of the
- node and for some only a fixed node makes sense.}\label{tab:nodes}
-\end{table}
-
-\subsection{Connecting Objects}\label{sec:connecting}
-
-\begin{description}
-\paramitem{conn}{<conn definition>}{-}
-\item[\param{fiber}:] alias for \parameter{conn=f-f}
-\item[\param{beam}:] alias for \parameter{conn=o-i}
-\paramitem{connjoin}{<int>}{1}
-\end{description}
-
-\noindent Simple experimental setups with a few objects can usually be
-realized by defining some nodes, arranging the object in between and
-drawing the beams at the end. If, however, objects with changed internal
-optical path (all the prisms) or without visible internal beam (optical
-diode) are involved, this simple method is not applicable anymore.
-
-For this case several different possibilities of connecting objects are
-available: \parameter{conn} specifies the kind of connections in front of and
-behind the object. Its syntax is analogous to the PSTricks
-\parameter{arrows} parameter. By default it is set to \paramvalue{-} and no
-connections are drawn. Tab.~\ref{tab:conn} lists all possible values and
-their scope for the \paramvalue{<conn definition>}.
-
-\begin{table}\centering
-\addtolength{\extrarowheight}{1.5mm}
-\begin{tabularx}{0.9\textwidth}{TXl}
- \toprule
- \multicolumn{1}{l}{conn style} & description & scope\\
- \midrule
- i & Draw beam from the first reference node to its assigned outer node
- and then through all internal nodes and end at the other
- outer node. & \multirow{3}{*}{optexp objects}\\
- o & Draw beam from the first reference node to its assigned outer node. & \\
- f & Draw fiber from the first reference node to its assigned outer node. & \\
- \midrule
- a & Left outer node & \multirow{4}{*}{\cs{drawbeam} macro}\\
- A & Connect left outer node to all internal nodes and then to the right outer node & \\
- b & Right outer node & \\
- B & Connect right outer node to all internal nodes and then to the left outer node & \\
- \bottomrule
-\end{tabularx}
-\caption{All possible values for the \paramvalue{<conn definition>}, their detailed description and scope.}\label{tab:conn}
-\end{table}
-
-The first letter (before the dash) in the \paramvalue{<conn definition>}
-refers to which object node the first reference node should be connected
-to, the second letter (after the dash) affects the connection from the
-object to the second reference node. Tab.~\ref{tab:conn} lists all
-possibilities for \parameter{conn} within an object: \paramvalue{f} draws
-a fiber connection and \paramvalue{o} a beam connection to the
-appropriate outer node. \paramvalue{i} draws a beam connection to the
-appropriate outer node and then through all internal nodes and end at
-the other outer node. The boolean parameter \parameter{beam} is an alias
-for \parameter{conn=o-i}. The beam style is controlled by the
-psstyle \styleshape{Beam} which can be changed
-using \cs{newpsstyle} and \cs{addtopsstyle}.
-
-All fiber-optical units define \parameter{conn=f-f} which means that
-input and output connections are \paramvalue{f}ibers. The boolean
-parameter \parameter{fiber} is an alias for \parameter{conn=f-f}. The
-fiber connection style can be changed by adapting the \styleshape{Fiber*}
-styles (see Sec.~\ref{sec:fiberstyles}).
-
-The way how to really use this kind of connections should become more
-clear after looking at the following examples in this section.
-
-\medskip
-
-\begin{LTXexample}[width=4.5cm]
-\begin{pspicture}[showgrid=true](4,5)
- \addtopsstyle{Beam}{arrows=->, arrowscale=1.5}
- \psset{labeloffset=0}
- \doveprism[conn=o-](0,4.5)(4,4.5){\texttt{o-}}
- \doveprism[conn=i-](0,3.5)(4,3.5){\texttt{i-}}
- \doveprism[conn=-o](0,2.5)(4,2.5){\texttt{-o}}
- \doveprism[conn=-i](0,1.5)(4,1.5){\texttt{-i}}
- \optbox[conn=-f](0,0.5)(4,0.5){\texttt{-f}}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-The following example shows how this \parameter{conn} parameter can be used in some kinds
-of experimental setups using objects with changed internal optical path (here a
-penta prism). Instead of drawing the beam at the end with a \cs{psline},
-the beams are created at definition time of the respective object.
-
-\begin{LTXexampleFloat}
-\begin{LTXexample}[width=4.5cm]
-\begin{pspicture}[showgrid=true](4,5)
- \pnode(1,1){A}\pnode(1,4){G}\pnode(3,4){B}
- \optbox[endbox, labelref=relative, labeloffset=0, optboxwidth=1](G)(A){Laser}
- \lens[lens=0.5 0.5 0.5, abspos=0.3](A)(G){}
- \pinhole[abspos=0.5](A)(G){}
- \lens[lens=2, abspos=0.8](A)(G){}
- \lens[abspos=2, labelangle=180](A)(G){L}
- \optplate[abspos=1.5, labeloffset=1](A)(G){SLM}
- \lens[abspos=1](G)(B){L}
- \optbox[endbox, labeloffset=0, optboxwidth=1](G)(B){CCD}
- \pentaprism[beam, labeloffset=1](A)(G)(B){PP}
-\end{pspicture}
-\end{LTXexample}
-\caption{Code example on how to use the \parameter{conn} parameter in experimental setups.}\label{lst:conn}
-\end{LTXexampleFloat}
-
-This method works unless objects without internal beams (e.g. an optical
-diode, Sec.~\ref{sec:optdiode}) or with internal reflections (e.g. a
-Dove prism, Sec.~\ref{sec:doveprism}) are used in the straight light
-paths of the setup. One possibility would be to create additional nodes,
-but this may be not very comfortable. Therefore, \nxLPack{pst-optexp}
-provides a macro \cs{drawbeam} which connects a named object
-(Sec.~\ref{sec:namedobj}) to another named object or a node.
-
-\medskip
-
-\begin{lstlisting}
-\drawbeam[conn=...]{<from>}{<to>}
-\end{lstlisting}
-
-\medskip
-
-\noindent If \paramvalue{<from>} or \paramvalue{<to>} is a node, it must be written
-including the round braces. The call
-
-\medskip
-
-\begin{lstlisting}
-\drawbeam{Obj}{(1;45)}
-\end{lstlisting}
-
-\medskip\noindent connects the named object \nodename{Obj} to the node.
-
-The type of beam connection which \cs{drawbeam} draws is again
-controlled by the parameter \parameter{conn}. Almost every optical
-object does not have distinguished inputs and outputs and can be used in
-either directions. Therefore, it does not make sense to speak about
-`input` and `output` when referring to the object nodes, but rather
-about node A (\nodename{left outer node}) and node B (\nodename{right outer
- node}). Consequently, the two letters of parameter \parameter{conn}
-can take the values \paramvalue{a}, \paramvalue{A}, \paramvalue{b}
-or \paramvalue{B} when used together with \cs{drawbeam}. The detailed
-descriptions of the individual possibilities are listed in
-Tab.~\ref{tab:conn}. The letter before the dash in \parameter{conn}
-refers to the \paramvalue{<from>} object, the other one to
-the \paramvalue{<to>} object. Again, the next examples should clearify
-how to apply the \cs{drawbeam} macro together with the
-different \parameter{conn} settings.
-
-\begin{LTXexampleFloat}
- \begin{LTXexample}[width=4.5cm]
- \begin{pspicture}[showgrid=true](4,6) \psset{labeloffset=0.6}
- \addtopsstyle{Beam}{arrows=->, arrowscale=1.5}
- \doveprism[compname=Dove1](0,0.8)(3,0.8){Dove1}
- \drawbeam[conn=b-]{Dove1}{(3,0.8)}
- \doveprism[compname=Dove2](0,2.3)(3,2.3){Dove2}
- \drawbeam[conn=B-]{Dove2}{(3,2.3)}
- \doveprism[compname=Dove3](0,3.8)(3,3.8){Dove3}
- \drawbeam[conn=-a]{(0,3.8)}{Dove3}
- \doveprism[compname=Dove4](0,5.3)(3,5.3){Dove4}
- \drawbeam[conn=-A]{(0,5.3)}{Dove4}
- \end{pspicture}
- \end{LTXexample}
-\end{LTXexampleFloat}
-
-With the help of the \cs{drawbeam} macro we can adapt
-Listing~\ref{lst:conn} to use an optical diode before the beam clearing
-and connect it to the other components. In order to illustrate the beams
-that are drawn by the different mechanisms, they are colorcoded in the
-resulting Listing~\ref{lst:conn2}: \emph{green} is the direct connecting
-of the optical diode, \emph{red} is the \cs{drawbeam} connection and
-\emph{blue} the direct connecting of the penta prism.
-
-\begin{LTXexampleFloat}
-\begin{LTXexample}[width=4.5cm]
-\begin{pspicture}[showgrid=true](4,6)
- \pnode(1,1){A}\pnode(1,5){G}\pnode(3,5){B}
- \optbox[endbox, labelref=relative, labeloffset=0, optboxwidth=1](G)(A){Laser}
- \lens[lens=0.5 0.5 0.5, abspos=1.5](A)(G){}
- \pinhole[abspos=1.7](A)(G){}
- \lens[lens=2, abspos=2](A)(G){}
- \lens[abspos=3, labelangle=180](A)(G){L}
- \optplate[abspos=2.5, labeloffset=1](A)(G){SLM}
- \lens[abspos=1](G)(B){L}
- \optbox[endbox, labeloffset=0, optboxwidth=1](G)(B){CCD}
- \optdiode[abspos=0.8, conn=o-, compname=OD](A)(G){OD}
- \addtopsstyle{Beam}{linecolor=blue}
- \pentaprism[conn=-i, labeloffset=1, compname=PP](A)(G)(B){PP}
- \addtopsstyle{Beam}{linecolor=red}
- \drawbeam[conn=b-a]{OD}{PP}
-\end{pspicture}
-\end{LTXexample}
-\caption{More soffisticated code example which employs both connecting
- methods. The beam connections are colorcoded: \emph{green} is the
- direct connecting of the optical diode, \emph{red} is the
- \cs{drawbeam} connection and \emph{blue} the direct connecting of the
- penta prism.}\label{lst:conn2}
-\end{LTXexampleFloat}
-
-\newpage
-
-\section{Free-Ray Objects}
-
-The general appearance of all objects can be customized using the
-standard PSTricks parameter like \parameter{linewidth}
-or \parameter{fillstyle}. Some components allow changing a special part
-(e.g. for a piezo mirror) for which they use certain psstyles. For the
-automatic beam connections the \styleshape{Beam} style is used.
-
-\subsection{Lens}\label{sec:lens}
-
-\begin{description}
-\paramitem{lensheight}{<num>}{1}
-\paramitem{lenswidth}{<num>}{0.2}
-\paramitem{lensradius}{<num> [<num>]}{\{\}}
-\paramitem{lensradiusleft}{<num>}{1}
-\paramitem{lensradiusright}{<num>}{1}
-\paramitem{lens}{<num> [<num> [<num> [<num>]]]}{\{\}}
-\paramitem{thicklens}{<boolean>}{false}
-\end{description}
-
-\medskip
-
-\begin{LTXexample}[width=5.5cm]
-\begin{pspicture}[showgrid=true](5,6)
- % concave lenses
- \pnode(0,5){A}\pnode(5,5){B}
- \psline[style=Beam](A)(B)
- \lens[position=0.2](A)(B){L}
- \lens[lensradius=-1,position=0.5](A)(B){L}
- \lens[lens=-1.5 1,position=0.7](A)(B){L}
- % convex lenses
- \pnode(0,3){A}\pnode(5,3){B}
- \psline[style=Beam](A)(B)
- \lens[position=0.2,lens=1 -1](A)(B){L}
- \lens[lens=0 -1](A)(B){L}
- \lens[lens=1 0,position=0.7](A)(B){L}
- % thick lenses
- \pnode(0,1){A}\pnode(5,1){B}
- \psline[style=Beam](A)(B)
- \lens[position=0.3, lens=-1.5 1 1 0.5, thicklens](A)(B){thicklens}
- \lens[lens=0 -1, position=0.7, fillstyle=solid, fillcolor=blue!30!white](A)(B){lens}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-The shape of a lens is defined by its two surface radii. A negative
-radius gives a concave, a positive radius a convex and a radius of
-\texttt{0} a plain surface. The parameters \parameter{lensradiusleft}
-and \parameter{lensradiusright} allow to define independent values for
-both surfaces. \parameter{lensradius} sets both curvatures to the same
-value. Usually only \parameter{lensheight} and the two radii are used to
-construct the lens. The thickness (or width) is determined
-automatically. Manually controlling the thickness of the lens can be
-achived by setting \parameter{thicklens}
-to \paramvalue{true}. Then \parameter{lenswidth} is used as width of the
-lens at its waist. Finally, the parameter \parameter{lens} allows the
-definition of all relevant lens parameters at once. It consists of one
-up to four space-separated numbers. The first one gives the left
-radius. If no further value is set, the right radius will be set to the
-same value and all other parameters are left unchanged. Using two
-numbers defines two different radii. The third optional value defines
-the \parameter{lensheight} and the fourth one the \parameter{lenswidth}
-which is use only if \parameter{thicklens} is set to \parameter{true}.
-
-\textbf{Compatibility:} The whole implementation of the lens was
-changed in version 1.2. It allows a much more flexible definition of different lens
-types. However, I could not get full compatibility with the older way to
-define lens using only \parameter{lensheight} and \parameter{lenswidth}. To use
-this old behaviour, you have to set the \parameter{lenstype} explicitly, but
-then you have no access to the new features! All users are encouraged to
-adapt their code to use the new parameters, as the old code will be
-removed in future versions.
-
-\medskip
-\subsection{Optical Plate}
-
-\begin{description}
-\paramitem{plateheight}{<num>}{1}
-\paramitem{platelinewidth}{<num>}{2\cs{pslinewidth}}
-\paramitem{angle}{<degree>}{0}
-\end{description}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \optplate[beam](0,1.2)(3,1.2){filter}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \optplate[angle=10, beam](0,1.2)(3,1.2){glass plate}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Retardation Plate}
-
-\begin{description}
-\paramitem{plateheight}{<num>}{1}
-\paramitem{platewidth}{<num>}{0.1}
-\end{description}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \pnode(0,1.2){A}
- \pnode(3,1.2){B}
- \optretplate[beam](A)(B){$\nicefrac{\lambda}{2}$}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Pinhole}
-
-\begin{description}
-\paramitem{outerheight}{<num>}{1}
-\paramitem{innerheight}{<num>}{0.1}
-\paramitem{phlinewidth}{<num>}{2\cs{pslinewidth}}
-\end{description}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \pnode(0,1.2){A}
- \pnode(3,1.2){B}
- \pinhole[beam](A)(B){PH}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Crystal}\label{sec:crystal}
-
-\begin{description}
-\paramitem{crystalwidth}{<num>}{1.4}
-\paramitem{crystalheight}{<num>}{0.6}
-\paramitem{caxislength}{<num>}{0.6}
-\paramitem{caxisinv}{<boolean>}{false}
-\paramitem{voltage}{<boolean>}{false}
-\paramitem{lamp}{<boolean>}{false}
-\paramitem{lampscale}{<num>}{0.3}
-\paramitem{angle}{<degree>}{0}
-\paramitem{rotateref}{<ref string>}{c}
-\end{description}
-
-\noindent For a discussion of the \parameter{angle} and \parameter{rotateref}
-parameters see Sec.~\ref{sec:box} about boxes. \medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \pnode(0,1.2){A}
- \pnode(3,1.2){B}
- \crystal[fillstyle=solid, fillcolor=yellow!90!black, labelangle=-45, labeloffset=1.2, voltage, lamp, beam](A)(B){SBN:Ce}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Box}\label{sec:box}
-
-\begin{description}
-\paramitem{optboxheight}{<num>}{0.8}
-\paramitem{optboxwidth}{<num>}{1.4}
-\paramitem{endbox}{<boolean>}{false}
-\paramitem{angle}{<degree>}{0}
-\paramitem{rotateref}{<ref string>\footnote{\refstringexplanation}}{c}
-\paramitem{refractiveindex}{<num>}{\{\}}
-\end{description}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \optbox[beam](0,0)(3,2){box}
-\end{pspicture}
-\end{LTXexample}
-
-\bigskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \optbox[beam, endbox](0,0)(1.7,1){box}
-\end{pspicture}
-\end{LTXexample}
-
-\bigskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \pnode(0,0){A}
- \pnode(1.7,1){B}
- \optbox[beam, endbox, labelref=relative, labeloffset=0](A)(B){box}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\noindent The parameter \parameter{angle} describes the tilt of the box
-relative to the reference line defined by the two reference nodes. The
-reference point for the rotation can be defined
-with \parameter{rotateref} which can take any combination
-of \paramvalue{c}, \paramvalue{t}, \paramvalue{b}, \paramvalue{l}
-and \paramvalue{r} (compare with \parameter{extnode} in
-Sec.~\ref{sec:extnode}). Note, that all connection-related nodes are
-also rotate, while the label is not affected.
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \optbox[angle=20, beam, rotateref=l, labeloffset=0.5](0,1)(3,1){box}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\noindent Together with the parameter \parameter{refractiveindex} this
-can be exploited to sketch the refraction through a tilted homogeneous
-medium (e.g. a glass plate). Then, however, the reference nodes for the
-beam connection must be corrected which is rather easy using the outer
-nodes of the object as coordinate references and the \texttt{|} node
-operator.
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \pnode(0,1){A}
- \pnode(3,1){B}
- \optbox[labeloffset=0.7, optboxwidth=0.5, optboxheight=1, angle=20, refractiveindex=2.3, compname=Box](A)(B){glass plate}
- \drawbeam[conn=-a]{(A|BoxIntern1)}{Box}
- \drawbeam[conn=B-]{Box}{(B|BoxInternN)}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Detector}
-
-\begin{description}
-\paramitem{detsize}{<num>}{0.8}
-\paramitem{dettype}{round|diode}{round}
-\end{description}
-
-With \nxLPack{pst-optexp} version 2.0 the name for the detector was
-changed to \cs{optdetector} as the package \nxLPack{pst-circ} also
-provides a \cs{detector} macro. For compatibility reasons the old
-\cs{detector} macro is available when \nxLPack{pst-circ} is not loaded
-before \nxLPack{pst-optexp}.
-
-
- \medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \pnode(0,0){A}
- \pnode(1.7,1){B}
- \optdetector[beam](A)(B){detector}
-\end{pspicture}
-\end{LTXexample}
-
-\bigskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \pnode(0,0){A}
- \pnode(1.7,1){B}
- \optdetector[beam, dettype=diode](A)(B){detector}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Optical Diode}\label{sec:optdiode}
-
-\begin{description}
-\paramitem{optdiodesize}{<num>}{0.8}
-\end{description}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \optdiode[conn=o-o](0,1)(3,1){Diode}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Dove Prism}\label{sec:doveprism}
-\begin{description}
- \paramitem{doveprismsize}{<num>}{0.6}
-\end{description}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \doveprism[beam](0,1)(3,1){Dove}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Polarization}
-
-\begin{description}
-\paramitem{poltype}{parallel|perp|misc|lcirc|rcirc}{parallel}
-\paramitem{polsize}{<num>}{0.6}
-\paramitem{pollinewidth}{<num>}{0.7\cs{pslinewidth}}
-\end{description}
-
-\medskip
-
-\begin{LTXexample}[width=3.4cm]
-\begin{pspicture}[showgrid=true](3,5)
- \pnode(0,0.5){A1}\pnode(3,0.5){B1}\pnode(0,1.5){A2}
- \pnode(3,1.5){B2}\pnode(0,2.5){A3}\pnode(3,2.5){B3}
- \pnode(0,3.5){A4}\pnode(3,3.5){B4}\pnode(0,4.5){A5}
- \pnode(3,4.5){B5}\psset{style=Beam}
- \multido{\i=1+1}{5}{\psline(A\i)(B\i)}
- \psset{linecolor=black}
- \polarization[poltype=misc,position=0.2](A5)(B5)
- \polarization[poltype=perp,position=0.35](A4)(B4)
- \polarization[poltype=parallel,position=0.5](A3)(B3)
- \polarization[poltype=rcirc,position=0.65](A2)(B2)
- \polarization[poltype=lcirc,position=0.8](A1)(B1)
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Mirror}\label{sec:mirror}
-
-\begin{description}
-\paramitem{mirrorwidth}{<num>}{1}
-\paramitem{mirrorradius}{<num>}{0}
-\paramitem{mirrorlinewidth}{<num>}{2\cs{pslinewidth}}
-\paramitem{mirrortype}{normal|piezo|extended}{normal}
-\paramitem{mirrordepth}{<num>}{0.1}
-\paramitem{variable}{<num>}{false}
-\styleitem{ExtendedMirror}{<psstyle>}
-\styleitem{PiezoMirror}{<psstyle>}
-\end{description}
-
-\noindent The parameter \parameter{mirrorradius} defines the curvature
-of the mirror. A value of \paramvalue{0} is for a plain mirror, a
-negative radius is for a concave mirror and a positive radius gives you
-a convex mirror. The style of the extended mirror is defined as a
-psstyle \styleshape{ExtendedMirror} and can be changed using
-\cs{newpsstyle} or \cs{addtopsstyle}. The appearence of the piezo mirror
-likewise can be changed by adapting the psstyle
-\styleshape{PiezoMirror}. Note, when using \parameter{extnode} with a
-piezo mirror, the default piece of wire is omitted.
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,3)
- \pnode(0,0){A}
- \pnode(1.8,2.2){G}
- \pnode(0,3){B}
- \mirror[beam](A)(G)(B){mirror}
-\end{pspicture}
-\end{LTXexample}
-
-\bigskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,3)
- \pnode(0,0){A}
- \pnode(1.8,2.2){G}
- \pnode(0,3){B}
- \mirror[beam, variable](A)(G)(B){M$_\mathrm{var}$}
-\end{pspicture}
-\end{LTXexample}
-
-\bigskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,3)
- \pnode(0,0){A}
- \pnode(1.8,2.2){G}
- \pnode(0,3){B}
- \mirror[beam, mirrortype=piezo,labelangle=-90](A)(G)(B){piezo}
-\end{pspicture}
-\end{LTXexample}
-
-\bigskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,3)
- \pnode(0,0){A}
- \pnode(1.8,2.2){G}
- \pnode(0,3){B}
- \mirror[beam, mirrortype=extended](A)(G)(B){M$_\mathrm{ext}$}
-\end{pspicture}
-\end{LTXexample}
-
-\bigskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,3)
- \pnode(0,0){A}\pnode(1,2){G1}
- \pnode(1.8,1){G2}\pnode(2.5,3){B}
- \psset{labeloffset=0.5}
- \psline[style=Beam](A)(G1)(G2)(B)
- \mirror[mirrortype=extended, mirrorradius=1](A)(G1)(G2){M$_{\mathrm{concave}}$}
- \mirror[mirrorradius=-1](G1)(G2)(B){M$_{\mathrm{convex}}$}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Beamsplitter}
-
-\begin{description}
-\paramitem{bssize}{<num>}{0.8}
-\paramitem{bsstyle}{cube|plate}{cube}
-\end{description}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,3)
- \pnode(0,2){A}
- \pnode(2,2){G}
- \pnode(3,0){B}
- \beamsplitter[beam](A)(G)(B){BS}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,3)
- \pnode(0,2){A}
- \pnode(2,2){G}
- \pnode(3,0){B}
- \beamsplitter[bsstyle=plate, beam](A)(G)(B){BS}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-
-\subsection{Optical Grid}
-
-\begin{description}
-\paramitem{optgridcount}{<integer>}{10}
-\paramitem{optgridwidth}{<num>}{1}
-\paramitem{optgridheight}{<num>}{0.1}
-\paramitem{optgriddepth}{<num>}{0.05}
-\paramitem{optgridtype}{blazed|binary}{blazed}
-\paramitem{optgridlinewidth}{<num>}{0.7\cs{pslinewidth}}
-\paramitem{reverse}{<boolean>}{false}
-\end{description}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,3)
- \pnode(0,3){A}
- \pnode(1.8,2.2){G}
- \pnode(0,0){B}
- \optgrid[beam](A)(G)(B){grid}
-\end{pspicture}
-\end{LTXexample}
-
-\bigskip
-
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,3)
- \pnode(0,3){A}
- \pnode(1.8,2.2){G}
- \pnode(0,0){B}
- \optgrid[beam, reverse](A)(G)(B){grid}
-\end{pspicture}
-\end{LTXexample}
-
-\bigskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,3)
- \pnode(0,3){A}
- \pnode(1.8,2.2){G}
- \pnode(0,0){B}
- \optgrid[beam,%
- optgridcount=6,%
- optgriddepth=0.2,%
- optgridheight=0.3](A)(G)(B){grid}
-\end{pspicture}
-\end{LTXexample}
-
-\bigskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,3)
- \pnode(0,3){A}
- \pnode(1.8,2.2){G}
- \pnode(0,0){B}
- \optgrid[beam, optgridtype=binary](A)(G)(B){grid}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Prism}\label{sec:prism}
-\begin{description}
- \paramitem{prismsize}{<num>}{1}
- \paramitem{prismangle}{<num>}{60}
-\end{description}
-
-The prism has always a symmetric refraction independent of the beams and
-the \parameter{prismangle}.
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,3)
- \pnode(0,2.5){A}
- \pnode(2,2){G}
- \pnode(3,0){B}
- \optprism[beam](A)(G)(B){Prism}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Right-Angle Prism}\label{sec:raprism}
-\begin{description}
- \paramitem{raprismsize}{<num>}{1.5}
-\end{description}
-
-The right-angle prisms is constructed such that the two incoming beams
-are parallel and the middle reference node is vertically centered in the
-prism.
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \pnode(0,1.5){A}
- \pnode(1.8,0.8){G}
- \pnode(0,0.5){B}
- \rightangleprism[beam, showoptdots](A)(G)(B){RA}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Penta Prism}\label{sec:ppprism}
-\begin{description}
- \paramitem{pentaprismsize}{<num>}{0.7}
-\end{description}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,3)
- \pnode(0,2){A}
- \pnode(2,2){G}
- \pnode(2,0){B}
- \pentaprism[beam](A)(G)(B){PP}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Custom Components}\label{sec:custom}
-The macros \cs{optdipole} and \cs{opttripole} allow using everything as
-optical component. If you want to use a certain component several times,
-you should define it as a new component. For details on how to define
-your own components see Sec.~\ref{sec:newobj}.
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,3)
- \pnode(0,2){A}
- \pnode(3,1){B}
- \optdipole[labeloffset=1, beam](A)(B){%
- \rput(0,0){%
- \includegraphics[scale=0.25]{parque-nacional}
- }
- }{label}
-\end{pspicture}
-\end{LTXexample}
-
-\bigskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,3)
- \pnode(0,0){A}
- \pnode(1.5,2){G}
- \pnode(3,1.5){B}
- \opttripole[beam](B)(G)(A){\rput[b](0,0){text}}{label}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\section{Fiber-Optical Objects}
-
-\begin{description}
-\paramitem{usefiberstyle}{<boolean>}{false}
-\end{description}
-
-Fiber-optical objects are automatically connected to the reference
-nodes. The style of all fiber connections can be configured
-independently (see Sec.~\ref{sec:fiberstyles}).
-
-For some components it might me nice to highlight some
-internals. If \parameter{usefiberstyle} is enabled, for examples the
-passing parts of the optical filter are drawn with the \styleshape{Fiber}
-style. In the documentation this parameter is enabled to show the parts
-which would be highlighted.
-
-\subsection{Fiber}
-\begin{description}
-\paramitem{fiberloops}{<integer>}{3}
-\paramitem{fiberloopradius}{<num>}{0.4}
-\paramitem{fiberloopsep}{<num>}{0.3}
-\end{description}
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \optfiber[labeloffset=0.4](0,1)(3,1){SSMF}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Amplifier}
-\begin{description}
-\paramitem{optampsize}{<num>}{0.8}
-\end{description}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \optamp(0,1)(3,1){EDFA}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Mach-Zehnder Modulator}
-\begin{description}
-\paramitem{optmzmsize}{<num>}{0.8}
-\end{description}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \optmzm(0,1)(3,1){MZM}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Filter}
-\begin{description}
-\paramitem{filtersize}{<num>}{0.8}
-\paramitem{filtertype}{bandpass|bandstop}{bandpass}
-\end{description}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \optfilter(0,1)(3,1){bandpass}
-\end{pspicture}
-\end{LTXexample}
-
-\bigskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \optfilter[filtertype=bandstop](0,1)(3,1){bandstop}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Polarization Controller}
-\begin{description}
-\paramitem{polcontrolsize}{<num>}{0.15}
-\end{description}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \polcontrol(0,1)(3,1){PC}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Isolator}
-\begin{description}
-\paramitem{isolatorsize}{<num>}{0.6}
-\end{description}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \optisolator(0,1)(3,1){}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Optical Switch}
-\begin{description}
-\paramitem{switchsize}{<num>}{0.8}
-\paramitem{switchstyle}{opened|closed}{opened}
-\end{description}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \optswitch(0,1)(3,1){Opened switch}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \optswitch[switchstyle=closed](0,1)(3,1){Closed switch}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Fiber Delay Line}
-
-\begin{description}
- \paramitem{fdlsize}{<num>}{0.6}
-\end{description}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \fiberdelayline(0,1)(3,1){Delay line}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-
-\subsection{Fiber Polarizer}
-
-\begin{description}
- \paramitem{fiberpolsize}{<num>}{0.6}
-\end{description}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \optfiberpolarizer(0,1)(3,1){polarizer}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Fiber Collimator}
-
-\begin{description}
-\paramitem{fibercolsize}{<num>}{0.3}
-\end{description}
-
-The connection type for the fiber collimator is fixed
-to \parameter{conn=o-f}. The component can be use with two, three or
-four nodes. With more than two points, the fiber is drawn as a
-\cs{psbezier} curve. In the case of three nodes, the middle one is used
-twice. Positioning parameters can still be used to shift the component
-between the first two nodes.
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \fibercollimator(0.5,1)(2.5,1){FC}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \fibercollimator(0,1)(2,1)(3,2){FC}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \fibercollimator(0.5,1)(2.5,1)(2.5,2){FC}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \fibercollimator[position=0.2](0.5,1)(2.5,1)(2.5,2)(0.5,2){FC}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Coupler}\label{sec:coupler}
-\begin{description}
-\paramitem{couplersize}{<num>}{0.2}
-\paramitem{couplersep}{<num>}{0.1}
-\paramitem{couplertype}{none|elliptic}{elliptic}
-\paramitem{align}{top|bottom|center}{center}
-\end{description}
-
-\subsubsection{\texorpdfstring{$2\times 2$}{2x2} Coupler}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \optcoupler(0.5,2)(0,0.5)(3,1.5)(2.5,0){Coupler}
-\end{pspicture}
-\end{LTXexample}
-
-\bigskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \optcoupler[align=top](0.5,2)(0,0.5)(3,1.5)(2.5,0){Coupler}
-\end{pspicture}
-\end{LTXexample}
-
-\bigskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \optcoupler[align=bottom, couplertype=none](0.5,2)(0,0.5)(3,1.5)(2.5,0){Coupler}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsubsection{WDM Coupler}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \wdmcoupler[labeloffset=0.5](0,1.5)(0,0.5)(3,1){WDM}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsubsection{WDM Splitter}
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \newpsstyle{FiberOut2}{style=Fiber, arrows=->}
- \wdmsplitter[align=top, labeloffset=0.5](0,1.5)(3,1.5)(3,0.5){}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\subsection{Fiber Styles}\label{sec:fiberstyles}
-
-\begin{description}
-\styleitem{Fiber}{<psstyle>}%{linecolor=red}
-\styleitem{FiberIn}{<psstyle>}%{style=Fiber}
-\styleitem{FiberIn1}{<psstyle>}%{style=FiberIn}
-\styleitem{FiberIn2}{<psstyle>}%{style=FiberIn}
-\styleitem{FiberOut}{<psstyle>}%{style=Fiber}
-\styleitem{FiberOut1}{<psstyle>}%{style=FiberOut}
-\styleitem{FiberOut2}{<psstyle>}%{style=FiberOut}
-\end{description}
-
-All these psstyles control the appearence of the fiber parts before and
-after each object. The styles can be redefined with \cs{newpsstyle} or
-changed with \cs{addtopsstyle}. For optical systems it is not possible
-to define a unique input and a unique output as most components can be
-used bidirectionally. Therefore, I refer to the input as the connections
-on the left of the object and to the output the ones on the right side.
-
-The basic style is \styleshape{Fiber} which is the parent of all other
-styles. \styleshape{FiberIn} inherits from \styleshape{Fiber} and defines
-the style of the input fiber. Analogously \styleshape{FiberOut} controls
-the style of the output fiber. If you want to change the input and
-output fiber styles you should use \cs{addtopsstyle} as then the
-inheritance from the parent style \styleshape{Fiber} remains.
-
-The other psstyles are used only by the various fiber couplers
-(\cs{optcoupler}, \cs{wdmcoupler} and
-\cs{wdmsplitter}). \styleshape{FiberIn1} affects the upper input fiber,
-\styleshape{FiberIn2} the lower input fiber, \styleshape{FiberOut1} the
-upper output fiber and \styleshape{FiberOut2} the lower output fiber. If
-the object has only one input (e.g. \cs{wdmsplitter}),
-\styleshape{FiberIn} is used. All fiber connections are drawn as
-\cs{pccurve} which means that also the curvature and the input and
-output angles of each connection can be changed as you will see in a
-following code example.
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,3)
- \addtopsstyle{FiberIn}{ArrowInside=->, arrowscale=1.2}
- \addtopsstyle{FiberOut2}{linecolor=blue}
- \optcoupler(0,2.5)(0,0.5)(3,2.5)(3,0.5){50~\%}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-In addition to the psstyles there exist
-corresponding \parameter{newFiber\ldots} and \parameter{addtoFiber\ldots}
-parameter keys for each of them.
-
-\medskip
-
-\begin{lstlisting}
-\psset{addtoFiberIn={arrows=->, arrowscale=1.3}}
-\end{lstlisting}
-
-\medskip
-
-\noindent is equivalent to
-
-\medskip
-
-\begin{lstlisting}
-\addtopsstyle{FiberIn}{arrows=->, arrowscale=1.3}
-\end{lstlisting}
-
-\medskip
-
-\noindent Accordingly \parameter{newFiberIn} corresponds to \cs{newpsstyle\{FiberIn\}\{\ldots\}}.
-
-At first glance these keys make no sense. The reason why I
-introduced them was to be able to define special couplers with
-\cs{newpsobject}. This is only possible if all modifications can be
-expressed as parameter keys. Consider for example a WDM splitter which
-only couples out a certain spectral range of the input and you want to
-mark the output with an arrow:
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \newpsobject{mywdmsplitter}{wdmsplitter}{addtoFiberOut1={arrows=->, arrowscale=1.3, linecolor=blue}, labelangle=180, align=bottom}
- \mywdmsplitter(0,0.5)(3,1.5)(3,0.5){blue band}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-Or if you need a coupler with a particular input angle you can do it be extending the appropriate fiber style:
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\begin{pspicture}[showgrid=true](3,2)
- \newpsobject{mycoupler}{optcoupler}{addtoFiberIn2={angleA=90}, align=top}
- \mycoupler(0.5,1.5)(0.5,0.5)(2.5,1.5)(2.5,0.5){}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\section{Defining New Objects}
-
-\subsection{Customized Versions of Existing Macros}
-
-The easiest way to define your own components is to use the
-\cs{newpsobject} macro. With this you can define a new component using
-predefined objects with a set of options. These options serve only as
-default values and can be overridden when calling the macro. The
-following examples defines a new object \cs{sbn} for the special crystal
-used in Sec.~\ref{sec:crystal}.
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\newpsobject{sbn}{crystal}{voltage, lamp, labelangle=45, labeloffset=1.2, fillstyle=solid, fillcolor=yellow!90!black}
-\begin{pspicture}[showgrid=true](3,2)
- \sbn(0,1)(3,1){SBN:Ce}
- \psline[style=Beam](0,1)(3,1)
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-\begin{LTXexample}[width=3.5cm]
-\newpsobject{pumpcoupler}{wdmcoupler}{align=top, labelangle=180, labeloffset=0.5,addtoFiberIn2={ArrowInside=->, arrowscale=2}}
-\begin{pspicture}[showgrid=true](3,2)
- \pumpcoupler(0,1)(0,0)(3,1){Pumpcoupler}
-\end{pspicture}
-\end{LTXexample}
-
-\medskip
-
-Or if you need more than one type of lenses several times in your setup
-it is very cumbersome to specify all parameters every time.
-
-\medskip
-
-\begin{LTXexample}[width=5.5cm]
-\newpsobject{MOLensIn}{lens}{lens=0.5 0.5 0.5}
-\newpsobject{MOLensOut}{lens}{lens=1.5 1.5 1.5}
-\begin{pspicture}[showgrid=true](5,2)
- \pnode(0,1){A}\pnode(5,1){B}
- \MOLensIn[abspos=0.5](A)(B){}
- \MOLensOut[abspos=1](A)(B){}
- \MOLensOut[abspos=4](A)(B){}
- \MOLensIn[abspos=4.5](A)(B){}
- \psline[style=Beam](A)(B)
-\end{pspicture}
-\end{LTXexample}
-\medskip
-
-\subsection{Defining New Objects}\label{sec:newobj}
-
-Since version 1.2 \nxLPack{pst-optexp} provides some high-level macros to
-allow very convenient definition of completely new components. The macro
-\cs{newOptexpDipole} generates all organizing code for a new free-ray
-component. All you have to do is to define a new `drawing' macro
-\cs{mycomponent@iii} which contains all drawing code. Analogously
-\cs{newOptexpDipoleNolabel} defines a new free-ray object without label
-(like \cs{polarization}) and \cs{newOptexpTripole} defines a new
-reflective component.
-
-New fiber-optical components can be defined using
-\cs{newOptexpFiberDipole}. This macro differs from its free-ray
-analogous only in that it presets \parameter{fiber} and hence directly
-connects the component with its reference nodes. The first node in the
-parameter list gets connected with a node \nodename{tempNode@A@}, the
-second node with a node \nodename{tempNode@B@}. These two internal
-nodes are preset to \paramvalue{(0,0)} and can be overwritten within the
-drawing macro.
-
-The syntax of the macros is
-\begin{lstlisting}
-\newOptexpDipole[fixed options]{name}{default options}
-\newOptexpDipoleNolabel[fixed options]{name}{default options}
-\newOptexpTripole[fixed options]{name}{default options}
-\newOptexpFiberDipole[fixed options]{name}{default options}
-\end{lstlisting}
-The \texttt{default options} are simply a list of PSTricks parameters
-which are taken as defaults for the new component. The optional argument
-allows setting of parameters which cannot be overridden later.
-
-This is illustrate a bit more in the next code snippet, which also shows
-how the coordinate system is handled within the \cs{mycomponent@iii}
-macro.
-
-\medskip
-
-\begin{LTXexample}[width=4.5cm]
-\newOptexpTripole{mygrid}{subgriddiv=5, griddots=0, subgridwidth=\pslinewidth, gridwidth=2\pslinewidth}
-\makeatletter
-\def\mygrid@iii{% put here all PSTricks drawing code
- \psgrid(-1,0)(1,1)
-}%
-\makeatother
-\begin{pspicture}[showgrid=true](4,4)
- \pnode(0,1){A}\pnode(2,2){G}\pnode(3,0){B}
- \mygrid[gridcolor=red,labeloffset=1.5](A)(G)(B){myGrid}
- \psline[style=Beam](A)(G)(B)
-\end{pspicture}
-\end{LTXexample}
-\medskip
-
-The default position of the label reference point is (0,0). If you want
-to change this, you have to define a new pnode named
-\nodename{tempNode@Label} in the \cs{mycomponent@iii} macro.
-
-If you create a new component, please send it to me then I can
-incorporate this in a new released version.
-
-\newpage
-
-\section{Examples}
-\begin{LTXexample}[pos=t,vsep=8mm]
-\begin{pspicture}(10,2)
-\psset{optboxwidth=1}\addtopsstyle{Beam}{linewidth=2\pslinewidth}
-\pnode(1,1){Start}\pnode(9,1){CCD}\optbox[endbox, labeloffset=0](CCD)(Start){Laser}
-\optbox[endbox,labeloffset=0,beam](Start)(CCD){CCD}
-\polarization[poltype=perp,abspos=0.5](Start)(CCD)
-\optretplate[abspos=1](Start)(CCD){$\nicefrac{\lambda}{2}$}
-\lens[lens=0.4 0.4 0.5,abspos=2](Start)(CCD){$L_1$}\lens[abspos=4](Start)(CCD){$L_2$}
-\optplate[abspos=6,platelinewidth=3\pslinewidth](Start)(CCD){SLM}
-\optplate[abspos=6.5,labelangle=180](Start)(CCD){PF}
-\polarization[abspos=6.7](Start)(CCD)\lens[abspos=7](Start)(CCD){$L_3$}
-\end{pspicture}
-\end{LTXexample}
-
-\vspace{\fill}
-
-\begin{LTXexample}[pos=t,vsep=8mm]
-\begin{pspicture}(-4,-1)(3,3)
-\addtopsstyle{Beam}{linewidth=2\pslinewidth, linecolor=red!90!black}
-\psset{labeloffset=0.5}
-\pnode(-2,0){LaserOut}\pnode(0,0){Grat}
-\pnode(4;45){Out}\pnode(2.5;67.5){Mvar}
-\optbox[optboxwidth=2,labeloffset=0, endbox](Grat)(LaserOut){diode laser}
-\mirror[variable,conn=o-](Grid)(Mvar)(Grid){M$_\mathrm{var}$}
-\optgrid[beam](LaserOut)(Grat)(Out){grating}
-\optretplate[position=0.3,labeloffset=0.8]%
- (LaserOut)(Grat){$\nicefrac{\lambda}{4}$}
-\rput[l](-3,2){Littman setup}
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[pos=t, vsep=8mm]
-\begin{pspicture}(8.5,1.6)
- \addtopsstyle{Beam}{linecolor=green!90!black}
- \pnode(1.6,1){Laser}\pnode(7.6,1){Diode}
- \optbox[endbox,labeloffset=0](Diode)(Laser){Laser}%
- \optbox[abspos=4, optboxwidth=1, optboxheight=0.6, labeloffset=1, compname=PC, conn=o-, angle=-10, rotateref=l, refractiveindex=2.3](Laser)(Diode){Photonic Crystal}
- \optdetector[dettype=diode, conn=o-](PCInternN)(Diode|PCInternN){PD}
- \defShiftedNode(PCIntern1)(2;170){Angle1}
- \psline[linestyle=dashed](PCIntern1)(Angle1)
- \psarc{<->}(PCIntern1){1.3}{330}{30}
- \psarc[arcsep=1pt]{<->}(PCIntern1){2}{170}{180}
- \uput{2.1}[175](PCIntern1){\small $\varphi$}
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[pos=t, vsep=8mm]
-\begin{pspicture}(6.4,3.2)
-\addtopsstyle{Fiber}{linecolor=red}
-\pnode(2.3,2.3){Lin}\pnode([Xnodesep=0.5]Lin){Lout}
-\pnode([Xnodesep=1.5]Lout){EAMout}
-\pnode([Xnodesep=1.5]EAMout){Det}
-\optbox[fiber, labeloffset=-0.2, endbox, compname=L, extnode=b](Lout)(Lin){%
- \psGauss[yunit=0.03,sigma=0.03]{-0.5}{0.5}}
-\optbox[fiber, labeloffset=0, optboxwidth=1, compname=EAM, extnode=b](Lout)(EAMout){EAM}
-\optfiber[labeloffset=0.3](EAMout)(Det){fibre}
-\optdetector(EAMout)(Det){OSA}
-\pnode([Xnodesep=-1,offset=-1]LExtNode){Osc}
-\pnode(LExtNode|Osc){PSin}\pnode(EAMExtNode|Osc){PSout}
-\oscillator[output=right](Osc){10\,GHz}{}
-\phaseshifter[labeloffset=-0.7](PSin)(PSout){$\tau$}
-\wire(LExtNode)(PSin)\wire(EAMExtNode)(PSout)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[pos=t, vsep=8mm]
-\begin{pspicture}(0.9,0.9)(10.4,5.9)
- \psset{arrowscale=1.5, arrowinset=0}
- \addtopsstyle{Fiber}{linewidth=2\pslinewidth}
- \pnode(2,5){PC1in}\pnode(4,5){PC1out}\pnode(6,5){PC2in}
- \pnode(8,5){PC2out}\pnode(2,2){CplSig}\pnode(5,2){CplIn}
- \pnode(2,1){CplOut}\pnode(10,4.5){Pump}\pnode(8,2){PumpSig}
- \optisolator[compshift=0.8, addtoFiberIn={angleA=180}, addtoFiberOut={angleB=180}, labelref=relative, labeloffset=0.6](CplSig)(PC1in){isolator}
- \polcontrol[addtoFiberIn={arrows=|-}](PC1in)(PC1out){}
- \optfiberpolarizer[labeloffset=0.6](PC1out)(PC2in){polarizer}
- \polcontrol[addtoFiberOut={arrows=-|}](PC2in)(PC2out){}
- \wdmsplitter[labeloffset=0.3, align=bottom, addtoFiberIn={arrows=|-}, addtoFiberOut1={arrows=->}, addtoFiberOut2={arrows=-|}](CplIn)(CplOut)(CplSig){95/5}
- \wdmcoupler[addtoFiberIn1={ArrowInside=->}, addtoFiberIn2={angleA=0}, addtoFiberOut={angleB=0,arrows=-|}, ncurv=0.9, align=bottom, compshift=0.8](Pump)(PC2out)(PumpSig){Pump}
- \optbox[endbox,labeloffset=0,labelref=relative]([offset=-0.1]Pump)(Pump){980~nm}
- \optfiber[fiberloops=2, labeloffset=0.4](CplIn)(PumpSig){Er$^+$-doped}
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[pos=t, vsep=8mm]
-\makeatletter
-\def\LCLV@iii{%
- \psframe[fillstyle=solid,fillcolor=black,dimen=outer](-0.12,-0.5)(0,0.5)
- \psframe[fillstyle=solid,fillcolor=gray!50,dimen=outer](0,-0.5)(0.15,0.5)
- \pnode(-0.12,0){\optexp@nodeA}\pnode(0.15,0){\optexp@nodeB}}
-\makeatother
-\begin{pspicture}(9,5)
-\newOptexpDipole{LCLV}{}\psset{lens=1.2 0 1}
-\pnode(2.4,1){BS1}\pnode([offset=3]BS1){M1}\pnode([Xnodesep=5.5]M1){PP}\pnode(PP|BS1){BS2}
-\LCLV[position=0.2, compname=LCLV](BS1)(BS2){LCLV}\beamsplitter[compname=BS](BS2)(BS1)(M1){BS}
-\optretplate(BS1)(M1){P}\mirror[conn=i-](BS1)(M1)(PP){M}\lens[position=0.2](M1)(PP){L}
-\pinhole(M1)(PP){}\lens[position=0.2](PP)(M1){L}\pentaprism[beam](M1)(PP)(BS2){PP}
-\beamsplitter(PP)(BS2)(BS1){BS}\lens(BS2)(BS1){L}
-\doveprism[compname=Dove,conn=i-,position=0.27](BS2)(BS1){D}
-\drawbeam[conn=b-b]{Dove}{LCLV}\drawbeam[conn=b-a]{BS}{LCLV}
-\psline[arrowscale=1.3, style=Beam]{->}(BS2)([offset=-1]BS2)
-\addtopsstyle{Beam}{arrowscale=1.3, ArrowInside=-<}
-\optbox[labeloffset=0, endbox, conn=o-](BS1)([Xnodesep=-1]BS1){Nd:YAG}
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[pos=t,vsep=8mm]
-\begin{pspicture}(0,-0.4)(9,6)
- \addtopsstyle{Beam}{linewidth=2\pslinewidth}
- \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[style=Beam](Laser)(PBS2)(piezo)(BSBwd)(M4f1)(M4f2)(M4f3)(BS4f)(CCD)
- \psline[style=Beam](PBS)(BSFwd)(BS4f)
- \psset{mirrorwidth=0.6, plateheight=0.7, outerheight=0.7, labeloffset=0.7, labelstyle=\scriptsize, lens=1.2 1.2 0.8, bssize=0.5}
- \optbox[endbox,optboxwidth=1.5, optboxheight=0.7,labeloffset=0]%
- (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=180](Laser)(PBS){PH}
- \lens[position=0.5](Laser)(PBS){L}
- \optretplate[position=0.8](Laser)(PBS){$\nicefrac{\lambda}{2}$}
- \beamsplitter(Laser)(PBS)(BSFwd){PBS}
- \optretplate[position=0.4](PBS)(BSFwd){$\nicefrac{\lambda}{2}$}
- \polarization(PBS)(BSFwd)\polarization(PBS2)(BSBwd)
- \lens[position=0.8](PBS)(BSFwd){L}
- \optretplate(PBS)(PBS2){$\nicefrac{\lambda}{2}$}
- \beamsplitter(PBS)(PBS2)(piezo){PBS}
- \optretplate[abspos=0.5](PBS2)(piezo){$\nicefrac{\lambda}{4}$}
- \mirror[mirrortype=piezo,labelangle=90](PBS2)(piezo)(PBS2){PZ}
- \lens[position=0.8,labelangle=180](PBS2)(BSBwd){L}
- \crystal[crystalwidth=1, crystalheight=0.5, voltage, lamp, fillstyle=solid, fillcolor=yellow!90!black, labeloffset=0.8, beam](BSFwd)(BSBwd){SBN:Ce}
- \beamsplitter(PBS)(BSFwd)(BSBwd){BS}
- \beamsplitter[labelangle=-90](PBS2)(BSBwd)(BSFwd){BS}
- \mirror(BSBwd)(M4f1)(M4f2){M}\mirror(M4f1)(M4f2)(M4f3){M}
- \lens[labelangle=180](M4f2)(M4f3){L}\mirror(M4f2)(M4f3)(BS4f){M}
- \beamsplitter(M4f3)(BS4f)(CCD){BS}\optbox[endbox,labeloffset=0, optboxwidth=1](BS4f)(CCD){CCD}
- \lens[abspos=0.7](BS4f)(BSFwd){L}\lens[abspos=0.7](BSBwd)(M4f1){L}
-\end{pspicture}
-\end{LTXexample}
-
-\psset{unit=0.8cm,labelstyle=\footnotesize}
-\begin{LTXexample}[pos=t]
-\begin{pspicture}(0.5,4)(13.2,10.5)
- \addtopsstyle{Fiber}{linecolor=red!90!black}\psset{usefiberstyle, optboxwidth=1}
- \pnode(2,10){LD}\pnode([Xnodesep=5.5]LD){CPLin1}
- \pnode([offset=-2]CPLin1){CPLin2}\pnode([Xnodesep=1.5]CPLin1){CPLout1}
- \pnode([Xnodesep=1.5]CPLin2){CPLout2}
- \optbox[endbox, labeloffset=0, fiber]([Xnodesep=0.1]LD)(LD){LD}
- \optmzm([Xnodesep=0.1]LD)([Xnodesep=1.5]LD){MZM}
- \optamp([Xnodesep=1.5]LD)([Xnodesep=2.5]LD){EDFA}
- \optfilter([Xnodesep=2.5]LD)([Xnodesep=3.5]LD){BPF}
- \optswitch([Xnodesep=3.5]LD)([Xnodesep=4.5]LD){SW}
- \polcontrol([Xnodesep=4.5]LD)(CPLin1){}
- \optcoupler[couplertype=none](CPLin1)(CPLin2)(CPLout1)(CPLout2){}
- \optamp(CPLout1)([Xnodesep=1.5]CPLout1){EDFA}
- \optfilter([Xnodesep=1.5]CPLout1)([Xnodesep=3]CPLout1){BPF}
- \optbox[endbox, labeloffset=0, conn=f-f]([Xnodesep=3]CPLout1)([Xnodesep=3.1]CPLout1){RX}
- \pnode([Xnodesep=2]CPLout2){LoopRU}\pnode([offset=-3.5]LoopRU){LoopRL}
- \pnode([Xnodesep=-5]CPLin2){LoopLU}\pnode([offset=-3.5]LoopLU){LoopLL}
- \optamp(CPLout2)(LoopRU){EDFA}
- \psline[linearc=1,style=Fiber](LoopRU)([Xnodesep=1]LoopRU)([Xnodesep=1,offset=-2]LoopRU)
- \psline[linearc=1,style=Fiber]([Xnodesep=1,offset=1.5]LoopRL)%
- ([Xnodesep=1]LoopRL)(LoopRL)
- \optfiber[labelalign=b, labeloffset=-1, position=0.8]([Xnodesep=-2]LoopRL)(LoopRL){\begin{tabular}{c}conventional\\fibre 89.8~km\end{tabular}}
- \optamp([Xnodesep=-2]LoopRL)([Xnodesep=-3]LoopRL){EDFA}
- \optfilter([Xnodesep=-3]LoopRL)([Xnodesep=-4.5]LoopRL){BPF}
- \optfiber[fiberloops=1, labeloffset=-1, labelalign=b]([Xnodesep=-7]LoopRL)([Xnodesep=-4.5]LoopRL){DCF 16.2~km}
- \optamp([Xnodesep=1.5]LoopLL)(LoopLL){EDFA}
- \psline[style=Fiber,linearc=1](LoopLL)([Xnodesep=-1]LoopLL)%
- ([Xnodesep=-1,offset=3.5]LoopLL)(LoopLU)
- \optfilter(LoopLU)([Xnodesep=1.5]LoopLU){BPF}
- \optswitch([Xnodesep=1.5]LoopLU)([Xnodesep=3.5]LoopLU){SW}
- \polcontrol([Xnodesep=3.5]LoopLU)(CPLin2){}
-\end{pspicture}
-\end{LTXexample}
-
-\section{Complete List of Parameters}
-\begin{longtable}{TTT}
-\toprule \multicolumn{1}{l}{parameter} & \multicolumn{1}{l}{allowed values} & \multicolumn{1}{l}{default}\\\midrule\endhead
-\bottomrule\endfoot
-abspos & <num> & \{\}\\
-addtoBeam & <psstyle> & \\
-addtoFiber* & <psstyle> & \\
-addtoOptComp & <psstyle> & \\
-align & top|bottom|center & center\\
-angle & <degree> & 0\\
-beam & \multicolumn{2}{l}{alias for \parameter{conn=o-i}}\\
-bssize & <num> & 0.8\\
-bsstyle & cube|plate & cube\\
-caxisinv & <boolean> & false\\
-caxislength & <num> & 0.6\\
-compname & <string> & \{\}\\
-compshift & <num> & 0\\
-conn & <conn definition> & -\\
-connjoin & <int> & 1\\
-couplersep & <num> & 0.1\\
-couplersize & <num> & 0.2\\
-couplertype & none|elliptic & elliptic\\
-crystalheight & <num> & 0.6\\
-crystalwidth & <num> & 1.4\\
-detsize & <num> & 0.8\\
-dettype & round|diode & round\\
-doveprismsize & <num> & 0.6\\
-endbox & <boolean> & false\\
-extnode & <ref string> & \{\}\\
-fdlsize & <num> & 0.6\\
-fiber & \multicolumn{2}{l}{alias for \parameter{conn=f-f}}\\
-fibercolsize & <num> & 0.3\\
-fiberloopradius & <num> & 0.4\\
-fiberloops & <integer> & 3\\
-fiberloopsep & <num> & 0.3\\
-fiberpolsize & <num> & 0.6\\
-filtersize & <num> & 0.8\\
-filtertype & bandpass|bandstop & bandpass\\
-innerheight & <num> & 0.1\\
-isolatorsize & <num> & 0.6\\
-label & <offset> <angle> <ref> <labelref> & \\
-labelalign & <ref string> & c\\
-labelangle & <num> & 0\\
-labeloffset & <num> & 0.8\\
-labelref & relative|relgrav|global & relgrav\\
-labelstyle & <macro> & \cs{small}\\
-lamp & <boolean> & false\\
-lampscale & <num> & 0.3\\
-lens & <num> [<num> [<num> [<num>]]] & \{\}\\
-lensheight & <num> & 1\\
-lensradius & <num> [<num>] & \{\}\\
-lensradiusleft & <num> & 1\\
-lensradiusright & <num> & 1\\
-lenswidth & <num> & 0.2\\
-mirrordepth & <num> & 0.1\\
-mirrorlinewidth & <num> & 2\cs{pslinewidth}\\
-mirrorradius & <num> & 0\\
-mirrortype & normal|piezo|extended & normal\\
-mirrorwidth & <num> & 1\\
-newBeam & <psstyle> & \\
-newFiber* & <psstyle> & \\
-newOptComp & <psstyle> & \\
-optampsize & <num> & 0.8\\
-optboxheight & <num> & 0.8\\
-optboxwidth & <num> & 1.4\\
-optdiodesize & <num> & 0.8\\
-optgridcount & <integer> & 10\\
-optgriddepth & <num> & 0.05\\
-optgridheight & <num> & 0.1\\
-optgridlinewidth & <num> & 0.7\cs{pslinewidth}\\
-optgridtype & blazed|binary & blazed\\
-optgridwidth & <num> & 1\\
-optional & <boolean> & false\\
-optmzmsize & <num> & 0.8\\
-outerheight & <num> & 1\\
-pentaprismsize & <num> & 0.7\\
-phlinewidth & <num> & 2\cs{pslinewidth}\\
-plateheight & <num> & 1\\
-platelinewidth & <num> & 2\cs{pslinewidth}\\
-platewidth & <num> & 0.1\\
-polcontrolsize & <num> & 0.15\\
-pollinewidth & <num> & 0.7\cs{pslinewidth}\\
-polsize & <num> & 0.6\\
-poltype & parallel|perp|misc|lcirc|rcirc & parallel\\
-position & <num> & \{\}\\
-prismangle & <num> & 60\\
-prismsize & <num> & 1\\
-raprismsize & <num> & 1.5\\
-refractiveindex & <num> & \{\}\\
-reverse & <boolean> & false\\
-rotateref & <ref string> & c\\
-showoptdots & <boolean> & false\\
-switchsize & <num> & 0.8\\
-switchstyle & opened|closed & opened\\
-thicklens & <boolean> & false\\
-usefiberstyle & <boolean> & false\\
-variable & <num> & false\\
-voltage & <boolean> & false\\
-\end{longtable}
-
-\section{Complete List of Styles}
-
-\begin{table}[H]
-\addtolength{\extrarowheight}{1.5mm}
-\begin{tabularx}{\linewidth}{BX}
-\toprule
-\multicolumn{1}{l}{style} & \multicolumn{1}{l}{description}\\
-\midrule
-Beam & All automatic free-ray connections are drawn using this style\\
-ExtendedMirror & Affects the additional part for \parameter{mirrortype=extended}\\
-Fiber & Parent style for all fiber connections. For a detailed discussion see Sec.~\ref{sec:fiberstyles}\\
-FiberIn & Left fiber style if only one connection to be drawn (inherits from \styleshape{Fiber})\\
-FiberIn1 & Upper left connection (used for couplers only, inherits from \styleshape{FiberIn})\\
-FiberIn2 & Lower left connection (used for couplers only, inherits from \styleshape{FiberIn})\\
-FiberOut & Right fiber style if only one connection to be drawn (inherits from \styleshape{Fiber})\\
-FiberOut1 & Upper right connection (used for couplers only, inherits from \styleshape{FiberOut})\\
-FiberOut2 & Lower right connection (used for couplers only, inherits from \styleshape{FiberOut})\\
-OptComp & Affects only the appearance of optical components without changing connections that may be drawn inside the component \\
-OptionalStyle & Used for objects with parameter \parameter{optional} set to \paramvalue{true}\\
-PiezoMirror & Affects the additional part for \parameter{mirrortype=piezo}\\
-\bottomrule
-\end{tabularx}
-\end{table}
-
-\section{Requirements}
-
-\nxLPack{pst-optexp} version 2.1 requires at least version 2.87 of
-\nxLPack{pstricks-add} and \LaTeX. It does not work with plain \TeX.
-
-\section{Todo}
-
-\begin{itemize}
-\item Automatic sizing of optboxes (like a \cs{psframebox}
-\item Even more soffisticated beam drawing (draw beam before object contours)
-\item Drawing of extended beams with focusing and so on could be integrated to
-some extent in future versions. But as the topic is rather difficult if
-you want to do it properly (components should be placed above the beam,
-but the new nodes are available only when the component is drawn) it
-could take very long until this feature will be implemented.
-\end{itemize}
-\section{Acknowledgements}
-
-I thank all the people of the PSTricks mailinglist for the continuous help, especially Herbert Voß.
-
-\end{document}
diff --git a/Master/texmf-dist/doc/latex/pst-optexp/Changes b/Master/texmf-dist/doc/latex/pst-optexp/Changes
new file mode 100644
index 00000000000..f2258cdc26d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pst-optexp/Changes
@@ -0,0 +1,119 @@
+3.0 2012-07-09
+ * Modified beam connections with \drawbeam to support raytracing
+ * Added wide beams with \drawwidebeam
+ * Added \drawfiber for fiber connections
+ * Added optexp environment for layering of components and
+ connections
+ * Added german documentation
+ * Modified naming of component nodes
+ * Modified extnode to work with more components
+ * Modified angle and rotateref to affect all components
+ * Modified endbox to affect all components
+ * Extended position by values start and end
+ * Extended abspos by values start and end
+ * Removed deprecated lens code which used lenswidth and lensheight
+ for construction
+ * Added option platesize
+ * Added option phwidth
+ * Modified option caxislength
+ * Deprecated option lampscale
+ * Added style CrystalCaxis
+ * Added style CrystalLamp
+ * Added option optboxsize
+ * Extended option detsize
+ * Added style DetectorStyle
+ * Removed deprecated \detector, use \optdetector
+ * Extended option doveprismsize
+ * Added style Polarization
+ * Deprecated option pollinewidth
+ * Removed option polwidth
+ * Removed option pol
+ * Added style VariableStyle
+ * Added mirror type semitrans
+ * Renamed \optgrid to \optgrating
+ * Renamed optgridwidth to gratingwidth
+ * Renamed optgridheight to gratingheight
+ * Renamed optgriddepth to gratingdepth
+ * Renamed optgridcount to gratingcount
+ * Renamed optgridtype to gratingtype
+ * Renamed optgridlinewidth to gratinglinewidth
+ * Added option prismalign
+ * Modified faulty alignment of \rightangleprism
+ * Extended option optampsize
+ * Extended option optmzmsize
+ * Added option polcontroltype
+ * Extended option isolatorsize
+ * Added style IsolatorArrow
+ * Extended option fdlsize
+ * Added style FdlArrow
+ * Extended option fiberpolsize
+ * Added component \optcirculator
+ * Extended option couplersize
+ * Extended option couplertype
+ * Renamed option align to coupleralign
+ * Added style VariableCoupler
+ * Added style FilterStyle
+ * Extended option fibercolsize
+ * Removed deprecated option labelrelative
+ * Removed deprecated option iwidth
+ * Removed deprecated option owidth
+ * Removed deprecated option bswidth
+ * Deprecated \newOptexpDipoleNolabel, use \newOptexpDipole
+ * Deprecated option refractiveindex
+ * Deprecated option conn
+ * Extended option fiber
+
+2.1 2009-11-05
+ * Added component \optfiberpolarizer
+ * Added option compshift
+ * Added option label
+ * Added option connjoin
+ * Added options addtoBeam and newBeam
+ * Added style OptComp and related options addtoOptComp and
+ newOptComp
+ * Added option bsstyle
+ * Extended \fibercollimator to use up to four reference nodes
+ * Improved thicklens to work also with plain lenses
+ * Use pst-doc class for the documentation
+
+2.0 2008-07-27
+ * Added fiber-optical components
+ * Added component \optdiode
+ * Added component \pentaprism
+ * Added component \rightangleprism
+ * Added component \doveprism
+ * Added component \optprism
+ * Added \drawbeam
+ * Added component connections (options fiber, conn and beam)
+ * Added option compname
+ * Added option extnode
+ * Renamed \detector to \optdetector
+
+1.2 2008-06-17
+ * Modified lens design to use interface curvatures
+ * Added options lensradiusleft and lensradiusright
+ * Added option thicklens
+ * Added option lenstype
+ * Added option mirrorradius (curved mirrors)
+ * Added option optgridtype (binary gratings)
+ * Added \newOptexpDipole
+ * Added \newOptexpDipoleNolabel
+ * Added \newOptexpTripole
+ * Added \newOptexpFiberDipole
+ * General improvements of \TeX{} and Postscript code
+
+1.1 2007-09-06
+ * Improved labeling features
+ * Added parameter labelref
+ * Replaced labelrelative by labelref=relative
+ * Renamed \polarisation to \polarization
+ * Renamed polwidth to polsize
+ * Renamed pol to poltype
+ * Renamed bswidth to bssize
+ * Renamed iwidth to innerheight
+ * Renamed owidth to outerheight
+ * Added support for fillstyle for all components
+
+1.0 2007-07-18
+ * First CTAN version
+
diff --git a/Master/texmf-dist/doc/latex/pst-optexp/README b/Master/texmf-dist/doc/latex/pst-optexp/README
new file mode 100644
index 00000000000..a86c6a5c420
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pst-optexp/README
@@ -0,0 +1,28 @@
+------------------------------------------------------------------------
+The pst-optexp package --- Sketching optical experimental setups
+Maintained by Christoph Bersch
+E-mail: usenet@bersch.net
+Released under the LaTeX Project Public License v1.3c or later
+See http://www.latex-project.org/lppl.txt
+------------------------------------------------------------------------
+
+The package pst-optexp is a collection of optical components that
+facilitate easy sketching of optical experimental setups. A lot of
+different free-ray and fiber components are provided, which alignment,
+positioning and labelling can be achieved in very simple and flexible
+ways. The components can be connected with fibers or beams, realistic
+raytraced beam paths are also possible.
+
+Installation
+------------
+
+The package is supplied in dtx format and as a pre-extracted zip file,
+pst-optexp.tds.zip. The later is most convenient for most users: simply
+unzip this in your local texmf directory and run texhash to update the
+database of file locations. The pst-optexp package is also contained in
+MiKTeX and TeX Live distributions. If you want to unpack the dtx
+yourself you must run "tex pst-optexp.ins", to typeset the documentation
+run "latex pst-optexp.dtx".
+
+The package requires recent version of pst-node, multido, pstricks-add,
+pst-eucl, and environ.
diff --git a/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp-DE.pdf b/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp-DE.pdf
new file mode 100644
index 00000000000..1bdfdde3dab
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp-DE.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp-quickref.pdf b/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp-quickref.pdf
new file mode 100644
index 00000000000..813d8abbcbc
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp-quickref.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp.pdf b/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp.pdf
new file mode 100644
index 00000000000..1f717e802d6
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp.pdf
Binary files differ