diff options
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-optexp/Changes | 95 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-optexp/README | 32 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-optexp/parque-nacional.eps | 286 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-optexp/pst-optexp-doc.pdf | bin | 370537 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-optexp/pst-optexp-doc.tex | 2057 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/pst-optexp/Changes | 119 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/pst-optexp/README | 28 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/pst-optexp/pst-optexp-DE.pdf | bin | 0 -> 1163028 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/pst-optexp/pst-optexp-quickref.pdf | bin | 0 -> 44681 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/pst-optexp/pst-optexp.pdf | bin | 0 -> 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 Binary files differdeleted file mode 100644 index 5455f6d9b38..00000000000 --- a/Master/texmf-dist/doc/generic/pst-optexp/pst-optexp-doc.pdf +++ /dev/null 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 Binary files differnew file mode 100644 index 00000000000..1bdfdde3dab --- /dev/null +++ b/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp-DE.pdf 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 Binary files differnew file mode 100644 index 00000000000..813d8abbcbc --- /dev/null +++ b/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp-quickref.pdf diff --git a/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp.pdf b/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp.pdf Binary files differnew file mode 100644 index 00000000000..1f717e802d6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp.pdf |