diff options
author | Karl Berry <karl@freefriends.org> | 2017-03-09 22:50:25 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-03-09 22:50:25 +0000 |
commit | 349fe493a0e1eb1b89143d34c91ab4403430d36f (patch) | |
tree | d40364cb66d3d663b56fb0734481ac4e72616b3b /Master/texmf-dist | |
parent | d78d37fceee17e9b20b240992fb1f64f5062251e (diff) |
tikz-palattice (8mar17)
git-svn-id: svn://tug.org/texlive/trunk@43442 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/tikz-palattice/elsa.tex | 614 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/tikz-palattice/example3_coordinates.tex | 40 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/tikz-palattice/example5_legend.tex | 112 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/tikz-palattice/tikz-palattice_documentation.pdf | bin | 464598 -> 510771 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/tikz-palattice/tikz-palattice_documentation.tex | 209 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tikz-palattice/tikz-palattice.sty | 92 |
6 files changed, 772 insertions, 295 deletions
diff --git a/Master/texmf-dist/doc/latex/tikz-palattice/elsa.tex b/Master/texmf-dist/doc/latex/tikz-palattice/elsa.tex index 4d619144c97..859e296deeb 100644 --- a/Master/texmf-dist/doc/latex/tikz-palattice/elsa.tex +++ b/Master/texmf-dist/doc/latex/tikz-palattice/elsa.tex @@ -1,5 +1,5 @@ %% elsa.tex -%% Copyright 2015 J. Schmidt +%% Copyright 2017 J. Schmidt %% tikz-palattice LaTeX package % % This work may be distributed and/or modified under the @@ -36,6 +36,7 @@ \tikzset{biglabel/.style={font=\bfseries\Huge,scale=2, align=center,faded}} \tikzset{mediumlabel/.style={font=\huge,scale=2, align=center,faded}} \tikzset{smalllabel/.style={font=\Large,scale=2.2, align=center,faded}} +\tikzset{experimentlabel/.style={mediumlabel, fill=white, fill opacity=0.7, text opacity=1}} @@ -99,7 +100,7 @@ %title \node[mediumlabel, anchor=north, yshift=-1cm] at (L2label) {LINAC 2\\{\Large \SI{26}{\MeV}}}; -\node[smalllabel, anchor=west, xshift=4mm] at (PolQ) +\node[mediumlabel, anchor=west, xshift=4mm] at (PolQ) {\IfLanguageName{ngerman}{Quelle}{Source of} pol. $e^-$}; @@ -181,6 +182,8 @@ %----------------------------- %Booster %----------------------------- +% custom legend entry for combined function magnets +\addlegendentry{Combined Function}{fill=green!55!black} \begin{scope} \setelementcolor{dipole}{green!55!black}[green!55!black] \goto{BoosterInj} @@ -285,20 +288,31 @@ \northlabels % "end" put at beginning to start at injection +\drift{0.2325} +\screen{}[0.025] %BPM31 +\drift{0.01665} \quadrupole{QD31}{0.4997} -\drift{0.30115} +\drift{0.02115} +%\marker{IC31} +\drift{0.28} \dipole{M31}{2.875}{15} -\drift{0.307} -\corrector{KV31}{0.1} -\drift{1.05465} +\drift{0.2765} +\corrector{KV31}{0.13} +\drift{0.1615} +\corrector{MSI31}{0.6} +\drift{0.2745} +%\marker{IC32} +\drift{0.01915} \quadrupole{QF32}{0.4997} -\drift{0.13665} +\drift{0.01115} +\screen{}[0.025] %BPM32 +\drift{0.1005} \sextupole{SX32}{0.287} \drift{0.2069} \quadrupole{LQ32}{0.45}[0.2] -\drift{0.5031} -\corrector{KV32}{0.1} -\drift{0.41025} +\drift{0.5296} +\corrector{KV32}{0.13} +\drift{0.35375} \quadrupole{SQ32}{0.45} \drift{1.382} \quadrupole{TJQ32}{0.5515}[0.2] @@ -306,129 +320,195 @@ % usual start %\marker{start}[0.5] -\drift{0.03415} +\drift{0.013} +%\marker{IC01} +\drift{0.02115} \quadrupole{QD1}{0.4997} -\drift{0.19515} -\corrector{KV01}{0.1} -\drift{1.79875} -\quadrupole{SQ1}{0.45}[0.2] +\drift{0.00365} +\screen{}[0.025] %BPM01 +\drift{0.6285} +\corrector{KV01}{0.13} +\drift{1.30675} +\quadrupole{SQ1}{0.45} \drift{1.01375} \quadrupole{LQ1}{0.45}[0.2] \drift{0.2065} \sextupole{SX1}{0.287} -\drift{0.13665} +\drift{0.0825} +%\marker{IC02} +\drift{0.05415} \quadrupole{QF2}{0.4997} -\drift{1.05365} -\corrector{KV02}{0.1} -\drift{0.3077} +\drift{0.00615} +\screen{}[0.025] %BPM02 +\drift{0.2145} +\corrector{IJK2}{0.73} +\drift{0.0595} +\corrector{KV02}{0.13} +\drift{0.2962} \dipole{M2}{2.875}{15} -\drift{0.30145} -\quadrupole{QD3}{0.4997} -\drift{0.13665} -\sextupole{SD3}{0.287} -\drift{0.4305} -\corrector{KV03}{0.1} -\drift{1.84183} -\drift{1.84183} - -\rotatelabels{60}[west] -\quadrupole{QF4}{0.4997} -\drift{0.13665} -\sextupole{SF4}{0.287} -\drift{0.214} -\corrector{KV04}{0.1} -\drift{0.7237} -\rotatelabels{0} - +\drift{0.2803} +%\marker{IC03} +\drift{0.02115} +\begin{scope} + \rotatelabels{55}[west] + \quadrupole{QD3}{0.4997} + \drift{0.00865} + \screen{}[0.025] %BPM03 + \drift{0.103} + \sextupole{SD3}{0.287} + \drift{0.1025} + \corrector{KV03}{0.13} + \drift{3.011} + \corrector{IJK3}{0.73} + \drift{0.2195} + % \marker{IC04} + \drift{0.02115} + \quadrupole{QF4}{0.4997} + \drift{0.01115} + \screen{}[0.025] %BPM04 + \drift{0.1005} + \sextupole{SF4}{0.287} + \drift{0.1995} + \corrector{KV04}{0.13} + \drift{0.7082} +\end{scope} \dipole{M4}{2.875}{15} -\drift{0.30145} - -\rotatelabels{77}[west] -\quadrupole{QD5}{0.4997} -\drift{0.09715} -\corrector{KV05}{0.1} -\rotatelabels{0} - -\drift{1.2642} +\drift{0.2803} +%\marker{IC05} +\drift{0.02115} +\begin{scope} + \rotatelabels{90}[west] + \quadrupole{QD5}{0.4997} + \drift{0.00365} + \screen{}[0.025] %BPM05 + \drift{0.1545} + \corrector{KV05}{0.13} + \drift{1.1482} +\end{scope} \dipole{M5}{2.875}{15} -\drift{0.30145} -\quadrupole{QF6}{0.4997} -\drift{0.94465} -\corrector{KV06}{0.1} -\drift{0.4167} +\drift{0.2803} +%\marker{IC06} +\drift{0.02115} +\begin{scope} + \rotatelabels{90}[west] + \quadrupole{QF6}{0.4997} + \drift{0.00615} + \screen{}[0.025] %BPM06 + \drift{0.1745} + \kicker{MSE6}{0.65} + \drift{0.139} + % \marker{ICMSE6} + \drift{0.0185} + \corrector{KV06}{0.13} + \drift{0.3182} +\end{scope} \dipole{M6}{2.875}{15} -\drift{0.30145} - -\rotatelabels{-72}[east] +\drift{0.2803} +%\marker{IC07} +\drift{0.02115} \quadrupole{QD7}{0.4997} -\drift{0.41215} -\kicker{MSE23}{0.90027} +\drift{0.00865} +\screen{}[0.025] %BPM07 +\drift{0.185} +\kicker{MSE7}{0.9} \savecoordinate{ELSA_extract_neu} -\drift{0.04893} -\rotatelabels{0} -% deleted due to "neue Extraktion" -%\drift{0.19415} -%\corrector{KV07}{0.1} -%\drift{1.1672} +\drift{0.3427} \dipole{M7}{2.875}{15} \savecoordinate{sylibeamline}[center] -\drift{0.30145} + + +\drift{0.2803} +%\marker{IC08} +\drift{0.02115} \quadrupole{QF8}{0.4997} -\drift{1.02365} -\corrector{KV08}{0.1} -\drift{0.3377} +\drift{0.01115} +\screen{}[0.025] %BPM08 +\drift{0.971} +\corrector{KV08}{0.13} +\drift{0.3242} \dipole{M8}{2.875}{15} \drift{0.30145} \quadrupole{QD9}{0.4997} -\drift{0.30135} +\drift{0.00365} +\screen{}[0.025] %BPM09 +\drift{0.2727} \dipole{M9}{2.875}{15} -\drift{0.3208} -\corrector{KV09}{0.1} -\drift{1.04065} +\drift{0.3473} +\corrector{KV09}{0.13} +\drift{0.963} +%\marker{IC10} +\drift{0.02115} \quadrupole{QF10}{0.4997} -\drift{0.30135} +\drift{0.00615} +\screen{}[0.025] %BPM10 +\drift{0.2702} \dipole{M10}{2.875}{15} -\drift{0.7203} -\corrector{KV10}{0.1} -\drift{0.2175} +\drift{0.6963} +\corrector{KV10}{0.13} +\drift{0.2115} \sextupole{SD10}{0.287} -\drift{0.13665} +\drift{0.105} +\screen{}[0.025] %BPM11 +\drift{0.00665} \quadrupole{QD11}{0.4997} -\drift{0.30135} +\drift{0.02115} +%\marker{IC11} +\drift{0.2802} \dipole{M11}{2.875}{15} -\drift{0.7208} -\corrector{KV11}{0.1} -\drift{0.217} +\drift{0.7103} +\corrector{KV11}{0.13} +\drift{0.1975} \sextupole{SF11}{0.287} -\drift{0.13665} +\drift{0.1075} +\screen{}[0.025] %BPM12 +\drift{0.00415} \quadrupole{QF12}{0.4997} -\drift{0.30135} +\drift{0.02115} +%\marker{IC12} +\drift{0.2802} \dipole{M12}{2.875}{15} -\drift{1.1743} -\corrector{KV12}{0.1} -\drift{0.18715} +\drift{1.1563} +\corrector{KV12}{0.13} +\drift{0.154} +%\marker{IC13} +\drift{0.02115} \quadrupole{QD13}{0.4997} -\drift{0.30135} +\drift{0.00365} +\screen{}[0.025] %BPM13 +\drift{0.2727} \dipole{M13}{2.875}{15} -\drift{0.7398} -\corrector{KV13}{0.1} -\drift{0.62165} +\drift{0.7263} +\corrector{KV13}{0.13} +\drift{0.584} +%\marker{IC14} +\drift{0.02115} \quadrupole{QF14}{0.4997} \savecoordinate{rechts} -\drift{1.86133} -\drift{1.86133} -\corrector{KV14}{0.1} -\drift{0.81515} + + +\drift{0.00615} +\screen{}[0.025] %BPM14 +\drift{3.6265} +\corrector{KV14}{0.13} +\drift{0.829} +%\marker{IC15} +\drift{0.02115} \quadrupole{QD15}{0.4997} -\drift{0.30135} +\drift{0.00865} +\screen{}[0.025] %BPM15 +\drift{0.2677} \dipole{M15}{2.875}{15} -\drift{0.9368} -\corrector{KV15}{0.1} -\drift{0.42465} +\drift{1.1483} +\corrector{KV15}{0.13} +\drift{0.162} +%\marker{IC16} +\drift{0.02115} \quadrupole{QF16}{0.4997} -\drift{0.13665} +\drift{0.01115} +\screen{}[0.025] %BPM16 +\drift{0.1005} \sextupole{SX16}{0.287} \drift{0.2065} \quadrupole{LQ16}{0.45}[0.2] @@ -436,117 +516,182 @@ \cavity{PETRA1}{1.6} \drift{0.93725} \quadrupole{TJQD16}{0.5515}[0.2] -\drift{0.1614} +\drift{0.12475} +\screen{}[0.025] %BPM17 +\drift{0.01165} \quadrupole{QD17}{0.4997} -\drift{0.10615} -\corrector{KV17}{0.1} -\drift{0.244} +\drift{0.02115} +%\marker{IC17} +\drift{0.429} \cavity{PETRA2}{1.6} -\drift{1.43175} -\drift{0.07575} +\drift{0.311} +\corrector{KV17}{0.13} +\drift{1.0665} \quadrupole{LQ17}{0.45}[0.2] \drift{0.2065} \sextupole{SX17}{0.287} -\drift{0.13665} +\drift{0.0825} +%\marker{IC18} +\drift{0.05415} \quadrupole{QF18}{0.4997} -\drift{0.41665} -\corrector{KV18}{0.1} -\drift{0.9447} +\drift{0.00615} +\screen{}[0.025] %BPM18 +\drift{0.962} +\corrector{KV18}{0.13} +\drift{0.3382} \dipole{M18}{2.875}{15} -\drift{0.30145} - -%labels rotated (anchor automatic) -\rotatelabels{61}[east] -\quadrupole{QD19}{0.4997} -\drift{0.13665} -\sextupole{SD19}{0.287} -\drift{0.1965} -\corrector{KV19}{0.1} -\drift{1.747} -\drift{1.747} -\sextupole{SF19}{0.287} -\drift{0.13665} -\quadrupole{QF20}{0.4997} -\drift{0.22565} -\corrector{KV20}{0.1} -\rotatelabels{0} - -\drift{1.1357} +\drift{0.2803} +%\marker{IC19} +\drift{0.02115} +\begin{scope} + \rotatelabels{60}[east] + \quadrupole{QD19}{0.4997} + \drift{0.00865} + \screen{}[0.025] %BPM19 + \drift{0.103} + \sextupole{SD19}{0.287} + \drift{0.2105} + \corrector{KV19}{0.13} + \drift{0.507} + \screen{}[0] %FMON + \drift{2.943} + \sextupole{SF19}{0.287} + \drift{0.1075} + \screen{}[0.025] %BPM20 + \drift{0.00415} + \quadrupole{QF20}{0.4997} + \drift{0.02115} + % \marker{IC20} + \drift{0.985} + \corrector{KV20}{0.13} + \drift{0.3252} +\end{scope} \dipole{M20}{2.875}{15} -\drift{0.30145} - -\rotatelabels{76}[east] -\quadrupole{QD21}{0.4997} -\drift{0.21015} -\corrector{KV21}{0.1} -\rotatelabels{0} - -\drift{1.151} +\begin{scope} + \rotatelabels{90}[east] + \drift{0.2803} + % \marker{IC21} + \drift{0.02115} + \quadrupole{QD21}{0.4997} + \drift{0.00365} + \screen{}[0.025] %BPM21 + \drift{0.1765} + \corrector{KV21}{0.13} + \drift{1.126} +\end{scope} \dipole{M21}{2.875}{15} -\drift{0.30165} -\quadrupole{QF22}{0.4997} -\drift{0.99865} -\corrector{KV22}{0.1} -\drift{0.363} +\begin{scope} + \rotatelabels{90}[east] + \drift{0.2805} + % \marker{IC22} + \drift{0.02115} + \quadrupole{QF22}{0.4997} + \drift{0.00615} + \screen{}[0.025] %BPM22 + \drift{0.1315} + \kicker{MSE22}{0.65} + \drift{0.165} + % \marker{ICMSE22} + \drift{0.0005} + \corrector{KV22}{0.13} + \drift{0.3535} +\end{scope} \dipole{M22}{2.875}{15} -\drift{0.30115} +\drift{0.28} +%\marker{IC23} +\drift{0.02115} \quadrupole{QD23}{0.4997} - -\drift{0.21} +\drift{0.00865} +\screen{}[0.025] %BPM23 +\drift{0.1765} \kicker{MSE23}{0.9} \savecoordinate{ELSA_extract} -\drift{0.3} + +\drift{0.351} \dipole{M23}{2.875}{15} -\drift{0.30165} +\drift{0.2805} +%\marker{IC24} +\drift{0.02115} \quadrupole{QF24}{0.4997} -\drift{0.99265} -\corrector{KV24}{0.1} -\drift{0.369} +\drift{0.01115} +\screen{}[0.025] %BPM24 +\drift{0.886} +\corrector{KV24}{0.13} +\drift{0.4095} \dipole{M24}{2.875}{15} -\drift{0.30115} +\drift{0.2645} +\screen{}[0.025] %BPM25 +\drift{0.01165} \quadrupole{QD25}{0.4997} \savecoordinate{compton}[center] -\drift{0.30115} + + +\drift{0.02115} +%\marker{IC25} +\drift{0.28} \dipole{M25}{2.875}{15} -\drift{0.716} -\corrector{KV25}{0.1} -\drift{0.64565} +\drift{0.6985} +\corrector{KV25}{0.13} +\drift{0.612} +%\marker{IC26} +\drift{0.02115} \quadrupole{QF26}{0.4997} -\drift{0.30165} +\drift{0.00615} +\screen{}[0.025] %BPM26 +\drift{0.2705} \dipole{M26}{2.875}{15} -\drift{0.723} -\corrector{KV26}{0.1} -\drift{0.214} +\drift{0.729} +\corrector{KV26}{0.13} +\drift{0.178} \sextupole{SD26}{0.287} -\drift{0.13715} +\drift{0.1055} +\screen{}[0.025] %BPM27 +\drift{0.00665} \quadrupole{QD27}{0.4997} -\drift{0.30115} +\drift{0.02115} +%\marker{IC27} +\drift{0.28} \dipole{M27}{2.875}{15} -\drift{0.728} -\corrector{KV27}{0.1} -\drift{0.21} +\drift{0.7025} +\corrector{KV27}{0.13} +\drift{0.2055} \sextupole{SF27}{0.287} -\drift{0.13665} +\drift{0.1075} +\screen{}[0.025] %BPM28 +\drift{0.00415} \quadrupole{QF28}{0.4997} -\drift{0.30165} +\drift{0.02115} +%\marker{IC28} +\drift{0.2805} \dipole{M28}{2.875}{15} -\drift{1.168} -\corrector{KV28}{0.1} -\drift{0.19315} +\drift{1.159} +\corrector{KV28}{0.13} +\drift{0.151} +%\marker{IC29} +\drift{0.02115} \quadrupole{QD29}{0.4997} -\drift{0.30115} +\drift{0.00365} +\screen{}[0.025] %BPM29 +\drift{0.2725} \dipole{M29}{2.875}{15} -\savecoordinate{links} -\drift{0.318} -\corrector{KV29}{0.1} -\drift{1.04365} +\drift{0.3105} +\corrector{KV29}{0.13} +\drift{0.0455} +\corrector{IJK29}{0.73} +\drift{0.2245} +%\marker{IC30} +\drift{0.02115} \quadrupole{QF30}{0.4997} -\drift{1.56882} -\drift{1.56882} -\corrector{KV30}{0.1} -\drift{1.0} -\drift{0.40015} +\savecoordinate{links} + + +\drift{0.00615} +\screen{}[0.025] %BPM30 +\drift{3.0545} +\corrector{KV30}{0.13} +\drift{0.248} +\corrector{MSI30}{0.9} \resetlabeldistance %title - aligned between M29 and QF14 via \savecoordinate @@ -657,7 +802,7 @@ \end{scope} %title -\node[mediumlabel, anchor=east, yshift=1.5cm] at (CBlabel) {Crystal Barrel}; +\node[experimentlabel, anchor=center, yshift=0.6cm] at (CBlabel) {Crystal Barrel (E1)}; \node[biglabel, yshift=3.8cm,xshift=-3cm, text width=7cm] at (CBlabel) {\IfLanguageName{ngerman}{Hadronenphysik- Experimente}{hadron physics experiments}}; @@ -697,7 +842,7 @@ \end{scope} % title - \node[mediumlabel, anchor=east, yshift=-0.7cm, xshift=-0.3cm] at (BGOlabel) {BGO-OD}; + \node[experimentlabel, anchor=center, xshift=1cm,yshift=-0.4cm] at (BGOlabel) {BGO-OD (E2)}; %----------------------------- @@ -705,34 +850,103 @@ %----------------------------- \goto{ELSA_extract_neu} \southlabels -\rotate{-4} -\drift{1.578} -\drift{1.578} -\quadrupole{QF1}{0.5}[0.3] -\drift{2.06505} -\drift{2.06505} -\drift{2.06505} -\quadrupole{QD1}{0.4997}[0.3] -\drift{0.89515} +\rotate{-5.44} +\drift{2.55} +\begin{scope} +\setlabelfont{\footnotesize} +\rotatelabels{-90}[west] +\corrector{SSH1}{0.34}[0.29] +\end{scope} +\drift{0.225} +\begin{scope} +\setlabelfont{\footnotesize} +\rotatelabels{-90}[west] +\corrector{SSV1}{0.2}[0.162] +\end{scope} +\drift{0.26856} +\quadrupole{QF1}{0.5}[0.266] +\drift{0.1435} +\begin{scope} +\setlabelfont{\scriptsize} +\northlabels +\setlabeldistance{0.2} +\screen{CS1}[0.2] +\end{scope} +\drift{5.3035} +\begin{scope} +\setlabelfont{\footnotesize} +\northlabels +\rotatelabels{-90}[east] +\corrector{SSH2}{0.2}[0.22] +\end{scope} +\drift{0.16} +\begin{scope} +\setlabelfont{\footnotesize} +\northlabels +\rotatelabels{-90}[east] +\corrector{SSV2}{0.2}[0.175] +\end{scope} +\drift{0.16} +\quadrupole{QD2}{0.4997}[0.61] +\drift{0.11309} +\begin{scope} +\setlabelfont{\scriptsize} +\northlabels +\screen{CS2}[0.2] +\end{scope} +\drift{0.8032} \begin{labeldistance}{1.2} \dipole{MB}{1.50274}{-12}[r][2] \end{labeldistance} -\drift{0.89415} -\quadrupole{QF2}{0.4997}[0.3] -\drift{2.1063} -\quadrupole{QD2}{0.4997}[0.3] -\drift{2.77607} +\drift{0.41180} +\begin{scope} +\setlabelfont{\scriptsize} +\northlabels +\screen{CS3}[0.2] +\end{scope} +\drift{0.50289} +\quadrupole{QF3}{0.4997}[0.61] +\drift{0.22983} +\begin{scope} +\setlabelfont{\footnotesize} +\northlabels +\rotatelabels{-90}[east] +\corrector{SSH3}{0.2}[0.22] +\drift{0.31732} +\end{scope} +\begin{scope} +\setlabelfont{\footnotesize} +\northlabels +\rotatelabels{-90}[east] +\corrector{SSV3}{0.2}[0.175] +\end{scope} +\drift{0.74414} +\begin{scope} +\setlabelfont{\scriptsize} +\northlabels +\cavity{IR}{0.130}[0.168] +\end{scope} +\drift{0.34731} +\quadrupole{QD4}{0.4997}[0.61] +\drift{0.113094} +\begin{scope} +\setlabelfont{\scriptsize} +\northlabels +\screen{CS4}[0.2] +\end{scope} +\drift{0.653} \savecoordinate{NEWSFlabel} -\drift{2.77607} -\beamdump{}{0.4} +\setlinecolor{drift}{dotted} +\drift{6.45} +\beamdump{}{0.5} %title - \node[smalllabel, anchor=north, yshift=-5mm, text width=4.5cm] at (NEWSFlabel) - {\IfLanguageName{ngerman}{Messplatz für}{area - for}\\\IfLanguageName{ngerman}{Detektortests}{detector - tests}\\\IfLanguageName{ngerman}{(im Aufbau)}{(under construction)}}; + \node[experimentlabel, fill=none,anchor=north, yshift=-4mm, text width=7cm] at (NEWSFlabel) + {\IfLanguageName{ngerman}{Messplatz für}{Area + for}\\\IfLanguageName{ngerman}{Detektortests}{Detector + Tests} (E3)}; %--------------------------- % legend shows all element types occuring before this commmand -\legend{(67,46)}[2] +\legend{(67,46)}[3] \end{lattice} \end{document} diff --git a/Master/texmf-dist/doc/latex/tikz-palattice/example3_coordinates.tex b/Master/texmf-dist/doc/latex/tikz-palattice/example3_coordinates.tex index 73412b3c466..228e11b958f 100644 --- a/Master/texmf-dist/doc/latex/tikz-palattice/example3_coordinates.tex +++ b/Master/texmf-dist/doc/latex/tikz-palattice/example3_coordinates.tex @@ -1,5 +1,5 @@ %% example3_coordinates.tex -%% Copyright 2015 J. Schmidt +%% Copyright 2017 J. Schmidt %% tikz-palattice LaTeX package % % This work may be distributed and/or modified under the @@ -136,8 +136,8 @@ \begin{figure} \centering \begin{subfigure}[b]{.45\textwidth} -\centering - \begin{lattice} + \centering + \begin{lattice} \rotate{90} \northlabels %labels to the left \drift{0.5} @@ -162,12 +162,11 @@ \drift{0.27} \dipole{MB1}{0.2}{30}[s][0.4] \drift{0.2} - \end{lattice} - % - %now draw second lattice and connect them using the saved coordinate - \begin{lattice}[1][overlay] - \start{(Septum)} - \rotate{70} + + % now go back to saved coordinate and continue with another beamline + \goto{Septum} + \rotate{-20} + \southlabels %labels to the right \drift{0.6} \kicker{SS1}{0.2} \drift{0.2} @@ -181,14 +180,14 @@ \dipole{M3}{0.2}{-20}[r][0.4] \drift{0.7} \end{fade} - \legend{(-1,6.5)} + \legend{(0,6.5)} \end{lattice} - \caption{two lattice environments and start} + \caption{one lattice environment and goto} \end{subfigure} % \begin{subfigure}[b]{.45\textwidth} - \centering - \begin{lattice} +\centering + \begin{lattice} \rotate{90} \northlabels %labels to the left \drift{0.5} @@ -213,11 +212,12 @@ \drift{0.27} \dipole{MB1}{0.2}{30}[s][0.4] \drift{0.2} - - % now go back to saved coordinate and continue with another beamline - \goto{Septum} - \rotate{-20} - \southlabels %labels to the right + \end{lattice} + % + %now draw second lattice and connect them using the saved coordinate + \begin{lattice}[1][overlay] + \start{(Septum)} + \rotate{70} \drift{0.6} \kicker{SS1}{0.2} \drift{0.2} @@ -231,9 +231,9 @@ \dipole{M3}{0.2}{-20}[r][0.4] \drift{0.7} \end{fade} - \legend{(0,6.5)} + \legend{(-1,6.5)} \end{lattice} - \caption{one lattice environment and goto} + \caption{two lattice environments and start} \end{subfigure} \caption{Two ways to connect lattices} \label{fig:twoways} diff --git a/Master/texmf-dist/doc/latex/tikz-palattice/example5_legend.tex b/Master/texmf-dist/doc/latex/tikz-palattice/example5_legend.tex new file mode 100644 index 00000000000..1f23d656622 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tikz-palattice/example5_legend.tex @@ -0,0 +1,112 @@ +%% example5_legend.tex +%% Copyright 2017 J. Schmidt +%% tikz-palattice LaTeX package +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is J. Schmidt. +% +% This work consists of the files tikz-palattice.sty and tikz-palattice_documentation.tex +% and the 6 example files example1_linear.tex, example2_circular.tex, +% example3_coordinates.tex, example4_labels.tex example5_legend.tex and elsa.tex + +\documentclass[]{standalone} +\usepackage[english]{babel} +\usepackage[utf8]{inputenc} +\usepackage{tikz-palattice} + + + + +\begin{document} + +\begin{lattice} + \rotate{-90} + \drift{0.167} + \quadrupole{Q1}{0.4} + \drift{0.1} + \kicker{C1}{0.1} + \drift{0.29} + \drift{0.2} + \screen{S1} + \drift{0.2} + \quadrupole{Q2}{0.4} + \drift{0.1} + \kicker{C2}{0.1} + \drift{0.2} + \setlegendtext{quadrupole}{argh} + \addlegendentry{Vthe Quad}{} + \addlegendentry{Vein sextU}{cyan, bottom color=violet, top color=white} + \addlegendentry{VCombined Function}{fill=green!40!black} + + \completelegend{(0.8,0)} +\end{lattice} + + +\end{document} + + + + + + + % \global\let\legprevi\legindex% + % \pgfmathsetmacro{\legindex}{\legindex+1} \global\let\legindex\pgfmathresult% + + + % \def\q{{1.2,1.5,3.1,0}} + % \draw (-0.5,0) -- (-0.5,-{\q[0]}); + % \draw (-0.6,0) -- (-0.6,-{\q[1]}); + % \draw (-0.7,0) -- (-0.7,-{\q[2]}); + + % \pgfkeyssetvalue{/pal/legend/dipole}{tolle Fahrt} + % \pgfkeyssetvalue{/pal/legend/quadrupole}{tolle Wurst} + % \pgfkeyssetvalue{/pal/legend/quadrupole/.style}{fill=yellow} + % \node[draw] at (2,-4) {\pgfkeysvalueof{/pal/legend/dipole}}; + % \node[draw] at (2,-5) {\pgfkeysvalueof{/pal/legend/quadrupole}}; + +% \tikzset{ +% /pal/List/.initial = {erstens}, +% /pal/List/.append = {,roms}, +% } +% \edef\mylist{\pgfkeysvalueof{/pal/List}} + +% \node[align=center] at (2,-4) {% +% \foreach \txt in \mylist {\txt, } +% }; + +% \pgfkeys{ +% /tikz/.cd, +% execute style/.style = {#1}, +% execute macro/.style = {execute style/.expand once=#1}, +% /test/hallo/.store in = \hallo +% } +% \pgfkeys{/test/.cd, hallo = {red,font=\bf,draw}} +% \node[execute macro=\hallo] at (2,-4) {Törö!}; + + + +% \matrix [matrix, draw, ampersand replacement=\&, matrix anchor=north west, anchor=west,column sep=2mm] (legend) at (1,-2) +% { + % \draw[/legimg/quadrupole] (0,-0.15) rectangle (0.5,0.15); \& \node {\pgfkeysvalueof{/legtxt/quadrupole}}; \\ + % \draw[/legimg/sextupole] (0,-0.15) rectangle (0.5,0.15); \& \node {\pgfkeysvalueof{/legtxt/sextupole}}; \\ +%}; + + % \pgfmathsetmacro{\legprevi}{0} + % \pgfmathsetmacro{\legindex}{1} + % \node[draw, anchor=north west] at (1,-2) { + % \begin{tikzpicture}[start chain=going below,node distance=2mm] + % \foreach \ele in \mylist {% + % \node[on chain, /legimg/\ele, draw,minimum width=5mm, minimum height=3mm] (n) {};% + % \node[anchor=west,xshift=2mm] at (n.east) {\pgfkeysvalueof{/legtxt/\ele}};% + % } + % \end{tikzpicture} + %;
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/tikz-palattice/tikz-palattice_documentation.pdf b/Master/texmf-dist/doc/latex/tikz-palattice/tikz-palattice_documentation.pdf Binary files differindex 41b362c0424..dda15d351c0 100644 --- a/Master/texmf-dist/doc/latex/tikz-palattice/tikz-palattice_documentation.pdf +++ b/Master/texmf-dist/doc/latex/tikz-palattice/tikz-palattice_documentation.pdf diff --git a/Master/texmf-dist/doc/latex/tikz-palattice/tikz-palattice_documentation.tex b/Master/texmf-dist/doc/latex/tikz-palattice/tikz-palattice_documentation.tex index 1d557bd4edf..27353ba462a 100644 --- a/Master/texmf-dist/doc/latex/tikz-palattice/tikz-palattice_documentation.tex +++ b/Master/texmf-dist/doc/latex/tikz-palattice/tikz-palattice_documentation.tex @@ -1,5 +1,5 @@ %% tikz-palattice_documentation.tex -%% Copyright 2015 J. Schmidt +%% Copyright 2017 J. Schmidt %% tikz-palattice LaTeX package % % This work may be distributed and/or modified under the @@ -23,8 +23,6 @@ \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{lmodern} -\usepackage{fixltx2e} -\usepackage{graphicx} \usepackage{subcaption} \usepackage{amsmath} \usepackage{textcomp} @@ -40,8 +38,8 @@ \newcommand{\optiondef}[2]{{\color{green!50!black}$\langle$\textit{#1=#2}$\rangle$}} \newcommand{\tikzlabel}{Ti\textit{k}Z} -\author{Jan Schmidt <schmidt@physik.uni-bonn.de>} -\date{v2.21 (March 18, 2015)} +\author{Jan Schmidt <janschmidt@mailbox.org>} +\date{v2.3 (March 9, 2017)} \title{tikz-palattice - draw particle accelerator lattices with \tikzlabel} \hypersetup{ @@ -93,7 +91,7 @@ escapeinside={(*}{*)} \clearpage \parindent=0pt -Copyright 2015 Jan Schmidt +Copyright 2017 Jan Schmidt \medskip Permission is granted to distribute and/or modify both the documentation and the code @@ -133,6 +131,7 @@ Otherwise read the documentation of your \LaTeX{} distribution. \item ifthen \item xargs \item etoolbox +\item iflang \end{itemize} \lstset{language=[LaTeX]TeX} @@ -244,17 +243,46 @@ has 2 optional arguments: \marker{(*\option{name}*)}[(*\optiondef{length/m}{0.35}*)] % a line perpendicular to the beamline, see Fig. (*\ref{fig:example1}*) \end{lstlisting} + +\subsubsection{Dipole Types} The \lstinline+dipole+ option \optiondef{type}{s} allows to select different dipole shapes. It is shown in example~2. Possible values are: -\begin{itemize} -\item s for a sector magnet (entrance/exit surface 90 degree to beampipe) -\item br for a bend rectangle magnet (parallel entrance/exit surfaces) -\item r for a rectangle magnet -\end{itemize} + +\def\dipang{30} +\def\dipl{1.5} +\def\dipthick{0.3} +\begin{minipage}[c]{0.33\textwidth} + \centering + \begin{lattice} + \setangle{-\dipang/2} + \drift{0.1} + \dipole{s: sector magnet}{\dipl}{\dipang}[s][\dipthick] + \drift{0.1} + \end{lattice} +\end{minipage} +\begin{minipage}[c]{0.33\textwidth} + \centering + \begin{lattice} + \setangle{-\dipang/2} + \drift{0.1} + \dipole{r: rectangle magnet}{\dipl}{\dipang}[r][\dipthick] + \drift{0.1} + \end{lattice} +\end{minipage} +\begin{minipage}[c]{0.33\textwidth} + \centering + \begin{lattice} + \setangle{-\dipang/2} + \drift{0.1} + \dipole{br: bend rectangle magnet}{\dipl}{\dipang}[br][\dipthick] + \drift{0.1} + \end{lattice} +\end{minipage} + If you use any other letters, also the default (s) is used. -\begin{figure}[ht] +\begin{figure} \centering \includegraphics[width=10cm]{example1_linear} \caption{Example 1} @@ -292,36 +320,11 @@ with \lstinline+\savecoordinate+ (section \ref{sec:coords}). Use this to connect lattices and draw injection, extraction or even a complete accelerator facility. This is shown in example 3. - - -\subsection{Rule and Legend} -\label{sec:rule-legend} - -\begin{lstlisting} - \drawrule{(*\option{position/m}*)}[(*\optiondef{tick distance/m}{1}*)][(*\optiondef{scale}{1}*)][(*\optiondef{height/m}{0.1}*)] -\end{lstlisting} -draws a rule to visualize the size of the lattice. Coordinate is of form (x,y) or any tikz -label, e.g. (mylabel.east) - -\begin{lstlisting} - \legend{(*\option{position/m}*)}[(*\optiondef{scale}{1}*)] -\end{lstlisting} -draws a legend with all element types that occur in the lattice before this command. -The given \option{position/m} is north west (upper left corner) of the legend box. -The scale option scales the whole box including the text, which has the usual label -textsize if scale=1. - -\begin{lstlisting} - \completelegend{(*\option{position/m}*)}[(*\optiondef{scale}{1}*)] -\end{lstlisting} -is similar to \lstinline+\legend+, but shows all element types. - - \begin{figure}[h] \centering % this is the ring from example 2, but plotted smaller (30%). % the element sizes (in meter) are the same - as the rule indicates. - \begin{lattice}[0.3] + \begin{lattice}[0.27] \setlabelfont{\tiny} \begin{labeldistance}{0.3} \drift{1} @@ -354,6 +357,84 @@ is similar to \lstinline+\legend+, but shows all element types. \end{figure} +\newpage +\subsection{Rule and Legend} +\label{sec:rule-legend} + +\begin{lstlisting} + \drawrule{(*\option{position/m}*)}[(*\optiondef{tick distance/m}{1}*)][(*\optiondef{scale}{1}*)][(*\optiondef{height/m}{0.1}*)] +\end{lstlisting} +draws a rule to visualize the size of the lattice. Coordinate is of form (x,y) or any tikz +label, e.g. (mylabel.east) + +\begin{lstlisting} + \legend{(*\option{position/m}*)}[(*\optiondef{scale}{1}*)] +\end{lstlisting} +draws a legend with all element types that occur in the lattice before this command. +The given \option{position/m} is north west (upper left corner) of the legend box. +The scale option scales the whole box including the text, which has the usual label +textsize if scale=1. + +\begin{lstlisting} + \completelegend{(*\option{position/m}*)}[(*\optiondef{scale}{1}*)] +\end{lstlisting} +is similar to \lstinline+\legend+, but shows all element types. + +The legend can be customized with the following two commands. +Here is an example for legend customizations: + +\begin{minipage}[c]{0.5\textwidth} +\begin{lstlisting} + \begin{lattice} + \drift{0.2} + \quadrupole{Q1}{0.4} + \drift{0.1} + \kicker{C1}{0.1} + \drift{0.5} + \screen{S1} + \drift{0.2} + \setlegendtext{quadrupole}{I am focusing} + \addlegendentry{What's that?}{cyan, fill=violet} + \legend{(0.2,-1)} + \end{lattice} +\end{lstlisting} +\end{minipage} +% +\begin{minipage}[c]{0.5\textwidth} + \begin{center} + \begin{lattice} + \drift{0.2} + \quadrupole{Q1}{0.4} + \drift{0.1} + \kicker{C1}{0.1} + \drift{0.5} + \screen{S1} + \drift{0.2} + \setlegendtext{quadrupole}{I am focusing} + \addlegendentry{What's that?}{cyan, fill=violet} + \legend{(0.2,-1)} + \end{lattice} + \end{center} +\end{minipage} + +\begin{lstlisting} + \setlegendtext{(*\option{type}*)}{(*\option{text}*)} +\end{lstlisting} +allows to change the text shown in the legend for element type \option{type}. The legend +is automatically translated to German if \textit{ngerman} is set with the babel package. + +\begin{lstlisting} + \addlegendentry{(*\option{text}*)}{(*\option{style}*)} +\end{lstlisting} +adds a custom entry to the legend. The style of the legend image can set with +\option{style}. All style options for a tikz node are allowed. All custom legend entries +appear below the normal entries. + + + + + + \subsection{Labels} \label{sec:labels} Every element has a text label showing the given element name. The position and @@ -500,7 +581,7 @@ for textlabels. Set to background color to hide text labels. \end{minipage} - +\clearpage \subsection{Access lattice Coordinates} \label{sec:coords} You can use element coordinates to draw anything you want using pgf/tikz. @@ -515,9 +596,9 @@ exact place of the element. \textit{east} and \textit{center} are available (see \begin{itemize} \item you can use all tikz/pgf commands within the lattice environment to draw anything. \item You can use this to connect multiple beamlines \textbf{within a lattice environment} with - \lstinline+\goto{name}+ (recommended, Figure \ref{fig:twoways} (b)). + \lstinline+\goto{name}+ (recommended, Figure \ref{fig:twoways} (a)). \item You can use this to connect \textbf{multiple lattice environments} with - \lstinline+\start{name}+. Use the tikz overlay option. (Figure \ref{fig:twoways} (a)) + \lstinline+\start{name}+. Use the tikz overlay option. (Figure \ref{fig:twoways} (b)) \end{itemize} @@ -526,8 +607,8 @@ exact place of the element. \textit{east} and \textit{center} are available (see \begin{figure}[h] \centering \begin{subfigure}[b]{.45\textwidth} -\centering - \begin{lattice}[0.8] + \centering + \begin{lattice}[0.8] \rotate{90} \turnlabels %labels to the left \drift{0.5} @@ -552,12 +633,11 @@ exact place of the element. \textit{east} and \textit{center} are available (see \drift{0.27} \dipole{MB1}{0.2}{30}[s][0.4] \drift{0.2} - \end{lattice} - % - %now draw second lattice and connect them using the saved coordinate - \begin{lattice}[0.8][overlay] - \start{(Septum)} - \rotate{70} + + % now go back to saved coordinate and continue with another beamline + \goto{Septum} + \rotate{-20} + \turnlabels %labels to the right \drift{0.6} \kicker{SS1}{0.2} \drift{0.2} @@ -571,14 +651,14 @@ exact place of the element. \textit{east} and \textit{center} are available (see \dipole{M3}{0.2}{-20}[r][0.4] \drift{0.7} \end{fade} - \legend{(-1,6.5)} + \legend{(0,6.5)} \end{lattice} - \caption{two lattice environments and start} + \caption{one lattice environment and goto} \end{subfigure} % \begin{subfigure}[b]{.45\textwidth} - \centering - \begin{lattice}[0.8] +\centering + \begin{lattice}[0.8] \rotate{90} \turnlabels %labels to the left \drift{0.5} @@ -603,11 +683,12 @@ exact place of the element. \textit{east} and \textit{center} are available (see \drift{0.27} \dipole{MB1}{0.2}{30}[s][0.4] \drift{0.2} - - % now go back to saved coordinate and continue with another beamline - \goto{Septum} - \rotate{-20} - \turnlabels %labels to the right + \end{lattice} + % + %now draw second lattice and connect them using the saved coordinate + \begin{lattice}[0.8][overlay] + \start{(Septum)} + \rotate{70} \drift{0.6} \kicker{SS1}{0.2} \drift{0.2} @@ -621,9 +702,9 @@ exact place of the element. \textit{east} and \textit{center} are available (see \dipole{M3}{0.2}{-20}[r][0.4] \drift{0.7} \end{fade} - \legend{(0,6.5)} + \legend{(-1,6.5)} \end{lattice} - \caption{one lattice environment and goto} + \caption{two lattice environments and start} \end{subfigure} \caption{From example 3: Two ways to connect lattices} \label{fig:twoways} @@ -650,13 +731,19 @@ v2.1 from 2015/02/23 is the first published version. \item documentation fixes \end{itemize} +\paragraph{v2.3 from 2017/03/09} +\begin{itemize} +\item added \lstinline+\setlegendtext+ and \lstinline+\addlegendentry+ +\item German legend translation via babel (\textit{ngerman}) +\item legend fixes +\end{itemize} + \section{TODO} \label{sec:todo} \paragraph{What is missing?} \begin{itemize} -\item manually adding and editing legend entries \item The look of the elements can be improved \item More element types can be added \item \ldots{} diff --git a/Master/texmf-dist/tex/latex/tikz-palattice/tikz-palattice.sty b/Master/texmf-dist/tex/latex/tikz-palattice/tikz-palattice.sty index 064d990b97f..242c0cd85e5 100644 --- a/Master/texmf-dist/tex/latex/tikz-palattice/tikz-palattice.sty +++ b/Master/texmf-dist/tex/latex/tikz-palattice/tikz-palattice.sty @@ -1,5 +1,5 @@ %% tikz-palattice.sty -%% Copyright 2015 J. Schmidt +%% Copyright 2017 J. Schmidt %% tikz-palattice LaTeX package % % This work may be distributed and/or modified under the @@ -18,13 +18,14 @@ % and the 5 example files example1_linear.tex, example2_circular.tex, % example3_coordinates.tex, example4_labels.tex and elsa.tex -\ProvidesPackage{tikz-palattice}[2015/03/18 v2.21] +\ProvidesPackage{tikz-palattice}[2017/03/09 v2.3] \RequirePackage{tikz} \RequirePackage{ifthen} \RequirePackage{siunitx} \RequirePackage{xargs} \RequirePackage{etoolbox} -\usetikzlibrary{calc,positioning,fit} +\RequirePackage{iflang} +\usetikzlibrary{calc,positioning,fit,chains} \usetikzlibrary{scopes} \pgfdeclarelayer{background} \pgfsetlayers{background,main} @@ -67,6 +68,9 @@ \global\providetoggle{sourc} \global\settoggle{sourc}{false} \global\providetoggle{scree} \global\settoggle{scree}{false} \global\providetoggle{valv} \global\settoggle{valv}{false} +% custom legend +\pgfkeys{/pal/customlegendkeys/.initial = {nix}} +\def\emptycustomlegendkeys{nix} }{% %end \endtikzpicture @@ -167,6 +171,51 @@ } } + + +% legend text defaults +\IfLanguageName{ngerman}{% +\pgfkeyssetvalue{/pal/legendtxt/dipole}{Dipol} +\pgfkeyssetvalue{/pal/legendtxt/quadrupole}{Quadrupol} +\pgfkeyssetvalue{/pal/legendtxt/sextupole}{Sextupol} +\pgfkeyssetvalue{/pal/legendtxt/kicker}{Kicker} +\pgfkeyssetvalue{/pal/legendtxt/corrector}{Korrektor} +\pgfkeyssetvalue{/pal/legendtxt/solenoid}{Solenoid} +\pgfkeyssetvalue{/pal/legendtxt/cavity}{Hochfrequenz} +\pgfkeyssetvalue{/pal/legendtxt/source}{Quelle} +\pgfkeyssetvalue{/pal/legendtxt/screen}{Schirm} +\pgfkeyssetvalue{/pal/legendtxt/valve}{Ventil} +}{% +\pgfkeyssetvalue{/pal/legendtxt/dipole}{Dipole} +\pgfkeyssetvalue{/pal/legendtxt/quadrupole}{Quadrupole} +\pgfkeyssetvalue{/pal/legendtxt/sextupole}{Sextupole} +\pgfkeyssetvalue{/pal/legendtxt/kicker}{Kicker} +\pgfkeyssetvalue{/pal/legendtxt/corrector}{Corrector} +\pgfkeyssetvalue{/pal/legendtxt/solenoid}{Solenoid} +\pgfkeyssetvalue{/pal/legendtxt/cavity}{Cavity} +\pgfkeyssetvalue{/pal/legendtxt/source}{Source} +\pgfkeyssetvalue{/pal/legendtxt/screen}{Screen} +\pgfkeyssetvalue{/pal/legendtxt/valve}{Valve} +} + +% change legend text +\newcommand{\setlegendtext}[2]{% + \pgfkeys{/pal/legendtxt/#1=#2} +} + + +% add custom legend entry +\newcommand{\addlegendentry}[2]{% + \pgfkeys{/pal/customlegendkeys/.get = \lktemp} + \ifdefequal{\lktemp}{\emptycustomlegendkeys}{% + \pgfkeyssetvalue{/pal/customlegendkeys}{#1}% + }{% + \pgfkeys{/pal/customlegendkeys/.append = {,#1}}% + }% + \pgfkeys{/pal/customlegendimg/#1/.style = {#2}}% +} + + %legend (types that occured in the lattice before this command) \newcommandx{\legend}[2][2=1]{% \coordinate (legendstart) at ($(0,0)!\scal*20!#1$); @@ -186,27 +235,42 @@ \tikzset{drift/.append style={draw=none}} \northlabels% \setlabelcolor{black}% - \iftoggle{dip}{\dipole{Dipole}{\l}{0}[s][\h]\xdef\points{(elementlabel\j) - \points}\drift{\dist}}{}% - \iftoggle{quad}{\quadrupole{Quadrupole}{\l}[\h]\xdef\points{(elementlabel\j) +\setlabeldistance{\h}% +\setlabelfont{\normalsize}% + \iftoggle{dip}{\dipole{\pgfkeysvalueof{/pal/legendtxt/dipole}}{\l}{0}[r][\h]\xdef\points{(elementlabel\j) \points}\drift{\dist}}{}% - \iftoggle{sext}{\sextupole{Sextupole}{\l}[\h]\xdef\points{(elementlabel\j) + \iftoggle{quad}{\quadrupole{\pgfkeysvalueof{/pal/legendtxt/quadrupole}}{\l}[\h]\xdef\points{(elementlabel\j) \points}\drift{\dist}}{}% - \iftoggle{correct}{\corrector{Corrector}{\l}[\h]\xdef\points{(elementlabel\j) + \iftoggle{sext}{\sextupole{\pgfkeysvalueof{/pal/legendtxt/sextupole}}{\l}[\h]\xdef\points{(elementlabel\j) \points}\drift{\dist}}{}% - \iftoggle{kick}{\kicker{Kicker}{\l}[\h]\xdef\points{(elementlabel\j) + \iftoggle{correct}{\corrector{\pgfkeysvalueof{/pal/legendtxt/corrector}}{\l}[\h]\xdef\points{(elementlabel\j) \points}\drift{\dist}}{}% - \iftoggle{cav}{\cavity{Cavity}{\l}[\h]\xdef\points{(elementlabel\j) + \iftoggle{kick}{\kicker{\pgfkeysvalueof{/pal/legendtxt/kicker}}{\l}[\h]\xdef\points{(elementlabel\j) \points}\drift{\dist}}{}% - \iftoggle{sol}{\solenoid{Solenoid}{\l}[\h]\xdef\points{(elementlabel\j) + \iftoggle{cav}{\cavity{\pgfkeysvalueof{/pal/legendtxt/cavity}}{\l}[\h]\xdef\points{(elementlabel\j) \points}\drift{\dist}}{}% - \iftoggle{sourc}{\source{Source}{\l}[\h]\xdef\points{(elementlabel\j) + \iftoggle{sol}{\solenoid{\pgfkeysvalueof{/pal/legendtxt/solenoid}}{\l}[\h]\xdef\points{(elementlabel\j) \points}\drift{\dist}}{}% - \iftoggle{scree}{\screen{Screen}[\l]\xdef\points{(elementlabel\j) + \iftoggle{sourc}{\source{\pgfkeysvalueof{/pal/legendtxt/source}}{\l}[\h]\xdef\points{(elementlabel\j) \points}\drift{\dist}}{}% - \iftoggle{valv}{\drift{\dist}\valve{Valve}\xdef\points{(elementlabel\j) + \iftoggle{scree}{\screen{\pgfkeysvalueof{/pal/legendtxt/screen}}[\l]\xdef\points{(elementlabel\j) \points}\drift{\dist}}{}% + \iftoggle{valv}{\drift{\dist}\valve{\pgfkeysvalueof{/pal/legendtxt/valve}}\xdef\points{(elementlabel\j) + \points}\drift{\dist}\drift{\dist}}{}% \end{scope} + % custom entries (addlegendentry) + \edef\mylist{\pgfkeysvalueof{/pal/customlegendkeys}}% + \ifdefequal{\mylist}{\emptycustomlegendkeys}{}{% + \node[anchor=north west,inner sep=0,outer sep=0,xshift=#2*-2mm] at (east\j) { + \begin{tikzpicture}[start chain=going below,node distance=2mm,scale=#2,transform shape] + \foreach \ele in \mylist {% + \node[on chain, draw, thin,/pal/customlegendimg/\ele, minimum width=\h*10mm, minimum height=\l*10mm] (n) {};% + \node[anchor=west,xshift=5.15mm] (ntxt) at (n.center) {\ele};% + \xdef\points{($(ntxt.south east)+#2*(2mm,-2mm)$)\points}% + } + \end{tikzpicture} + }; + } \node[draw=black, rounded corners, fit=\points] {}; \pgfmathsetmacro{\scal}{\savescal} \pgfmathsetmacro{\angle}{\saveang} |