texlive[46680] Master/texmf-dist/doc/latex/tikz-relay: tikz-relay

commits+karl at tug.org commits+karl at tug.org
Tue Feb 20 00:40:42 CET 2018


Revision: 46680
          http://tug.org/svn/texlive?view=revision&revision=46680
Author:   karl
Date:     2018-02-20 00:40:42 +0100 (Tue, 20 Feb 2018)
Log Message:
-----------
tikz-relay (19feb18)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/tikz-relay/README.txt
    trunk/Master/texmf-dist/doc/latex/tikz-relay/doc/BeamerAnimation.pdf
    trunk/Master/texmf-dist/doc/latex/tikz-relay/doc/BeamerAnimation.tex
    trunk/Master/texmf-dist/doc/latex/tikz-relay/doc/tikz-relay-doc.pdf
    trunk/Master/texmf-dist/doc/latex/tikz-relay/doc/tikz-relay-doc.tex
    trunk/Master/texmf-dist/doc/latex/tikz-relay/tex/tikzlibrarycircuits.ee.IEC.relay.code.tex

Modified: trunk/Master/texmf-dist/doc/latex/tikz-relay/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-relay/README.txt	2018-02-19 23:28:36 UTC (rev 46679)
+++ trunk/Master/texmf-dist/doc/latex/tikz-relay/README.txt	2018-02-19 23:40:42 UTC (rev 46680)
@@ -5,11 +5,16 @@
   http://www.latex-project.org/lppl.txt and version 1 or
 later is part of all distributions of LaTeX version 1999/12/01 or later.
 
-Version: 1.0
-Version date: 2018-02-05
+Version: 1.1
+Version date: 2018-02-19
 
 ------------------------------------------------------------
 
 This package contains a collection of symbols for typesetting electrical wiring diagrams for relay control systems. The symbols are meant to be in agreement with international standard IEC-60617 which is worldwide adopted with perhaps the exception of USA. It extends and modify, when needed, the TikZ-libray circuits.ee.IEC. A few non-standard symbols are also included mainly to be used in presentations, particularly with beamer package.
 
+------------------------------------------------------------
+
+If you are interest in generating the documentation departing from tikz-relay-doc.tex you are going to need pgfmanual-en-macros available at ctan:/graphics/pgf/base/doc/macros/pgfmanual-en-macros.tex
+http://mirrors.ctan.org/tex-archive/graphics/pgf/base/doc/macros/pgfmanual-en-macros.tex
+
 ------------------------------------------------------------
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/latex/tikz-relay/doc/BeamerAnimation.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tikz-relay/doc/BeamerAnimation.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-relay/doc/BeamerAnimation.tex	2018-02-19 23:28:36 UTC (rev 46679)
+++ trunk/Master/texmf-dist/doc/latex/tikz-relay/doc/BeamerAnimation.tex	2018-02-19 23:40:42 UTC (rev 46680)
@@ -1,6 +1,6 @@
 %% This is file `BeamerAnimation.tex'
-%% Version: 1.0
-%% Version date: 2018-02-05
+%% Version: 1.0.1
+%% Version date: 2018-02-19
 %% 
 %% Copyright (C) 2018 by Luis Paulo Laus, laus at utfpr.edu.br
 %%
@@ -23,11 +23,8 @@
 
 \documentclass{beamer}
 \usepackage{tikz,units}
-\usetikzlibrary{backgrounds}
+\usetikzlibrary{backgrounds, circuits.ee.IEC.relay}
 
-% \usetikzlibrary{circuits.ee.IEC.relay} % used in examples
-\input ../../tikz-relay/tex/tikzlibrarycircuits.ee.IEC.relay.code
-
 \makeatletter
 \newcommand*{\overlaynumber}{\number\beamer at slideinframe}
 \makeatother
@@ -49,45 +46,57 @@
 \begin{frame}{Four-Step Sequencer \overlaynumber{}}
 \noindent \begin{center}
 \hspace*{-0.05\textwidth}\resizebox{1.1\textwidth}{!}{
-\begin{tikzpicture}[circuit ee IEC relay,thick,x=6\tikzcircuitssizeunit,y=4.8\tikzcircuitssizeunit]
-  \newdimen\mydim
-  \pgfextractx{\mydim}{\pgfpointxy{2}{0}}
+\begin{tikzpicture}[circuit ee IEC relay,thick,x=6\tikzcircuitssizeunit,y=5\tikzcircuitssizeunit]
 
-  \draw(-1.5,0) node[left]{$\unit[0]{V}$} --+(9,0) (-1.5,4) node[left]{$\unit[+24]{V}$} --+(9,0);
+  \draw(-1.5,0) node[left]{$\unit[0]{V}$} --+(9,0)
+       (-1.5,4) node[left]{$\unit[+24]{V}$} --+(9,0);
 
-  \draw (0,0) node[contact]{}
-              to [relay coil={info=$K_1$,name=k11,alt={<1,2,7-17>{}{fill=LRed}}}] ++(0,1)
-              to [break contact={info=$K_2$,name=k24,alt={<1-5,11-20>{}{activated}}}] ++(0,1) node[contact,name=N1]{}
-              to [make contact={info=$K_4$,name=k43,alt={<1-13,19-20>{}{activated}}}] ++(0,1)
-              to [make contact={push button={info=$b_1$},name=b1,alt={<1-16,20>{}{activated}}}] ++(0,1) node[contact]{};
+  \draw (0,0)
+    node[contact]{}
+    to [relay coil={info=$K_1$,name=k11,alt={<1,2,7-17>{}{fill=LRed}}}] ++(0,1)
+    to [break contact={info=$K_2$,name=k24,alt={<1-5,11-20>{}{activated}}}] ++(0,1)
+    node[contact,name=N1]{}
+    to [make contact={info=$K_4$,name=k43,alt={<1-13,19-20>{}{activated}}}] ++(0,1)
+    to [make contact={push button={info=$b_1$},name=b1,alt={<1-16,20>{}{activated}}}] ++(0,1)
+    node[contact]{};
   \draw (N1) -- ++(1,0) 
-              to [make contact={info=$K_1$,name=k12,alt={<1,2,7-17>{}{activated}}}] ++(0,1) -- ++(0,1) node[contact]{};
+    to [make contact={info=$K_1$,name=k12,alt={<1,2,7-17>{}{activated}}}] ++(0,1) -- ++(0,1)
+    node[contact]{};
   \draw (N1) -- ++(-1,0)
-              to [make contact={push button={info=$b_S$},name=bs,alt={<1,4-20>{}{activated}}}] ++(0,2) node[contact]{};
-  \pgftransformxshift{\mydim}
-  \draw (0,0) node[contact]{}
-              to [relay coil={info=$K_2$,name=k21,alt={<1-5,11-20>{}{fill=LRed}}}] ++(0,1)
-              to [break contact={info=$K_3$,name=k34,alt={<1-9,15-20>{}{activated}}}] ++(0,1) node[contact,name=N1]{}
-              to [make contact={info=$K_1$,name=k13,alt={<1,2,7-17>{}{activated}}}] ++(0,1)
-              to [make contact={push button={info=$b_2$},name=b2,alt={<1-4,8-20>{}{activated}}}] ++(0,1) node[contact]{};
+    to [make contact={push button={info=$b_S$},name=bs,alt={<1,4-20>{}{activated}}}] ++(0,2)
+    node[contact]{};
+  \draw (2,0)
+    node[contact]{}
+    to [relay coil={info=$K_2$,name=k21,alt={<1-5,11-20>{}{fill=LRed}}}] ++(0,1)
+    to [break contact={info=$K_3$,name=k34,alt={<1-9,15-20>{}{activated}}}] ++(0,1)
+    node[contact,name=N1]{}
+    to [make contact={info=$K_1$,name=k13,alt={<1,2,7-17>{}{activated}}}] ++(0,1)
+    to [make contact={push button={info=$b_2$},name=b2,alt={<1-4,8-20>{}{activated}}}] ++(0,1)
+    node[contact]{};
   \draw (N1) -- ++(1,0)
-              to [make contact={info=$K_2$,name=k22,alt={<1-5,11-20>{}{activated}}}] ++(0,1) -- ++(0,1) node[contact]{};
-  \pgftransformxshift{\mydim}
-  \draw (0,0) node[contact]{}
-              to [relay coil={info=$K_3$,name=k31,alt={<1-9,15-20>{}{fill=LRed}}}] ++(0,1)
-              to [break contact={info=$K_4$,name=k44,alt={<1-13,19-20>{}{activated}}}] ++(0,1) node[contact,name=N1]{}
-              to [make contact={info=$K_2$,name=k23,alt={<1-5,11-20>{}{activated}}}] ++(0,1)
-              to [make contact={push button={info=$b_3$},name=b3,alt={<1-8,12-20>{}{activated}}}] ++(0,1) node[contact]{};
+    to [make contact={info=$K_2$,name=k22,alt={<1-5,11-20>{}{activated}}}] ++(0,1) -- ++(0,1)
+    node[contact]{};
+  \draw (4,0)
+    node[contact]{}
+    to [relay coil={info=$K_3$,name=k31,alt={<1-9,15-20>{}{fill=LRed}}}] ++(0,1)
+    to [break contact={info=$K_4$,name=k44,alt={<1-13,19-20>{}{activated}}}] ++(0,1)
+    node[contact,name=N1]{}
+    to [make contact={info=$K_2$,name=k23,alt={<1-5,11-20>{}{activated}}}] ++(0,1)
+    to [make contact={push button={info=$b_3$},name=b3,alt={<1-8,12-20>{}{activated}}}] ++(0,1)
+    node[contact]{};
   \draw (N1) -- ++(1,0)
-              to [make contact={info=$K_3$,name=k32,alt={<1-9,15-20>{}{activated}}}] ++(0,1) -- ++(0,1) node[contact]{};
-  \pgftransformxshift{\mydim}
-  \draw (0,0) node[contact]{}
-              to [relay coil={info=$K_4$,name=k41,alt={<1-13,19-20>{}{fill=LRed}}}] ++(0,1)
-              to [break contact={info=$K_1$,name=k14,alt={<1,2,7-17>{}{activated}}}] ++(0,1) node[contact,name=N1]{}
-              to [make contact={info=$K_3$,name=k33,alt={<1-9,15-20>{}{activated}}}] ++(0,1)
-              to [make contact={push button={info=$b_4$},name=b4,alt={<1-12,16-20>{}{activated}}}] ++(0,1)  node[contact]{};
+    to [make contact={info=$K_3$,name=k32,alt={<1-9,15-20>{}{activated}}}] ++(0,1) -- ++(0,1)
+    node[contact]{};
+  \draw (6,0) node[contact]{}
+    to [relay coil={info=$K_4$,name=k41,alt={<1-13,19-20>{}{fill=LRed}}}] ++(0,1)
+    to [break contact={info=$K_1$,name=k14,alt={<1,2,7-17>{}{activated}}}] ++(0,1)
+    node[contact,name=N1]{}
+    to [make contact={info=$K_3$,name=k33,alt={<1-9,15-20>{}{activated}}}] ++(0,1)
+    to [make contact={push button={info=$b_4$},name=b4,alt={<1-12,16-20>{}{activated}}}] ++(0,1)
+    node[contact]{};
   \draw (N1) -- ++(1,0)
-              to [make contact={info=$K_4$,name=k42,alt={<1-13,19-20>{}{activated}}}] ++(0,1) -- ++(0,1) node[contact]{};
+    to [make contact={info=$K_4$,name=k42,alt={<1-13,19-20>{}{activated}}}] ++(0,1) -- ++(0,1)
+    node[contact]{};
   \begin{pgfonlayer}{background}
     \visible<2-3>{
       \draw[fill=LBlue,LBlue](bs) circle (0.4);
@@ -130,7 +139,7 @@
     }
   \end{pgfonlayer}
 \end{tikzpicture}}
-\par
+\par\bigskip
 Copyright (C) 2018 by Luis Paulo Laus, laus at utfpr.edu.br
 \end{center}
 \end{frame}

Modified: trunk/Master/texmf-dist/doc/latex/tikz-relay/doc/tikz-relay-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tikz-relay/doc/tikz-relay-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-relay/doc/tikz-relay-doc.tex	2018-02-19 23:28:36 UTC (rev 46679)
+++ trunk/Master/texmf-dist/doc/latex/tikz-relay/doc/tikz-relay-doc.tex	2018-02-19 23:40:42 UTC (rev 46680)
@@ -1,6 +1,6 @@
 %% This is file `tikz-relay-doc.tex'
-%% Version: 1.0
-%% Version date: 2018-02-05
+%% Version: 1.1
+%% Version date: 2018-02-19
 %% 
 %% Copyright (C) 2018 by Luis Paulo Laus, laus at utfpr.edu.br
 %%
@@ -25,6 +25,7 @@
 \usepackage[pdfborder={0 0 0}]{hyperref}
 \usepackage[version=latest]{pgf}
 \usepackage{calc,listings,tikz,units}
+\usepackage{pdfpages}
 
 \usepackage{hyperref}
 \hypersetup{%
@@ -46,7 +47,7 @@
 \usepackage{amsmath,amssymb}
 \usepackage{xxcolor}
 %% \usepackage{pifont}
-%\usepackage{tgpagella} % no ligatures (test)
+\usepackage{tgpagella} % no ligatures (test)
 \usepackage{makeidx}
 \usepackage{enumitem}
 \usepackage[T1]{fontenc}
@@ -53,8 +54,12 @@
 \usepackage[latin9]{inputenc}
 
 
-\input{pgfmanual-en-macros}    % Borrowed from TikZ/PGF
+\input{pgfmanual-en-macros}    % Borrowed from TikZ/PGF manual
+% look at ctan:/graphics/pgf/base/doc/macros/pgfmanual-en-macros.tex
+% http://mirrors.ctan.org/tex-archive/graphics/pgf/base/doc/macros/pgfmanual-en-macros.tex
 
+ 
+
 \makeindex
 
 \makeatletter
@@ -94,11 +99,14 @@
 %
 % This file really starts here, all the above is for pgfmanual 
 % compatibility
-% \usetikzlibrary{circuits.ee.IEC.relay} % used in examples
-\input ../../tikz-relay/tex/tikzlibrarycircuits.ee.IEC.relay.code
+\usetikzlibrary{circuits.ee.IEC.relay}
 \tikzset{circuit symbol unit=2.5mm}
 \sloppy
 
+\tikzset{help lines/.style={blue!20,very thin}}
+
+%\tikzset{circuit symbol open/.style={draw=blue,fill=blue!10},circuit symbol filled/.style={fill=blue,draw},circuit symbol lines/.style={draw=orange},circuit symbol wires/.style={ultra thick,draw=violet}}
+
 % counter for automatic placement
 \newcount\xpos
 \newcount\ypos
@@ -107,7 +115,7 @@
 
 \title{Typesetting Electrical Wiring Diagrams for \emph{Relay} Control Systems with \LaTeX{} and \tikzname{}}
 \author{Luis Paulo Laus\\e-mail: \texttt{laus at utfpr.edu.br}}
-\date{Version: 1.0, Version date: 2018-02-05}
+\date{Version: 1.1, Version date: 2018-02-19}
 
 \maketitle
 
@@ -125,9 +133,9 @@
 \item IEC~60\,617-8/1996 Graphical symbols for diagrams -- Part 8: Measuring instruments, lamps and signalling devices;
 \item IEC~60\,617-7/1996 Graphical symbols for diagrams -- Part 7: Switchgear, controlgear and protective devices.
 \end{itemize}
-All of the aforementioned standards have been withdrawn and correspond to edition~2 of IEC~60\,617. The up-to-date edition, at the moment this document was written, is IEC~60\,617:2012~DB. The author trust that the symbols in this package have not been modified between versions, but without access to the new edition it is impossible to say for sure. One indication that improves confidence in the up-to-dateness of this package is the fact that the current editions is based in editions~2 and 3 and the blunt fact that symbols, once adopted, tend to remain unchanged over time. There are also other libraries with free access\footnote{See, for instance, \url{https://www.tracepartsonline.net/(S(0eaztjeawef0onrm1hm4i10k))/}.} that show symbols with the same form they appear herein. Please, report any inaccuracy and out-to-date symbols.
+All of the aforementioned standards have been withdrawn and correspond to edition~2 of IEC~60\,617. The up-to-date edition, at the moment this document was written, is IEC~60\,617:2012~DB. The author trust that the symbols in this package have not been modified between versions, but without access to the new edition it is impossible to say for sure. One indication that improves confidence in the up-to-dateness of this package is the fact that the current editions is based in editions~2 and 3 and the blunt fact that symbols, once adopted, tend to remain unchanged over time. There are also other libraries with free access\footnote{See, for instance, \url{https://symbols.radicasoftware.com/stencil/IEC.html} and \url{https://www.tracepartsonline.net/} and search for ``CEI IEC''.} that show symbols with the same form they appear herein. Please, report any inaccuracy and out-to-date symbols.
 
-You can also help if you have access to the current standard and can verify and report the accuracy of the information presented herein.
+You can also help if you have access to the current standard and can verify and report the accuracy of the information presented herein. Particularly regarding the dimensions employed in the graphs. Some of them were devised using soundings geometrical rules, but many (like circle diameters) were estimated using poor resolution graphics. 
 
 The international standard IEC~60\,617 is worldwide adopted with perhaps the exception of USA which uses NEMA -- National Electrical Manufacturers Association. If you are interested in NEMA standard you should refer to |tikz-ladder| package. This package is meant to be used for PLC programming, but can also be used for relay control systems.
 
@@ -196,51 +204,54 @@
 In this library, the |mid| anchor is used to place annotations, which are secondary symbols placed on top of another symbol, on contacts and the |north| or |south| anchor on |relay coil|. The key |info|, as described in Section~``Circuit Libraries'' of \tikzname\ manual, is used to place the component identification. Observe that the |info| has to be provide for the annotation, if any, or for the symbol itself if the annotation is placed at right side of the symbol. The keys |term|, |term'| and |term''| are used to place terminal numbers by the side of component terminals. See Section~\ref{sec:labels} for details and examples.
 
 \section{Symbols}
+\begin{minipage}{\linewidth}
 The symbols in this library are:
 \begin{center}
 \begin{tabular}{lcc}
 \emph{key} & IEC~60\,617 \emph{number} & \emph{Appearance}\\
 |/tikz/resistor| & 04-01-01 &
-\tikz[circuit ee IEC relay] \draw (0,0) to[resistor] (0,1);\\
+\tikz[circuit ee IEC relay,baseline=.5cm] {\draw[help lines] (-0.75,-0.25) grid[step=\tikzcircuitssizeunit] +(1.5,1.5); \draw (0,0) to[resistor] (0,1);}\\
 |/tikz/fuse| & 07-21-01 &
-\tikz[circuit ee IEC relay] \draw (0,0) to[fuse] (0,1);\\
-|/tikz/inductor| & 04-A3-01 &
-\tikz[circuit ee IEC relay,set inductor graphic = inductor IEC relay graphic] \draw (0,0) to[inductor] (0,1);\\
+\tikz[circuit ee IEC relay,baseline=.5cm] {\draw[help lines] (-0.75,-0.25) grid[step=\tikzcircuitssizeunit] +(1.5,1.5); \draw (0,0) to[fuse] (0,1);}\\
+|/tikz/inductor IEC relay graphic| & 04-A3-01 &
+\tikz[circuit ee IEC relay,set inductor graphic = inductor IEC relay graphic,baseline=.5cm] {\draw[help lines] (-0.75,-0.25) grid[step=\tikzcircuitssizeunit] +(1.5,1.5); \draw (0,0) to[inductor] (0,1);}\\
 |/tikz/bulb| & 08-10-01 &
-\tikz[circuit ee IEC relay] \draw (0,0) to[bulb] (0,1);\\
+\tikz[circuit ee IEC relay,baseline=.5cm] {\draw[help lines] (-0.75,-0.25) grid[step=\tikzcircuitssizeunit] +(1.5,1.5); \draw (0,0) to[bulb] (0,1);}\\
 |/tikz/magnetic sensor| & 02-08-02 &
-\tikz[circuit ee IEC relay] \draw (0,0) to[magnetic sensor] (0,1);\\
+\tikz[circuit ee IEC relay,baseline=.5cm] {\draw[help lines] (-0.75,-0.25) grid[step=\tikzcircuitssizeunit] +(1.5,1.5); \draw (0,0) to[magnetic sensor] (0,1);}\\
 |/tikz/thermic sensor| & 02-08-01 &
-\tikz[circuit ee IEC relay] \draw (0,0) to[thermic sensor] (0,1);\\
+\tikz[circuit ee IEC relay,baseline=.5cm] {\draw[help lines] (-0.75,-0.25) grid[step=\tikzcircuitssizeunit] +(1.5,1.5); \draw (0,0) to[thermic sensor] (0,1);}\\
 |/tikz/make contact| & 07-02-01 &
-\tikz[circuit ee IEC relay] \draw (0,0) to[make contact] (0,1);\\
+\tikz[circuit ee IEC relay,baseline=.5cm] {\draw[help lines] (-0.75,-0.25) grid[step=\tikzcircuitssizeunit] +(1.5,1.5);  \draw (0,0) to[make contact] (0,1);}\\
 |/tikz/break contact| & 07-02-03 &
-\tikz[circuit ee IEC relay] \draw (0,0) to[break contact] (0,1);\\
+\tikz[circuit ee IEC relay,baseline=.5cm] {\draw[help lines] (-0.75,-0.25) grid[step=\tikzcircuitssizeunit] +(1.5,1.5); \draw (0,0) to[break contact] (0,1);}\\
 |/tikz/change over contact| & 07-02-04 &
-\tikz[circuit ee IEC relay] \draw (0,0) to[change over contact] (0,1);\\
+\tikz[circuit ee IEC relay,baseline=.5cm] {\draw[help lines] (-0.75,-0.25) grid[step=\tikzcircuitssizeunit] +(1.5,1.5); \draw (0,0) to[change over contact] (0,1);}\\
 |/tikz/relay coil| & 07-15-01 &
-\tikz[circuit ee IEC relay] \draw (0,0) to[relay coil] (0,1);\\
+\tikz[circuit ee IEC relay,baseline=.5cm] {\draw[help lines] (-0.75,-0.25) grid[step=\tikzcircuitssizeunit] +(1.5,1.5); \draw (0,0) to[relay coil] (0,1);}\\
 |/tikz/proximity sensor coil| & 07-19-01 &
-\tikz[circuit ee IEC relay] \draw (0,0) to[proximity sensor coil] (0,1);
+\tikz[circuit ee IEC relay,baseline=.5cm] {\draw[help lines] (-0.75,-0.25) grid[step=\tikzcircuitssizeunit] +(1.5,1.5); \draw (0,0) to[proximity sensor coil] (0,1);}\\
+|/tikz/mechanical interlock| & 02-12-11 &
+\tikz[circuit ee IEC relay,baseline=0cm] {\draw[help lines] (0,-0.5) grid[step=\tikzcircuitssizeunit] +(1.5,1); \draw[dashed] (0.25,0) to[mechanical interlock] (1.25,0);}
 \end{tabular}
 \end{center}
+\bigskip\end{minipage}
+Three symbols, |resistor|, |inductor| and |bulb| are already defined in \tikzname-library |circuits.ee.IEC|. They are redefined in this package because their proportion was not in agreement with IEC~60\,617. The symbols |inductor| is listed in Annex~A of IEC~60\,617 implying it is deleted and should appear in old diagrams or documentation explaining is it obsolete. To use this symbol set the option \verb|set inductor graphic = inductor IEC relay graphic| either globally with |tikzset| or locally as option of a picture or a scope.
 
-Three symbols, |resistor|, |inductor| and |bulb| are already defined in \tikzname-library |circuits.ee.IEC|. They are redefined here because their proportion was not in agreement with IEC~60\,617. The symbols |inductor| is listed in Annex~A implying it is deleted and should appear in old diagrams or documentation explaining is it obsolete. To use this symbol set the option \verb|set inductor graphic = inductor IEC relay graphic| either globally with |tikzset| or locally in the options diagram list.
-
 ``Change over contact'' is short for ``change-over break before make contact''. The symbols |make contact|, |break contact| and |change over contact| can be activated (the contact changes the position) and this feature is needed for creating presentations. See Section~\ref{sec:beamer} for details.
 
 This list may look short, but several other symbols are possible combining these symbols with annotation. In fact, it is annotation that empowers this library.
 
 
-%\tikzset{circuit symbol open/.style={draw=blue,fill=blue!10},circuit symbol filled/.style={fill=blue,draw},circuit symbol lines/.style={draw=orange},circuit symbol wires/.style={ultra thick,draw=violet}}
-
-\subsection{Annotation for coils}
+\subsection{Annotation for relay coils}
+\begin{minipage}{\linewidth}
 The |relay coil| can be used alone or combined with annotations to form:
 \begin{center}
 \begin{tikzpicture}[circuit ee IEC relay,thick,x=20\tikzcircuitssizeunit,y=3\tikzcircuitssizeunit]
+  \draw[help lines] (-0.8,-10) grid[step=\tikzcircuitssizeunit] +(3.3,12.6667);
   \global\xpos=0
   \global\ypos=0
-  \foreach \x in {, slow operating, slow releasing, slow operating and slow releasing, high speed, mechanically latched, alternating current,solenoid valve}
+  \foreach \x in {, slow operating, slow releasing, slow operating and slow releasing, high speed, mechanically latched, alternating current, polarized, remanent, electronic, solenoid valve, pulse counter}
   {
      \ifnum \xpos>2 \global\xpos=0 \global\advance\ypos by 3 \fi
      \node[below] at (\the\xpos,-\the\ypos) {\verb|\x|};
@@ -249,16 +260,20 @@
   }
 \end{tikzpicture}
 \end{center}
+\bigskip\end{minipage}
+Note that symbol |relay coil| is used to produce the graphic for other devices which in fact are not relays at all. 
 
 \subsection{Annotation for contacts}
+\begin{minipage}{\linewidth}
 The contacts can be used alone or combined with annotations to form:
 \begin{center}
-\begin{tikzpicture}[circuit ee IEC relay,thick,x=14\tikzcircuitssizeunit,y=3\tikzcircuitssizeunit]
+\begin{tikzpicture}[circuit ee IEC relay,thick,x=16\tikzcircuitssizeunit,y=3\tikzcircuitssizeunit]
+  \draw[help lines] (-0.5,-19) grid[step=\tikzcircuitssizeunit] +(4.125,21.6667);
   \global\xpos=0
   \global\ypos=0
-  \foreach \x in {, manually operated, push button, pull switch, turn switch,  var push button, emergency switch, position switch, proximity switch, roller, thermal switch, level switch, circuit breaker}
+  \foreach \x in {, manually operated, push button, protected manually operated, pull switch, turn switch, var push button, emergency switch, pedal operated, lever operated, key operated, crank operated, removable handle, proximity switch, touch switch, magnetic switch, position switch, roller, thermal switch, level switch, var level switch, counter switch, pressure switch, delayed activation, delayed deactivation, delayed both, static switch, circuit breaker}
   {
-     \ifnum \xpos>4 \global\xpos=0 \global\advance\ypos by 3 \fi
+     \ifnum \xpos>3 \global\xpos=0 \global\advance\ypos by 3 \fi
      \node[below] at (\the\xpos,-\the\ypos) {\verb|\x|};
      \draw (\the\xpos,-\the\ypos) to[make contact={\x}] (\the\xpos,2-\the\ypos);
      \global\advance\xpos by 1
@@ -265,13 +280,16 @@
   }
 \end{tikzpicture}
 \end{center}
-Temperature sensitive switch is indicated by either the Greek capital letter $\Theta$ or by the operating temperature conditions written at the right side of the contact and it can be achieved using the |info'| key. It is also usual to indicate pressure sensitive switch with roman letter P or by the operating pressure conditions in the same way.
+\bigskip\end{minipage}
+Temperature sensitive switch is indicated by either the Greek capital letter $\Theta$ or by the operating temperature conditions written at the right side of the contact and it can be achieved using the |info'| key. It is also usual to indicate pressure sensitive switch with roman letter P or by the operating pressure conditions in the same way. 
 
 
 \subsection{Annotation self-placement}
+\begin{minipage}{\linewidth}
 For contacts, the |mid| anchor is used to place the annotation at correct position. For instance, a |push button| applied to all kinds of contacts produces:
 \begin{center}
 \begin{tikzpicture}[circuit ee IEC relay,thick,x=10\tikzcircuitssizeunit,y=3\tikzcircuitssizeunit]
+  \draw[help lines] (-0.5,-0.3334) grid[step=\tikzcircuitssizeunit] +(5.7,3);
   \global\xpos=0
   \global\ypos=0
   \foreach \x/\s in {make contact, make contact/activated, break contact, break contact/activated, change over contact, change over contact/activated}
@@ -282,10 +300,12 @@
   }
 \end{tikzpicture}
 \end{center}
+\bigskip\end{minipage}
 
-In the case of a |position switch|, the orientation is also adjusted with the help of |input| anchor:
+In the case of a |position switch|, |delayed activation|, |delayed deactivation|, |delayed both| and |static switch|, the orientation is also adjusted with the help of |input| anchor:
 \begin{center}
 \begin{tikzpicture}[circuit ee IEC relay,thick,x=10\tikzcircuitssizeunit,y=3\tikzcircuitssizeunit]
+  \draw[help lines] (-0.5,-0.3334) grid[step=\tikzcircuitssizeunit] +(5.7,3);
   \global\xpos=0
   \global\ypos=0
   \foreach \x/\s in {make contact, make contact/activated, break contact, break contact/activated, change over contact, change over contact/activated}
@@ -297,7 +317,33 @@
 \end{tikzpicture}
 \end{center}
 
+\noindent{}and
 
+\begin{center}
+\begin{tikzpicture}[circuit ee IEC relay,thick,x=10\tikzcircuitssizeunit,y=3\tikzcircuitssizeunit]
+  \draw[help lines] (-0.5,-0.3334) grid[step=\tikzcircuitssizeunit] +(5.7,3);
+  \global\xpos=0
+  \global\ypos=0
+  \foreach \x/\s in {make contact, make contact/activated, break contact, break contact/activated, change over contact, change over contact/activated}
+  {
+     \ifnum \xpos>5 \global\xpos=0 \global\advance\ypos by 3 \fi
+     \draw (\the\xpos,-\the\ypos) to[\x={delayed both,\s}] (\the\xpos,2-\the\ypos);
+     \global\advance\xpos by 1
+  }
+\end{tikzpicture}
+\end{center}
+
+Annotations can be mirrored using the apostrophe ('), e.g., a position switch, mechanically operated in both directions with two separate circuits would be:
+\begin{codeexample}[width=2.3cm]
+\begin{tikzpicture}[circuit ee IEC relay,thick]
+  \draw
+    (0,0) to[break contact={name=sw1,position switch,position switch'}] ++(0,2)
+    (2,0) to[make contact={name=sw2,position switch,position switch'}] ++(0,2);
+  \draw[dashed] (sw1.south) -- (sw2.north);
+\end{tikzpicture}
+\end{codeexample}
+
+
 \subsection{Change over contact}
 Change over contact, or more exactly, ``change-over break before make contact'' is the only contact in this library that has three terminals. The bottom and top right terminal are connected in the usual way, namely, using the command |to|. To allow the user access to the top left terminal, an anchor named\footnote{The same name convention adopted in \tikzname-library |circuits.ee.IEC| is used here: the symbol default orientations make the component appear as rotated $90^{\circ}$ clockwise. The terminals on the left (bottom in the normal orientation) are named inputs and anchors with names starting with |input| are automatically placed. The terminals on the right (top in the normal orientation) are the outputs and anchors with names starting with |output| are automatically placed.} |output 1| is automatically placed. To use this anchor, the contact has to be named. The reference is available in the same and subsequent paths. Therefore, 
 
@@ -305,7 +351,7 @@
 \begin{tikzpicture}[circuit ee IEC relay,thick]
   \draw (0,0) to[change over contact={name=sw1}] ++(0,2) coordinate(n1)
         (sw1.output 1) -- (sw1.output 1 |- n1);
-  \draw[<-,red,thin] (sw1.output 1) -- ++(-0.5,0)
+  \draw[{<[sep=2pt]}-,red,thin] (sw1.output 1) -- ++(-0.5,0)
         node[left]{3$^{\mathrm{rd}}$ term.};
 \end{tikzpicture}
 \end{codeexample}
@@ -321,9 +367,10 @@
 \end{tikzpicture}
 \end{codeexample}
 
+
 \section{Labels\label{sec:labels}}
 You can place information at the left side of a symbol using |info| and at the right side with |info'|. Note that, if the symbol has an annotation at is left side and you want to use |info|, you have to use |info| in the annotation. The same is valid for |info'| if the annotation is at the right side of the symbol. 
-For instance, a relay named K1 is labelled as:
+For instance, a relay coil named K1 is labelled as:
 \begin{codeexample}[width=2.5cm]
 \tikz[circuit ee IEC relay,thick]
   \draw (0,0) to[relay coil={info=K1}] (0,1);
@@ -353,7 +400,7 @@
     to[relay coil={solenoid valve={info'={[blue]RELEASE}},info=Y2}] (0,1);
 \end{codeexample}
 \noindent{}but if there is no annotation or the annotation is on the left side, use the |info'| inside the symbol:
-\begin{codeexample}[width=3.5cm]
+\begin{codeexample}[width=3.8cm]
 \tikz[circuit ee IEC relay,thick]
   \draw (0,0)
     to[relay coil={slow operating={info=K2},info'={[blue]START}}] (0,1);
@@ -368,7 +415,7 @@
 \end{description}
 Each one of these three keys can be individually styled using the style, e.g., |every term'/.style|.
 
-A slow operating relay:
+A slow operating relay coil:
 \begin{codeexample}[width=2.5cm]
 \tikz[circuit ee IEC relay,thick]
   \draw (0,0) to[relay coil={slow operating={info=K2},term=A1,term'=A2}] (0,1);
@@ -619,12 +666,11 @@
     node[right]{12V};
 \end{tikzpicture}
 \end{codeexample}
-\noindent{}
-During the presentation you can say that ``pressing B1 the lamp~L1 turns off, releasing it turns L1 on again''. One cool trick is to move forward and backward between slides~2 and 3.
+\noindent{}During the presentation you can say that ``pressing B1 the lamp~L1 turns off, releasing it turns L1 on again''. One cool trick is to move forward and backward between slides~2 and 3.
 
 To draw this example, we start with the schematics and once it is ready the animation part is done by placing keys |visible| and |alt| in suitable locations. The filling of L2 is visible only in slide~1 and 3. B1 appears differently depending on the slide. For slides~1 and 3, B1 is a normal break contact (closed), but in slide~2 it is an ``activated'' break contact which is open. Note that key |bulb| receives or not the key |fill|. Similarly, the key |break contact| receives or not the key |activated| (the key |visible| could be used instead of |alt|).
 
-When developing ``animations'' you may need to know the overlay number. It can be printed, say in the frame title, using macro |\overlaynumber|; type this in the document preamble:
+When developing ``animations'', you may need to know the overlay number. It can be printed, say in the frame title, using macro |\overlaynumber|; type this in the document preamble:
 
 \begin{codeexample}[code only]
 \makeatletter
@@ -664,7 +710,7 @@
 \end{codeexample}
 \noindent{}The handout will show a lighted lamp in series with a disactivated break contact. If you do not want that the lamp appears lighted, use \verb|alt={<2>{}{fill=yellow}}| instead of |visible|. So, the lamp will not the lighted in slide~2 (implying it will in slides~1 and 3) and it will not be lighted in the handout as well.
 
-A complete, though minimalistic, example is provided in a separated file\footnote{This file should be in the same folder you have found this document.}: ``BeamerAnimation.tex''. In this example, a four-step sequencer is animated. A total of twenty slides are generated based in a single schematic.
+A complete, though minimalistic, example is provided in a separated file\footnote{This file should be in the same folder you have found this document, if not try \url{http://repositorios.cpai.unb.br/ctan/graphics/pgf/contrib/tikz-relay/doc/BeamerAnimation.tex}.}: ``BeamerAnimation.tex'', which is listed in Appendix~A for your convenience. In this example, a four-step sequencer is animated. A total of twenty slides are generated based in a single schematic. The frame title includes the macro |\overlaynumber| which generates the slide number and shall be removed once the presentation is ready. So, all slides would look like the same slide, but with animation on it.
 
 
 \subsection{Adjusting the diagram size}
@@ -681,7 +727,7 @@
 
 Contacts can be considered an especial case of symbols. They have no defined border, no intuitive notion of inside and outside. The \tikzname-library |circuits| places them in a category called ``wires''. The normal anchors (north, south, south west, etc.) have no practical use. Even so, they need a |center| anchor, used to place the symbol, and a |mid| anchor, used to place annotations. They also need an anchor border in order to interrupt the line during placement (and also for label positioning). The anchor border controls the gap that appears on the line. Thus, it is defined as the symbol size. In other words, the symbol size is an invisible border a bit smaller than the actual symbol because the inclined line which represents the movable contact have an addendum that protrudes beyond the symbol border.
 
-Outer separation is also undesired when placing contact. If the normal treatment were dispensed for contacts, setting the outer separation to any positive number would disrupt de line connected to the symbol. Instead of setting the outer separation to zero, the shape code that produces contacts simply disregards the outer separation when drawing the component. 
+Outer separation is also undesired when placing contact. If the normal treatment were dispensed for contacts, setting the outer separation to any positive number would disrupt the line connected to the symbol. Instead of setting the outer separation to zero, the shape code that produces contacts simply disregards the outer separation when drawing the component. 
 
 All symbols below look rotated $90^{ \circ}$ because \tikzname\ uses this orientation to place the symbol in a line.
 
@@ -740,7 +786,7 @@
   \foreach \anchor/\placement in {center/above, 30/above right, 358/below right,
       north/above, north east/above, north west/above,
       south/below, south east/below, south west/below,
-      east/left, west/right, mid/above, input/left,output/right, output 1/below right}
+      east/left, west/right, mid/above, input/left,output/right, output 1/below right, output 2/above right}
   \draw[shift=(s.\anchor)] plot[mark=x] coordinates{(0,0)} node[\placement] {\scriptsize\texttt{(s.\anchor)}};
 \end{tikzpicture}
 \end{codeexample}
@@ -752,7 +798,7 @@
   \foreach \anchor/\placement in {center/above, 30/above right, 358/below right,
       north/above, north east/above, north west/above,
       south/below, south east/below, south west/below,
-      east/left, west/right, mid/above, input/left,output/right, output 1/below right}
+      east/left, west/right, mid/above, input/left,output/right, output 1/below right, output 2/above right}
   \draw[shift=(s.\anchor)] plot[mark=x] coordinates{(0,0)} node[\placement] {\scriptsize\texttt{(s.\anchor)}};
 \end{tikzpicture}
 \end{codeexample}
@@ -802,8 +848,23 @@
 
 This package has been tested and used for more than three years, so I do believe it is mature by now and I decided to share it. On the other hand, I was the only person who used it, therefore idiosyncrasies were not detected.
 
-Any comments, suggestions, request for a missing symbols and feedbacks are welcomed. I will do my best to answer as soon as possible. My contact e-mail is in the first page.
+Any comments, suggestions, request for a missing symbols and feedback are welcomed. I will do my best to answer as soon as possible. My contact e-mail is in the first page.
 
 It should be great if someone with experience in writing \tikzname\ libraries could have a look in the code and point out error or improvements to be made. 
 
+\appendix
+\newgeometry{left=1cm,right=1cm,top=1.5cm,bottom=1.5cm,nohead}
+\section*{Appendix A -- Beamer Example of a Four Step Sequencer}
+
+In this example, the animations is done in two layers: the schematics is drawn on foreground with contact and filling animation; on the background, circles (actually, ellipses since |x| and |y| scales are different) are drawn in light blue to highlight with contact or coil that has been activated because several of them changes from one slide to the next. In order to place the ellipses in the precise position, every contact and coil is named.
+
+At first, only one coil and the contacts respective to one step are drawn, then they are copy three times and the information is changed as needed. Finally, the $b_s$ is added. When the schematics is done, the animation part is made adding the |alt| key in the foreground and the |\visible| macro in the background.
+
+After the \LaTeX\ code, the slides were included for reference. They shall be found as a separated PDF file in the same folder you have found this document.
+
+\lstinputlisting[language={[LaTeX]TeX},basicstyle={\small},breakautoindent=true]{BeamerAnimation.tex}
+\clearpage
+\eject \pdfpagewidth=128mm \pdfpageheight=96mm
+\includepdf[pages=-,offset=-116 285,noautoscale]{BeamerAnimation.pdf}
+
 \end{document}
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/latex/tikz-relay/tex/tikzlibrarycircuits.ee.IEC.relay.code.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tikz-relay/tex/tikzlibrarycircuits.ee.IEC.relay.code.tex	2018-02-19 23:28:36 UTC (rev 46679)
+++ trunk/Master/texmf-dist/doc/latex/tikz-relay/tex/tikzlibrarycircuits.ee.IEC.relay.code.tex	2018-02-19 23:40:42 UTC (rev 46680)
@@ -1,6 +1,6 @@
 %% This is file `tikzlibrarycircuits.ee.IEC.relay.code.tex'
-%% Version: 1.0
-%% Version date: 2018-02-05
+%% Version: 1.1
+%% Version date: 2018-02-19
 %% 
 %% Copyright (C) 2018 by Luis Paulo Laus, laus at utfpr.edu.br
 %%
@@ -23,8 +23,21 @@
 %%
 %% Change History:
 %% 1.0: 05 February 2018: Original Version
+%% 1.1: 19 February 2018: new annotations: delayed activation,
+%%                        delayed deactivation, delayed both, 
+%%                        touch switch, magnetic switch,
+%%                        static switch, polarized relay, 
+%%                        remanent, electronic, pulse counter,
+%%                        counter switch, var level switch,
+%%                        pedal operated, lever operated,
+%%                        key operated, removable handle,
+%%                        crank operated, pressure switch and
+%%                        protected manually operated;
+%%                        new symbol: mechanical interlock;
+%%                        fix annotations separation.
 %% 
 \usetikzlibrary{circuits.ee.IEC}
+\usepgflibrary{shapes.geometric}
 
 \makeatletter
 
@@ -235,7 +248,10 @@
     \else%
       \pgf at xc=\pgf at x%
       \pgf at yc=\pgf at y%
-      \pgf at process{\pgfpointborderrectangle{\pgfqpoint{\pgf at xc}{\the\pgf at yc}}{\northeast}}%
+      \pgf at process{\northeast}%
+      \pgf at xa=\pgf at x%
+      \pgf at ya=1.321367\pgf at y%
+      \pgf at process{\pgfpointborderrectangle{\pgfqpoint{\pgf at xc}{\the\pgf at yc}}{\pgfqpoint{\pgf at xa}{\pgf at ya}}}%
     \fi%
   }
   
@@ -311,10 +327,9 @@
       % tricky... simpilfy to the origin...
       \pgf at xc=\pgf at x%
       \pgf at yc=\pgf at y%
-      \pgf at process{\northeast}%
-      \advance\pgf at y by 0.5pt%
-      \pgf at xa=\pgf at x%
-      \pgf at ya=\pgf at y%
+      \pgf at process{\southwest}%
+      \pgf at xa=-\pgf at x%
+      \pgf at ya=-0.488067\pgf at y% 1.321367-0.5-0.333333
       \pgf at process{\pgfpointborderrectangle{\pgfqpoint{\pgf at xc}{\the\pgf at yc}}{\pgfqpoint{\pgf at xa}{\pgf at ya}}}%
     \fi%
   }
@@ -465,68 +480,154 @@
   circuit declare symbol=change over contact,
   circuit declare symbol=relay coil,
   circuit declare symbol=proximity sensor coil,
+  circuit declare symbol=mechanical interlock,
   % annotations for contact
-  circuit declare annotation={manually operated}{2.4\tikzcircuitssizeunit}
+  % 0.5773503+0.8+0.3+0.9+0.3+0.7-1.321367
+  circuit declare annotation={manually operated}{2.2559833\tikzcircuitssizeunit}
   {
     [transform shape]
     [-]
-    (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.8\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.8\tikzcircuitssizeunit)  ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.8\tikzcircuitssizeunit) ++(0.6\tikzcircuitssizeunit,0) -- ++(-1.2\tikzcircuitssizeunit,0)}] ()
+    (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.8\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.9\tikzcircuitssizeunit)  ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.7\tikzcircuitssizeunit) ++(0.5\tikzcircuitssizeunit,0) -- ++(-1\tikzcircuitssizeunit,0)}] ()
   },
-  circuit declare annotation={pull switch}{2.9\tikzcircuitssizeunit}
+  % 0.5773503+0.8+0.3+0.9+0.3+0.7-0.2+0.5-1.321367
+  circuit declare annotation={protected manually operated}{2.5559833\tikzcircuitssizeunit}
   {
     [transform shape]
     [-]
-    (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.8\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.8\tikzcircuitssizeunit)  ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.8\tikzcircuitssizeunit) ++(0.6\tikzcircuitssizeunit,0.5\tikzcircuitssizeunit) -- ++(0,-0.5\tikzcircuitssizeunit) -- ++(-1.2\tikzcircuitssizeunit,0) -- ++(0,0.5\tikzcircuitssizeunit)}] ()
+    (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.8\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.9\tikzcircuitssizeunit)  ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.7\tikzcircuitssizeunit) ++(0.5\tikzcircuitssizeunit,0) -- ++(-1\tikzcircuitssizeunit,0) ++(-.5\tikzcircuitssizeunit,-.2\tikzcircuitssizeunit) -- ++ (.3\tikzcircuitssizeunit,0) -- ++ (0,.5\tikzcircuitssizeunit) -- ++ (1.4\tikzcircuitssizeunit,0) -- ++ (0,-.5\tikzcircuitssizeunit) -- ++ (.3\tikzcircuitssizeunit,0) }] ()
   },
-  circuit declare annotation={turn switch}{2.9\tikzcircuitssizeunit}
+  % 0.5773503+0.8+0.3+0.9+0.3+0.7-1.321367
+  circuit declare annotation={push button}{2.2559833\tikzcircuitssizeunit}
   {
     [transform shape]
     [-]
-    (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.8\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.8\tikzcircuitssizeunit)  ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.8\tikzcircuitssizeunit) ++(0.6\tikzcircuitssizeunit,-0.5\tikzcircuitssizeunit) -- ++(0,0.5\tikzcircuitssizeunit) -- ++(-1.2\tikzcircuitssizeunit,0) -- ++(0,0.5\tikzcircuitssizeunit)}] ()
+    (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.8\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.9\tikzcircuitssizeunit)  ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.7\tikzcircuitssizeunit) ++(0.5\tikzcircuitssizeunit,-0.5\tikzcircuitssizeunit) -- ++(0,0.5\tikzcircuitssizeunit) -- ++(-1\tikzcircuitssizeunit,0) -- ++(0,-0.5\tikzcircuitssizeunit)}] ()
   },
-  circuit declare annotation={push button}{2.4\tikzcircuitssizeunit}
+  % thick 0.8pt (0.114286), 0.5773503+1.25+2*0.114286-1.321367
+  circuit declare annotation={var push button}{0.7345553\tikzcircuitssizeunit}
   {
     [transform shape]
     [-]
-    (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.8\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.8\tikzcircuitssizeunit)  ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.8\tikzcircuitssizeunit) ++(0.6\tikzcircuitssizeunit,-0.5\tikzcircuitssizeunit) -- ++(0,0.5\tikzcircuitssizeunit) -- ++(-1.2\tikzcircuitssizeunit,0) -- ++(0,-0.5\tikzcircuitssizeunit)}] ()
+    (\tikzlastnode.mid) edge[circuit symbol lines/.try,line to,->] ++(0,1.25\tikzcircuitssizeunit)
+     ++(-0.7\tikzcircuitssizeunit,1.25\tikzcircuitssizeunit+1.5*\pgflinewidth) edge[circuit symbol lines/.try,line to,line width=1.5*\pgflinewidth] ++(1.4\tikzcircuitssizeunit,0)
   },
-  circuit declare annotation={var push button}{\tikzcircuitssizeunit}
+  % 0.5773503+0.6+0.3+0.6+0.3+0.6+0.6-1.321367
+  circuit declare annotation={pull switch}{2.2559833\tikzcircuitssizeunit}
   {
     [transform shape]
     [-]
-    (\tikzlastnode.mid) edge[circuit symbol lines/.try,line to,->] ++(0,1.25\tikzcircuitssizeunit)
-     ++(-0.7\tikzcircuitssizeunit,1.25\tikzcircuitssizeunit+1.5*\pgflinewidth) edge[circuit symbol lines/.try,line to,line width=1.5*\pgflinewidth] ++(1.4\tikzcircuitssizeunit,0)
+    (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.6\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit)  ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) ++(0.5\tikzcircuitssizeunit,0.6\tikzcircuitssizeunit) -- ++(0,-0.6\tikzcircuitssizeunit) -- ++(-1\tikzcircuitssizeunit,0) -- ++(0,0.6\tikzcircuitssizeunit)}] ()
   },
-  circuit declare annotation={emergency switch}{3.7\tikzcircuitssizeunit}
+  circuit declare annotation={turn switch}{2.2559833\tikzcircuitssizeunit}
   {
     [transform shape]
     [-]
-    (\tikzlastnode.mid) edge[circuit symbol lines/.try,line join=bevel,to path={-- ++(0,0.6\tikzcircuitssizeunit) ++(0,0.4\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) -- ++(-0.75\tikzcircuitssizeunit,0.45\tikzcircuitssizeunit)  -- ++(0.75\tikzcircuitssizeunit,0.45\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit)}] () edge[circuit symbol open/.try,to path={++(0.8\tikzcircuitssizeunit,3.1\tikzcircuitssizeunit) arc[start angle=27, delta angle=126, radius=0.9\tikzcircuitssizeunit] --cycle}] ()
+    (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.6\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit)  ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) ++(0.5\tikzcircuitssizeunit,-0.6\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) -- ++(-1\tikzcircuitssizeunit,0) -- ++(0,0.6\tikzcircuitssizeunit)}] ()
   },
-  circuit declare annotation={thermal switch}{2.7\tikzcircuitssizeunit}
+  % 0.5773503+0.6+0.3+0.6+0.45+0.45+0.6226497+0.9-sqrt(0.9^2-0.8^2)-1.321367
+  circuit declare annotation={emergency switch}{2.766322437\tikzcircuitssizeunit}
   {
     [transform shape]
+    [-]
+    (\tikzlastnode.mid) edge[circuit symbol lines/.try,line join=bevel,to path={-- ++(0,0.6\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit) -- ++(-0.75\tikzcircuitssizeunit,0.45\tikzcircuitssizeunit)  -- ++(0.75\tikzcircuitssizeunit,0.45\tikzcircuitssizeunit) -- ++(0,0.6226497\tikzcircuitssizeunit)}] () edge[circuit symbol open/.try,line join=bevel,to path={++(0.8\tikzcircuitssizeunit,3.0226497\tikzcircuitssizeunit) arc[start angle=27, delta angle=126, radius=0.9\tikzcircuitssizeunit] --cycle}] ()
+  },
+  % 0.5773503+1.4+1+1-1.321367
+  circuit declare annotation={thermal switch}{2.6559833\tikzcircuitssizeunit}
+  {
+    [transform shape]
     [annotation arrow,-]
     (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={--++(0,1.4\tikzcircuitssizeunit)--++(\tikzcircuitssizeunit,0)--++(0,\tikzcircuitssizeunit)--++(-\tikzcircuitssizeunit,0)--++(0,\tikzcircuitssizeunit)}] ()
   },
-  circuit declare annotation={roller}{2.2\tikzcircuitssizeunit}
+  % 0.5773503+2.6+0.4-1.321367
+  circuit declare annotation={roller}{2.2559833\tikzcircuitssizeunit}
   {
     [transform shape]
     [-]
-    (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.9\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.8\tikzcircuitssizeunit)}] () edge[circuit symbol open/.try,to path={++(0,2.5\tikzcircuitssizeunit)  circle(0.5\tikzcircuitssizeunit)  circle(0.05\tikzcircuitssizeunit)}] ()
+    (\tikzlastnode.mid) edge[circuit symbol open/.try,to path={++(0,2.6\tikzcircuitssizeunit) circle(0.4\tikzcircuitssizeunit)}] () edge[circuit symbol lines/.try,to path={-- ++(0,0.7\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.7\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.6\tikzcircuitssizeunit)}] () 
   },
-  circuit declare annotation={proximity switch}{2.2\tikzcircuitssizeunit}
+  % 0.5773503+0.5+0.3+0.5+0.85+0.85-1.321367
+  circuit declare annotation={removable handle}{2.2559833\tikzcircuitssizeunit}
   {
     [transform shape]
     [-]
-    (\tikzlastnode.mid) edge[circuit symbol open/.try,to path={-- ++(0,0.5\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.5\tikzcircuitssizeunit) -- ++(-0.85\tikzcircuitssizeunit,0.85\tikzcircuitssizeunit)-- ++(0.85\tikzcircuitssizeunit,0.85\tikzcircuitssizeunit)-- ++(0.85\tikzcircuitssizeunit,-0.85\tikzcircuitssizeunit)-- ++(-0.85\tikzcircuitssizeunit,-0.85\tikzcircuitssizeunit) +(-0.65\tikzcircuitssizeunit,0.65\tikzcircuitssizeunit) --+(0.65\tikzcircuitssizeunit,0.65\tikzcircuitssizeunit) ++(-0.65\tikzcircuitssizeunit,1.05\tikzcircuitssizeunit) --+(1.3\tikzcircuitssizeunit,0)}] ()
+    (\tikzlastnode.mid) edge[circuit symbol open/.try,to path={-- ++(0,0.5\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.5\tikzcircuitssizeunit) -- ++(-0.85\tikzcircuitssizeunit,0.85\tikzcircuitssizeunit)-- ++(0.85\tikzcircuitssizeunit,0.85\tikzcircuitssizeunit)-- ++(0.85\tikzcircuitssizeunit,-0.85\tikzcircuitssizeunit)-- ++(-0.85\tikzcircuitssizeunit,-0.85\tikzcircuitssizeunit) -- cycle}] ()
   },
-  circuit declare annotation={level switch}{3.2\tikzcircuitssizeunit}
+  % 0.5773503+0.5+0.3+0.5+0.85+0.85-1.321367
+  circuit declare annotation={proximity switch}{2.2559833\tikzcircuitssizeunit}
   {
     [transform shape]
     [-]
-    (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.9\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- +(0,0.8\tikzcircuitssizeunit)}] () edge[circuit symbol open/.try,to path={++(0,3\tikzcircuitssizeunit) ellipse({0.5\tikzcircuitssizeunit} and {\tikzcircuitssizeunit}) ++(0.5\tikzcircuitssizeunit,0) -- ++(0.5\tikzcircuitssizeunit,0)}] ()
+    (\tikzlastnode.mid) edge[circuit symbol open/.try,to path={-- ++(0,0.5\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.5\tikzcircuitssizeunit) -- ++(-0.85\tikzcircuitssizeunit,0.85\tikzcircuitssizeunit)-- ++(0.85\tikzcircuitssizeunit,0.85\tikzcircuitssizeunit)-- ++(0.85\tikzcircuitssizeunit,-0.85\tikzcircuitssizeunit)-- ++(-0.85\tikzcircuitssizeunit,-0.85\tikzcircuitssizeunit) -- cycle (\tikzlastnode.mid) ++(-0.65\tikzcircuitssizeunit,1.95\tikzcircuitssizeunit) --+(1.3\tikzcircuitssizeunit,0) ++(0,0.4\tikzcircuitssizeunit) --+(1.3\tikzcircuitssizeunit,0)}] ()
   },
+  % 0.5773503+0.5+0.3+0.5+0.85+0.85-1.321367
+  circuit declare annotation={touch switch}{2.2559833\tikzcircuitssizeunit}
+  {
+    [transform shape]
+    [-]
+    (\tikzlastnode.mid) edge[circuit symbol open/.try,line join=bevel,to path={-- ++(0,0.5\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.5\tikzcircuitssizeunit) -- ++(-0.85\tikzcircuitssizeunit,0.85\tikzcircuitssizeunit)-- ++(0.85\tikzcircuitssizeunit,0.85\tikzcircuitssizeunit)-- ++(0.85\tikzcircuitssizeunit,-0.85\tikzcircuitssizeunit)-- ++(-0.85\tikzcircuitssizeunit,-0.85\tikzcircuitssizeunit) -- cycle (\tikzlastnode.mid) ++(-0.65\tikzcircuitssizeunit,1.95\tikzcircuitssizeunit) --+(1.3\tikzcircuitssizeunit,0) ++(0,0.4\tikzcircuitssizeunit) --+(1.3\tikzcircuitssizeunit,0) ++(-0.2\tikzcircuitssizeunit,0.65\tikzcircuitssizeunit) -- ++(1.7\tikzcircuitssizeunit,0)}] ()
+  },
+  % 0.5773503+3.4226497+1-1.321367
+  circuit declare annotation={magnetic switch}{3.678633\tikzcircuitssizeunit}
+  {
+    [transform shape]
+    [-]
+    (\tikzlastnode.mid) edge[circuit symbol open/.try,to path={-- ++(0,0.5\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.5\tikzcircuitssizeunit) -- ++(-0.85\tikzcircuitssizeunit,0.85\tikzcircuitssizeunit)-- ++(0.85\tikzcircuitssizeunit,0.85\tikzcircuitssizeunit)-- ++(0.85\tikzcircuitssizeunit,-0.85\tikzcircuitssizeunit)-- ++(-0.85\tikzcircuitssizeunit,-0.85\tikzcircuitssizeunit) -- cycle (\tikzlastnode.mid) ++(-0.65\tikzcircuitssizeunit,1.95\tikzcircuitssizeunit) --+(1.3\tikzcircuitssizeunit,0) ++(0,0.4\tikzcircuitssizeunit) --+(1.3\tikzcircuitssizeunit,0)}] () edge[circuit symbol filled/.try,to path={++(0.5\tikzcircuitssizeunit,3.4226497\tikzcircuitssizeunit) -- ++(0.5\tikzcircuitssizeunit,0) -- ++(0,1\tikzcircuitssizeunit) -- ++(-2\tikzcircuitssizeunit,0) -- ++(0,-1\tikzcircuitssizeunit) -- ++(0.5\tikzcircuitssizeunit,0) -- ++(0,0.5\tikzcircuitssizeunit) -- ++(1\tikzcircuitssizeunit,0) --cycle}] ()
+  },
+  % 0.5773503+3+1-1.321367
+  circuit declare annotation={level switch}{3.2559833\tikzcircuitssizeunit}
+  {
+    [transform shape]
+    [-]
+    (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.9\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.8\tikzcircuitssizeunit) ++(.5\tikzcircuitssizeunit,\tikzcircuitssizeunit) -- ++(.5\tikzcircuitssizeunit,0)}] () edge[circuit symbol open/.try,to path={++(0,2\tikzcircuitssizeunit) arc[start angle=-53, delta angle=106, radius=1.25\tikzcircuitssizeunit] arc[start angle=127, delta angle=106, radius=1.25\tikzcircuitssizeunit] --cycle}] ()
+  },
+  circuit declare annotation={var level switch}{3.2559833\tikzcircuitssizeunit}
+  {
+    [transform shape]
+    [-]
+    (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.9\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.8\tikzcircuitssizeunit) ++(.5\tikzcircuitssizeunit,\tikzcircuitssizeunit) -- ++(.5\tikzcircuitssizeunit,0)}] () edge[circuit symbol open/.try,to path={++(0,3\tikzcircuitssizeunit) ellipse({0.5\tikzcircuitssizeunit} and {\tikzcircuitssizeunit})}] ()
+  },
+  % 0.5773503+2+2-1.321367
+  circuit declare annotation={counter switch}{3.2559833\tikzcircuitssizeunit}
+  {
+    [transform shape]
+    [-]
+    (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.9\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- +(0,0.8\tikzcircuitssizeunit)}] () edge[circuit symbol open/.try,every relay coil/.try,to path={++(-\tikzcircuitssizeunit,2\tikzcircuitssizeunit) --++(0,2\tikzcircuitssizeunit) -- ++(2\tikzcircuitssizeunit,0) --++(0,-2\tikzcircuitssizeunit) --cycle}] () edge[circuit symbol open/.try,every relay coil/.try,to path={++(0,3\tikzcircuitssizeunit)  circle(0.4\tikzcircuitssizeunit)}] ()
+  },
+  % 0.5773503+0.9+0.3+0.8+2-1.321367
+  circuit declare annotation={pressure switch}{3.2559833\tikzcircuitssizeunit}
+  {
+    [transform shape]
+    [-]
+    (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.9\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- +(0,0.8\tikzcircuitssizeunit) node[left,draw,minimum size=2\tikzcircuitssizeunit,rotate=270,circuit symbol open/.try]{P}}] ()
+  },
+  % 0.5773503+2+0.577350+0.433013-1.321367
+  circuit declare annotation={pedal operated}{2.2663463\tikzcircuitssizeunit}
+  {
+    [transform shape]
+    [-]
+    (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.6\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.5\tikzcircuitssizeunit)  ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.588671\tikzcircuitssizeunit) (\tikzlastnode.mid) ++(0.5\tikzcircuitssizeunit,2\tikzcircuitssizeunit) -- ++(150:1.154701\tikzcircuitssizeunit) -- ++(60:.5\tikzcircuitssizeunit)}] ()
+  },
+  % 0.5773503+3-1.321367; 8/10*(tan(60*PI/180)-1); print(Unquoted, float(%)); dd:=3-8/10*(1-1/tan(60*PI/180)); print(Unquoted, float(%)); -8/10+2/10*sin(60*PI/180); print(Unquoted, float(%)); 2+2/10+2/10*cos(60*PI/180); print(Unquoted, float(%)); float((dd-0.3-0.3-0.7-0.7)); print(Unquoted, float(%));
+  circuit declare annotation={lever operated}{2.2559833\tikzcircuitssizeunit}
+  {
+    [transform shape]
+    [-]
+    (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.7\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.7\tikzcircuitssizeunit)  ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.66188\tikzcircuitssizeunit) (\tikzlastnode.mid) +(0.585641\tikzcircuitssizeunit,3\tikzcircuitssizeunit) -- +(-0.626795\tikzcircuitssizeunit, 2.3\tikzcircuitssizeunit)}] () edge[circuit symbol open/.try,to path={++(-.8\tikzcircuitssizeunit,2.2\tikzcircuitssizeunit) circle(0.2\tikzcircuitssizeunit)}] ()
+  },
+  % 0.5773503+3-1.321367;
+  circuit declare annotation={key operated}{2.2559833\tikzcircuitssizeunit}
+  {
+    [transform shape]
+    [-]
+    (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.7\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.8\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.3\tikzcircuitssizeunit)}] () edge[circuit symbol open/.try,to path={++(.4\tikzcircuitssizeunit,2.6\tikzcircuitssizeunit) circle(0.4\tikzcircuitssizeunit) (\tikzlastnode.mid) ++(0,2.8\tikzcircuitssizeunit) -- ++(0,-0.4\tikzcircuitssizeunit) -- ++(-0.8\tikzcircuitssizeunit,-0.2\tikzcircuitssizeunit) -- ++(0,0.8\tikzcircuitssizeunit) -- cycle}] ()
+  },
+  % 0.5773503+0.9+0.3+0.8+1-1.321367
+  circuit declare annotation={crank operated}{2.2559833\tikzcircuitssizeunit}
+  {
+    [transform shape]
+    [-]
+    (\tikzlastnode.mid) edge[circuit symbol lines/.try,to path={-- ++(0,0.9\tikzcircuitssizeunit) ++(0,0.3\tikzcircuitssizeunit) -- ++(0,0.8\tikzcircuitssizeunit)  -- ++(-\tikzcircuitssizeunit,0)  -- ++(0,\tikzcircuitssizeunit)}] ()
+  },
   circuit declare annotation={position switch}{0pt}
   {
     [transform shape]
@@ -533,12 +634,38 @@
     [-]
     edge[circuit symbol wires/.try,to path={let \p1=(\tikzlastnode.mid), \p2=($(\tikzlastnode.mid) - (\tikzlastnode.input)$), \n2 = {veclen(\x2,\y2)}, \p2= ($0.5*\tikzcircuitssizeunit/\n2*(\p2)$) in ($(\p1)+(\p2)$) -- ++(-\y2,\x2) -- ($(\p1)-(\p2)$)}] ()
   },
-  circuit declare annotation={circuit breaker}{2.4\tikzcircuitssizeunit}
+  circuit declare annotation={circuit breaker}{0pt}
   {
     [transform shape]
     [-]
-    (\tikzlastnode.south west) edge[circuit symbol lines/.try,to path={++(2.2\tikzcircuitssizeunit,0.2\tikzcircuitssizeunit) -- ++(-0.4\tikzcircuitssizeunit,-0.4\tikzcircuitssizeunit) ++(0.4\tikzcircuitssizeunit,0) -- ++(-0.4\tikzcircuitssizeunit,0.4\tikzcircuitssizeunit)}] ()
+    (\tikzlastnode.south west) edge[circuit symbol lines/.try,to path={++(2.4\tikzcircuitssizeunit,0.4\tikzcircuitssizeunit) -- ++(-0.8\tikzcircuitssizeunit,-0.8\tikzcircuitssizeunit) ++(0.8\tikzcircuitssizeunit,0) -- ++(-0.8\tikzcircuitssizeunit,0.8\tikzcircuitssizeunit)}] ()
   },
+  circuit declare annotation={static switch}{0pt}
+  {
+    [transform shape]
+    [-]
+    (\tikzlastnode.input) edge[circuit symbol lines/.try,to path={++(0,\tikzcircuitssizeunit) -- ++(0,-2\tikzcircuitssizeunit)}] ()
+  },
+  % 1.8+0.8-1.321367
+  circuit declare annotation={delayed activation}{1.278633\tikzcircuitssizeunit}
+  {
+    [transform shape]
+    [-]
+    edge[circuit symbol lines/.try,to path={(\tikzlastnode.south west) ++(1.8\tikzcircuitssizeunit,1.8\tikzcircuitssizeunit) arc[start angle=0, delta angle=180, radius=0.8\tikzcircuitssizeunit] let \p1=(\tikzlastnode.mid), \p2=($(\tikzlastnode.mid) - (\tikzlastnode.input)$),  \p2= ($0.2*\tikzcircuitssizeunit/\x2*(\p2)$) in ($(\p1)+(\p2)$) -- ($(\tikzlastnode.south west) + (1.2\tikzcircuitssizeunit,2.574597\tikzcircuitssizeunit)$) ($(\p1)-(\p2)$) -- ($(\tikzlastnode.south west) + (0.8\tikzcircuitssizeunit,2.574597\tikzcircuitssizeunit)$)} ] ()
+  },
+  % 3.4-1.321367
+  circuit declare annotation={delayed deactivation}{2.078633\tikzcircuitssizeunit}
+  {
+    [transform shape]
+    [-]
+    edge[circuit symbol lines/.try,to path={(\tikzlastnode.south west) ++(0.2\tikzcircuitssizeunit,3.4\tikzcircuitssizeunit) arc[start angle=180, delta angle=180, radius=0.8\tikzcircuitssizeunit] let \p1=(\tikzlastnode.mid), \p2=($(\tikzlastnode.mid) - (\tikzlastnode.input)$),  \p2= ($0.2*\tikzcircuitssizeunit/\x2*(\p2)$) in ($(\p1)+(\p2)$) -- ($(\tikzlastnode.south west) + (1.2\tikzcircuitssizeunit,2.574597\tikzcircuitssizeunit)$) ($(\p1)-(\p2)$) -- ($(\tikzlastnode.south west) + (0.8\tikzcircuitssizeunit,2.574597\tikzcircuitssizeunit)$)}] ()
+  },
+  circuit declare annotation={delayed both}{2.078633\tikzcircuitssizeunit}
+  {
+    [transform shape]
+    [-]
+    edge[circuit symbol lines/.try,to path={(\tikzlastnode.south west) ++(0.2\tikzcircuitssizeunit,3.4\tikzcircuitssizeunit) arc[start angle=180, delta angle=180, radius=0.8\tikzcircuitssizeunit] (\tikzlastnode.south west) ++(1.8\tikzcircuitssizeunit,1.8\tikzcircuitssizeunit) arc[start angle=0, delta angle=180, radius=0.8\tikzcircuitssizeunit] let \p1=(\tikzlastnode.mid), \p2=($(\tikzlastnode.mid) - (\tikzlastnode.input)$),  \p2= ($0.2*\tikzcircuitssizeunit/\x2*(\p2)$) in ($(\p1)+(\p2)$) -- ($(\tikzlastnode.south west) + (1.2\tikzcircuitssizeunit,2.574597\tikzcircuitssizeunit)$) ($(\p1)-(\p2)$) -- ($(\tikzlastnode.south west) + (0.8\tikzcircuitssizeunit,2.574597\tikzcircuitssizeunit)$)} ] ()
+  },
   % annotations for relay coil
   circuit declare annotation={solenoid valve}{2.5\tikzcircuitssizeunit}
   {
@@ -546,6 +673,12 @@
     [-]
     (\tikzlastnode.south) edge[circuit symbol open/.try,every relay coil/.try,to path={-- ++(0,-.5\tikzcircuitssizeunit) ++(0,-.3\tikzcircuitssizeunit) -- ++(0,-.5\tikzcircuitssizeunit) ++(0,-.3\tikzcircuitssizeunit) -- ++(0,-.4\tikzcircuitssizeunit) --++(\tikzcircuitssizeunit,-0.5\tikzcircuitssizeunit)  --++(0,\tikzcircuitssizeunit) --++(-2\tikzcircuitssizeunit,-\tikzcircuitssizeunit)  --++(0,\tikzcircuitssizeunit) --++(\tikzcircuitssizeunit,-0.5\tikzcircuitssizeunit)}] ()
   },
+  circuit declare annotation={pulse counter}{2\tikzcircuitssizeunit}
+  {
+    [transform shape]
+    [-]
+    (\tikzlastnode.south) edge[circuit symbol open/.try,every relay coil/.try,to path={++(-\tikzcircuitssizeunit,.5\pgflinewidth) --++(0,-2\tikzcircuitssizeunit) -- ++(2\tikzcircuitssizeunit,0) --++(0,2\tikzcircuitssizeunit) --cycle}] () edge[circuit symbol open/.try,every relay coil/.try,to path={++(0,.5\pgflinewidth-\tikzcircuitssizeunit)  circle(0.4\tikzcircuitssizeunit)}] ()
+  },
   circuit declare annotation={slow operating}{1\tikzcircuitssizeunit}
   {
     [transform shape]
@@ -585,6 +718,24 @@
     (\tikzlastnode.north) ++(0,\tikzcircuitssizeunit-.5\pgflinewidth) arc [start angle=135, end angle=225, radius=0.5\tikzcircuitssizeunit]
     (\tikzlastnode.north) ++(0,\tikzcircuitssizeunit-.5\pgflinewidth) arc [start angle=-45, end angle=45, radius=0.5\tikzcircuitssizeunit]}] () 
   },
+  circuit declare annotation={polarized}{1\tikzcircuitssizeunit}
+  {
+    [transform shape]
+    [-]
+    (\tikzlastnode.north) edge[circuit symbol filled/.try,every relay coil/.try,to path={++(\tikzcircuitssizeunit,-.5\pgflinewidth) --++(0,\tikzcircuitssizeunit) -- ++(-0.5\tikzcircuitssizeunit,0) --++(0,-0.5\tikzcircuitssizeunit) -- ++(-1\tikzcircuitssizeunit,0) --++(0,0.5\tikzcircuitssizeunit) -- ++(-0.5\tikzcircuitssizeunit,0)  --++(0,-\tikzcircuitssizeunit) --cycle}] () edge[circuit symbol open/.try,every relay coil/.try,to path={++(\tikzcircuitssizeunit,-.5\pgflinewidth+\tikzcircuitssizeunit) --++(-2\tikzcircuitssizeunit,0)}] ()
+  },
+  circuit declare annotation={remanent}{1\tikzcircuitssizeunit}
+  {
+    [transform shape]
+    [-]
+    (\tikzlastnode.north) edge[circuit symbol open/.try,every relay coil/.try,to path={++(\tikzcircuitssizeunit,-.5\pgflinewidth) --++(0,\tikzcircuitssizeunit) -- ++(-2\tikzcircuitssizeunit,0) --++(0,-\tikzcircuitssizeunit) --cycle}] () edge[circuit symbol open/.try,every relay coil/.try,to path={++(\tikzcircuitssizeunit,-.5\pgflinewidth) --++(-2\tikzcircuitssizeunit,\tikzcircuitssizeunit)}] ()
+  },
+  circuit declare annotation={electronic}{0pt}
+  {
+    [transform shape]
+    [-]
+    (\tikzlastnode.center) edge[circuit symbol open/.try,every relay coil/.try,to path={-- +(0,\tikzcircuitssizeunit) ++(0.5\tikzcircuitssizeunit,0) -- ++(-\tikzcircuitssizeunit,0) ++(.3\tikzcircuitssizeunit,0) -- +(-.5\tikzcircuitssizeunit,-.5\tikzcircuitssizeunit) ++(.4\tikzcircuitssizeunit,0) -- +(.5\tikzcircuitssizeunit,-.5\tikzcircuitssizeunit)}] ()
+  },
 }
 
 \tikzset{
@@ -671,6 +822,16 @@
       \egroup%
     },
     transform shape
+  },
+  mechanical interlock IEC relay graphic/.style={
+    circuit symbol open,
+    shape=regular polygon,
+    regular polygon sides=3,
+    inner sep=0pt,
+    yshift=0.075103\tikzcircuitssizeunit,
+    minimum size=0.87\tikzcircuitssizeunit,
+    rotate=180,
+    transform shape
   }
 }
 
@@ -693,6 +854,7 @@
     set change over contact graphic             = change over contact IEC relay graphic,
     set relay coil graphic                      = relay coil IEC relay graphic,
     set proximity sensor coil graphic           = proximity sensor coil IEC relay graphic,
+    set mechanical interlock graphic            = mechanical interlock IEC relay graphic,
     % terminal info
     term/.code={\pgfutil at ifnextchar[\tikz at lib@relay at lar@plain{\tikz at lib@relay at lar@plain[]}##1\pgf at stop},
     term'/.code={\pgfutil at ifnextchar[\tikz at lib@relay at lbr@plain{\tikz at lib@relay at lbr@plain[]}##1\pgf at stop},



More information about the tex-live-commits mailing list