summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/pst-optexp/pst-optexp.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/pst-optexp/pst-optexp.sty')
-rw-r--r--Master/texmf-dist/tex/latex/pst-optexp/pst-optexp.sty60
1 files changed, 38 insertions, 22 deletions
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 da236686fbd..91a84e34d89 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.3a (2013/07/02)
+%% Version: 4.4 (2013/07/14)
%%
%% Copyright (C) 2007-2013 by Christoph Bersch <usenet@bersch.net>
%%
@@ -31,7 +31,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{pst-optexp}
- [2013/07/02 v4.3a Optical experimental setups with PSTricks]
+ [2013/07/14 v4.4 Optical experimental setups with PSTricks]
\RequirePackage{ifthen}
\RequirePackage{pstricks}
\RequirePackage{pst-xkey}
@@ -390,7 +390,7 @@
\define@choicekey*+[psset]{optexp}{innerlabel}%
[\val\nr]{true}[true]%
{\ifcase\nr\relax
- \psset[optexp]{labeloffset=0, labelref=relative}%
+ \psset[optexp]{labeloffset=0, labelref=relative, labelalign=c}%
\fi}
{\PackageError{pst-optexp}{Unknown value '\val' for innerlabel}}%
\define@key[psset]{optexp}{label}{%
@@ -1390,13 +1390,13 @@
\define@choicekey+[psset]{optexp}{savebeampoints}%
[\val\nr]{true,false}[true]{%
\ifcase\nr\relax
- \def\POE@key@savebeampoints{1}
+ \def\POE@key@savebeampoints{1}%
\or
- \def\POE@key@savebeampoints{0}
+ \def\POE@key@savebeampoints{0}%
\fi
}{%
\ifnum9<1#1
- \def\POE@key@savebeampoints{#1}
+ \def\POE@key@savebeampoints{#1}%
\else
\PackageError{pst-optexp}%
{savebeampoints must be a positive integer or 0}%
@@ -3306,7 +3306,7 @@
\POE@tempa \tx@UserCoor
\POE@tempc \tx@UserCoor
\POE@tempb \tx@UserCoor
- calcNodes
+ calcNodes /exch@ref@\oenode{}{} ED
X@A Y@A}){\oenode@RefA{}}%
\pnode(! \POE@dict{X@B Y@B}){\oenode@RefB{}}%
\pnode(#2){\oenode@Origin{}}%
@@ -3408,21 +3408,13 @@
\POE@key@rotate@xref\space
\POE@key@rotate@yref\space
DefineExtNode}){\oenodeRotref{}}%
- \ifdim\POE@key@angle pt=0pt
- #1%
- \POE@pnode@shiftedrot(0,\POE@key@labeloffset)%
- {\oenodeCenter{}}%
- {\oenodeLabel{}}%
- {\POE@key@labelangle}%
- \else
- \psrotate(\oenodeRotref{}){\POE@key@angle}{%
- #1%
- \POE@pnode@shiftedrot(0,\POE@key@labeloffset)%
- {\oenodeCenter{}}%
- {\oenodeLabel{}}%
- {\POE@key@labelangle}%
- }%
- \fi%
+ \psrotate(\oenodeRotref{}){!\POE@key@angle}{%
+ #1%
+ \POE@pnode@shiftedrot(0,\POE@key@labeloffset)%
+ {\oenodeCenter{}}%
+ {\oenodeLabel{}}%
+ {\POE@key@labelangle}%
+ }%
}%
}%
\def\POE@putlabel#1{%
@@ -3492,6 +3484,7 @@
\newOptexpTripole{mirror}
\newOptexpTripole[ref@angle=45]{beamsplitter}
\newOptexpTripole{optgrating}
+\newOptexpTripole[ref@angle=90]{transmissiongrating}
\def\optgrid{%
\PackageWarning{pst-optexp}{%
\string\optgrid\space is deprecated,\MessageBreak
@@ -4237,6 +4230,29 @@
\POE@key@gratingheight\space 0.5 mul){0.6}{160}{200}
\fi
\ignorespaces}%
+\def\transmissiongrating@ref{%
+ \POE@calcAngle
+ \POE@setref{/@@x \POE@key@gratingwidth\space 0.5 mul def}%
+ \edef\POE@key@angle{%
+ \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 } }%
+}%
+\def\transmissiongrating@nodes{%
+ \newOptexpComp{%
+ {0 0} {1 0} \POE@key@gratingwidth\space -0.5 mul dup neg
+ refltrans {PlainIfc} 1}%
+}%
+\let\transmissiongrating@comp\optgrating@comp
\def\optbox@ref{%
\POE@setref{%
/@@x \POE@key@optboxwidth\space 0.5 mul def