diff options
author | Karl Berry <karl@freefriends.org> | 2013-07-22 22:05:35 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-07-22 22:05:35 +0000 |
commit | 7dbc8db79cf2073291ae3cd4c1e9ca21a75576c9 (patch) | |
tree | a9d0d9c9d3893a9db6cb503b4b88f7e68806f3ca | |
parent | d596187ceaaa238c02ae2006ee9be30e61772253 (diff) |
pst-optexp (22jul13)
git-svn-id: svn://tug.org/texlive/trunk@31266 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/latex/pst-optexp/Changes | 5 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/pst-optexp/pst-optexp-DE.pdf | bin | 2396475 -> 2842306 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/pst-optexp/pst-optexp-quickref.pdf | bin | 48922 -> 49579 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/pst-optexp/pst-optexp.pdf | bin | 2353939 -> 2795360 bytes | |||
-rw-r--r-- | Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro | 57 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/pst-optexp/pst-optexp.dtx | 518 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/pst-optexp/pst-optexp.ins | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/pst-optexp/pst-optexp.sty | 97 |
8 files changed, 602 insertions, 77 deletions
diff --git a/Master/texmf-dist/doc/latex/pst-optexp/Changes b/Master/texmf-dist/doc/latex/pst-optexp/Changes index ea7c5a01749..237131b6d9a 100644 --- a/Master/texmf-dist/doc/latex/pst-optexp/Changes +++ b/Master/texmf-dist/doc/latex/pst-optexp/Changes @@ -1,3 +1,8 @@ +4.5 2013-07-21 + * Added option usewirestyle. + * Added line style fade, with options fadeto, fadepoints, + fadefunc, and fadefuncname. + 4.4 2013-07-14 * Added component \transmissiongrating. * Modified innerlabel to explicitly set labelalign=c 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 differindex 43008a5a91f..5058dae422c 100644 --- a/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp-DE.pdf +++ 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 differindex 929c9427137..8e9286618f2 100644 --- a/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp-quickref.pdf +++ 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 differindex 4bb5d06e03d..3d6cc665661 100644 --- a/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp.pdf +++ b/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp.pdf diff --git a/Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro b/Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro index 99a06e55cfc..3fd41c12bee 100644 --- a/Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro +++ b/Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro @@ -9,7 +9,7 @@ %% This is a generated file. %% %% Project: pst-optexp -%% Version: 4.4 (2013/07/14) +%% Version: 4.5 (2013/07/21) %% %% Copyright (C) 2007-2013 by Christoph Bersch <usenet@bersch.net> %% @@ -1571,6 +1571,61 @@ tx@OptexpDict begin } ifelse DebugEnd } bind def +/ClipFadeValue { + dup 0 lt { pop 0 }{ dup 1 gt { pop 1 } if } ifelse +} bind def +/fadeto@white { + FadeFunc ClipFadeValue @S mul @H exch @B sethsbcolor +} bind def +/fadeto@black { + FadeFunc ClipFadeValue @B mul @H exch @S exch sethsbcolor +} bind def +/fadeto@transparency { + FadeFunc ClipFadeValue @T mul .setopacityalpha +} bind def +/fadefunc@linear { + neg 1 add +} bind def +/fadefunc@squared { + dup mul neg 1 add +} bind def +/fadefunc@gauss { + 0.4 div dup mul neg Euler exch exp +} bind def +/fadefunc@exp { + -6 mul Euler exch exp +} bind def +/FadeStroke { + /FadeFunc ED /FadeToColor ED /@T ED + PathLength dup /@L ED exch div /@dl ED + mark + { false counttomark 3 roll } + { true counttomark 3 roll } + {} {} pathforall + currenthsbcolor /@B ED /@S ED /@H ED + newpath /currL 0 def + counttomark 3 idiv 1 1 3 -1 roll { + pop + { % lineto + /y2 ED /x2 ED x2 x1 sub y2 y1 sub 2 copy + dup mul exch dup mul add sqrt dup @L div exch + @dl div 1 add floor dup dup + 4 2 roll div 5 1 roll + 1 1 3 -1 roll { + 5 copy 4 copy 2 copy eq not { fadecorrect add } if exch div VecScale + 6 2 roll 1 sub dup 0 eq not { fadecorrect sub } if exch div VecScale + x1 y1 VecAdd moveto x1 y1 VecAdd lineto + mul currL add FadeToColor + stroke + } for + 4 1 roll pop pop mul currL add /currL ED + /y1 y2 def /x1 x2 def + } { % moveto + /y1 ED /x1 ED + } ifelse + } for + pop +} def /mymax { 2 copy lt { exch } if pop } bind def diff --git a/Master/texmf-dist/source/latex/pst-optexp/pst-optexp.dtx b/Master/texmf-dist/source/latex/pst-optexp/pst-optexp.dtx index af79274db71..1b0ee21c1cc 100644 --- a/Master/texmf-dist/source/latex/pst-optexp/pst-optexp.dtx +++ b/Master/texmf-dist/source/latex/pst-optexp/pst-optexp.dtx @@ -18,7 +18,7 @@ %<stylefile>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<stylefile>\ProvidesPackage{pst-optexp} %<*stylefile> - [2013/07/14 v4.4 Optical experimental setups with PSTricks] + [2013/07/21 v4.5 Optical experimental setups with PSTricks] %</stylefile> % %<*driver> @@ -231,7 +231,8 @@ \setlength{\labelsep}{0.5\marglistsep}% \setlength{\leftmargin}{0pt}% \renewcommand*{\makelabel}[1]{\hss\optionlistfont##1}}% - \let\styleitem\POE@styleitem}% + \let\styleitem\POE@styleitem + \let\typeitem\POE@typeitem}% {\endlist} \def\ltd@optionlist{% @@ -243,7 +244,8 @@ \let\numitem\POE@numitem \let\psnumitem\POE@psnumitem \let\poeitem\ltd@item - \let\styleitem\POE@styleitem} + \let\styleitem\POE@styleitem + \let\typeitem\POE@typeitem} \def\POE@styleitem{% \@ifnextchar[%] @@ -265,6 +267,21 @@ \ifblank{#1}{}{\hfill\parbox[t]{\@tempdima}{\raggedleft default:~\ltd@textverb{#1}}}% \par\endgroup} +\def\POE@typeitem#1#2{% + \item[{#1}]% + \label{prm:#1}\docindexdef{#1=\nxLkeyword{#1}}% + \begingroup\raggedright + #2% + \settowidth\@tempdimb{\prm{psstyle}}% + \settowidth\@tempdimc{#1}% + \@tempdimc=\dimexpr\@tempdimc+\labelsep-\labelwidth\relax + \ifdim\@tempdimc>0pt% + \@tempdima=\dimexpr\linewidth-\@tempdimb-\@tempdimc-1em\relax + \else + \@tempdima=\dimexpr\linewidth-\@tempdimb-1em\relax + \fi + \par\endgroup} + \def\POE@option#1#2#3{% \item[#1]% \begingroup\raggedright @@ -4353,19 +4370,44 @@ % \begin{optionlist} % \boolitem{usefiberstyle} % \ifGERMAN -% Bei manchen Komponenten (z.B. \Lcomp{optfilter} oder \Lcomp{optmzm}) kann es -% vorteilhaft sein interne Faserteile hervorzuheben. Mit diesem Parameter -% werden z.B. die durchlässigen Teile eines Filter angezeigt und mit dem -% \Lstyle{Fiber}-Stil gezeichnet. In der Dokumentation ist dieses Verhalten -% angeschaltet um die betroffenen Bereiche hervorzuheben. +% Bei manchen Komponenten (z.B. \Lcomp{optfilter} oder \Lcomp{optmzm}) +% kann es vorteilhaft sein interne Faserteile hervorzuheben. Mit +% diesem Parameter werden z.B. die durchlässigen Teile eines Filter +% angezeigt und mit dem \Lstyle{Fiber}-Stil gezeichnet. In der +% Dokumentation ist dieses Verhalten angeschaltet um die betroffenen +% Bereiche hervorzuheben. Hat Vorrang vor der Option +% \Lkeyword{usewirestyle}, sind beide Optionen gesetzt, dann wird eine +% Faser gezeichnet. % \fi % \ifENGLISH -% For some components (e.g. \Lcomp{optfilter} or \Lcomp{optmzm}) it can be nice -% to highlight some internals. For example, if this option is enabled the -% passing parts of the optical filter are drawn with the \Lstyle{Fiber} -% style. In the documentation this parameter is enabled to show the parts -% which are affected. +% For some components (e.g. \Lcomp{optfilter} or \Lcomp{optmzm}) it +% can be nice to highlight some internals. For example, if this option +% is enabled the passing parts of the optical filter are drawn with +% the \Lstyle{Fiber} style. In the documentation this parameter is +% enabled to show the parts which are affected. Takes precedence over +% \Lkeyword{usewirestyle}. % \fi +% \boolitem{usewirestyle} +% \ifGERMAN +% Kann verwendet werden, um interne Verbindungen als \Lstyle{Wire} +% darzustellen. Setzt \Lkeyword{usefiberstyle} auf \opt{false}, daher +% kann es sinnvoll sein, z.B. einen elektrischen Filter zu definieren: +% \fi +% \ifENGLISH +% Can be used to draw internal connections als \Lstyle{Wire}. Sets +% \Lkeyword{usefiberstyle} to \opt{false}, therefore it can be useful +% to define e.g. an electrical filter: +% \fi +% +% \iffalse +%<*ignore> +% \fi +\begin{lstlisting} +\newpsobject{elecfilter}{optfilter}{usewirestyle} +\end{lstlisting} +% \iffalse +%</ignore> +% \fi % \end{optionlist} % % \ifGERMAN\section{Optische Faser}\fi @@ -8177,6 +8219,114 @@ %</ignore> % \fi % +% \begin{stylelist} +% \typeitem{fade}{\prm{linestyle}} +% \ifENGLISH +% Fade from the current \opt{linecolor} to another color, defined by +% \Lkeyword{fadeto}. The line style currently works only for line, not +% for curves. The complete path is divided in \Lkeyword{fadepoints}$ - +% 1$ segments. +% \fi +% \ifGERMAN +% Erzeugt einen Farbverlauf von der aktuellen \opt{linecolor} zu einer +% anderen Farbe, definiert durch \Lkeyword{fadeto}. Der Linienstil +% funktioniert momentan nur vernünftig mit Linien, nicht jedoch mit +% Kurven. Der gesamte Pfad wird in \Lkeyword{fadepoints}$- 1$ Segmente +% unterteilt. +% \fi +% \iffalse +%<*ignore> +% \fi +\begin{LTXexample} +\begin{pspicture}(3,1) + \psline[linewidth=0.2, linecolor=red, linestyle=fade, fadepoints=50](0,0.5)(3,0.5) +\end{pspicture} +\end{LTXexample} +% \iffalse +%</ignore> +% \fi +% \end{stylelist} +% \begin{optionlist} +% \choitem[white]{fadeto}{white, black, transparency} +% \ifENGLISH +% The color at the fade end, depends on \Lkeyword{fadefuncname} and +% \Lkeyword{fadefunc}. +% \fi +% \ifGERMAN +% Die Endfarbe des Farbverlaufs, hängt auch von \Lkeyword{fadefuncname} +% und \Lkeyword{fadefunc} ab. +% \fi +% \iffalse +%<*ignore> +% \fi +\begin{LTXexample} +\begin{pspicture}(3,1) + \psset{linewidth=0.2, linecolor=red, linestyle=fade, fadepoints=50} + \psline[fadeto=white](0,0.9)(3,0.9) + \psline[fadeto=black](0,0.5)(3,0.5) + \psline[fadeto=transparency](0,0.1)(3,0.1) +\end{pspicture} +\end{LTXexample} +% \iffalse +%</ignore> +% \fi +% +% \numitem[200]{fadepoints} +% \ifENGLISH +% Number of points used for lines with style \opt{fade}. +% \fi +% \ifGERMAN +% Anzahl der Punkte, die für den Linienstil \opt{fade} verwendet werden. +% \fi +% +% \choitem[linear]{fadefuncname}{gauss, linear, squared, exp, custom} +% \ifENGLISH +% Some predefined fade functions, which determine the color gradient. If +% set to \opt{custom}, the Postscript code in \Lkeyword{fadefunc} is +% used. +% \fi +% \ifGERMAN +% Ein paar vordefinierte Funktionen, die den Farbverlauf bestimmen. Wird +% \opt{custom} angegeben, dann wird der Postscript-Code aus +% \Lkeyword{fadefunc} verwendet. +% \fi +% +% \valitem{fadefunc}{PS code} +% \ifENGLISH +% Define a custom gradient for line style \Lkeyword{fade}. The \prm{PS +% code} must evaluate a number on the stack in the range $[0,1]$ (0: +% path start, 1: path end) to $[0,1]$ (0: \Lkeyword{fadeto} color, 1: +% current line color). The function values are clipped to $[0,1]$. +% \fi +% \ifGERMAN +% Eine benutzerdefinierte Funktion für den Farbverlauf des Linienstils +% \Lkeyword{fade}. Der \prm{PS code} muss eine Zahl auf dem Stack im +% Intervall $[0,1]$ (0: Pfadanfang, 1: Pfadende) auf das Intervall $[0, +% 1]$ abbilden (0: \Lkeyword{fadeto}-Farbe, 1: aktuelle +% Linienfarbe). Die Funktionswerte werden auf das Intervall $[0, 1]$ +% abgeschnitten. +% \fi +% +% \iffalse +%<*ignore> +% \fi +\begin{LTXexample} +\begin{pspicture}(3,1) + \psset{linewidth=0.2, linecolor=red, linestyle=fade, fadepoints=50} + \psline[fadefuncname=gauss](0,1)(3,1) + \psline[fadefuncname=exp](0,0.7)(3,0.7) + \psline[fadefuncname=custom, fadefunc={360 mul cos 1 add 0.5 mul}](0,0.4)(3,0.4) + \psline[fadefuncname=custom, fadefunc={neg 1 add 2 mul}](0,0.1)(3,0.1) +\end{pspicture} +\end{LTXexample} +% \iffalse +%</ignore> +% \fi +% +% \ifENGLISH For a nice example see \prettyref{ex:dsotm}.\fi +% \ifGERMAN Ein schönes Beispiel ist \prettyref{ex:dsotm}.\fi +% \end{optionlist} +% % \ifGERMAN\section{Aufgeweitete Strahlen}\fi % \ifENGLISH\section{Drawing wide beams}\fi % \label{sec:drawwidebeam} @@ -11330,6 +11480,29 @@ \end{pspicture} \end{LTXexample} +\begin{LTXexample}[pos=t, caption={caption}, label=ex:dsotm] +\begin{pspicture}(3,1.7) +\pnode(-1,0){A}\pnode(1,1){B}\pnode(3,0){C} +\psframe*(0,0)(3,1.7) +\begin{optexp} + \optplane(0,0.7) + \optprism[prismalign=center, linecolor=white](A)(B)(C) + \optplane(C) + \addtopsstyle{Beam}{linecolor=white} + \drawbeam[ArrowInside=->]{1-2} + \definecolor[ps]{bl}{rgb}{% + tx@addDict begin Red Green Blue end}% + \addtopsstyle{Beam}{linestyle=fade, beaminsidelast, fadeto=black} + \multido{\i=0+1}{60}{% + \drawbeam[n=1.5 \i\space 0.003 mul add, linecolor=white, beampathskip=1, fadefuncname=gauss]{1-2} + \pstVerb{\i\space 650 400 sub 59 div mul 400 add + tx@addDict begin wavelengthToRGB end }% + \drawbeam[n=1.5 \i\space 0.003 mul add, linecolor=bl, beampathskip=2, linewidth=0.3\pslinewidth]{-}% + }% +\end{optexp} +\end{pspicture} +\end{LTXexample} + \begin{LTXexample}[pos=t, linerange={1-1}, caption={caption}] \psset{unit=1.1, usefiberstyle=false} @@ -11509,10 +11682,137 @@ \end{pspicture} \end{LTXexample} \endgroup + +\begin{LTXexample}[pos=t, linerange={1-1}, caption={caption}] + +\begin{pspicture}(-0.5,-0.4)(13,11) +\psset{% + optboxsize=0.8 0.6, + arrowcompsize=0.8 0.5, + optmzmsize=0.8 0.6, + isolatorsize=0.8 0.5, + filtersize=0.6, + detsize=0.5 0.6, + fiber=none, wire=none, + usefiberstyle=false, + labeloffset=0.5, labelstyle=\footnotesize +} +\footnotesize +\newpsobject{elecfilter}{optfilter}{usewirestyle} +\addtopsstyle{Wire}{arrowscale=1.2, arrows=->, linewidth=1.5\pslinewidth} +\newpsstyle{FiberComp}{linecolor=red!80!black} +\newpsstyle{Fiber}{style=FiberComp, arrows=->, linewidth=1.5\pslinewidth} + \pnode(1,10){Syn}\pnode([Xnodesep=8]Syn){Pm} + \elecsynthesizer[compname=Syn, labelalign=t](Syn)(Pm){10\,GHz} + \fiberdelayline[compname=Voa1, abspos=2.5, label= 0.6 . t](Syn)(Pm){VOA} + \optbox[compname=Am, abspos=4, innerlabel, extnode=b](Syn)(Pm){AM} + \fiberdelayline[compname=DelayPm, abspos=5.5, label=0.6 . t](Syn)(Pm){DLY} + \optbox[fiber, addtoFiber={arrows=->}, style=FiberComp, label=0, compname=Pm, extnode=t, optboxheight=0.7]([offset=-1]Pm)([offset=1]Pm){PM} + \elecsynthesizer[synthtype=rectangle, synthrectwidth=0.3, wire, addtoWire={arrows=->}, label=. -45 l]([offset=-0.5]\oenodeExt{Am})(\oenodeExt{Am}){AWG} + \pnode([offset=-0.5, Xnodesep=-1]\oenodeIn{Voa1}){A} + \pnode([offset=-1.5]A){B} + \eleccoupler[eleccouplertype=directional, eleccouplerinput=right, compname=Cpl](B)(A) + \pnode([Xnodesep=-1.2]\oenodeIn{}){EamIn} + \pnode([Xnodesep=0.5,offset=-0.3]\oenodeIfc{2}{}){N1} + \pnode([offset=-1.3]N1){N2} + \optisolator[label=0.4 . r, compname=Iso1](N1)(N2){Isolator} + \optarrowcomp[compname=DelayPpg, labelalign=l]([offset=-1.4]N2)(N2){DLY} + \fiberbox[position=start, + label=0, + fiberboxsize=0.7 1, + fiberboxcount=2x1, + fiberboxsepin=0.2, + compname=Ppg]([offset=-0.4]\oenodeIn{DelayPpg})(\oenodeIn{DelayPpg}){PPG} + \pnode([offset=-0.5,Xnodesep=-0.5]\oenodeIn{Ppg}){MzmAmp1} + \pnode([offset=-0.5,Xnodesep=0.5]\oenodeIfc{2}{Ppg}){MzmAmp2} + \pnode([offset=-1.5,Xnodesep=-0.9]MzmAmp1){MzmIn} + \pnode([offset=-1.5,Xnodesep=0.9]MzmAmp2){MzmOut} + \optamp[abspos=0.5, compname=MzmAmp1](MzmAmp1)(MzmAmp1|MzmIn) + \optamp[abspos=0.5, compname=MzmAmp2](MzmAmp2)(MzmAmp2|MzmIn) + \optmzm[abspos=0.9, usefiberstyle, style=FiberComp, compname=Mzm1, extnode=t, labelalign=t](MzmIn)(MzmOut){MZM} + \optmzm[abspos=2.3, usefiberstyle, style=FiberComp, compname=Mzm2, extnode=t, labelalign=t](MzmIn)(MzmOut){MZM} + \rput(\oenodeCenter{Ppg}|[offset=-0.2]\oenodeCenter{MzmAmp1}){AMP} + \pnode([Xnodesep=-1]\oenodeIn{Mzm1}){Eam} + \optbox[style=FiberComp, + label=0, + optboxsize=1 0.6, + compname=Eam, + extnode=t]([Xnodesep=-1]Eam)([Xnodesep=0.8]Eam){EAM} + \drawfiber[style=FiberComp, arrows=->]([Xnodesep=-1.2]Eam){Eam}{Mzm1}{Mzm2}(MzmOut) + \pnode([Xnodesep=8]N2){N3} + \optfilter[abspos=2, label=. 180 b, compname=Bpf1](N2)(N3){\parbox{\widthof{10\,GHz}}{\centering BPF\\[-1pt] 10\,GHz}} + \makeatletter\edef\mystart{\the\POE@cnt}\makeatother + \optbox[label=0, + abspos=3.2, + optboxsize=0.6 0.6](N2)(N3){$\div 8$} + \makeatletter\edef\mystartb{\the\POE@cnt}\makeatother + \optamp[abspos=4.7, label=. 180 b](N2)(N3){AMP} + \optbox[label=0, + abspos=6, + optboxsize=0.6 0.6, + compname=Div5](N2)(N3){$\div 5$} + \optfilter[abspos=7.3, label=. 180 b](N2)(N3){\parbox{\widthof{250\,MHz}}{\centering BPF\\[-1pt] 250\,MHz}} + \pnode([offset=-1]N3){N4} + \pnode([offset=-2.4]N4){Mixer} + \optamp[abspos=0.4, label=. 0 l global](N4)(Mixer){AMP} + \optfilter[innercompalign=abs, + filtertype=lowpass, + abspos=1.4, + compname=Bpf, + extnode=t, + label=. 0 l global](N4)(Mixer){% + \parbox{\widthof{300\,MHz}}{LPF\\[-1pt]300\,MHz}% + } + \pnode([Xnodesep=-4]Mixer){MixerI} + \pnode([offset=-2.5]Mixer){MixerR} + \elecmixer[compname=Mixer, elecmixersize=0.7, labelalign=l](Mixer)(MixerR)(MixerI){Mixer} + \pnode([Xnodesep=-9.8]MixerR){Menlo} + \optbox[position=start, + compname=Lo, + innerlabel, + style=FiberComp](Menlo)(MixerR){LO} + \optdetector[extnode=r, + labelalign=t, + compname=Pd](Menlo)([Xnodesep=0.5]Menlo){\parbox{\widthof{2\,GHz}}{\centering PD\\[-1pt]2\,GHz}} + \optfilter[abspos=1.5, labelalign=t, + compname=LoBpf](\oenodeExt{Pd})(MixerR){\parbox{\widthof{250\,MHz}}{\centering BPF\\[-1pt]250\,MHz}} + \optamp[abspos=3, labelalign=t, + compname=LoAmp](\oenodeExt{Pd})(MixerR){AMP} + \drawfiber[arrows=->]{Lo}{Pd} + \drawwire(\oenodeExt{Pd}){LoBpf}{LoAmp} + \drawwire[stopnode=N]{LoAmp}{Mixer} + \optfilter[filtertype=lowpass, + abspos=1, + label=1.1 180 t, + compname=LpfP2](MixerI)(\oenodeIfc{2}{Mixer}){% + \parbox{\widthof{500\,kHz}}{\centering LPF\\[-1pt]500\,kHz}% + } + \optfilter[filtertype=lowpass, + abspos=2.7, + label=1.1 180 t, + compname=LpfP1](MixerI)(\oenodeIfc{2}{Mixer}){% + \parbox{\widthof{10.7\,MHz}}{\centering LPF\\[-1pt]10.7\,MHz}% + } + \optbox[compname=T0, + extnode=b, + position=start, + optboxsize=2.2 0.8, + innerlabel](MixerI)(\oenodeIfc{2}{Mixer}){$T_0$-Messung} + \drawwire[wirealign=center]{Mixer}{LpfP1}{LpfP2}{} + \psline[style=Wire](\oenodeExt{T0}|Menlo)(\oenodeExt{T0}) + \uput{0.4}[-60](\oenodeExt{T0}){\rput[l](0,0){Takt}} + \drawwire[arrows=<-](\oenodeExt{Eam}){Cpl} + \drawwire{Syn}{Voa1}{Am}{DelayPm}(\oenodeExt{Pm}) + \drawwire{Syn}{Cpl}{Iso1}{DelayPpg}{Ppg}{MzmAmp1}(\oenodeExt{Mzm1}) + \drawwire{Ppg}{MzmAmp2}(\oenodeExt{Mzm2}) + \drawwire{Iso1}{Bpf1} + \multido{\i=\mystart+1,\ii=\mystartb+1}{7}{% + \drawwire{\i}{\ii}} +\end{pspicture} +\end{LTXexample} % \iffalse %</ignore> % \fi -% % % \ifGERMAN\chapter{Zusatzinformationen}\fi % \ifENGLISH\chapter{Additional information}\fi @@ -12521,6 +12821,12 @@ % % \begin{changelog} %\patchcmd{\release}{\setlength{\itemsep}{0pt}}{\setlength{\itemsep}{0pt}\setlength{\parsep}{0pt}}{}{} +% \begin{release}{4.5}{2013-07-21} +% \item Added option \opt{usewirestyle}\see{prm:usewirestyle} +% \item Added line style \opt{fade}, with options \opt{fadeto}, +% \opt{fadepoints}, \opt{fadefunc}, and +% \opt{fadefuncname}\see{prm:fade} +% \end{release} % \begin{release}{4.4}{2013-07-14} % \item Added component \cs{transmissiongrating}\see{comp:transmissiongrating} % \item Modified \opt{innerlabel} to explicitly set \opt{labelalign=c} @@ -12858,6 +13164,10 @@ \def\pst@optexpdict{tx@OptexpDict begin } \def\POE@dict#1{\pst@optexpdict #1 end} \def\POE@Verb#1{\pst@Verb{\pst@optexpdict #1 end }}% +% \end{macrocode} +% Save the pstricks-add line definition for use with the beams +% \begin{macrocode} +\let\POE@tx@Line\tx@Line \SpecialCoor % \end{macrocode} % @@ -12880,6 +13190,7 @@ \newif\ifPOE@startbox \newif\ifPOE@thicklens \newif\ifPOE@usefiberstyle +\newif\ifPOE@usewirestyle \newif\ifPOE@fiberin@ \newif\ifPOE@fiberin@top \newif\ifPOE@fiberin@bottom @@ -12945,7 +13256,7 @@ \def\POE@str@bandpass{bandpass} \def\POE@str@bandstop{bandstop} \def\POE@str@binary{binary} -\def\POE@str@blazed{blazed} +\def\POE@str@blazed{blazed} \def\POE@str@bottom{bottom} \def\POE@str@center{center} \def\POE@str@circle{circle} @@ -12989,6 +13300,7 @@ \def\POE@str@standard{standard} \def\POE@str@top{top} \def\POE@str@transmittive{transmittive} +\def\POE@str@transparency{transparency} \def\POE@str@triangle{triangle} \def\POE@str@vector{vector} \def\POE@str@verbose{verbose} @@ -13146,6 +13458,15 @@ % \begin{macrocode} \define@boolkey[psset]{optexp}[POE@component@]{optional}[true]{} \define@boolkey[psset]{optexp}[POE@]{usefiberstyle}[true]{} +\define@choicekey[psset]{optexp}{usewirestyle}% + [\val\nr]{true,false}[true]{% + \psset[optexp]{usefiberstyle=false}% + \ifcase\nr\relax + \POE@usewirestyletrue + \or + \POE@usewirestylefalse + \fi}% +\define@boolkey[psset]{optexp}[POE@]{usewirestyle}[true]{} \define@boolkey[psset]{optexp}[POE@debug@]{showoptdots}[true]{} \define@boolkey[psset]{optexp}[POE@debug@]{showifcnodes}[true]{} % \end{macrocode} @@ -14505,6 +14826,32 @@ \define@key[psset]{optexp}{ArrowInsideMaxLength}{% \def\POE@key@ArrowInsideMaxLength{#1}% }% +\define@choicekey[psset]{optexp}{fadeto}[\val\nr]{white,black,transparency}{% + \def\POE@key@fadeto{#1}% +}% +\define@key[psset]{optexp}{fadefunc}{% + \def\POE@key@fadefunc{#1}% +}% +\define@key[psset]{optexp}{fadefuncname}{% + \def\POE@key@fadefuncname{#1}% +}% +\define@key[psset]{optexp}{fadepoints}{% + \def\POE@key@fadepoints{#1}% +}% +\def\psls@fade{% + \pst@optexpdict + \ifx\POE@key@fadefunc\@empty\else + /fadefunc@custom {\POE@key@fadefunc} def + \fi + /fadecorrect \ifx\POE@key@fadeto\POE@str@transparency 0 \else 0.1 \fi def + \pst@usecolor\pslinecolor + \POE@key@fadepoints\space + \psk@strokeopacityalpha + currentdict /fadeto@\POE@key@fadeto\space dup 3 1 roll known not { pop /fadeto@white } if load + currentdict /fadefunc@\POE@key@fadefuncname\space dup 3 1 roll known not { pop /fadefunc@linear } if load + FadeStroke + end +}% \psset[optexp]{% raytrace=true ,useNA=true @@ -14532,6 +14879,10 @@ ,startinsidecount=-1 ,ArrowInsideMinLength=0.2 ,ArrowInsideMaxLength=-1 + ,fadepoints=200 + ,fadeto=white + ,fadefunc=\@empty + ,fadefuncname=linear }% % \end{macrocode} % @@ -15242,6 +15593,7 @@ /useNA \ifPOE@useNA true \else false \fi def /aligntovector \ifx\POE@key@beamnodealign\POE@str@vector true \else false \fi def }% + \let\tx@Line\POE@tx@Line }% % \end{macrocode} % \end{macro} @@ -15936,6 +16288,18 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\POE@usefiberorwirestyle} +% \begin{macrocode} +\def\POE@usefiberorwirestyle{% + \ifPOE@usefiberstyle + \psset{style=Fiber, arrows=-, ArrowInside=-}% + \else\ifPOE@usewirestyle + \psset{style=Wire, arrows=-, ArrowInside=-}% + \fi\fi +}% +% \end{macrocode} +% \end{macro} +% % \section{Accessing component nodes} % \begin{macro}{\POE@checkcompname} % Check if a component with name \#1 was already defined. @@ -16340,6 +16704,7 @@ \POE@transformnode{\oenodeRefA{}}{\oenodeTrefA{}}% \POE@transformnode{\oenodeRefB{}}{\oenodeTrefB{}}% }% + \def\tx@Line{Line }% }% % \end{macrocode} % \end{macro} @@ -18747,9 +19112,7 @@ \def\optmzm@comp{% \POE@comp@rectangle \begingroup - \ifPOE@usefiberstyle - \psset{style=Fiber, arrows=-, ArrowInside=-} - \fi + \POE@usefiberorwirestyle \psline(! \POE@dict{@@x} neg 0)(! \POE@dict{@@x} -0.7 mul 0)% (! \POE@dict{@@x} -0.4 mul \POE@dict{@@y} 0.6 mul)% (! \POE@dict{@@x 0.4 mul @@y 0.6 mul})% @@ -18797,33 +19160,25 @@ \ifx\POE@key@filtertype\POE@str@bandpass \rput(!\POE@dict{0 @@x -0.5 mul}){\POE@strike@line\POE@filter@curve} \rput(0, 0){% - \ifPOE@usefiberstyle - \psset{style=Fiber} - \fi + \POE@usefiberorwirestyle \POE@filter@curve} \rput(!\POE@dict{0 @@x 0.5 mul}){\POE@strike@line\POE@filter@curve} \else\ifx\POE@key@filtertype\POE@str@bandstop \begingroup - \ifPOE@usefiberstyle - \psset{style=Fiber} - \fi + \POE@usefiberorwirestyle \rput(!\POE@dict{0 @@x -0.5 mul}){\POE@filter@curve} \rput(!\POE@dict{0 @@x 0.5 mul}){\POE@filter@curve} \endgroup \rput(0,0){\POE@strike@line\POE@filter@curve} \else\ifx\POE@key@filtertype\POE@str@lowpass \rput(!\POE@dict{0 @@x -0.5 mul}){% - \ifPOE@usefiberstyle - \psset{style=Fiber} - \fi + \POE@usefiberorwirestyle \POE@filter@curve} \rput(0, 0){\POE@strike@line\POE@filter@curve} \rput(!\POE@dict{0 @@x 0.5 mul}){\POE@strike@line\POE@filter@curve} \else\ifx\POE@key@filtertype\POE@str@highpass \rput(!\POE@dict{0 @@x 0.5 mul}){% - \ifPOE@usefiberstyle - \psset{style=Fiber} - \fi + \POE@usefiberorwirestyle \POE@filter@curve} \rput(0, 0){\POE@strike@line\POE@filter@curve} \rput(!\POE@dict{0 @@x -0.5 mul}){\POE@strike@line\POE@filter@curve} @@ -18892,9 +19247,7 @@ \psline[style=Fiber, arrows=-, ArrowInside=-](\oenodeIn{})(\oenodeOut{}) \fi \bgroup - \ifPOE@usefiberstyle - \psset{style=Fiber, arrows=-, ArrowInside=-}% - \fi + \POE@usefiberorwirestyle \ifx\POE@key@polcontroltype\POE@str@linear \multips(! -2 \@sz mul \@sz)(! 2 \@sz mul 0){3}{% \pscircle(0,0){\POE@key@polcontrolsize}% @@ -18979,25 +19332,21 @@ % \begin{macrocode} \pstVerb{tx@Dict begin /@lw \POE@clw def end}% \bgroup - \ifPOE@usefiberstyle - \psset{style=Fiber, arrows=-, ArrowInside=-} - \fi - \psline[arrows=-](! \POE@dict{@@x} neg 0)% - (! \POE@dict{@@x} -0.6 mul @lw sub 0)% - \psline[arrows=-](! \POE@dict{@@x} 0.6 mul 0)(! \POE@dict{@@x} 0)% + \POE@usefiberorwirestyle + \psset{arrows=-, ArrowInside=-}% + \psline(! \POE@dict{@@x} neg 0)(! \POE@dict{@@x} -0.6 mul @lw sub 0)% + \psline(! \POE@dict{@@x} 0.6 mul 0)(! \POE@dict{@@x} 0)% \egroup \ifx\POE@key@switchstyle\POE@str@closed% \bgroup - \ifPOE@usefiberstyle - \psset{style=Fiber} - \fi + \POE@usefiberorwirestyle \psdot[dotsize=3\pslinewidth](! \POE@dict{@@x} 0.6 mul 0)% \psdot[dotsize=3\pslinewidth](! \POE@dict{@@x} -0.6 mul 0)% - \psline[arrows=-, linewidth=1.5\pslinewidth]% + \psline[arrows=-, ArrowInside=-, linewidth=1.5\pslinewidth]% (! \POE@dict{@@x} -0.6 mul @lw)(! \POE@dict{@@x} 0.6 mul @lw)% \egroup \else - \psline[arrows=-, linewidth=1.5\pslinewidth]% + \psline[arrows=-, ArrowInside=-, linewidth=1.5\pslinewidth]% (! \POE@dict{@@x} -0.6 mul @lw add @lw)% (! \POE@dict{@@x 0.6 mul @@y 0.6 mul})% \pscircle(! \POE@dict{@@x} -0.6 mul 0){\pslinewidth}% @@ -22564,6 +22913,87 @@ tx@OptexpDict begin % \end{macrocode} % \end{macro} % +% \begin{macro}{ClipFadeValue} +% Clip a number to the range [0:1]. +% \begin{pssyntax} +% \PSvar{value} \PSop{ClipFadeValue} \PSvar{clippedvalue} +% \end{pssyntax} +% \begin{macrocode} +/ClipFadeValue { + dup 0 lt { pop 0 }{ dup 1 gt { pop 1 } if } ifelse +} bind def +% \end{macrocode} +% \end{macro} +% \begin{macro}{} +% The different fadeto modes. +% \begin{macrocode} +/fadeto@white { + FadeFunc ClipFadeValue @S mul @H exch @B sethsbcolor +} bind def +/fadeto@black { + FadeFunc ClipFadeValue @B mul @H exch @S exch sethsbcolor +} bind def +/fadeto@transparency { + FadeFunc ClipFadeValue @T mul .setopacityalpha +} bind def +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{} +% The default fade functions, which are selected with the parameter +% 'fadefuncname'. The clipping is done afterwards. +% \begin{macrocode} +/fadefunc@linear { + neg 1 add +} bind def +/fadefunc@squared { + dup mul neg 1 add +} bind def +/fadefunc@gauss { + 0.4 div dup mul neg Euler exch exp +} bind def +/fadefunc@exp { + -6 mul Euler exch exp +} bind def +% \end{macrocode} +% \end{macro} +% \begin{macro}{FadeStroke} +% Implement the 'fade' linestyle. +% \begin{macrocode} +/FadeStroke { + /FadeFunc ED /FadeToColor ED /@T ED + PathLength dup /@L ED exch div /@dl ED + mark + { false counttomark 3 roll } + { true counttomark 3 roll } + {} {} pathforall + currenthsbcolor /@B ED /@S ED /@H ED + newpath /currL 0 def + counttomark 3 idiv 1 1 3 -1 roll { + pop + { % lineto + /y2 ED /x2 ED x2 x1 sub y2 y1 sub 2 copy + dup mul exch dup mul add sqrt dup @L div exch + @dl div 1 add floor dup dup + 4 2 roll div 5 1 roll + 1 1 3 -1 roll { + 5 copy 4 copy 2 copy eq not { fadecorrect add } if exch div VecScale + 6 2 roll 1 sub dup 0 eq not { fadecorrect sub } if exch div VecScale + x1 y1 VecAdd moveto x1 y1 VecAdd lineto + mul currL add FadeToColor + stroke + } for + 4 1 roll pop pop mul currL add /currL ED + /y1 y2 def /x1 x2 def + } { % moveto + /y1 ED /x1 ED + } ifelse + } for + pop +} def +% \end{macrocode} +% \end{macro} +% % \begin{macro}{mymax} % For some reason Adobe Distiller crashes if 'max' operator is used with two floats which are very close (4e-5 in one case) % \begin{macrocode} diff --git a/Master/texmf-dist/source/latex/pst-optexp/pst-optexp.ins b/Master/texmf-dist/source/latex/pst-optexp/pst-optexp.ins index 97135a6e1e3..60aad32a277 100644 --- a/Master/texmf-dist/source/latex/pst-optexp/pst-optexp.ins +++ b/Master/texmf-dist/source/latex/pst-optexp/pst-optexp.ins @@ -53,7 +53,7 @@ This is a generated file. Project: pst-optexp -Version: 4.4 (2013/07/14) +Version: 4.5 (2013/07/21) Copyright (C) 2007-2013 by Christoph Bersch <usenet@bersch.net> diff --git a/Master/texmf-dist/tex/latex/pst-optexp/pst-optexp.sty b/Master/texmf-dist/tex/latex/pst-optexp/pst-optexp.sty index 91a84e34d89..c8b7a378dbd 100644 --- a/Master/texmf-dist/tex/latex/pst-optexp/pst-optexp.sty +++ b/Master/texmf-dist/tex/latex/pst-optexp/pst-optexp.sty @@ -9,7 +9,7 @@ %% This is a generated file. %% %% Project: pst-optexp -%% Version: 4.4 (2013/07/14) +%% Version: 4.5 (2013/07/21) %% %% Copyright (C) 2007-2013 by Christoph Bersch <usenet@bersch.net> %% @@ -31,7 +31,7 @@ %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{pst-optexp} - [2013/07/14 v4.4 Optical experimental setups with PSTricks] + [2013/07/21 v4.5 Optical experimental setups with PSTricks] \RequirePackage{ifthen} \RequirePackage{pstricks} \RequirePackage{pst-xkey} @@ -64,6 +64,7 @@ \def\pst@optexpdict{tx@OptexpDict begin } \def\POE@dict#1{\pst@optexpdict #1 end} \def\POE@Verb#1{\pst@Verb{\pst@optexpdict #1 end }}% +\let\POE@tx@Line\tx@Line \SpecialCoor \newif\ifPOE@backlayer \newif\ifPOE@frontlayer @@ -80,6 +81,7 @@ \newif\ifPOE@startbox \newif\ifPOE@thicklens \newif\ifPOE@usefiberstyle +\newif\ifPOE@usewirestyle \newif\ifPOE@fiberin@ \newif\ifPOE@fiberin@top \newif\ifPOE@fiberin@bottom @@ -168,6 +170,7 @@ \def\POE@str@standard{standard} \def\POE@str@top{top} \def\POE@str@transmittive{transmittive} +\def\POE@str@transparency{transparency} \def\POE@str@triangle{triangle} \def\POE@str@vector{vector} \def\POE@str@verbose{verbose} @@ -305,6 +308,15 @@ \newpsstyle{VariableCoupler}{arrowinset=0, arrows=->} \define@boolkey[psset]{optexp}[POE@component@]{optional}[true]{} \define@boolkey[psset]{optexp}[POE@]{usefiberstyle}[true]{} +\define@choicekey[psset]{optexp}{usewirestyle}% + [\val\nr]{true,false}[true]{% + \psset[optexp]{usefiberstyle=false}% + \ifcase\nr\relax + \POE@usewirestyletrue + \or + \POE@usewirestylefalse + \fi}% +\define@boolkey[psset]{optexp}[POE@]{usewirestyle}[true]{} \define@boolkey[psset]{optexp}[POE@debug@]{showoptdots}[true]{} \define@boolkey[psset]{optexp}[POE@debug@]{showifcnodes}[true]{} \define@boolkey[psset]{optexp}[POE@]{endbox}[true]{} @@ -1488,6 +1500,32 @@ \define@key[psset]{optexp}{ArrowInsideMaxLength}{% \def\POE@key@ArrowInsideMaxLength{#1}% }% +\define@choicekey[psset]{optexp}{fadeto}[\val\nr]{white,black,transparency}{% + \def\POE@key@fadeto{#1}% +}% +\define@key[psset]{optexp}{fadefunc}{% + \def\POE@key@fadefunc{#1}% +}% +\define@key[psset]{optexp}{fadefuncname}{% + \def\POE@key@fadefuncname{#1}% +}% +\define@key[psset]{optexp}{fadepoints}{% + \def\POE@key@fadepoints{#1}% +}% +\def\psls@fade{% + \pst@optexpdict + \ifx\POE@key@fadefunc\@empty\else + /fadefunc@custom {\POE@key@fadefunc} def + \fi + /fadecorrect \ifx\POE@key@fadeto\POE@str@transparency 0 \else 0.1 \fi def + \pst@usecolor\pslinecolor + \POE@key@fadepoints\space + \psk@strokeopacityalpha + currentdict /fadeto@\POE@key@fadeto\space dup 3 1 roll known not { pop /fadeto@white } if load + currentdict /fadefunc@\POE@key@fadefuncname\space dup 3 1 roll known not { pop /fadefunc@linear } if load + FadeStroke + end +}% \psset[optexp]{% raytrace=true ,useNA=true @@ -1515,6 +1553,10 @@ ,startinsidecount=-1 ,ArrowInsideMinLength=0.2 ,ArrowInsideMaxLength=-1 + ,fadepoints=200 + ,fadeto=white + ,fadefunc=\@empty + ,fadefuncname=linear }% \define@key[psset]{optexp}{fiber}[all]{% \POE@psset@fibercheck#1\@nil @@ -2124,6 +2166,7 @@ /useNA \ifPOE@useNA true \else false \fi def /aligntovector \ifx\POE@key@beamnodealign\POE@str@vector true \else false \fi def }% + \let\tx@Line\POE@tx@Line }% \def\begin@WideBeamObj{% \addbefore@par{style=Beam}% @@ -2652,6 +2695,13 @@ \fi \fi }% +\def\POE@usefiberorwirestyle{% + \ifPOE@usefiberstyle + \psset{style=Fiber, arrows=-, ArrowInside=-}% + \else\ifPOE@usewirestyle + \psset{style=Wire, arrows=-, ArrowInside=-}% + \fi\fi +}% \def\POE@checkcompname#1{% \@expandtwoargs\in@{,#1,}{,\POE@complist,}% \ifin@\else @@ -2851,6 +2901,7 @@ \POE@transformnode{\oenodeRefA{}}{\oenodeTrefA{}}% \POE@transformnode{\oenodeRefB{}}{\oenodeTrefB{}}% }% + \def\tx@Line{Line }% }% \let\POE@disablepos\relax \def\begin@OptexpTripole{% @@ -4574,9 +4625,7 @@ \def\optmzm@comp{% \POE@comp@rectangle \begingroup - \ifPOE@usefiberstyle - \psset{style=Fiber, arrows=-, ArrowInside=-} - \fi + \POE@usefiberorwirestyle \psline(! \POE@dict{@@x} neg 0)(! \POE@dict{@@x} -0.7 mul 0)% (! \POE@dict{@@x} -0.4 mul \POE@dict{@@y} 0.6 mul)% (! \POE@dict{@@x 0.4 mul @@y 0.6 mul})% @@ -4612,33 +4661,25 @@ \ifx\POE@key@filtertype\POE@str@bandpass \rput(!\POE@dict{0 @@x -0.5 mul}){\POE@strike@line\POE@filter@curve} \rput(0, 0){% - \ifPOE@usefiberstyle - \psset{style=Fiber} - \fi + \POE@usefiberorwirestyle \POE@filter@curve} \rput(!\POE@dict{0 @@x 0.5 mul}){\POE@strike@line\POE@filter@curve} \else\ifx\POE@key@filtertype\POE@str@bandstop \begingroup - \ifPOE@usefiberstyle - \psset{style=Fiber} - \fi + \POE@usefiberorwirestyle \rput(!\POE@dict{0 @@x -0.5 mul}){\POE@filter@curve} \rput(!\POE@dict{0 @@x 0.5 mul}){\POE@filter@curve} \endgroup \rput(0,0){\POE@strike@line\POE@filter@curve} \else\ifx\POE@key@filtertype\POE@str@lowpass \rput(!\POE@dict{0 @@x -0.5 mul}){% - \ifPOE@usefiberstyle - \psset{style=Fiber} - \fi + \POE@usefiberorwirestyle \POE@filter@curve} \rput(0, 0){\POE@strike@line\POE@filter@curve} \rput(!\POE@dict{0 @@x 0.5 mul}){\POE@strike@line\POE@filter@curve} \else\ifx\POE@key@filtertype\POE@str@highpass \rput(!\POE@dict{0 @@x 0.5 mul}){% - \ifPOE@usefiberstyle - \psset{style=Fiber} - \fi + \POE@usefiberorwirestyle \POE@filter@curve} \rput(0, 0){\POE@strike@line\POE@filter@curve} \rput(!\POE@dict{0 @@x -0.5 mul}){\POE@strike@line\POE@filter@curve} @@ -4675,9 +4716,7 @@ \psline[style=Fiber, arrows=-, ArrowInside=-](\oenodeIn{})(\oenodeOut{}) \fi \bgroup - \ifPOE@usefiberstyle - \psset{style=Fiber, arrows=-, ArrowInside=-}% - \fi + \POE@usefiberorwirestyle \ifx\POE@key@polcontroltype\POE@str@linear \multips(! -2 \@sz mul \@sz)(! 2 \@sz mul 0){3}{% \pscircle(0,0){\POE@key@polcontrolsize}% @@ -4724,25 +4763,21 @@ \POE@comp@rectangle \pstVerb{tx@Dict begin /@lw \POE@clw def end}% \bgroup - \ifPOE@usefiberstyle - \psset{style=Fiber, arrows=-, ArrowInside=-} - \fi - \psline[arrows=-](! \POE@dict{@@x} neg 0)% - (! \POE@dict{@@x} -0.6 mul @lw sub 0)% - \psline[arrows=-](! \POE@dict{@@x} 0.6 mul 0)(! \POE@dict{@@x} 0)% + \POE@usefiberorwirestyle + \psset{arrows=-, ArrowInside=-}% + \psline(! \POE@dict{@@x} neg 0)(! \POE@dict{@@x} -0.6 mul @lw sub 0)% + \psline(! \POE@dict{@@x} 0.6 mul 0)(! \POE@dict{@@x} 0)% \egroup \ifx\POE@key@switchstyle\POE@str@closed% \bgroup - \ifPOE@usefiberstyle - \psset{style=Fiber} - \fi + \POE@usefiberorwirestyle \psdot[dotsize=3\pslinewidth](! \POE@dict{@@x} 0.6 mul 0)% \psdot[dotsize=3\pslinewidth](! \POE@dict{@@x} -0.6 mul 0)% - \psline[arrows=-, linewidth=1.5\pslinewidth]% + \psline[arrows=-, ArrowInside=-, linewidth=1.5\pslinewidth]% (! \POE@dict{@@x} -0.6 mul @lw)(! \POE@dict{@@x} 0.6 mul @lw)% \egroup \else - \psline[arrows=-, linewidth=1.5\pslinewidth]% + \psline[arrows=-, ArrowInside=-, linewidth=1.5\pslinewidth]% (! \POE@dict{@@x} -0.6 mul @lw add @lw)% (! \POE@dict{@@x 0.6 mul @@y 0.6 mul})% \pscircle(! \POE@dict{@@x} -0.6 mul 0){\pslinewidth}% |