summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tikz-palattice
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-03-09 22:50:25 +0000
committerKarl Berry <karl@freefriends.org>2017-03-09 22:50:25 +0000
commit349fe493a0e1eb1b89143d34c91ab4403430d36f (patch)
treed40364cb66d3d663b56fb0734481ac4e72616b3b /Master/texmf-dist/tex/latex/tikz-palattice
parentd78d37fceee17e9b20b240992fb1f64f5062251e (diff)
tikz-palattice (8mar17)
git-svn-id: svn://tug.org/texlive/trunk@43442 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/tikz-palattice')
-rw-r--r--Master/texmf-dist/tex/latex/tikz-palattice/tikz-palattice.sty92
1 files changed, 78 insertions, 14 deletions
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}