summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-12-01 23:02:12 +0000
committerKarl Berry <karl@freefriends.org>2013-12-01 23:02:12 +0000
commit7ca4a6a3feb7f041867bbc46e876888b3379234b (patch)
tree7408324e759ee4f2f4253f48a82bc28fa3536856
parent64eeb6fa76f5cca3ef7bedf009c7287a45ef1cb0 (diff)
pst-optexp (1dec13)
git-svn-id: svn://tug.org/texlive/trunk@32294 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/pst-optexp/Changes5
-rw-r--r--Master/texmf-dist/doc/latex/pst-optexp/README2
-rw-r--r--Master/texmf-dist/doc/latex/pst-optexp/pst-optexp-DE.pdfbin2842306 -> 2854555 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pst-optexp/pst-optexp-quickref.pdfbin49579 -> 49687 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pst-optexp/pst-optexp.pdfbin2795360 -> 2808019 bytes
-rw-r--r--Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro6
-rw-r--r--Master/texmf-dist/source/latex/pst-optexp/pst-optexp.dtx636
-rw-r--r--Master/texmf-dist/source/latex/pst-optexp/pst-optexp.ins2
-rw-r--r--Master/texmf-dist/tex/latex/pst-optexp/pst-optexp.sty171
9 files changed, 572 insertions, 250 deletions
diff --git a/Master/texmf-dist/doc/latex/pst-optexp/Changes b/Master/texmf-dist/doc/latex/pst-optexp/Changes
index 237131b6d9a..9522d317b8a 100644
--- a/Master/texmf-dist/doc/latex/pst-optexp/Changes
+++ b/Master/texmf-dist/doc/latex/pst-optexp/Changes
@@ -1,3 +1,8 @@
+4.6 2013-11-27
+ * Added option extnodes.
+ * Added option optdipolecomp.
+ * Added option opttripolecomp.
+
4.5 2013-07-21
* Added option usewirestyle.
* Added line style fade, with options fadeto, fadepoints,
diff --git a/Master/texmf-dist/doc/latex/pst-optexp/README b/Master/texmf-dist/doc/latex/pst-optexp/README
index a86c6a5c420..ed6ea59a2e1 100644
--- a/Master/texmf-dist/doc/latex/pst-optexp/README
+++ b/Master/texmf-dist/doc/latex/pst-optexp/README
@@ -1,5 +1,5 @@
------------------------------------------------------------------------
-The pst-optexp package --- Sketching optical experimental setups
+The pst-optexp package --- Drawing optical experimental setups
Maintained by Christoph Bersch
E-mail: usenet@bersch.net
Released under the LaTeX Project Public License v1.3c or later
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
index 5058dae422c..1ca6dd0b60b 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
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp-quickref.pdf b/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp-quickref.pdf
index 8e9286618f2..3be863aa5c9 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
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp.pdf b/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp.pdf
index 3d6cc665661..6f551ec89c1 100644
--- a/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp.pdf
+++ b/Master/texmf-dist/doc/latex/pst-optexp/pst-optexp.pdf
Binary files differ
diff --git a/Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro b/Master/texmf-dist/dvips/pst-optexp/pst-optexp.pro
index 3fd41c12bee..bcd6c0193b1 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.5 (2013/07/21)
+%% Version: 4.6 (2013/11/27)
%%
%% Copyright (C) 2007-2013 by Christoph Bersch <usenet@bersch.net>
%%
@@ -205,8 +205,8 @@ tx@OptexpDict begin
/@@y 0 def
/@@x0 0 def
/@@y0 0 def
- /@xref 0 def
- /@yref 0 def
+ /@xref [0] def
+ /@yref [0] def
/RefFac 1 def
} bind def
/NewTempNodeComp {
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 1b0ee21c1cc..7bbc707a1b4 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/21 v4.5 Optical experimental setups with PSTricks]
+ [2013/11/27 v4.6 Optical experimental setups with PSTricks]
%</stylefile>
%
%<*driver>
@@ -1048,7 +1048,7 @@
%\fi
\begin{LTXexample}[linerange={1-3,6-6}]
\begin{pspicture}[showgrid](0,-0.3)(3,2.3)
- \pnode(0,1){A}\pnode(3,1){B}
+ \pnodes(0,1){A}(3,1){B}
\lens(A)(B)
\psset{style=Refline}\color{Refline}
\psdot(A)\uput[90](A){A}\psdot(B)\uput[90](B){B}
@@ -1583,10 +1583,9 @@
% \begingroup
% \catcode`\*=13
% \def*{}%
-\begin{LTXexample}[style=example, linerange={1-5,7-7}]
+\begin{LTXexample}[style=example, linerange={1-4,6-6}]
*\ON*\begin{pspicture}[showgrid](4.7,2)
- \pnode(0.7,1){A}\pnode(1,1){B}\pnode(2.8,1){C}
- \pnode(4,1.5){D}\pnode(4,0.5){E}*\OFF*
+ \pnodes(0.7,1){A}(1,1){B}(2.8,1){C}(4,1.5){D}(4,0.5){E}*\OFF*
\psset{optboxwidth=0.7, labelstyle=\scriptsize}
\optbox[position=start, label=0, fiber](A)(B){LD}*\ON*
\psset{style=Refline}\psdot(A)\psdot(B)\psdot(C)\psdot(D)\psdot(E)
@@ -1606,10 +1605,9 @@
% \iffalse
%<*ignore>
% \fi
-\begin{LTXexample}[style=example, linerange={1-6,8-8}]
+\begin{LTXexample}[style=example, linerange={1-5,7-7}]
*\ON*\begin{pspicture}[showgrid](4.7,2)
- \pnode(0.7,1){A}\pnode(1,1){B}\pnode(2.8,1){C}
- \pnode(4,1.5){D}\pnode(4,0.5){E}
+ \pnodes(0.7,1){A}(1,1){B}(2.8,1){C}(4,1.5){D}(4,0.5){E}
\psset{optboxwidth=0.7, labelstyle=\scriptsize}
\optbox[position=start, label=0, fiber](A)(B){LD}*\OFF*
\optmzm(B)(C)*\ON*
@@ -1632,10 +1630,9 @@
% \iffalse
%<*ignore>
% \fi
-\begin{LTXexample}[style=example, linerange={1-7,9-9}]
+\begin{LTXexample}[style=example, linerange={1-6,8-8}]
*\ON*\begin{pspicture}[showgrid](4.7,2)
- \pnode(0.7,1){A}\pnode(1,1){B}\pnode(2.8,1){C}
- \pnode(4,1.5){D}\pnode(4,0.5){E}
+ \pnodes(0.7,1){A}(1,1){B}(2.8,1){C}(4,1.5){D}(4,0.5){E}
\psset{optboxwidth=0.7, labelstyle=\scriptsize}
\optbox[position=start, label=0, fiber](A)(B){LD}
\optmzm(B)(C)*\OFF*
@@ -1672,10 +1669,9 @@
% \iffalse
%<*ignore>
% \fi
-\begin{LTXexample}[style=example, caption={caption}, label={ex:fiber-setup}, linerange={1-9,11-11}]
+\begin{LTXexample}[style=example, caption={caption}, label={ex:fiber-setup}, linerange={1-8,10-10}]
*\ON*\begin{pspicture}[showgrid](4.7,2)
- \pnode(0.7,1){A}\pnode(1,1){B}\pnode(2.8,1){C}
- \pnode(4,1.5){D}\pnode(4,0.5){E}
+ \pnodes(0.7,1){A}(1,1){B}(2.8,1){C}(4,1.5){D}(4,0.5){E}
\psset{optboxwidth=0.7, labelstyle=\scriptsize}
\optbox[position=start, label=0, fiber](A)(B){LD}
\optmzm(B)(C)
@@ -1769,8 +1765,7 @@
\def*{}%
\begin{LTXexample}[style=example, hsep=8mm, numbers=left, numberstyle=\footnotesize, caption={caption}, label=ex:michelson]
\begin{pspicture}(3.2,5)
- \pnode(0,3){A}\pnode(1,3){BS}\pnode(3,3){M1}*\label{l:ex2-nodes1}*
- \pnode(1,5){M2}\pnode(1,1){PD}*\label{l:ex2-nodes2}*
+ \pnodes(0,3){A}(1,3){BS}(3,3){M1}(1,5){M2}(1,1){PD}*\label{l:ex2-nodes}*
\psset{mirrortype=extended, mirrordepth=0.2}*\label{l:ex2-set}*
\begin{optexp}*\label{l:ex2-begin}*
\beamsplitter[bsstyle=plate, compname=BS](A)(BS)(PD)*\label{l:ex2-bs}*
@@ -1790,7 +1785,7 @@
%
% \ifGERMAN
% Wir beginnen wieder, indem wir die Referenzknoten definieren
-% (\prettyref{l:ex2-nodes1}--\ref{l:ex2-nodes2}) und ein paar
+% (\prettyref{l:ex2-nodes}) und ein paar
% grundlegende Einstellungen setzen (\prettyref{l:ex2-set}).
%
% Dann werden der Reihe nach alle Komponenten platziert
@@ -1813,7 +1808,7 @@
% \fi
% \ifENGLISH
% We start with definition of the reference nodes
-% (\prettyref{l:ex2-nodes1}--\ref{l:ex2-nodes2}) and setting some basic
+% (\prettyref{l:ex2-nodes}) and setting some basic
% parameters (\prettyref{l:ex2-set}).
%
% Following, all components are positioned
@@ -2135,7 +2130,7 @@
% \fi
\begin{LTXexample}[morekeywords={[21]{position}}, linerange={1-4,8-8}]
\begin{pspicture}(3,2)
- \pnode(0.5,1){A}\pnode(2.5,1){B}\psdot(A)\psdot(B)
+ \pnodes(0.5,1){A}(2.5,1){B}\psdot(A)\psdot(B)
\optbox[optboxsize=0.5 0.5, position=start](A)(B)
\lens[position=end](A)(B)
\psline[style=Refline](A)(B)
@@ -2158,7 +2153,7 @@
% \fi
\begin{LTXexample}[morekeywords={[21]{position}}, linerange={1-4,8-8}]
\begin{pspicture}(3,2)
- \pnode(0.5,1){A}\pnode(2.5,1){B}\psdot(A)\psdot(B)
+ \pnodes(0.5,1){A}(2.5,1){B}\psdot(A)\psdot(B)
\optbox[optboxsize=0.5 0.5, position=0](A)(B)
\lens[position=1](A)(B)
\psline[style=Refline](A)(B)
@@ -2241,7 +2236,7 @@
% \fi
\begin{LTXexample}[linerange={1-2,4-4,10-10}, morekeywords={[21]{angle}}]
\begin{pspicture}(3,2)
- \pnode(0,1){A}\pnode(2.7,1){B}
+ \pnodes(0,1){A}(2.7,1){B}
\optbox[addtoOptComp={style=Refline, linestyle=dashed}](A)(B)
\optbox[angle=20, innerlabel](A)(B){box}
\psline[style=Refline](\oenodeRefA{})(\oenodeRefB{})
@@ -2273,7 +2268,7 @@
% \fi
\begin{LTXexample}[linerange={1-2,4-4,10-10}, morekeywords={[21]{angle,rotateref}}]
\begin{pspicture}(3,2)
- \pnode(0,1){A}\pnode(2.7,1){B}
+ \pnodes(0,1){A}(2.7,1){B}
\optbox[addtoOptComp={style=Refline, linestyle=dashed}](A)(B)
\optbox[angle=20, rotateref=bl, innerlabel](A)(B){box}
\psline[style=Refline](\oenodeRefA{})(\oenodeRefB{})
@@ -2302,7 +2297,7 @@
% \fi
\begin{LTXexample}[linerange={1-3,10-10}, morekeywords={[21]{compshift}}]
\begin{pspicture}(4,2)
- \pnode(0.4, 0.5){A}\pnode(3.6,0.5){B}
+ \pnodes(0.4, 0.5){A}(3.6,0.5){B}
\lens[lens=2 2 2, compshift=0.5](A)(B)
\psline[style=Refline, linestyle=dashed](\oenodeRefA{})(\oenodeRefB{})
\psdot(\oenodeRefA{})\uput[-90](\oenodeRefA{}){RefA}
@@ -2314,7 +2309,7 @@
\end{LTXexample}
\begin{LTXexample}[linerange={1-3,9-9}, morekeywords={[21]{compshift}}]
\begin{pspicture}(4,2)
- \pnode(0.4,1.2){A}\pnode(3,0.2){B}
+ \pnodes(0.4,1.2){A}(3,0.2){B}
\mirror[compshift=0.5](A)(B|A)(B)
\psline[style=Refline, linestyle=dashed](\oenodeRefA{})(\oenodeRefB{}|\oenodeRefA{})(\oenodeRefB{})
\psdot(\oenodeRefA{})\uput[-90](\oenodeRefA{}){RefA}
@@ -2347,7 +2342,7 @@
% \fi
\begin{LTXexample}[linerange={1-3,10-10}, morekeywords={[21]{compoffset}}]
\begin{pspicture}(4,2)
- \pnode(0.4, 1){A}\pnode(3.6, 1){B}
+ \pnodes(0.4, 1){A}(3.6, 1){B}
\lens[lens=2 2 2, compoffset=0.5](A)(B)
\psline[style=Refline, linestyle=dashed](\oenodeRefA{})(\oenodeRefB{})
\psdot(\oenodeRefA{})\uput[-90](\oenodeRefA{}){RefA}
@@ -2359,7 +2354,7 @@
\end{LTXexample}
\begin{LTXexample}[linerange={1-3,9-9}, morekeywords={[21]{compoffset}}]
\begin{pspicture}(4,2)
- \pnode(0.4,1.2){A}\pnode(3,0.2){B}
+ \pnodes(0.4,1.2){A}(3,0.2){B}
\mirror[compoffset=0.5](A)(B|A)(B)
\psline[style=Refline, linestyle=dashed](\oenodeRefA{})(\oenodeRefB{}|\oenodeRefA{})(\oenodeRefB{})
\psdot(\oenodeRefA{})\uput[-90](\oenodeRefA{}){RefA}
@@ -3443,7 +3438,7 @@
% \fi
\begin{LTXexample}
\begin{pspicture}(4,2)
- \pnode(0,1){A}\pnode(4,1){B}
+ \pnodes(0,1){A}(4,1){B}
\glanthompson[glanthompsongap=0.2, glanthompsonsize=2 1](A)(B)
\optplane[angle=90](2,0)\optplane[angle=90](2,2)
\addtopsstyle{Beam}{ArrowInside=->, arrowscale=1.5}
@@ -3964,7 +3959,7 @@
% \fi
\begin{LTXexample}[morekeywords={[21]{gratingalign}}]
\begin{pspicture}(3,2)
-\pnode(0.5,0){A}\pnode(0.5,1.5){B}\pnode(2,1.5){C}\pnode(2,0){D}
+\pnodes(0.5,0){A}(0.5,1.5){B}(2,1.5){C}(2,0){D}
\psset{unit=1.5, labeloffset=0.4}
\begin{optexp}
\optgrating[gratingalign=top](A)(B)(C){top}
@@ -4044,16 +4039,27 @@
% Das Transmissiongitter unterstützt alle Optionen von
% \Lcomp{optgrating}. Der Strahlengang wird so berechnet, dass der
% Strahl an einer Ebene senkrecht zum dargestellten Gitter reflektiert
-% wird.
+% wird. Diese Ebene ist im folgenden Beispiel dargestellt:
% \fi
% \ifENGLISH
% The transmission grating supports all options of
% \Lcomp{optgrating}. The beam path is calculated such, that the beam is
-% reflected at an interface which is perpendicular to the drawn grating.
+% reflected at an interface which is perpendicular to the drawn grating. This virtual interface is shown in the following example:
% \fi
%
-% \begin{pspicture}(2.6,2.4)
-% \pnode(0,1.3){A}\pnode(2,1.3){B}\pnode(1,0.3){C}
+% \hspace*{\fill}%
+% \begin{pspicture}(3,3)
+% \transmissiongrating[beam, label=0 . . relative](0,1)(1.5,1)(3,0.5){\psline[linewidth=0.7\pslinewidth, linestyle=dashed](0,-1)(0,1)}
+% \ifENGLISH
+% \rput[lB](0,2.4){\parbox{3cm}{virtual reflection interface}}
+% \fi
+% \ifGERMAN
+% \rput[lB](0,2.4){\parbox{3cm}{Virtuelle \\ Reflexionsebene}}
+% \fi
+% \end{pspicture}
+% \hspace*{\fill}%
+% \begin{pspicture}(3.5,3)
+% \pnodes(0,1.3){A}(2,1.3){B}(1,0.3){C}
% \optgrating[reverse, gratingcount=9](A)(B)(C)
% \optplane[angle=45](C)
% \addtopsstyle{Beam}{ArrowInside=->, ArrowInsidePos=0.8, arrowinset=0, arrowscale=1.5}
@@ -4062,12 +4068,17 @@
% \drawbeam[linecolor=green]{1-2}
% \drawbeam[linecolor=red, beamangle=15]{1-2}
% \drawbeam[linecolor=blue, beamangle=-15]{1-2}
-% \rput[lB](0,2){\ifENGLISH reflection grating\fi\ifGERMAN Reflexionsgitter\fi}
+% \ifENGLISH
+% \rput[lB](0,2.4){\parbox{5cm}{reflection grating\\\Lcomp{optgrating}}}
+% \fi
+% \ifGERMAN
+% \rput[lB](0,2.4){\parbox{5cm}{Reflexionsgitter\\\Lcomp{optgrating}}}
+% \fi
% \end{pspicture}
-% \hspace*{2cm}
-% \begin{pspicture}(5,2.4)
-% \pnode(0,1.3){A}\pnode(2,1.3){B}\pnode(4,1){C}
-% \transmissiongrating[reverse, gratingcount=9](A)(B)(C){TG}
+% \hspace*{\fill}%
+% \begin{pspicture}(4,3)
+% \pnodes(0,1.3){A}(2,1.3){B}(4,1){C}
+% \transmissiongrating[reverse, gratingcount=9](A)(B)(C)
% \optplane[angle=-30](C)
% \addtopsstyle{Beam}{ArrowInside=->, ArrowInsidePos=0.8, arrowinset=0, arrowscale=1.5}
% \drawbeam[linecolor=black](A){1}
@@ -4075,8 +4086,14 @@
% \drawbeam[linecolor=green]{1-2}
% \drawbeam[linecolor=red, beamangle=5]{1-2}
% \drawbeam[linecolor=blue, beamangle=-5]{1-2}
-% \rput[lB](0,2){\ifENGLISH transmission grating\fi\ifGERMAN Transmissionsgitter\fi}
+% \ifENGLISH
+% \rput[lB](0,2.4){\parbox{5cm}{transmission grating\\\Lcomp{transmissiongrating}}}
+% \fi
+% \ifGERMAN
+% \rput[lB](0,2.4){\parbox{5cm}{Transmissionsgitter\\\Lcomp{transmissiongrating}}}
+% \fi
% \end{pspicture}
+% \hspace*{\fill}%
%
% \ifENGLISH If this is not what you want, you may e.g. rotate the
% component further with \Lkeyword{angle}, and then adjust also the
@@ -4092,7 +4109,7 @@
% \fi
\begin{LTXexample}
\begin{pspicture}(3,1.4)
- \pnode(0,1){A}\pnode(1,1){B}\pnode(3,0.6){C}
+ \pnodes(0,1){A}(1,1){B}(3,0.6){C}
\transmissiongrating[angle=-10, reverse](A)(B)(C){TG}
\addtopsstyle{Beam}{ArrowInside=->, ArrowInsidePos=0.8, arrowinset=0, arrowscale=1.5}
\drawbeam[linecolor=black](A){1}
@@ -4194,7 +4211,7 @@
% \fi
\begin{pspicture}(0,-0.5)(14,3.2)
\footnotesize
- \pnode(0,1){A}\pnode(2,2){B}\pnode(4,1){C}
+ \pnodes(0,1){A}(2,2){B}(4,1){C}
\psdot(A)\uput[90](A){A}
\psdot(B)\uput[90](B){B}
\psdot(C)\uput[90](C){C}
@@ -4207,7 +4224,7 @@
\rput[t](\oenodeCenter{}|0,0.2){%
\begin{tabular}{@{}c@{}}\opt{prismalign=auto}\\\opt{prismtype=transmittive}\end{tabular}}
- \pnode(5,1){A}\pnode(7,2){B}\pnode(9,1){C}
+ \pnodes(5,1){A}(7,2){B}(9,1){C}
\psdot(A)\uput[90](A){A}
\psdot(B)\uput[90](B){B}
\psdot(C)\uput[90](C){C}
@@ -4220,7 +4237,7 @@
\rput[t](\oenodeCenter{}|0,0.2){%
\begin{tabular}{@{}c@{}}\opt{prismalign=center}\\\opt{prismtype=transmittive}\end{tabular}}
- \pnode(10,2){A}\pnode(12,1){B}\pnode(14,2){C}
+ \pnodes(10,2){A}(12,1){B}(14,2){C}
\psdot(A)\uput[90](A){A}
\psdot(B)\uput[-90](B){B}
\psdot(C)\uput[90](C){C}
@@ -4271,7 +4288,7 @@
% \fi
\begin{LTXexample}
\begin{pspicture}(3.5,2)
- \pnode(0,2){A}\pnode(2.5,0.5){G}\pnode(0,1.5){B}
+ \pnodes(0,2){A}(2.5,0.5){G}(0,1.5){B}
\begin{optexp}
\rightangleprism[beam, showifcnodes, showoptdots](A)(G)(B){RA}
\end{optexp}
@@ -4295,18 +4312,18 @@
% \fi
%
% \begin{pspicture}(0,-0.5)(13,2)
-% \pnode(0,1.6){A}\pnode(0,0.4){B}
+% \pnodes(0,1.6){A}(0,0.4){B}
% \rightangleprism(A)(2,1)(B)\psdot(\oenodeCenter{})
% \drawbeam(A){}(B)
-% \pnode(3,1.2){A}\pnode(3,0.8){B}
+% \pnodes(3,1.2){A}(3,0.8){B}
% \rightangleprism(A)(5,1)(B)\psdot(\oenodeCenter{})
% \drawbeam(A){}(B)
% \rput[t](3,0){\opt{raprismalign=auto}}
% \psset{raprismalign=center}
-% \pnode(7,1.6){A}\pnode(7,0.4){B}
+% \pnodes(7,1.6){A}(7,0.4){B}
% \rightangleprism(A)(9,1)(B)\psdot(\oenodeCenter{})
% \drawbeam(A){}(B)
-% \pnode(10,1.2){A}\pnode(10,0.8){B}
+% \pnodes(10,1.2){A}(10,0.8){B}
% \rightangleprism(A)(12,1)(B)\psdot(\oenodeCenter{})
% \drawbeam(A){}(B)
% \rput[t](10,0){\opt{raprismalign=center}}
@@ -5074,7 +5091,7 @@
% \fi
\begin{LTXexample}
\begin{pspicture}(4,2)
- \pnode(0,1){A}\pnode(4,1){B}
+ \pnodes(0,1){A}(4,1){B}
\psset[optexp]{fiber=none}
\wdmsplitter[position=0.2, coupleralign=b](A)(B)
\wdmcoupler[position=0.8, coupleralign=t](A)(B)
@@ -6090,7 +6107,7 @@
% \fi
\begin{LTXexample}[pos=t, linerange={1-3, 4-7}]
\begin{pspicture}(5,1)
- \pnode(0.5,0.5){A}\pnode(4.5,0.5){B}
+ \pnodes(0.5,0.5){A}(4.5,0.5){B}
\optbox(A)(B)
\psline[style=Refline](\oenodeRefA{})(\oenodeRefB{})
\psdot(\oenodeRefA{})\uput[-90](\oenodeRefA{}){RefA}
@@ -6122,7 +6139,7 @@
% \fi
\begin{LTXexample}[pos=t, linerange={1-3,5-9}]
\begin{pspicture}(5,1.8)
- \pnode(0.5,0.5){A}\pnode(4.5,0.5){B}
+ \pnodes(0.5,0.5){A}(4.5,0.5){B}
\optbox[compshift=0.5, angle=10](A)(B)
\psline[style=Refline](\oenodeTrefA{})(\oenodeTrefB{})
\psdot(\oenodeRefA{})\uput[-90](\oenodeRefA{}){RefA}
@@ -6261,7 +6278,7 @@
% \begin{pspicture}(6,2.5)
% \addtopsstyle{Beam}{beaminside=false, arrows=->, arrowinset=0, arrowscale=1.5}
% \psset{optboxsize=2.5 1.5}\ttfamily
-% \pnode(0,1.25){A}\pnode(6,1.25){B}
+% \pnodes(0,1.25){A}(6,1.25){B}
% \optbox[beam, extnode=tl](A)(B)
% \psdot(\oenodeExt{})\uput[135](\oenodeExt{}){tl}
% \backlayer{%
@@ -6358,6 +6375,39 @@
% \iffalse
%</ignore>
% \fi
+%
+% \valitem{extnodes}{list}
+% \ifGERMAN Erlaubt die Definition mehrerer externer Knoten, \prm{list}
+% ist eine Liste von \prm{refpoint}, wie sie von \Lkeyword{extnode}
+% verwendet werden. Der erste Knoten kann wie gewohnt mit
+% \Lcs{oenodeExt} angesprochen werden (ist äquivalent zu
+% \Lcs{oenode}{\{Ext\}} und \Lcs{oenode}{\{Ext1\}}). Für alle weiteren
+% Knoten muss \Lcs{oenode} mit den Knotenbezeichnungen
+% \opt{Ext}\prm{num} verwendet werden: \Lcs{oenode}\opt{\{Ext1\}} für den
+% ersten, \Lcs{oenode}{\{Ext2\}} für den zweiten usw.
+% \fi
+% \ifENGLISH
+% Define multiple external nodes, with their \prm{refpoints} given in
+% the \prm{list} and separated by commas. The first node can be accessed
+% as usual with \Lcs{oenodeExt} (is equivalent to \Lcs{oenode}{\{Ext\}}
+% and \Lcs{oenode}{\{Ext1\}}). All additional nodes must be accessed
+% with \Lcs{oenode} and the node label \opt{Ext}\prm{num}:
+% \Lcs{oenode}{\{Ext1\}} for the first one, \Lcs{oenode}{\{Ext2\}} for
+% the second, etc.
+% \fi
+% \iffalse
+%<*ignore>
+% \fi
+\begin{LTXexample}[morekeywords={[21]extnodes}, linerange={1-3,5-5}]
+\begin{pspicture}(3,2)
+ \optbox[extnodes={tl,tr,br,bl}](0,1)(3,1)
+ \multido{\i=1+1}{4}{\psdot[dotstyle=o](\oenode{Ext\i}{})}%
+ \multido{\i=1+1,\ii=135+-90}{4}{\uput[\ii](\oenode{Ext\i}{}){Ext\i}}%
+\end{pspicture}
+\end{LTXexample}
+% \iffalse
+%</ignore>
+% \fi
% \end{optionlist}
%
% \ifGERMAN\section{Grenzflächenknoten}\fi
@@ -6527,7 +6577,7 @@
% \fi
\begin{LTXexample}
\begin{pspicture}(0,0)(3,2)
- \pnode(0,1){A}\pnode(1.6,1){B}
+ \pnodes(0,1){A}(1.6,1){B}
\optbox[position=end](A)(B)
\drawbeam[beaminsidelast=false](A){1}
\psdot(\oenodeBeam{})
@@ -6561,7 +6611,7 @@
% \fi
\begin{LTXexample}[linerange={1-6,10-10}]
\begin{pspicture}(0,0)(3,2)
- \pnode(0,1){A}\pnode(3,1){B}
+ \pnodes(0,1){A}(3,1){B}
\lens[abspos=1, lensradius=-2](A)(B)
\addtopsstyle{Beam}{%
fillstyle=solid, fillcolor=green, opacity=0.3}
@@ -6593,7 +6643,7 @@
% \fi
\begin{LTXexample}[linerange={1-6,10-10,14-14}]
\begin{pspicture}(0,0)(3,2)
- \pnode(0,1){A}\pnode(3,1){B}
+ \pnodes(0,1){A}(3,1){B}
\lens[abspos=1, n=2](A)(B)
\addtopsstyle{Beam}{%
fillstyle=solid, fillcolor=green, opacity=0.3}
@@ -6619,12 +6669,12 @@
% \fi
\begin{LTXexample}[linerange={1-6,8-8,15-15}]
\begin{pspicture}(0,-1)(4,2)
- \pnode(0,1.5){A}\pnode(2,1.5){B}\pnode(2.8,0){C}
+ \pnodes(0,1.5){A}(2,1.5){B}(2.8,0){C}
\mirror[mirrorwidth=1.2, mirrortype=extended](A)(B)(C)
\addtopsstyle{Beam}{%
fillstyle=solid, fillcolor=green, opacity=0.3}
\drawwidebeam[beamwidth=0.5](A){}
- \pnode(\oenodeBeamUp{}){Up1}\pnode(\oenodeBeamLow{}){Low1}
+ \pnodes(\oenodeBeamUp{}){Up1}(\oenodeBeamLow{}){Low1}
\drawwidebeam[loadbeam]{}(C)
\psdot(\oenodeBeamUp{})\psdot(\oenodeBeamLow{})
\uput[90](\oenodeBeamUp{}){\rput[lb](0,0){BeamUp}}
@@ -6696,7 +6746,7 @@
% \fi
\begin{LTXexample}
\begin{pspicture}(0,0)(3,2)
- \pnode(0,1){A}\pnode(1.6,1){B}
+ \pnodes(0,1){A}(1.6,1){B}
\optbox[position=end](A)(B)
\psset{beaminsidelast=false}
\drawbeam[linecolor=red, beampos=0.3](A){1}
@@ -6810,7 +6860,7 @@
% \fi
\begin{LTXexample}[linerange={1-9,11-11}]
\begin{pspicture}(3,3)
- \pnode(0,1.5){A}\pnode(3,1.5){B}
+ \pnodes(0,1.5){A}(3,1.5){B}
\lens[abspos=1, lens=5 5 3, n=2.0](A)(B)
\optplane[angle=90](B)
\drawwidebeam[beamwidth=2](A){1-2}
@@ -6836,7 +6886,7 @@
% \fi
\begin{LTXexample}[caption={caption}, label={ex:beamcenter}]
\begin{pspicture}(3.5,2.6)
- \pnode(0,2){A}\pnode(1,2){B}\pnode(3,1){C}
+ \pnodes(0,2){A}(1,2){B}(3,1){C}
\optprism(A)(B)(C)
\newpsstyle{Beam}{linestyle=none, fillstyle=solid, beamwidth=0.2, beamnodealign=vector}
\drawwidebeam[fillcolor=orange](A){}
@@ -6870,7 +6920,7 @@
\begin{LTXexample}[pos=t, linerange={2-4,17-17}]
\psset{unit=2}
\begin{pspicture}(0.3,0.1)(4.8,1.6)
- \pnode(0.5,0.5){A}\pnode(4.5,0.5){B}
+ \pnodes(0.5,0.5){A}(4.5,0.5){B}
\optbox[compshift=0.5, angle=10, rotateref=tr, extnode={-0.5,1}](A)(B)
\psline[style=Refline](\oenodeTrefA{})(\oenodeTrefB{})
\psline[style=Refline, linestyle=dashed](\oenodeRefA{})(\oenodeRefB{})
@@ -6976,7 +7026,7 @@
% \fi
\begin{LTXexample}
\begin{pspicture}(3,1.5)
- \pnode(0,1){A}\pnode(1.5,1){B}
+ \pnodes(0,1){A}(1.5,1){B}
\optbox[position=end, labeloffset=0](A)(B){1}
\drawbeam(A){1}
\end{pspicture}
@@ -7189,7 +7239,7 @@
%\fi
\begin{LTXexample}[linerange={1-7,9-9}]
\begin{pspicture}(3,2.2)
- \pnode(0,1.5){A}\pnode(1,1.5){B}\pnode(3,1){C}
+ \pnodes(0,1.5){A}(1,1.5){B}(3,1){C}
\optprism[prismsize=1.2](A)(B)(C)
\optplane(C)
\drawbeam[n=1, linecolor=blue](A){1}{2}
@@ -7222,7 +7272,7 @@
%\fi
\begin{LTXexample}[linerange={1-6,8-8}]
\begin{pspicture}(4,2)
- \pnode(0,1){A}\pnode(4,1){B}
+ \pnodes(0,1){A}(4,1){B}
\doveprism[doveprismsize=1](A)(B)
\drawbeam[n=1, linecolor=blue, beampos=0.1](A){1}(B)
\drawbeam[n=1.5, linecolor=red](A){1}(B)
@@ -7247,7 +7297,7 @@
%\fi
\begin{LTXexample}[linerange={1-7,9-9}, morekeywords={[21]beampos,beamangle}]
\begin{pspicture}(3.7,2)
- \pnode(0,1){A}\pnode(4,1){B}
+ \pnodes(0,1){A}(4,1){B}
\doveprism[doveprismsize=1](A)(B)
\psset[optexp]{raytrace=false}
\drawbeam[linecolor=blue, beampos=0.2, beamangle=-10](A){1}(B)
@@ -7258,7 +7308,7 @@
\end{LTXexample}
\begin{LTXexample}[linerange={1-7,9-9}, morekeywords={[21]beampos,beamangle}]
\begin{pspicture}(3.7,2)
- \pnode(0,1){A}\pnode(4,1){B}
+ \pnodes(0,1){A}(4,1){B}
\doveprism[doveprismsize=1](A)(B)
\psset[optexp]{raytrace=false}
\drawbeam[linecolor=blue, beampos=0.2](A){1}(B)
@@ -7290,7 +7340,7 @@
% \fi
\begin{LTXexample}
\begin{pspicture}(3,2)
- \pnode(0,0.5){A}\pnode(2.5,0.5){B}\pnode(2.5,2){C}
+ \pnodes(0,0.5){A}(2.5,0.5){B}(2.5,2){C}
\mirror(A)(B)(C)
\psset{useNA=false}
\drawbeam(A){}(C)
@@ -7405,7 +7455,7 @@
% \fi
\begin{LTXexample}
\begin{pspicture}(3,1.5)
- \pnode(0,1){A}\pnode(3,1){B}
+ \pnodes(0,1){A}(3,1){B}
\doveprism[n=*sqrt(5)](A)(B)
\drawbeam(A){}(B)
\end{pspicture}
@@ -7428,7 +7478,7 @@
% \fi
\begin{LTXexample}[morekeywords = {[21]{n}}]
\begin{pspicture}(3,3)
- \pnode(0,1){A}\pnode(3,1){B}
+ \pnodes(0,1){A}(3,1){B}
\optplane(A)
\psset{lens=3 3 2, n=1.5}
\lens[abspos=0.5](A)(B)
@@ -7457,7 +7507,7 @@
% \fi
\begin{LTXexample}[morekeywords = {[21]{n}}]
\begin{pspicture}(3,3)
- \pnode(0,1.5){A}\pnode(3,1.5){B}
+ \pnodes(0,1.5){A}(3,1.5){B}
\lens[lens=4 4 3, n=2, abspos=0.3](A)(B)
\optplane[compname=Plane](B)
\psset{beampos=0.6}
@@ -7489,7 +7539,7 @@
% \fi
\begin{LTXexample}[morekeywords = {[21]{n}}]
\begin{pspicture}(3,3)
- \pnode(-1,0){A}\pnode(1,2.2){B}\pnode(3,0){C}
+ \pnodes(-1,0){A}(1,2.2){B}(3,0){C}
\optplane(0,2.15)
\optprism[prismalign=center, prismangle=59](A)(B)(C)
\optplane(C)
@@ -7517,7 +7567,7 @@
% \fi
\begin{LTXexample}[morekeywords = {[21]{n}}]
\begin{pspicture}(0.3,0)(3.3,5.2)
- \pnode(0.3,1){A}\pnode(2,1){B}\pnode(3,2){C}\pnode(2.5,5){D}
+ \pnodes(0.3,1){A}(2,1){B}(3,2){C}(2.5,5){D}
\optplane(A)
\optgrating[reverse](A)(B)(C)
\pinhole[phwidth=-0.1, innerheight=0.03, abspos=0.5](D)(B)
@@ -7565,7 +7615,7 @@
% \fi
\begin{LTXexample}[morekeywords = {[21]{beampos}}]
\begin{pspicture}(4,3.8)
- \pnode(1.5,0.5){A}\pnode(3.5,0.5){B}\pnode(3.5,3.5){C}
+ \pnodes(1.5,0.5){A}(3.5,0.5){B}(3.5,3.5){C}
\optbox[position=end](B)(A)
\mirror[mirrortype=extended, mirrorradius=3](A)(B)(C)
\optplate[position=end](B)(C)
@@ -7632,7 +7682,7 @@
% \fi
\begin{LTXexample}[morekeywords = {[21]{beamangle}}]
\begin{pspicture}(4,4)
- \pnode(1.5,0.5){A}\pnode(3.5,0.5){B}\pnode(3.5,3.5){C}
+ \pnodes(1.5,0.5){A}(3.5,0.5){B}(3.5,3.5){C}
\optbox[position=end](B)(A)
\mirror[mirrortype=extended](A)(B)(C)
\optplate[position=end](B)(C)
@@ -7674,7 +7724,7 @@
% \fi
\begin{LTXexample}[morekeywords = {[21]{beamalign, angle}}]
\begin{pspicture}(3,1.5)
- \pnode(0,0.75){A}\pnode(3,0.75){B}
+ \pnodes(0,0.75){A}(3,0.75){B}
\optbox[angle=10, showifcnodes](A)(B)
\drawbeam(A){}(B)
\drawbeam[linecolor=red, beamalign=abs](A){}(B)
@@ -7704,7 +7754,7 @@
% \fi
\begin{LTXexample}[morekeywords = {[21]{beampathskip}}, pos=t]
\begin{pspicture}(5,2)
-\pnode(0,1){A}\pnode(5,1){B}\pnode(2,0){C}
+\pnodes(0,1){A}(5,1){B}(2,0){C}
\begin{optexp}
\glanthompson(A)(B)
\optplane(B)\optplane[angle=90](C)
@@ -7737,7 +7787,7 @@
% \fi
\begin{LTXexample}[morekeywords = {[21]{beampathcount}}]
\begin{pspicture}(3,2)
- \pnode(0,2){A}\pnode(2,0.8){B}\pnode(4,2){C}
+ \pnodes(0,2){A}(2,0.8){B}(4,2){C}
\optprism[compname=P, prismtype=reflective, prismangle=90](A)(B)(C)
\lens[abspos=1.33](\oenodeIfc{2}{P})(A)%
\drawwidebeam[beamwidth=0.2, beaminsidelast, beampathcount=4](A){2}{1}
@@ -7865,7 +7915,7 @@
\begin{LTXexample}[morekeywords = {[21]{allowbeaminside}}]
\begin{pspicture}(3,2)
\psset{optboxwidth=0.5}
- \pnode(0,1){A}\pnode(3,1){B}
+ \pnodes(0,1){A}(3,1){B}
\optbox[position=0.2](A)(B)
\optbox[position=0.4, allowbeaminside=false](A)(B)
\optbox[position=0.6](A)(B)
@@ -7901,7 +7951,7 @@
\begin{LTXexample}[morekeywords = {[21]{forcebeaminside}}]
\begin{pspicture}(3,2)
\psset{optboxwidth=0.5}
- \pnode(0,1){A}\pnode(3,1){B}
+ \pnodes(0,1){A}(3,1){B}
\optbox[position=0.2](A)(B)
\optbox[position=0.4, forcebeaminside](A)(B)
\optbox[position=0.6](A)(B)
@@ -7933,7 +7983,7 @@
% \fi
\begin{LTXexample}[morekeywords = {[21]{stopinsidecount, startinsidecout}}]
\begin{pspicture}(4,2)
- \pnode(0,2){A}\pnode(2,0.8){B}\pnode(4,2){C}
+ \pnodes(0,2){A}(2,0.8){B}(4,2){C}
\optprism[compname=P, prismtype=reflective, prismangle=90](A)(B)(C)
\lens[abspos=1.33](\oenodeIfc{2}{P})(A)%
\lens[abspos=1.33](\oenodeIfc{2}{P})(C)%
@@ -7981,7 +8031,7 @@
% \fi
\begin{LTXexample}
\begin{pspicture}(3,2)
- \pnode(0,1){A}\pnode(2.5,1){B}
+ \pnodes(0,1){A}(2.5,1){B}
\lens[lens=3 3 2, n=2.5, abspos=0.5](A)(B)
\multido{\r=-0.3+0.3}{3}{%
\drawbeam[beampos=\r](A){}(B)}
@@ -7989,7 +8039,7 @@
\end{LTXexample}
\begin{LTXexample}
\begin{pspicture}(3,2)
- \pnode(0,1){A}\pnode(3,1){B}
+ \pnodes(0,1){A}(3,1){B}
\lens[abspos=0.5](A)(B)
\addtopsstyle{Beam}{linecolor=black, fillstyle=solid, beamwidth=0.2, fillcolor=red, opacity=0.5, beaminside=false}
\multido{\r=-0.3+0.3}{3}{\drawwidebeam[beampos=\r](A){}(B)}
@@ -8017,7 +8067,7 @@
% \fi
\begin{LTXexample}[morekeywords={[21]beamnodealign}]
\begin{pspicture}(3,2)
- \pnode(0,1){A}\pnode(3,1){B}
+ \pnodes(0,1){A}(3,1){B}
\lens[abspos=0.5](A)(B)
\addtopsstyle{Beam}{linecolor=black, fillstyle=solid, beamwidth=0.2, beamnodealign=vector, fillcolor=green, opacity=0.5, beaminside=false}
\multido{\r=-0.3+0.3}{3}{\drawwidebeam[beampos=\r](A){}(B)}
@@ -8047,14 +8097,14 @@
%
% \hspace*{\fill}%
% \begin{pspicture}(4,2.7)
-% \pnode(0,0.5){A}\pnode(4,0.5){B}
+% \pnodes(0,0.5){A}(4,0.5){B}
% \lens[compshift=0.5, abspos=1, lens=1.5 1.5 2](A)(B)
% \drawwidebeam[beamalign=absolute, linecolor=black, fillstyle=solid, beamwidth=0.6, fillcolor=green, opacity=0.5, beamnodealign=vector](A){}(B)
% \rput[rb](4,0){\ttfamily vector}
% \end{pspicture}
% \hspace*{1cm}%
% \begin{pspicture}(5,3)
-% \pnode(0,0.5){A}\pnode(4,0.5){B}
+% \pnodes(0,0.5){A}(4,0.5){B}
% \lens[compshift=0.5, abspos=1, lens=1.5 1.5 2](A)(B)
% \drawwidebeam[beamalign=absolute, linecolor=black, fillstyle=solid, beamwidth=0.6, fillcolor=red, opacity=0.5](A){}(B)
% \rput[rb](5,0){\ttfamily connection}
@@ -8087,7 +8137,7 @@
% \fi
\begin{LTXexample}
\begin{pspicture}(3,2)
- \pnode(0,1){A}\pnode(2.5,1){B}
+ \pnodes(0,1){A}(2.5,1){B}
\lens[lens=3 3 2, n=2.5, abspos=0.5](A)(B)
\optplane[angle=-30](B)
\multido{\r=-0.3+0.3}{3}{%
@@ -8208,7 +8258,7 @@
% \fi
\begin{LTXexample}
\begin{pspicture}(0,0)(3.5,2)
- \pnode(0,1.5){A}\pnode(2,1.5){B}\pnode(2.8,0){C}
+ \pnodes(0,1.5){A}(2,1.5){B}(2.8,0){C}
\mirror[mirrorwidth=1.2, mirrortype=extended](A)(B)(C)
\newpsstyle{Beam}{linecolor=green, linestyle=none, fillstyle=solid, fillcolor=green, opacity=0.2}
\drawwidebeam[beamwidth=0.5](A){}(C)
@@ -8359,7 +8409,7 @@
% \fi
\begin{LTXexample}[morekeywords = {[21]{beamwidth}}]
\begin{pspicture}(4,4)
- \pnode(1.5,0.5){A}\pnode(3.5,0.5){B}\pnode(3.5,3.5){C}
+ \pnodes(1.5,0.5){A}(3.5,0.5){B}(3.5,3.5){C}
\optbox[position=end](B)(A)
\mirror[mirrortype=extended](A)(B)(C)
\optplate[position=end](B)(C)
@@ -8384,7 +8434,7 @@
% \fi
\begin{LTXexample}[morekeywords = {[21]{beamdiv}}, linerange={1-8,11-11}]
\begin{pspicture}(3,2)
- \pnode(0,1){A}\pnode(3,1){B}
+ \pnodes(0,1){A}(3,1){B}
\psset{plateheight=2}
\optplate[position=start](A)(B)
\optplate[position=end](A)(B)
@@ -8429,7 +8479,7 @@
% \fi
\begin{LTXexample}
\begin{pspicture}(3,2)
- \pnode(0,0.5){A}\pnode(1,0.5){B}\pnode(2.8,2){C}
+ \pnodes(0,0.5){A}(1,0.5){B}(2.8,2){C}
\mirror[mirrorwidth=1.5](A)(B)(C)
\drawwidebeam[beamwidth=0.4](A){}(C)
\end{pspicture}
@@ -8447,7 +8497,7 @@
% \fi
\begin{LTXexample}[morekeywords={[21]fillstyle, linestyle}]
\begin{pspicture}(3,2)
- \pnode(0,0.5){A}\pnode(1,0.5){B}\pnode(2.8,2){C}
+ \pnodes(0,0.5){A}(1,0.5){B}(2.8,2){C}
\mirror[mirrorwidth=1.5](A)(B)(C)
\addtopsstyle{Beam}{fillstyle=solid, fillcolor=red!50!white, linecolor=red}
\drawwidebeam[beamwidth=0.4](A){}(C)
@@ -8466,7 +8516,7 @@
% \fi
\begin{LTXexample}[morekeywords={[21]fillstyle, linestyle}]
\begin{pspicture}(3,2)
- \pnode(0,0.5){A}\pnode(1,0.5){B}\pnode(2.8,2){C}
+ \pnodes(0,0.5){A}(1,0.5){B}(2.8,2){C}
\mirror[mirrorwidth=1.5](A)(B)(C)
\addtopsstyle{Beam}{fillstyle=solid, fillcolor=red, opacity=0.3, linestyle=none}
\drawwidebeam[beamwidth=0.4](A){}(C)
@@ -8512,7 +8562,7 @@
% \fi
\begin{LTXexample}
\begin{pspicture}(3,2.7)
- \pnode(0,1){A}\pnode(3,1){B}
+ \pnodes(0,1){A}(3,1){B}
\optplate[position=start](A)(B)
\lens[lens=4 4 2, abspos=0.5, n=2.5](A)(B)
\optplate[position=end, plateheight=0.5](A)(B)
@@ -8541,7 +8591,7 @@
% \fi
\begin{LTXexample}
\begin{pspicture}(3,2.5)
- \pnode(0,2){A}\pnode(3,0){B}
+ \pnodes(0,2){A}(3,0){B}
\optplane(A)
\optprism[n=1.8](A)([Xnodesep=1.5]A)(B)
\optplane(B)
@@ -8566,7 +8616,7 @@
% \fi
\begin{LTXexample}
\begin{pspicture}(3,2.5)
- \pnode(0,2){A}\pnode(3,0){B}
+ \pnodes(0,2){A}(3,0){B}
\optplane(A)
\optprism[n=1.8](A)([Xnodesep=1.5]A)(B)
\optplane(B)
@@ -8591,7 +8641,7 @@
% \fi
\begin{LTXexample}
\begin{pspicture}(3,2.7)
- \pnode(0,1){A}\pnode(2,1){B}
+ \pnodes(0,1){A}(2,1){B}
\optplate[position=start](A)(B)
\lens[lens=4 4 2, abspos=0.5, n=2.5](A)(B)
\fiberdelayline[fdlsize=1 0.7, position=end, fiber=none](A)(B)
@@ -8688,7 +8738,7 @@
% \fi
\begin{LTXexample}[morekeywords={[21]{savebeampoints, loadbeampoints}}]
\begin{pspicture}(4,2)
- \pnode(0,1){A}\pnode(4,1){B}
+ \pnodes(0,1){A}(4,1){B}
\begin{optexp}
\lens[lens=0.5 0.5 0.5, abspos=0.5](A)(B)
\lens[lens=4 4 2, abspos=2](A)(B)
@@ -8720,7 +8770,7 @@
\begin{LTXexample}[morekeywords={[21]{savebeampoints, loadbeampoints}},
linerange={1-12,16-16}, caption={caption}, label={ex:loadbeampoints}]
\begin{pspicture}(3.5,3.5)
- \pnode(0,0.5){A}\pnode(2,0.5){B}\pnode(2,3){C}
+ \pnodes(0,0.5){A}(2,0.5){B}(2,3){C}
\nodexn{(C)-(1,0)}{C'}
\nodexn{(C)(1,0)}{C''}
\optgrating(A)(B)(C)
@@ -8774,7 +8824,7 @@
\begin{LTXexample}[morekeywords={[21]{savebeam, loadbeam}},
linerange={1-10,14-14}, caption={caption}, label={ex:loadbeam}]
\begin{pspicture}(3.5,3.5)
- \pnode(0,0.5){A}\pnode(2,0.5){B}\pnode(2,3){C}
+ \pnodes(0,0.5){A}(2,0.5){B}(2,3){C}
\optgrating(A)(B)(C)
\addtopsstyle{Beam}{%
fillstyle=solid, fillcolor=green, opacity=0.3}
@@ -8818,7 +8868,7 @@
% \fi
\begin{LTXexample}[linerange={1-6,9-9}, morekeywords={[21]{savebeam, loadbeam}}]
\begin{pspicture}(3,1.5)
- \pnode(0,0.5){A}\pnode(1.5,1.5){B}\pnode(3,0.5){C}
+ \pnodes(0,0.5){A}(1.5,1.5){B}(3,0.5){C}
\beamsplitter(A)(1.5,0.5)(B)
\drawbeam[beaminsidelast, savebeam](A){}
\drawbeam[linecolor=red, beaminsidefirst, loadbeam]{}(B)
@@ -8830,7 +8880,7 @@
\begin{LTXexample}[linerange={1-6,9-9}, morekeywords={[21]{savebeam, loadbeam}}]
\begin{pspicture}(3,1.5)
- \pnode(0,0.5){A}\pnode(1.5,1.5){B}\pnode(3,0.5){C}
+ \pnodes(0,0.5){A}(1.5,1.5){B}(3,0.5){C}
\mirror[mirrortype=semitrans](A)(1.5,0.5)(B)
\drawbeam[beaminsidelast, savebeam](A){}
\drawbeam[linecolor=red, beaminsidefirst, loadbeam]{}(B)
@@ -9005,7 +9055,7 @@
% \fi
\begin{LTXexample}[linerange={1-3,10-11}]
\begin{pspicture}(-1,-0.7)(7,2.7)
- \pnode(0,1){A}\pnode(6,1){B}
+ \pnodes(0,1){A}(6,1){B}
\optbox[angle=30](A)(B)
\psdot(\oenodeRefA{})\uput[180](\oenodeRefA{}){RefA}%
\psdot(\oenodeRefB{})\uput[0](\oenodeRefB{}){RefB}%
@@ -9091,10 +9141,9 @@
% \iffalse
%<*ignore>
% \fi
-\begin{LTXexample}[linerange={1-5,10-11}]
+\begin{LTXexample}[linerange={1-4,9-10}]
\begin{pspicture}(0,-0.8)(7,0.8)
- \pnode(0,0){A}\pnode(3,0){B}
- \pnode(4,0){C}\pnode(7,0){D}
+ \pnodes(0,0){A}(3,0){B}(4,0){C}(7,0){D}
\optbox[angle=30](A)(B)
\optbox[angle=-30](C)(D)
\psline[style=Refline, linestyle=dashed](\oenodeTrefA{1})(\oenodeTrefB{1})
@@ -9139,10 +9188,9 @@
% \iffalse
%<*ignore>
% \fi
-\begin{LTXexample}[linerange={1-5,10-11}]
+\begin{LTXexample}[linerange={1-4,9-10}]
\begin{pspicture}(1,-1.7)(7,1.7)
- \pnode(0,0){A}\pnode(4,0){B}
- \pnode(3,0){C}\pnode(7,0){D}
+ \pnodes(0,0){A}(4,0){B}(3,0){C}(7,0){D}
\optbox[angle=30](A)(B)
\optbox[angle=-30](C)(D)
\psline[style=Refline, linestyle=dashed](\oenodeTrefA{1})(\oenodeTrefB{1})
@@ -9202,7 +9250,7 @@
% \fi
\begin{LTXexample}[morekeywords={[21]fiberalign}, linerange={1-3,7-8}]
\begin{pspicture}(1,-1)(4.5,1)
- \pnode(0,0){A}\pnode(4,0){B}
+ \pnodes(0,0){A}(4,0){B}
\optbox[angle=30](A)(B)
\psline[style=Refline, linestyle=dashed](\oenodeTrefA{})(\oenodeTrefB{})
\psline[style=Refline, linestyle=dashed](\oenodeRefA{})(\oenodeRefB{})
@@ -9237,7 +9285,7 @@
% \fi
\begin{LTXexample}[morekeywords={[21]fiberangleA, fiberangleB}, linerange={1-3,7-9}]
\begin{pspicture}(0,-1)(4,1)
- \pnode(0,0){A}\pnode(4,0){B}
+ \pnodes(0,0){A}(4,0){B}
\optbox[angle=30](A)(B)
\psline[style=Refline, linestyle=dashed](\oenodeTrefA{})(\oenodeTrefB{})
\psline[style=Refline, linestyle=dashed](\oenodeRefA{})(\oenodeRefB{})
@@ -9288,7 +9336,7 @@
\begin{LTXexample}[linerange={1-1,3-6}]
\begin{pspicture}(3,2)
\psset{label=0, optboxwidth=1}
- \pnode(-0.5,1){A}\pnode(1.5,1){B}\pnode(3.5,1){C}
+ \pnodes(-0.5,1){A}(1.5,1){B}(3.5,1){C}
\optbox(A)(B){Box1}\optbox(B)(C){Box2}
\drawfiber{1}{2}
\end{pspicture}
@@ -9309,11 +9357,10 @@
% \iffalse
%<*ignore>
% \fi
-\begin{LTXexample}[linerange={1-1,3-7}]
+\begin{LTXexample}[linerange={1-1,3-6}]
\begin{pspicture}(2,2)
\psset{label=0}
- \pnode(0,0.5){A}\pnode(2,0.5){B}
- \pnode([offset=1]B){C}\pnode(A|C){D}
+ \pnodes(0,0.5){A}(2,0.5){B}([offset=1]B){C}(A|C){D}
\optbox(A)(B){Box1}\optbox(C)(D){Box2}
\drawfiber{1}{2}
\end{pspicture}
@@ -9342,8 +9389,7 @@
\begin{LTXexample}[morekeywords={[21]startnode}]
\begin{pspicture}(2,2)
\psset{label=0}
- \pnode(0,0.5){A}\pnode(2,0.5){B}
- \pnode([offset=1]B){C}\pnode(A|C){D}
+ \pnodes(0,0.5){A}(2,0.5){B}([offset=1]B){C}(A|C){D}
\optbox(A)(B){Box1}\optbox(C)(D){Box2}
\drawfiber[startnode=1]{1}{2}
\drawfiber[startnode=N, linecolor=black]{1}{2}
@@ -9366,8 +9412,7 @@
% \fi
\begin{LTXexample}[morekeywords={[21]startnode}, caption={caption}, label={ex:nalm}]
\begin{pspicture}(2.1,3)
- \pnode(0,0){A}\pnode(2,0){B}
- \pnode(0.3,3){C}\pnode(1.7,3){D}
+ \pnodes(0,0){A}(2,0){B}(0.3,3){C}(1.7,3){D}
\psset{fiber=none, arrowscale=1.2, arrowinset=0}
\optcoupler[fiber=l,
addtoFiberIn1={angleA=0, ArrowInside=->},
@@ -9435,7 +9480,7 @@
% \fi
\begin{LTXexample}[morekeywords={[21]fiberstyle}]
\begin{pspicture}(3,3)
- \pnode(1, 0.5){A}\pnode(2.5,0.5){B}\pnode(2.5,2){C}
+ \pnodes(1, 0.5){A}(2.5,0.5){B}(2.5,2){C}
\psset{optboxsize=1 0.6, innerlabel}
\optbox[position=start](A)(B){start}
\optbox[position=end](B)(C){stop}
@@ -9445,8 +9490,7 @@
\begin{LTXexample}[morekeywords={[21]fiberstyle}, label={ex:recirc-loop}, caption={caption}]
\begin{pspicture}(4,2.5)
- \pnode(1,2.5){In}\pnode(3,2.5){Out}
- \pnode(0,2){A}\pnode(4,2){B}\pnode(4,0){C}\pnode(0,0){D}
+ \pnodes(1,2.5){In}(3,2.5){Out}(0,2){A}(4,2){B}(4,0){C}(0,0){D}
\optcoupler[fiber=t, addtoFiber={ArrowInside=->}, coupleralign=b](In)(A)(Out)(B)
\psset{fiber=none}
\optamp[position=0.35](C)(D)
@@ -9645,7 +9689,7 @@
\psset{fiber}
\optbox(0,2.5)(3,2.5)
\optmzm(0,1.5)(3,1.5)
- \elecsynthesizer[position=0.5](1,0.5)(3,0.5)
+ \elecsynthesizer[position=0.5](0,0.5)(3,0.5)
\end{pspicture}
\end{LTXexample}
% \iffalse
@@ -10234,7 +10278,8 @@
% \fi
%
% \begin{ltxsyntax}
-% \dipoledesc{optdipole}
+% \xLdipole{optdipole}%
+% \compitem{optdipole}[options](in)(out){comp}{label}
% \iffalse
%<*ignore>
% \fi
@@ -10249,7 +10294,9 @@
%</ignore>
% \fi
%
-% \tripoledesc{opttripole}
+% \xLdipole{opttripole}%
+% \compitem{opttripole}[options](in)(center)(out){comp}{label}
+%
% \iffalse
%<*ignore>
% \fi
@@ -10295,7 +10342,7 @@
% \fi
\begin{LTXexample}[morekeywords={[21]optdipolesize}]
\begin{pspicture}(3,2)
-\pnode(0,1){A}\pnode(3,1){B}
+\pnodes(0,1){A}(3,1){B}
\optdipole[optdipolesize=1, showifcnodes](A)(B){%
\psframe[fillstyle=solid,fillcolor=black!30](-0.5,-0.5)(-0.3,0.5)
\psframe(-0.5,-0.5)(0.5,0.5)}{label}
@@ -10326,7 +10373,7 @@
% \fi
\begin{LTXexample}[morekeywords={[21]optdipolesize}]
\begin{pspicture}(3,2)
-\pnode(0,1){A}\pnode(3,1){B}
+\pnodes(0,1){A}(3,1){B}
\optdipole[optdipolesize=1 0.2, showifcnodes](A)(B){%
\psframe[fillstyle=solid,fillcolor=black!30](-0.5,-0.5)(-0.3,0.5)
\psframe(-0.5,-0.5)(0.5,0.5)}{label}
@@ -10338,6 +10385,65 @@
%</ignore>
% \fi
%
+% \optitem{optdipolecomp}{\prm{macros}}
+% \ifGERMAN Mit dieser Option kann die Zeichnung einer Komponente
+% definiert werden, um dann mit \Lcs*{newpsobject} basierend auf
+% \Lcomp{optdipole} eine neuen Komponente zu definieren.
+% \fi
+% \ifENGLISH
+% This option defines the drawing of a component, and can be used to
+% define a new component based in \Lcomp{optdiple} with
+% \Lcs*{newpsobject}.
+% \fi
+%
+% \iffalse
+%<*ignore>
+% \fi
+\begin{LTXexample}[morekeywords={[21]optdipolecomp}]
+\begin{pspicture}(3,2)
+\def\phasemodulatorcomp{%
+ \psframe(-1,-0.4)(1,0.4)
+ \psframe[fillstyle=hlines](-1.3,-0.5)(1.3,-0.4)
+ \psframe[fillstyle=hlines](-1.3,0.5)(1.3,0.4)}
+\newpsobject{phasemodulator}{optdipole}{optdipolesize=2 0.8, optdipolecomp={\phasemodulatorcomp}}
+\pnodes(0,1){A}(3,1){B}
+\phasemodulator(A)(B){LiNbO$_3$}
+\drawwidebeam[beamwidth=0.3, beaminside=false](A){}(B)
+\end{pspicture}
+\end{LTXexample}
+% \iffalse
+%</ignore>
+% \fi
+%
+% \optitem{opttripolecomp}{\prm{macros}}
+% \ifGERMAN Mit dieser Option kann die Zeichnung einer Komponente
+% definiert werden, um dann mit \Lcs*{newpsobject} basierend auf
+% \Lcomp{opttripole} eine neuen Komponente zu definieren.
+% \fi
+% \ifENGLISH
+% This option defines the drawing of a component, and can be used to
+% define a new component based in \Lcomp{opttriple} with
+% \Lcs*{newpsobject}.
+% \fi
+%
+% \iffalse
+%<*ignore>
+% \fi
+\begin{LTXexample}[morekeywords={[21]opttripolecomp}]
+\begin{pspicture}(3,2)
+\def\ampmodcomp{%
+ \psframe*[linestyle=none](-0.5,0)(0.5,0.1)
+ \psframe*[linestyle=none, linecolor=gray](-0.5,0.1)(0.5,0.2)}
+\newpsobject{ampmod}{opttripole}{opttripolecomp={\ampmodcomp}}
+\pnodes(0,0){A}(2,1.5){B}(3,0){C}
+\ampmod(A)(B)(C){AM}
+\drawwidebeam[beamwidth=0.3](A){}(C)
+\end{pspicture}
+\end{LTXexample}
+% \iffalse
+%</ignore>
+% \fi
+%
% \ifGERMAN
% Weitere Beispiel sind \prettyref{ex:lclv} und
% \prettyref{ex:absspektr}.
@@ -10398,7 +10504,7 @@
\begin{pspicture}(10,2)
\newpsobject{MOLensIn}{lens}{lens=0.5 0.5 0.5}
\newpsobject{MOLensOut}{lens}{lens=1.5 1.5 1.5}
- \pnode(0,1){A}\pnode(10,1){B}
+ \pnodes(0,1){A}(10,1){B}
\MOLensIn[abspos=1](A)(B)\MOLensOut[abspos=2](A)(B)
\optplate[plateheight=1.5](A)(B)
\MOLensOut[abspos=8](A)(B)\MOLensIn[abspos=9](A)(B)
@@ -10740,8 +10846,7 @@
\begin{LTXexample}[pos=t, caption={caption}]
\begin{pspicture}(0.1,0.4)(10,4.5)
\psset[optexp]{lens=1 1 0.7, loadbeampoints}
- \pnode(2,4){L}\pnode([Xnodesep=4]L){M}
- \pnode([Xnodesep=1.5]M){IRSpec}\pnode([offset=-2.5]M){OSA}
+ \pnodes(2,4){L}([Xnodesep=4]L){M}([Xnodesep=1.5]M){IRSpec}([offset=-2.5]M){OSA}
\begin{optexp}
\optbox[position=start, innerlabel, optboxwidth=1.8](L)(M){fs laser}
\lens[abspos=1](L)(M)
@@ -10767,7 +10872,7 @@
\begin{LTXexample}[pos=t, caption={caption}]
\begin{pspicture}(-4.2,-1)(3,3)
-\pnode(-2,0){LOut}\pnode(0,0){Grat}\pnode(4;45){Out}\pnode(2.5;70){Mvar}
+\pnodes(-2,0){LOut}(0,0){Grat}(4;45){Out}(2.5;70){Mvar}
\newpsstyle{Beam}{linewidth=2\pslinewidth, linecolor=red!90!black}
\begin{optexp}
\optbox[optboxwidth=2.2, labeloffset=0, position=start](LOut)(Grat){diode laser}
@@ -10784,7 +10889,7 @@
\begin{LTXexample}[pos=t, caption={caption}]
\begin{pspicture}(8.5,1.9)
-\pnode(1.4,1.3){Laser}\pnode(7.6,1.3){Diode}
+\pnodes(1.4,1.3){Laser}(7.6,1.3){Diode}
\optbox[position=start, labeloffset=0](Laser)(Diode){Laser}%
\optbox[abspos=4, optboxsize=1 0.6, labeloffset=1, n=3,
compname=PC, angle=-10, rotateref=l](Laser)(Diode){Photonic Crystal}
@@ -10802,7 +10907,7 @@
\enlargethispage{2cm}
\begin{LTXexample}[pos=t, caption={caption}]
\begin{pspicture}(10.4,1.7)
-\pnode(1.2,1){Start}\pnode(9.2,1){CCD}
+\pnodes(1.2,1){Start}(9.2,1){CCD}
\begin{optexp}
\optbox[position=end, label=0, optboxwidth=1.2](CCD)(Start){Laser}
\optbox[position=end, label=0, optboxwidth=1.2](Start)(CCD){CCD}
@@ -10822,7 +10927,7 @@
\begin{LTXexample}[pos=t, caption={caption}]
\begin{pspicture}(10.4,1.7)
-\pnode(1.2,1){Start}\pnode(9.2,1){CCD}
+\pnodes(1.2,1){Start}(9.2,1){CCD}
\begin{optexp}
\optbox[position=start, label=0, optboxwidth=1.2](Start)(CCD){Laser}
\polarization[poltype=perp,abspos=0.5](Start)(CCD)
@@ -10850,8 +10955,8 @@
\captionsetup[lstlisting]{format=poecaption}
\begin{LTXexample}[pos=t, caption={\ifGERMAN Angepasst von \fi\ifENGLISH Adapted from \fi\arxivurl{1112.5270v2}}]
\begin{pspicture}(0.3,0.4)(5.5,8.3)
-\pnode(2,7){L}\pnode(2,5.8){Pbs}\pnode([Xnodesep=1]Pbs){Blk1}\pnode(2,2.3){Bs}
-\pnode([Xnodesep=-1]Bs){Blk2}\pnode([Xnodesep=3.5]Bs){Out}\pnode(2,1.3){Slm}
+\pnodes(2,7){L}(2,5.8){Pbs}([Xnodesep=1]Pbs){Blk1}(2,2.3){Bs}
+\pnodes([Xnodesep=-1]Bs){Blk2}([Xnodesep=3.5]Bs){Out}(2,1.3){Slm}
\begin{optexp}
\optbox[position=end, innerlabel, optboxsize=1.2 0.6](Pbs)(L){Laser}
\psset{labelalign=r, mirrortype=extended}
@@ -10883,7 +10988,7 @@
\begin{LTXexample}[pos=t, caption={caption}]
\begin{pspicture}(6.4,3.2)
\addtopsstyle{Fiber}{linecolor=red}\psset{fiber=none}
-\pnode(2.3,2.3){Lin}\pnode([Xnodesep=4.5]Lin){Det}
+\pnodes(2.3,2.3){Lin}([Xnodesep=4.5]Lin){Det}
\optbox[label=0.2, position=start, compname=L, extnode=b](Lin)(Det){%
\psGauss[yunit=0.03,sigma=0.03]{-0.5}{0.5}}
\optbox[label=0, compname=EAM, extnode=b, abspos=1.5](Lin)(Det){EAM}
@@ -10902,7 +11007,7 @@
\enlargethispage{1cm}
\begin{LTXexample}[pos=t, caption={caption}]
\begin{pspicture}(0.2,0.6)(8.2,3.5)
-\pnode(2,3){Laser}\pnode(2,1){PwMeter}\pnode(6,3){CplTop}\pnode(6,1){CplBot}
+\pnodes(2,3){Laser}(2,1){PwMeter}(6,3){CplTop}(6,1){CplBot}
\psset{arrowscale=1.5, arrowinset=0}
\optbox[position=start, optboxsize=1.8 1, labeloffset=0](Laser)([Xnodesep=0.1]Laser){%
\begin{tabular}{@{}c@{}}Nd:YAG\\[-0.4ex]cw laser\end{tabular}}
@@ -10917,9 +11022,8 @@
\begin{LTXexample}[pos=t, caption={caption}]
\begin{pspicture}(0.9,0.9)(10.4,6.1)
\psset{arrowscale=1.5, arrowinset=0}
-\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}
+\pnodes(2,5){PC1in}(4,5){PC1out}(6,5){PC2in}(8,5){PC2out}(2,2){CplSig}
+\pnodes(5,2){CplIn}(2,1){CplOut}(10,4.5){Pump}(8,2){PumpSig}
\optisolator[compshift=0.8, addtoFiberIn={angleA=180},
addtoFiberOut={angleB=180}, label=0.5 . l]%
(CplSig)(PC1in){isolator}
@@ -10940,8 +11044,7 @@
\begin{LTXexample}[pos=t, caption={caption}]
\begin{pspicture}(1,1.2)(6.2,5)
-\pnode(1,4){SigIn}\pnode(3,4){BS}\pnode(3,5){LO}
-\pnode(5,4){Det1}\pnode(3,2){Det2}
+\pnodes(1,4){SigIn}(3,4){BS}(3,5){LO}(5,4){Det1}(3,2){Det2}
\begin{optexp}
\optplane[compname=LO, angle=90](LO)
\beamsplitter[compname=BS](SigIn)(BS)(Det2)
@@ -10970,8 +11073,7 @@
\begin{pspicture}(-0.2,0)(9,5)
\psset[optexp]{lens=1.2 0 1.2, n=1.72}
\addtopsstyle{Beam}{fillstyle=solid, fillcolor=green, opacity=0.3}
-\pnode(2.4,1){BS1}\pnode([offset=3]BS1){M1}
-\pnode([Xnodesep=5.5]M1){PP}\pnode(PP|BS1){BS2}
+\pnodes(2.4,1){BS1}([offset=3]BS1){M1}([Xnodesep=5.5]M1){PP}(PP|BS1){BS2}
\begin{optexp}
\optbox[label=0, position=start, optboxwidth=1.6]([Xnodesep=-1]BS1)(BS1){Nd:YAG}
\beamsplitter[compname=BS](BS2)(BS1)(M1){BS}
@@ -10997,9 +11099,8 @@
\enlargethispage{1cm}
\begin{LTXexample}[pos=t, caption={caption}]
\begin{pspicture}(0,-0.2)(8.6,5.6)
-\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}
+\pnodes(1.5,5){Laser}(4,5){PBS}(6.5,5){PBS2}(6.5,5.7){piezo}(4,2){BSFwd}
+\pnodes(6.5,2){BSBwd}(2,2){BS4f}(2,0.5){M4f3}(8,2){M4f1}(8,0.5){M4f2}(1,2){CCD}
\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[position=start, optboxsize=1.5 0.7, innerlabel]%
(Laser)(PBS){\parbox{1.5cm}{\centering Nd:YAG\\ 532\,nm}}
@@ -11035,9 +11136,9 @@
\begin{LTXexample}[pos=t, caption={caption}, label=ex:transmission-loop]
\begin{pspicture}(13,5.5)
\psset{optboxwidth=1, labelstyle=\footnotesize, fiber=none}
-\pnode(1,5){LD}\pnode([Xnodesep=5.5]LD){CPLin1}
-\pnode([offset=-2]CPLin1){CPLin2}\pnode([Xnodesep=2.5]CPLin1){CPLout1}
-\pnode([Xnodesep=2.5]CPLin2){CPLout2}\pnode([Xnodesep=3]CPLout1){RX}
+\pnodes(1,5){LD}([Xnodesep=5.5]LD){CPLin1}([offset=-2]CPLin1){CPLin2}
+\pnodes([Xnodesep=2.5]CPLin1){CPLout1}([Xnodesep=2.5]CPLin2){CPLout2}
+\pnode([Xnodesep=3]CPLout1){RX}
\optbox[position=start, label=0](LD)(CPLin1){LD}
\optmzm[abspos=0.8](LD)(CPLin1){MZM}
\optamp[abspos=2](LD)(CPLin1){EDFA}
@@ -11050,8 +11151,7 @@
\optfilter[abspos=2](CPLout1)(RX){BPF}
\optbox[position=end](CPLout1)(RX){RX}
\drawfiber{8-10}
-\pnode([Xnodesep=-0.5]LD|CPLin2){TL}\pnode(RX|TL){TR}
-\pnode([offset=-2.5]TR){BR}\pnode(TL|BR){BL}
+\pnodes([Xnodesep=-0.5]LD|CPLin2){TL}(RX|TL){TR}([offset=-2.5]TR){BR}(TL|BR){BL}
\optamp[fiber=i](CPLout2)(TR){EDFA}
\optfiber[label=0.3 . t, position=0.85](BL)(BR){SSMF 89.8~km}
\drawfiber[fiberstyle=angle, arm=1.2, linearc=0.5, startnode=N]{11}{12}
@@ -11072,7 +11172,7 @@
\begin{LTXexample}[pos=t, caption={caption}]
\begin{pspicture}(12, 4)
\psset{labeloffset=0.3, fiber=none}
- \pnode(1.6,2){In}\pnode(12, 2){Ref}
+ \pnodes(1.6,2){In}(12, 2){Ref}
\optplate[linestyle=dashed, plateheight=3, position=1, compname=RefPlane](In)(Ref)
\addtopsstyle{Beam}{linestyle=none, beamdiv=20, beaminside=false, fillstyle=solid, fillcolor=red, opacity=0.3}
\multido{\i=1+1, \ii=165+10}{4}{%
@@ -11095,7 +11195,7 @@
\begin{LTXexample}[caption={caption}]
\begin{pspicture}(0.5,0)(2.2,4)
- \pnode(0,1){A}\pnode(1,1){BS}\pnode(2,1){G}\pnode(1,4){B}
+ \pnodes(0,1){A}(1,1){BS}(2,1){G}(1,4){B}
\beamsplitter(G)(BS)(B) \optgrating(BS)(G)(BS)
\lens[lens=2 2 1.5, compshift=0.1, n=2.25](BS)(B)
\pinhole[phwidth=0.05, innerheight=0.05, position=0.8, compshift=0.18](BS)(B)
@@ -11114,7 +11214,7 @@
\addtopsstyle{OptComp}{linecolor=white}
\newpsstyle{Beam}{ArrowInside=->, linejoin=2, arrowscale=1.3, arrowinset=0}
\addtopsstyle{ExtendedMirror}{hatchcolor=white, hatchsep=0.5\pslinewidth}
-\pnode(0,3){A}\pnode(8,3){B}\pnode(3,1.5){C}\pnode(8,0){D}\pnode(0,0){E}%
+\pnodes(0,3){A}(8,3){B}(3,1.5){C}(8,0){D}(0,0){E}%
\psset{linewidth=1.5\pslinewidth, mirrorradius=13, mirrorwidth=1.5, gratingwidth=1.3, mirrortype=extended, phwidth=0.1, outerheight=1.5}%
\begin{optexp}
\pinhole[position=0.2](A)(B)%
@@ -11156,8 +11256,7 @@
\begin{LTXexample}[caption={caption}]
\psset{unit=1.5}
\begin{pspicture}(0,1)(2.2,4.2)
- \pnode(0,2){In}\pnode(1,2){G}\pnode(1,4){M1}
- \pnode(2,2){M2}\pnode(1,1){S}
+ \pnodes(0,2){In}(1,2){G}(1,4){M1}(2,2){M2}(1,1){S}
\mirror[mirrortype=semitrans](In)(G)(M1)
\optbox[optboxwidth=0.15, angle=45, style=SemitransMirror](G)(M1)
\mirror[mirrortype=extended](G)(M1)(G)
@@ -11174,7 +11273,7 @@
\begin{LTXexample}[vsep=10mm, pos=t, caption={\ifENGLISH Adapted from \fi\ifGERMAN Angepasst von \fi\href{http://www.semibyte.de/wp/graphicslibrary/gl-physics/versuchsaufbauten-f-praktikum/}{semibyte.de}}]
\begin{pspicture}(13.6,2.6)
\psset[optexp]{labeloffset=1, mirrorwidth=0.5, optboxwidth=2}
- \pnode(2,1){Laser}\pnode(12,2){Film}\pnode(Film|Laser){Ref}
+ \pnodes(2,1){Laser}(12,2){Film}(Film|Laser){Ref}
\begin{optexp}
\optbox[position=start](Laser)(Ref){HeNe-Laser}
\pinhole[abspos=0.8](Laser)(Ref){Blende}
@@ -11199,7 +11298,7 @@
\begin{LTXexample}[pos=t, caption={caption}]
\begin{pspicture}(0,0.2)(6.6,3.1)
\psset{mirrorwidth=0.6, useNA=false, beaminsidefirst}
- \pnode(0,2){In}\pnode(1,2){BS}\pnode(1,0.5){M1}\pnode(2,1){M2}\pnode(6,1.5){Det}
+ \pnodes(0,2){In}(1,2){BS}(1,0.5){M1}(2,1){M2}(6,1.5){Det}
\mirror[mirrortype=semitrans, n=1](In)(BS)(M1)
\mirror[label=0.6 180 . absolute, compname=M](BS)(M1)(M2|M1)
\mirror(M1)(M2|M1)(M2)
@@ -11226,7 +11325,7 @@
\newpsobject{perppol}{polarization}{poltype=perp, linecolor=green, polsize=1}
\newpsobject{parpol}{polarization}{poltype=parallel, linecolor=red, polsize=0.8}
\newpsstyle{Polarization}{arrowinset=0, arrowscale=1.2}
- \pnode(0,1){A}\pnode(8,1){B}\pnode(4,-0.5){C}
+ \pnodes(0,1){A}(8,1){B}(4,-0.5){C}
\glanthompson[glanthompsongap=0.2, glanthompsonsize=2 1](A)(B)
\optplane(B)\optplane[angle=90](C)
\drawbeam(A){1-2}
@@ -11241,7 +11340,7 @@
\begin{pspicture}(13.7,2.9)
\newpsstyle{Wire}{arm=0.1, arrows=->}
\psset[optexp]{optboxsize=1.2 0.8, optmzmsize=1.2 0.8, fiber=none, label=0.7}
-\pnode(2,1){L}\pnode([Xnodesep=11]L){A}
+\pnodes(2,1){L}([Xnodesep=11]L){A}
\optbox[position=start, optboxwidth=2, label=0](L)(A){DFB-Laser}
\optbox[abspos=1, label=0, compname=Eam, extnode=t](L)(A){EAM}
\optmzm[abspos=4.5, compname=Mzm1, extnode=t](L)(A){MZM}
@@ -11264,7 +11363,7 @@
\begin{LTXexample}[pos=t, caption={\ifGERMAN Angepasst von \fi\ifENGLISH Adapted from \fi\doiurl{10.1364/OL.37.000930}}]
\begin{pspicture}(0,0.2)(13.5,4.7)
\psset[optexp]{optboxsize=1 0.8, label=0, fiber=none}
-\pnode(1,3.2){Scan}\pnode([offset=-1.6]Scan){Sat}
+\pnodes(1,3.2){Scan}\pnode([offset=-1.6]Scan){Sat}
\pnode([Xnodesep=5]Scan){ScanCpl}\pnode(ScanCpl|Sat){SatCpl}
\pnode([Xnodesep=1.5,offset=-0.8]ScanCpl){Cpl}\pnode([Xnodesep=5]Cpl){PD}
\pnode([Xnodesep=2.5, offset=-1.4]Cpl){Pump}
@@ -11347,10 +11446,8 @@
\begin{pspicture}(5.7,2.8)
\psset{mirrorwidth=0.7, bsstyle=plate, bssize=0.5, arrowinset=0, arrowscale=1.2}
\newpsobject{splitterplate}{beamsplitter}{linewidth=2\pslinewidth, linecolor=gray!50}
-\pnode(2.3,0){In}\pnode([offset=0.5]In){STM1}
-\pnode([Xnodesep=-2]STM1){M1}\pnode([offset=1]M1){M2}
-\pnode([offset=2]STM1){M3}\pnode([Xnodesep=-1]M3){M4}
-\pnode(M4|M2){STM2}
+\pnodes(2.3,0){In}([offset=0.5]In){STM1}([Xnodesep=-2]STM1){M1}
+\pnodes([offset=1]M1){M2}([offset=2]STM1){M3}([Xnodesep=-1]M3){M4}(M4|M2){STM2}
\splitterplate(In)(STM1)(M1)
\mirror(STM1)(M1)(M2)
\mirror(M1)(M2)(M3|M2)
@@ -11409,10 +11506,9 @@
\begingroup
\captionsetup[lstlisting]{format=poecaption}
-\begin{LTXexample}[pos=t, caption={\ifGERMAN Angepasst von \fi\ifENGLISH Adapted from \fi\doiurl{10.1103/PhysRevLett.105.263904}}, label={ex:wgm-pdc}]]
+\begin{LTXexample}[pos=t, caption={\ifGERMAN Angepasst von \fi\ifENGLISH Adapted from \fi\doiurl{10.1103/PhysRevLett.105.263904}}, label={ex:wgm-pdc}]
\begin{pspicture}(0.6,2.8)(6.8,7.8)
-\pnode(1,6){Laser}\pnode(1,5){M}
-\pnode(3,4){PR}\pnode(5,5){PT}\pnode(6,7){D1}
+\pnodes(1,6){Laser}(1,5){M}(3,4){PR}(5,5){PT}(6,7){D1}
\newpsstyle{Glass}{fillcolor=blue, fillstyle=solid, opacity=0.15, linecolor=blue!30!white}
\begin{optexp}
\optbox[position=start, innerlabel, optboxwidth=1.8](Laser)(M){Nd:YAG}
@@ -11463,7 +11559,7 @@
\begin{LTXexample}[pos=t, caption={caption}]
\begin{pspicture}(5.6,3)
-\pnode(0,0.5){S1}\pnode(2,2.5){S2}\pnode(3,1.5){S3}\pnode(4,0.5){S4}\pnode(4.5,1){S5}
+\pnodes(0,0.5){S1}(2,2.5){S2}(3,1.5){S3}(4,0.5){S4}(4.5,1){S5}
\psset{prismangle=30, mirrortype=extended}
\definecolor[ps]{bl}{rgb}{tx@addDict begin Red Green Blue end}%
\begin{optexp}
@@ -11482,7 +11578,7 @@
\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}
+\pnodes(-1,0){A}(1,1){B}(3,0){C}
\psframe*(0,0)(3,1.7)
\begin{optexp}
\optplane(0,0.7)
@@ -12821,6 +12917,11 @@
%
% \begin{changelog}
%\patchcmd{\release}{\setlength{\itemsep}{0pt}}{\setlength{\itemsep}{0pt}\setlength{\parsep}{0pt}}{}{}
+% \begin{release}{4.6}{2013-11-27}
+% \item Added option \opt{extnodes}\see{prm:extnodes}
+% \item Added option \opt{optdipolecomp}\see{prm:optdipolecomp}
+% \item Added option \opt{opttripolecomp}\see{prm:opttripolecomp}
+% \end{release}
% \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},
@@ -13266,6 +13367,7 @@
\def\POE@str@cross{cross}
\def\POE@str@cube{cube}
\def\POE@str@custom{custom}
+\def\POE@str@default{default}
\def\POE@str@diode{diode}
\def\POE@str@directional{directional}
\def\POE@str@ellipse{ellipse}
@@ -13298,6 +13400,7 @@
\def\POE@str@semitrans{semitrans}
\def\POE@str@sine{sine}
\def\POE@str@standard{standard}
+\def\POE@str@symmetric{symmetric}
\def\POE@str@top{top}
\def\POE@str@transmittive{transmittive}
\def\POE@str@transparency{transparency}
@@ -13625,11 +13728,41 @@
% \end{macrocode}
% This part was copied and adapted from \cs{psset@@ref} from pstricks.tex
% \begin{macrocode}
+\define@key[psset]{optexp}{extnodes}{%
+ \edef\POE@key@extnode{#1}%
+ \ifx\@empty\POE@key@extnode
+ \edef\POE@key@extnode@cnt{1}%
+ \edef\POE@key@extnode@xrefs{0 }%
+ \edef\POE@key@extnode@yrefs{0 }%
+ \else
+ \def\POE@key@extnode@xrefs{}%
+ \def\POE@key@extnode@yrefs{}%
+ \psForeach{\POE@tempD}{#1,}{%
+ \ifx\POE@tempD\@empty
+ \advance\psLoopIndex by -1
+ \else
+ \pst@expandafter\POE@psset@@extnode{\POE@tempD}\@empty,,\@nil
+ \edef\POE@key@extnode@xrefs{\POE@key@extnode@xrefs\POE@key@extnode@xref\space}%
+ \edef\POE@key@extnode@yrefs{\POE@key@extnode@yrefs\POE@key@extnode@yref\space}%
+ \fi
+ }%
+ \edef\POE@key@extnode@cnt{\the\psLoopIndex}%
+ \fi
+}%
+% \end{macrocode}
+% Need to have two options 'extnode' and 'extnodes' to allow extnode={-0.5,1} without
+% \begin{macrocode}
\define@key[psset]{optexp}{extnode}{%
- \edef\POE@key@extnode{#1}%
- \ifx\@empty\POE@key@extnode\else
- \pst@expandafter\POE@psset@@extnode{#1}\@empty,,\@nil
- \fi
+ \edef\POE@key@extnode{#1}%
+ \edef\POE@key@extnode@cnt{1}%
+ \ifx\@empty\POE@key@extnode
+ \edef\POE@key@extnode@xrefs{0 }%
+ \edef\POE@key@extnode@yrefs{0 }%
+ \else
+ \pst@expandafter\POE@psset@@extnode{#1}\@empty,,\@nil
+ \edef\POE@key@extnode@xrefs{\POE@key@extnode@xref}%
+ \edef\POE@key@extnode@yrefs{\POE@key@extnode@yref}%
+ \fi
}%
\def\POE@key@extnode@xref{0}%
\def\POE@key@extnode@yref{0}%
@@ -14285,7 +14418,17 @@
\fi
\pst@checknum{#1}\POE@key@optdipolewidth
}%
-\psset[optexp]{optdipolesize=0 0}%
+\define@key[psset]{optexp}{optdipolecomp}{%
+ \def\POE@key@optdipolecomp{#1}%
+}
+\define@key[psset]{optexp}{opttripolecomp}{%
+ \def\POE@key@opttripolecomp{#1}%
+}
+\psset[optexp]{%
+ optdipolesize=0 0,
+ optdipolecomp=,
+ opttripolecomp=%
+}%
% \subsection{Parameters of fiber-optical components}
% \subsubsection{fiber}
% \begin{macrocode}
@@ -17206,6 +17349,7 @@
\pnode(!\POE@tempc \POE@tempd
\POE@dict{VecAdd 0.5 VecScale}
\tx@UserCoor){\oenodeRefB{}}
+ \POE@regNodes@
\POE@Verb{%
gsave
STV CP T
@@ -17367,9 +17511,19 @@
\def\POE@regNodes#1#2{%
\pnode(#1){\oenodeRefA{}}
\pnode(#2){\oenodeRefB{}}
+ \POE@regNodes@
+\ignorespaces}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\POE@regNodes@}
+% Some additional work which needs to be done in \cs{POE@regNodes}, but must be
+% called separately in some cases (e.g. \cs{fiberbox}).
+% \begin{macrocode}
+\def\POE@regNodes@{%
\POE@Verb{%
- /@xref \POE@key@extnode@xref\space def
- /@yref \POE@key@extnode@yref\space def
+ /@xref [\POE@key@extnode@xrefs] def
+ /@yref [\POE@key@extnode@yrefs] def
/@@ang
\ifx\POE@key@innercompalign\POE@str@absolute
/N@\POE@refnodeA\space /N@\POE@refnodeB\space SlopeAngle
@@ -17386,9 +17540,6 @@
}%
\fi
\ignorespaces}%
-% \end{macrocode}
-% \end{macro}
-%
% \begin{macro}{\POE@pnode@shiftedrot}
% Define a new node \#3 shifted by (\#1) relative to existing node \#2.
% Aditionally rotate the new node by \#4 degree around existing node as origin.
@@ -17596,19 +17747,49 @@
% \begin{macro}{\optdipole}
% \begin{macrocode}
\def\optdipole{\pst@object{optdipole}}
-\def\optdipole@i(#1)(#2)#3{%
+\def\optdipole@i(#1)(#2){%
\@ifnextchar\bgroup%
- {\optdipole@ii(#1)(#2){#3}}%
- {\optdipole@ii(#1)(#2){#3}{}}%
+ {\optdipole@iii(#1)(#2)}%
+ {\optdipole@ii(#1)(#2)}%
}%
-\def\optdipole@ii(#1)(#2)#3#4{%
+\def\optdipole@ii(#1)(#2){%
+ \optdipole@v(#1)(#2){}{}%
+}%
+\def\optdipole@iii(#1)(#2)#3{%
+ \@ifnextchar\bgroup%
+ {\optdipole@iv(#1)(#2){#3}}%
+ {\optdipole@v(#1)(#2){#3}}%
+}%
+\def\optdipole@iv(#1)(#2)#3#4{%
\addbefore@par{innercompalign=relative}%
\begin@OptexpObj
\ifPOE@backlayer
- \POE@regNodes{#1}{#2}
+ \POE@regNodes{#1}{#2}%
\fi
\def\optdipole@comp{\psrotate(0,0){!\POE@dict{@@ang}}{#3}}%
- \POE@drawcomponent{optdipole}{#4}
+ \POE@drawcomponent{optdipole}{#4}%
+ \ifPOE@backlayer
+ \POE@InternalConn
+ \fi
+ \end@OptexpObj
+}%
+% \end{macrocode}
+% Only one argument given, decide if this is supposed to be the label,
+% or the component.
+% \begin{macrocode}
+\def\optdipole@v(#1)(#2)#3{%
+ \addbefore@par{innercompalign=relative}%
+ \begin@OptexpObj
+ \ifPOE@backlayer
+ \POE@regNodes{#1}{#2}
+ \fi
+ \ifx\POE@key@optdipolecomp\@empty
+ \def\optdipole@comp{\psrotate(0,0){!\POE@dict{@@ang}}{#3}}%
+ \POE@drawcomponent{optdipole}{}
+ \else
+ \def\optdipole@comp{\psrotate(0,0){!\POE@dict{@@ang}}{\POE@key@optdipolecomp}}%
+ \POE@drawcomponent{optdipole}{#3}
+ \fi
\ifPOE@backlayer
\POE@InternalConn
\fi
@@ -17632,12 +17813,20 @@
% \begin{macro}{\opttripole}
% \begin{macrocode}
\def\opttripole{\pst@object{opttripole}}
-\def\opttripole@i(#1)(#2)(#3)#4{%
- \@ifnextchar\bgroup%
- {\opttripole@ii(#1)(#2)(#3){#4}}%
- {\opttripole@ii(#1)(#2)(#3){#4}{}}%
+\def\opttripole@i(#1)(#2)(#3){%
+ \@ifnextchar\bgroup
+ {\opttripole@iii(#1)(#2)(#3)}%
+ {\opttripole@ii(#1)(#2)(#3)}%
+}%
+\def\opttripole@ii(#1)(#2)(#3){%
+ \opttripole@v(#1)(#2)(#3){}{}%
}%
-\def\opttripole@ii(#1)(#2)(#3)#4#5{%
+\def\opttripole@iii(#1)(#2)(#3)#4{%
+ \@ifnextchar\bgroup
+ {\opttripole@iv(#1)(#2)(#3){#4}}%
+ {\opttripole@v(#1)(#2)(#3){#4}}%
+}%
+\def\opttripole@iv(#1)(#2)(#3)#4#5{%
\addafter@par{ref@angle=0}
\begin@OptexpTripole
\ifPOE@backlayer
@@ -17651,6 +17840,28 @@
\fi
\end@OptexpTripole
}%
+% \end{macrocode}
+% Only one argument given, decide if this is supposed to be the label, or the component
+% \begin{macrocode}
+\def\opttripole@v(#1)(#2)(#3)#4{%
+ \addafter@par{ref@angle=0}
+ \begin@OptexpTripole
+ \ifPOE@backlayer
+ \POE@calcNodes{#1}{#2}{#3}%
+ \POE@regNodes{#1}{#3}%
+ \fi
+ \ifx\POE@key@opttripolecomp\@empty
+ \def\opttripole@comp{#3}%
+ \POE@drawcomponent{opttripole}{}%
+ \else
+ \def\opttripole@comp{\POE@key@opttripolecomp}%
+ \POE@drawcomponent{opttripole}{#4}%
+ \fi
+ \ifPOE@backlayer
+ \POE@InternalConn
+ \fi
+ \end@OptexpTripole
+}%
\def\opttripole@nodes{\POE@tripole@nodes}
% \end{macrocode}
% \end{macro}
@@ -17734,10 +17945,13 @@
\fi
\ifx\POE@key@extnode\@empty\else
\ifPOE@backlayer
- \pnode(! \POE@dict{
- \POE@key@extnode@xref\space
- \POE@key@extnode@yref\space
- DefineExtNode}){\oenodeExt{}}%
+ \multido{\i=1+1}{\POE@key@extnode@cnt}{%
+ \pnode(! \POE@dict{
+ @xref \i\space 1 sub get
+ @yref \i\space 1 sub get
+ DefineExtNode}){\oenode{Ext\i}{}}%
+ \pnode(\oenode{Ext1}{}){\oenodeExt{}}%
+ }%
\POE@Verb{%
tx@NodeDict begin /N@\oenodeExt{} load
\ifnum9<1\POE@key@compname
@@ -18581,15 +18795,17 @@
\POE@dict{ exch@ref@\oenode{}{} { -90 }{ 90 } ifelse }
\POE@key@angle\space add
}%
- \edef\POE@temp{\POE@key@extnode@xref}%
- \edef\POE@key@extnode@xref{%
- \POE@dict{%
- \POE@key@extnode@yref\space
- exch@ref@\oenode{}{} { -1 mul } if } }%
- \edef\POE@key@extnode@yref{%
- \POE@dict{%
- \POE@temp\space
- exch@ref@\oenode{}{} { -1 mul } if } }%
+ \POE@Verb{%
+ @xref @yref
+ exch@ref@\oenode{}{} {
+ [ exch { neg } forall ]
+ } if
+ /@xref ED
+ exch@ref@\oenode{}{} {
+ [ exch { neg } forall ]
+ } if
+ /@yref ED
+ }%
}%
% \end{macrocode}
% \end{macro}
@@ -19347,8 +19563,8 @@
\egroup
\else
\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})%
+ (! \POE@dict{@@x} -0.6 mul @lw add @lw 0.5 mul)%
+ (! \POE@dict{@@x 0.45 mul @@y 0.6 mul})%
\pscircle(! \POE@dict{@@x} -0.6 mul 0){\pslinewidth}%
\psdot[dotsize=3\pslinewidth](! \POE@dict{@@x} 0.6 mul 0)%
\fi
@@ -20504,8 +20720,8 @@ tx@OptexpDict begin
/@@y 0 def
/@@x0 0 def
/@@y0 0 def
- /@xref 0 def
- /@yref 0 def
+ /@xref [0] def
+ /@yref [0] def
/RefFac 1 def
} bind def
% \end{macrocode}
@@ -21124,11 +21340,11 @@ tx@OptexpDict begin
% if the ambiguous interface is the first, always draw to it
% \begin{macrocode}
IfcCntTmp IfcCnt eq { true }{ draw } ifelse
- ] cvx
+ ] cvx
(C) name 4 -1 roll
connectifc { bgRefIndex }{ name GetRefIndex } ifelse
CurrTmp CurrVecTmp
- 10 dict begin HandleInterface end pop
+ 10 dict begin HandleInterface end pop
ToVec /CurrVecTmp ED ToVec /CurrTmp ED
% \end{macrocode}
% now check which is the outgoing plane
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 60aad32a277..45a986f5f1c 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.5 (2013/07/21)
+Version: 4.6 (2013/11/27)
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 c8b7a378dbd..9602efcbc19 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.5 (2013/07/21)
+%% Version: 4.6 (2013/11/27)
%%
%% Copyright (C) 2007-2013 by Christoph Bersch <usenet@bersch.net>
%%
@@ -31,7 +31,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{pst-optexp}
- [2013/07/21 v4.5 Optical experimental setups with PSTricks]
+ [2013/11/27 v4.6 Optical experimental setups with PSTricks]
\RequirePackage{ifthen}
\RequirePackage{pstricks}
\RequirePackage{pst-xkey}
@@ -136,6 +136,7 @@
\def\POE@str@cross{cross}
\def\POE@str@cube{cube}
\def\POE@str@custom{custom}
+\def\POE@str@default{default}
\def\POE@str@diode{diode}
\def\POE@str@directional{directional}
\def\POE@str@ellipse{ellipse}
@@ -168,6 +169,7 @@
\def\POE@str@semitrans{semitrans}
\def\POE@str@sine{sine}
\def\POE@str@standard{standard}
+\def\POE@str@symmetric{symmetric}
\def\POE@str@top{top}
\def\POE@str@transmittive{transmittive}
\def\POE@str@transparency{transparency}
@@ -457,11 +459,38 @@
\fi
}%
{\PackageError{pst-optexp}{Unknown value '\val' for extnodealign}}
+\define@key[psset]{optexp}{extnodes}{%
+ \edef\POE@key@extnode{#1}%
+ \ifx\@empty\POE@key@extnode
+ \edef\POE@key@extnode@cnt{1}%
+ \edef\POE@key@extnode@xrefs{0 }%
+ \edef\POE@key@extnode@yrefs{0 }%
+ \else
+ \def\POE@key@extnode@xrefs{}%
+ \def\POE@key@extnode@yrefs{}%
+ \psForeach{\POE@tempD}{#1,}{%
+ \ifx\POE@tempD\@empty
+ \advance\psLoopIndex by -1
+ \else
+ \pst@expandafter\POE@psset@@extnode{\POE@tempD}\@empty,,\@nil
+ \edef\POE@key@extnode@xrefs{\POE@key@extnode@xrefs\POE@key@extnode@xref\space}%
+ \edef\POE@key@extnode@yrefs{\POE@key@extnode@yrefs\POE@key@extnode@yref\space}%
+ \fi
+ }%
+ \edef\POE@key@extnode@cnt{\the\psLoopIndex}%
+ \fi
+}%
\define@key[psset]{optexp}{extnode}{%
- \edef\POE@key@extnode{#1}%
- \ifx\@empty\POE@key@extnode\else
- \pst@expandafter\POE@psset@@extnode{#1}\@empty,,\@nil
- \fi
+ \edef\POE@key@extnode{#1}%
+ \edef\POE@key@extnode@cnt{1}%
+ \ifx\@empty\POE@key@extnode
+ \edef\POE@key@extnode@xrefs{0 }%
+ \edef\POE@key@extnode@yrefs{0 }%
+ \else
+ \pst@expandafter\POE@psset@@extnode{#1}\@empty,,\@nil
+ \edef\POE@key@extnode@xrefs{\POE@key@extnode@xref}%
+ \edef\POE@key@extnode@yrefs{\POE@key@extnode@yref}%
+ \fi
}%
\def\POE@key@extnode@xref{0}%
\def\POE@key@extnode@yref{0}%
@@ -1024,7 +1053,17 @@
\fi
\pst@checknum{#1}\POE@key@optdipolewidth
}%
-\psset[optexp]{optdipolesize=0 0}%
+\define@key[psset]{optexp}{optdipolecomp}{%
+ \def\POE@key@optdipolecomp{#1}%
+}
+\define@key[psset]{optexp}{opttripolecomp}{%
+ \def\POE@key@opttripolecomp{#1}%
+}
+\psset[optexp]{%
+ optdipolesize=0 0,
+ optdipolecomp=,
+ opttripolecomp=%
+}%
\define@key[psset]{optexp}{fiberloops}{%
\pst@checknum{#1}\POE@key@fiberloops
}
@@ -3292,6 +3331,7 @@
\pnode(!\POE@tempc \POE@tempd
\POE@dict{VecAdd 0.5 VecScale}
\tx@UserCoor){\oenodeRefB{}}
+ \POE@regNodes@
\POE@Verb{%
gsave
STV CP T
@@ -3394,9 +3434,12 @@
\def\POE@regNodes#1#2{%
\pnode(#1){\oenodeRefA{}}
\pnode(#2){\oenodeRefB{}}
+ \POE@regNodes@
+\ignorespaces}%
+\def\POE@regNodes@{%
\POE@Verb{%
- /@xref \POE@key@extnode@xref\space def
- /@yref \POE@key@extnode@yref\space def
+ /@xref [\POE@key@extnode@xrefs] def
+ /@yref [\POE@key@extnode@yrefs] def
/@@ang
\ifx\POE@key@innercompalign\POE@str@absolute
/N@\POE@refnodeA\space /N@\POE@refnodeB\space SlopeAngle
@@ -3546,19 +3589,45 @@
\newOptexpTripole[ref@angle=45]{rightangleprism}
\newOptexpTripole[ref@angle=45]{optprism}
\def\optdipole{\pst@object{optdipole}}
-\def\optdipole@i(#1)(#2)#3{%
+\def\optdipole@i(#1)(#2){%
\@ifnextchar\bgroup%
- {\optdipole@ii(#1)(#2){#3}}%
- {\optdipole@ii(#1)(#2){#3}{}}%
+ {\optdipole@iii(#1)(#2)}%
+ {\optdipole@ii(#1)(#2)}%
}%
-\def\optdipole@ii(#1)(#2)#3#4{%
+\def\optdipole@ii(#1)(#2){%
+ \optdipole@v(#1)(#2){}{}%
+}%
+\def\optdipole@iii(#1)(#2)#3{%
+ \@ifnextchar\bgroup%
+ {\optdipole@iv(#1)(#2){#3}}%
+ {\optdipole@v(#1)(#2){#3}}%
+}%
+\def\optdipole@iv(#1)(#2)#3#4{%
\addbefore@par{innercompalign=relative}%
\begin@OptexpObj
\ifPOE@backlayer
- \POE@regNodes{#1}{#2}
+ \POE@regNodes{#1}{#2}%
\fi
\def\optdipole@comp{\psrotate(0,0){!\POE@dict{@@ang}}{#3}}%
- \POE@drawcomponent{optdipole}{#4}
+ \POE@drawcomponent{optdipole}{#4}%
+ \ifPOE@backlayer
+ \POE@InternalConn
+ \fi
+ \end@OptexpObj
+}%
+\def\optdipole@v(#1)(#2)#3{%
+ \addbefore@par{innercompalign=relative}%
+ \begin@OptexpObj
+ \ifPOE@backlayer
+ \POE@regNodes{#1}{#2}
+ \fi
+ \ifx\POE@key@optdipolecomp\@empty
+ \def\optdipole@comp{\psrotate(0,0){!\POE@dict{@@ang}}{#3}}%
+ \POE@drawcomponent{optdipole}{}
+ \else
+ \def\optdipole@comp{\psrotate(0,0){!\POE@dict{@@ang}}{\POE@key@optdipolecomp}}%
+ \POE@drawcomponent{optdipole}{#3}
+ \fi
\ifPOE@backlayer
\POE@InternalConn
\fi
@@ -3572,12 +3641,20 @@
}%
}%
\def\opttripole{\pst@object{opttripole}}
-\def\opttripole@i(#1)(#2)(#3)#4{%
- \@ifnextchar\bgroup%
- {\opttripole@ii(#1)(#2)(#3){#4}}%
- {\opttripole@ii(#1)(#2)(#3){#4}{}}%
+\def\opttripole@i(#1)(#2)(#3){%
+ \@ifnextchar\bgroup
+ {\opttripole@iii(#1)(#2)(#3)}%
+ {\opttripole@ii(#1)(#2)(#3)}%
+}%
+\def\opttripole@ii(#1)(#2)(#3){%
+ \opttripole@v(#1)(#2)(#3){}{}%
+}%
+\def\opttripole@iii(#1)(#2)(#3)#4{%
+ \@ifnextchar\bgroup
+ {\opttripole@iv(#1)(#2)(#3){#4}}%
+ {\opttripole@v(#1)(#2)(#3){#4}}%
}%
-\def\opttripole@ii(#1)(#2)(#3)#4#5{%
+\def\opttripole@iv(#1)(#2)(#3)#4#5{%
\addafter@par{ref@angle=0}
\begin@OptexpTripole
\ifPOE@backlayer
@@ -3591,6 +3668,25 @@
\fi
\end@OptexpTripole
}%
+\def\opttripole@v(#1)(#2)(#3)#4{%
+ \addafter@par{ref@angle=0}
+ \begin@OptexpTripole
+ \ifPOE@backlayer
+ \POE@calcNodes{#1}{#2}{#3}%
+ \POE@regNodes{#1}{#3}%
+ \fi
+ \ifx\POE@key@opttripolecomp\@empty
+ \def\opttripole@comp{#3}%
+ \POE@drawcomponent{opttripole}{}%
+ \else
+ \def\opttripole@comp{\POE@key@opttripolecomp}%
+ \POE@drawcomponent{opttripole}{#4}%
+ \fi
+ \ifPOE@backlayer
+ \POE@InternalConn
+ \fi
+ \end@OptexpTripole
+}%
\def\opttripole@nodes{\POE@tripole@nodes}
\def\fibercollimator{\pst@object{fibercollimator}}
\def\fibercollimator@i(#1)(#2){%
@@ -3658,10 +3754,13 @@
\fi
\ifx\POE@key@extnode\@empty\else
\ifPOE@backlayer
- \pnode(! \POE@dict{
- \POE@key@extnode@xref\space
- \POE@key@extnode@yref\space
- DefineExtNode}){\oenodeExt{}}%
+ \multido{\i=1+1}{\POE@key@extnode@cnt}{%
+ \pnode(! \POE@dict{
+ @xref \i\space 1 sub get
+ @yref \i\space 1 sub get
+ DefineExtNode}){\oenode{Ext\i}{}}%
+ \pnode(\oenode{Ext1}{}){\oenodeExt{}}%
+ }%
\POE@Verb{%
tx@NodeDict begin /N@\oenodeExt{} load
\ifnum9<1\POE@key@compname
@@ -4288,15 +4387,17 @@
\POE@dict{ exch@ref@\oenode{}{} { -90 }{ 90 } ifelse }
\POE@key@angle\space add
}%
- \edef\POE@temp{\POE@key@extnode@xref}%
- \edef\POE@key@extnode@xref{%
- \POE@dict{%
- \POE@key@extnode@yref\space
- exch@ref@\oenode{}{} { -1 mul } if } }%
- \edef\POE@key@extnode@yref{%
- \POE@dict{%
- \POE@temp\space
- exch@ref@\oenode{}{} { -1 mul } if } }%
+ \POE@Verb{%
+ @xref @yref
+ exch@ref@\oenode{}{} {
+ [ exch { neg } forall ]
+ } if
+ /@xref ED
+ exch@ref@\oenode{}{} {
+ [ exch { neg } forall ]
+ } if
+ /@yref ED
+ }%
}%
\def\transmissiongrating@nodes{%
\newOptexpComp{%
@@ -4778,8 +4879,8 @@
\egroup
\else
\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})%
+ (! \POE@dict{@@x} -0.6 mul @lw add @lw 0.5 mul)%
+ (! \POE@dict{@@x 0.45 mul @@y 0.6 mul})%
\pscircle(! \POE@dict{@@x} -0.6 mul 0){\pslinewidth}%
\psdot[dotsize=3\pslinewidth](! \POE@dict{@@x} 0.6 mul 0)%
\fi