diff options
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.sty | 60 |
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 |