summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/circuitikz/doc
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pgf/contrib/circuitikz/doc')
-rw-r--r--graphics/pgf/contrib/circuitikz/doc/changelog.tex20
-rw-r--r--graphics/pgf/contrib/circuitikz/doc/circuitikz-context.pdfbin17727 -> 17727 bytes
-rw-r--r--graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.pdfbin1415056 -> 1425888 bytes
-rw-r--r--graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex132
4 files changed, 125 insertions, 27 deletions
diff --git a/graphics/pgf/contrib/circuitikz/doc/changelog.tex b/graphics/pgf/contrib/circuitikz/doc/changelog.tex
index 06f7943120..beda5193df 100644
--- a/graphics/pgf/contrib/circuitikz/doc/changelog.tex
+++ b/graphics/pgf/contrib/circuitikz/doc/changelog.tex
@@ -5,6 +5,26 @@ full list of changes.
\begin{itemize}
\item
+ Version 1.3.8 (2021-06-15)
+
+ The big news of this release is the ability to selectively draw the
+ pins of the integrated circuit and mux-demuxes symbols.
+
+ \begin{itemize}
+ \tightlist
+ \item
+ Add \texttt{draw\ only\ pins} feature to \texttt{dipchip} and
+ \texttt{qfpchip}, thanks to
+ \href{https://github.com/circuitikz/circuitikz/pull/550}{Jonathan P.
+ Spratte}, and a similar option to control the pins of
+ \texttt{muxdemux}
+ \item
+ Make \texttt{dipchip} and \texttt{qfpchip} respect
+ \texttt{no\ input\ leads} option
+ \item
+ Several corrections to the manual
+ \end{itemize}
+\item
version 1.3.7 (2021-06-01)
Minor release, mainly documentation upgrades.
diff --git a/graphics/pgf/contrib/circuitikz/doc/circuitikz-context.pdf b/graphics/pgf/contrib/circuitikz/doc/circuitikz-context.pdf
index 97c9b5bad0..2ddae0db93 100644
--- a/graphics/pgf/contrib/circuitikz/doc/circuitikz-context.pdf
+++ b/graphics/pgf/contrib/circuitikz/doc/circuitikz-context.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.pdf b/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.pdf
index 716dc9abab..ab4806c059 100644
--- a/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.pdf
+++ b/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex b/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex
index 7b2a70245d..de355dd43c 100644
--- a/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex
+++ b/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.tex
@@ -60,7 +60,9 @@
\makeindex[title=Index of the components, intoc=true]
\begin{document}
-
+% change numbering to roman to avoid a duplicate hyperref target on page 1
+% Thanks to Ulrike Fischer for helping here
+\pagenumbering{roman}
\title{\Circuitikz \\{\large version \pgfcircversion{} (\pgfcircversiondate)}}
\author{Massimo A. Redaelli (\email{m.redaelli@gmail.com})\\
Stefan Lindner (\email{stefan.lindner@fau.de})\\
@@ -100,8 +102,9 @@
\maketitle
+% go back to arabic numbering after the titlepage
+\pagenumbering{arabic}
\tableofcontents
-\cleardoublepage
\section{Introduction}
@@ -114,7 +117,7 @@
\end{minipage}
\subsection{About}
-\Circuitikz\ was initiated by Massimo Redaelli in 2007, who was working as a research assistant at the Polytechnic University of Milan, Italy, and needed a tool for creating exercises and exams.
+\Circuitikz{} was initiated by Massimo Redaelli in 2007, who was working as a research assistant at the Polytechnic University of Milan, Italy, and needed a tool for creating exercises and exams.
After he left University in 2010 the development of \Circuitikz\ slowed down, since \LaTeX\ is mainly established in the academic world. In 2015 Stefan Lindner and Stefan Erhardt, both working as research assistants at the University of Erlangen-Nürnberg, Germany, joined the team and now maintain the project together with the initial author. In 2018 Romano Giannetti, full professor of Electronics at Comillas Pontifical University of Madrid, joined the team.
The use of \Circuitikz\ is, of course, not limited to academic teaching. The package gets widely used by engineers for typesetting electronic circuits for articles and publications all over the world.
@@ -162,11 +165,13 @@ instead of \texttt{circuitikz}. This is also advantageous for ``future resilienc
\subsection{Requirements}
\begin{itemize}
- \item \texttt{tikz}, version $\ge 3$;
+ \item \texttt{tikz}, version $\ge >3.1.5b$ (it \emph{should} work with any version 3 and up, but better use a newer one);
\item \texttt{xstring}, not older than 2009/03/13;
\item \texttt{siunitx}, if using \texttt{siunitx} option.
\end{itemize}
+This manual has been typeset with \Circuitikz{} \pgfcircversion (\pgfcircversiondate) on \TikZ{} \pgfversion (\pgfversiondate).
+
\subsection{Incompatible packages}
\TikZ's own \texttt{circuit} library, which was based on \Circuitikz, (re?)defines several styles used by this library. In order to have them work together you can use the \texttt{compatibility} package option, which basically prefixes the names of all \Circuitikz\ \texttt{to[]} styles with an asterisk.
@@ -659,14 +664,14 @@ First of all, let's define a handy function to show the position of nodes:
\def\normalcoord(#1){coordinate(#1)}
\def\showcoord(#1){coordinate(#1) node[circle, red, draw, inner sep=1pt,
pin={[red, overlay, inner sep=0.5pt, font=\tiny, pin distance=0.1cm,
- pin edge={red, overlay}]45:#1}](#1-node){}}
+ pin edge={red, overlay}]45:#1}](){}}
\let\coord=\normalcoord
\let\coord=\showcoord
\begin{lstlisting}
\def\normalcoord(#1){coordinate(#1)}
\def\showcoord(#1){coordinate(#1) node[circle, red, draw, inner sep=1pt,
pin={[red, overlay, inner sep=0.5pt, font=\tiny, pin distance=0.1cm,
- pin edge={red, overlay}]45:#1}](#1-node){}}
+ pin edge={red, overlay}]45:#1}](){}}
\let\coord=\normalcoord
\let\coord=\showcoord
\end{lstlisting}
@@ -805,7 +810,7 @@ This is the final circuit, with the nodes still marked:
}}
\def\killdepth#1{{\raisebox{0pt}[\height][0pt]{#1}}}
\def\coord(#1){coordinate(#1)}
-\def\coord(#1){coordinate(#1) node[circle, red, draw, inner sep=1pt,pin={[red, overlay, inner sep=0.5pt, font=\tiny, pin distance=0.1cm, pin edge={red, overlay,}]45:#1}](#1-node){}}
+\def\coord(#1){coordinate(#1) node[circle, red, draw, inner sep=1pt,pin={[red, overlay, inner sep=0.5pt, font=\tiny, pin distance=0.1cm, pin edge={red, overlay,}]45:#1}](){}}
\begin{circuitikz}[american, ]
\draw (0,0) node[nmos,](Q1){\killdepth{Q1}};
\draw (Q1.S) to[R, l2^=$R_S$ and \SI{5}{k\ohm}] ++(0,-3) node[vee](VEE){$V_{EE}=\SI{-10}{V}$}; %define VEE level
@@ -1804,8 +1809,12 @@ And finally do:
\section{The components: list}
+This section is dedicated to the full list of available components.
+
\subsection{Grounds and supply voltages}
+Ground symbols and power supplies --- they have two different classes for styling.
+
\subsubsection{Grounds}
For the grounds, the \texttt{center} anchor is put on the connecting point of the symbol, so that you can use them directly in a \texttt{path} specification.
@@ -1864,6 +1873,7 @@ Note that the anchors are at the start of the connecting lines, and that geograp
\begin{LTXexample}[varwidth=true]
\begin{circuitikz}
+ % next macro is available in ctikzmanutils.sty
\def\coord(#1){\showcoord(#1)<0:0.3>}
\draw (0,0)
node[vcc](vcc){VCC} \coord(vcc) ++(2,0)
@@ -3087,12 +3097,12 @@ It also has a \texttt{zero} anchor if you need to rotate it about its real cente
\circuitdescbip*{phaseshifter}{phase shifter}{}
\circuitdescbip*{vphaseshifter}{var.\ phase shifter}{}
\circuitdescbip*{detector}{detector}{}
- \circuitdescbip*{sdcdc}{single wire DC/DC converter}{}
+ \circuitdescbip*{sdcdc}{single wire DC/DC converter\footnotemark}{}
+ \footnotetext{the converter blocks added by \texttt{olfline}}
\circuitdescbip*{sacdc}{single phase AC/DC converter}{}
\circuitdescbip*{sdcac}{single phase DC/AC converter}{}
\circuitdescbip*{tacdc}{three phases AC/DC converter}{}
\circuitdescbip*{tdcac}{three phases AC/DC converter}{}(left/170/0.5, right/5/0.5, center/-90/0.3, ac1/45/0.1, ac2/-5/.3, ac3/-45/.1, dc1/135/.3, dc2/185/.3)
- \footnotetext{the converter blocks added by \texttt{olfline}}
\end{groupdesc}
\begin{groupdesc}
@@ -3484,7 +3494,7 @@ You can change the size of the Schottky ``hook'' changing the parameter \texttt{
\end{circuitikz}
\end{LTXexample}
-\paragraph{Ferroelectric transistors} You can add the ferroelectric modifier\footnotetext{suggested by \href{https://github.com/circuitikz/circuitikz/issues/515}{Mayeul Cantan}} to the \texttt{*mos} and \texttt{*fet} transistor types. Similarly to the Schottky bipolar transistors, you activate it by adding the \texttt{ferroel gate} key (there is also a \texttt{no ferroel base} key that can be used if you use the other one as a default).
+\paragraph{Ferroelectric transistors} You can add the ferroelectric modifier\footnote{suggested by \href{https://github.com/circuitikz/circuitikz/issues/515}{Mayeul Cantan}} to the \texttt{*mos} and \texttt{*fet} transistor types. Similarly to the Schottky bipolar transistors, you activate it by adding the \texttt{ferroel gate} key (there is also a \texttt{no ferroel base} key that can be used if you use the other one as a default).
The mark will follow the \texttt{transistors} class thickness, but you can adjust it independently using the class parameter \texttt{modifier thickness} as in passive components --- this value is relative to the class' thickness.
@@ -3986,7 +3996,7 @@ Example triode amplifier:
\begin{circuitikz}
\draw (0,0) node (start) {}
to[sV=$V_i$] ++(0,2+\ctikzvalof{tubes/height})
- to[C=$C_i$] ++(2,0) node (Rg) {}
+ to[C=$C_i$] ++(2,0) coordinate(Rg)
to[R=$R_g$] (Rg |- start)
(Rg) to[short,*-] ++(1,0)
node[triode,anchor=control] (Tri) {} ++(2,0)
@@ -4007,7 +4017,7 @@ Example triode amplifier:
\begin{circuitikz}
\draw (0,0) node (start) {}
to[sV=$V_i$] ++(0,2+\ctikzvalof{tubes/height})
- to[C=$C_i$] ++(2,0) node (Rg) {}
+ to[C=$C_i$] ++(2,0) coordinate(Rg)
to[R=$R_g$] (Rg |- start)
(Rg) to[short,*-] ++(1,0)
node[triode,anchor=control] (Tri) {} ++(2,0)
@@ -4731,7 +4741,9 @@ But notice that the ``A'' is also flipped by the \texttt{xscale} parameter. So t
\subsubsection{Designing your own amplifier}\label{sec:muxdemux-amplis}
If you need a different kind of amplifier, you can use the \texttt{muxdemux}
-(see section~\ref{sec:muxdemuxes}) shape for defining one that suits your needs (you need version \texttt{1.0.0} for this to work).
+(see section~\ref{sec:muxdemuxes}) shape for defining one that suits your needs
+(you need version \texttt{1.0.0} for this to work,
+and \texttt{1.3.8} for the \texttt{draw only...} option).
\begin{LTXexample}[varwidth=true]
\tikzset{tdax/.style={muxdemux,
@@ -4739,8 +4751,8 @@ If you need a different kind of amplifier, you can use the \texttt{muxdemux}
NB=4, NT=5}, font=\scriptsize\ttfamily}}
\begin{circuitikz}
\draw (0,0) node[tdax](A){TDA1};
- \draw (2.5,0) node[tdax,
- muxdemux def={Rh=0.5}]{TDA2};
+ \draw (2.5,0) node[tdax, muxdemux def={Rh=0.5},
+ draw only top pins={1,4-5}]{TDA2};
\end{circuitikz}
\end{LTXexample}
@@ -6050,9 +6062,32 @@ drawing of the leads by using the boolean key
\texttt{logic ports draw input leads} (default \texttt{true}) or, locally,
with the style \texttt{no inputs leads} (that can be reverted with
\texttt{input leads}).
-
The main difference between setting \texttt{external pins width} to \texttt{0} or using \texttt{no inputs lead} is that in the first case the normal pin anchors and the border anchors will coincide, and in the second case they will not move and stay where they should have been if the leads were drawn.
+You can draw only selected pins and leave out the rest by setting the keys
+\texttt{multipoles/draw only \emph{side} pins} and the corresponding style
+\texttt{draw only \emph{side} pins} where \texttt{\emph{side}} can be \texttt{left}, \texttt{right},
+\texttt{top}, \texttt{bottom}.
+Those key accept a comma separated list of
+pin numbers or ranges of pin numbers (a range is given as
+\texttt{$\langle$start$\rangle$ - $\langle$end$\rangle$}, ends are inclusive).
+The numbers will not be expanded in any way, except those given as ends of
+ranges. A special value (and the initial one) is \texttt{all}, in which case all
+pins are drawn. The anchors will be adjusted, such that each \texttt{\emph{x}pin
+\textit{n}} will be placed at the end of the pins which are drawn, and coincide
+with the \texttt{b\emph{x}pin \textit{n}} anchors for the suppressed pins.
+
+\begin{LTXexample}[varwidth=true]
+ \begin{circuitikz}
+ \node [muxdemux, muxdemux def={NL=4, NR=3, NT=5, NB=3, w=2,
+ inset w=0.5, Lh=4, inset Lh=2.0, inset Rh=1.0,
+ square pins=1},
+ draw only right pins={1,3},
+ draw only top pins={1-3},
+ draw only bottom pins={3}](C) at (0,0) {X};
+ \end{circuitikz}
+\end{LTXexample}
+
\subsubsection{Mux-Demux anchors}
Mux-demuxes have a plethora of anchors. As in the case of chips, the geographic anchors mark the rectangle occupied by the component, without taking into account the pin leads.
@@ -6185,22 +6220,20 @@ Finally, you can play with them to create chips that have generic numbers of pin
You can scale chips with the key \texttt{chips/scale}. As ever, that will \textbf{not} scale text size of the labels, when they are printed.
+The line thickness of the main shape is controlled by \texttt{multipoles/thickness} (default 2) and the one of the external pins/pads with \texttt{multipoles/external pins thickness} (default 1).
+
You can customize the DIP chip with the key \texttt{multipoles/dipchip/width} (with a default of \texttt{1.2}) and the key \texttt{multipoles/dipchip/pin spacing} (default \texttt{0.4}) that are expressed in fraction of basic lengths (see section~\ref{sec:components-size}).
The height of the chip will be equal to half the numbers of pins multiplied by the spacing, plus one spacing for the borders.
For the QFP chips, you can only chose the pin spacing with \texttt{multipoles/qfpchip/pin spacing} key.
-The pins of the chip can be ``hidden'' (that is, just a spot in the border, optionally marked with a number) or ``stick out'' with a thin lead by setting \texttt{multipoles/external pins width} greater than 0 (default value is \texttt{0.2}, so you'll have leads as shown above).
-Moreover, you can transform the thin lead into a pad by setting the key \texttt{multipoles/external pad fraction} to something different form 0 (default is \texttt{0}); the value expresses the fraction of the pin spacing space that the pad will use on both sides of the pin.
-
The number of pins is settable with the key \texttt{num pins}.
\textbf{Please notice} that the number of pins \textbf{must} be \emph{even} for \texttt{dipchip}s and \emph{multiple of 4} for \texttt{qfpchip}s, otherwise havoc will ensue.
-You can, if you want, avoid printing the numbers of the pin with \texttt{hide numbers} (default \texttt{show numbers}) if you prefer positioning them yourself (see the next section for the anchors you can use).
-The font used for the pins is adjustable with the key \texttt{multipoles/font} (default \verb|\tiny|)
-For special use you can suppress the orientation mark with the key \texttt{no topmark} (default \texttt{topmark}).
+The pins of the chip can be ``hidden'' (that is, just a spot in the border, optionally marked with a number) or ``stick out'' with a thin lead by setting \texttt{multipoles/external pins width} greater than 0 (default value is \texttt{0.2}, so you'll have leads as shown above).
+Moreover, you can transform the thin lead into a pad by setting the key \texttt{multipoles/external pad fraction} to something different form 0 (default is \texttt{0}); the value expresses the fraction of the pin spacing space that the pad will use on both sides of the pin.
-The line thickness of the main shape is controlled by \texttt{multipoles/thickness} (default 2) and the one of the external pins/pads with \texttt{multipoles/external pins thickness} (default 1).
+You can, if you want, avoid printing the numbers of the pin with \texttt{hide numbers} (default \texttt{show numbers}) if you prefer positioning them yourself (see the next section for the anchors you can use).
\begin{LTXexample}[varwidth=true]
\begin{circuitikz}
@@ -6218,16 +6251,23 @@ The line thickness of the main shape is controlled by \texttt{multipoles/thickne
\end{circuitikz}
\end{LTXexample}
+
+Also, you can suppress the drawing of the pins, by using the style \texttt{no inputs leads} (that can be reverted with \texttt{input leads}). The main difference between setting \texttt{external pins width} to \texttt{0} or using \texttt{no inputs lead} is that in the first case the normal pin anchors and the border anchors will coincide, and in the second case they will not move and stay where they should have been if the leads were drawn.
+
+For special use you can suppress the orientation mark with the key \texttt{no topmark} (default \texttt{topmark}).
+
\begin{LTXexample}[varwidth=true]
\begin{circuitikz}
\draw (0,0) node[dipchip,
- num pins=8,
+ num pins=8, no topmark,
external pins width=0.0](C){IC1};
\draw (C.pin 1) -- ++(-0.5,0) to[R]
++(0,-1.5) node[ground]{};
\end{circuitikz}
\end{LTXexample}
+The font used for the pins is adjustable with the key \texttt{multipoles/font} (default \verb|\tiny|)
+
\begin{LTXexample}[varwidth=true]
\begin{circuitikz}
\ctikzset{multipoles/font={\color{red}\tiny}}
@@ -6239,6 +6279,39 @@ The line thickness of the main shape is controlled by \texttt{multipoles/thickne
\end{circuitikz}
\end{LTXexample}
+You can draw only selected pins and leave out the rest by setting
+\texttt{multipoles/draw only pins}\footnote{Added by
+\href{https://github.com/circuitikz/circuitikz/pull/550}{Jonathan P. Spratte in \texttt{v1.3.8}}}.
+This key accepts a comma separated list of
+pin numbers or ranges of pin numbers (a range is given as
+\texttt{$\langle$start$\rangle$ - $\langle$end$\rangle$}, ends are inclusive).
+The numbers will not be expanded in any way, except those given as ends of
+ranges. A special value (and the initial one) is \texttt{all}, in which case all
+pins are drawn. The anchors will be adjusted, such that each \texttt{pin
+\textit{n}} will be placed at the end of the pins which are drawn, and coincide
+with the \texttt{bpin \textit{n}} anchors for the suppressed pins.
+
+
+\begin{LTXexample}[varwidth=true]
+ \begin{circuitikz}
+ \draw (0,3) node[dipchip,
+ num pins=8,
+ draw only pins={1, 3, 5-8}](C){IC1};
+ \draw (C.pin 1) -- ++(-0.5,0) to[R]
+ ++(0,-1.5) node[ground]{};
+ \foreach \x in {1,...,8} {
+ \draw[red] (C.pin \x) circle[radius=2pt];
+ \draw[blue] (C.bpin \x) circle[radius=1pt];
+ }
+ \draw (0, 0) node[qfpchip, draw only pins={1-2, 6, 8, 4},
+ external pad fraction=4, num pins=12](Q){};
+ \foreach \x in {1,...,12} {
+ \draw[red] (Q.pin \x) circle[radius=2pt];
+ \draw[blue] (Q.bpin \x) circle[radius=1pt];
+ }
+ \end{circuitikz}
+\end{LTXexample}
+
\subsubsection{Chips anchors}
Chips have anchors on pins and global anchors for the main shape.
@@ -6556,12 +6629,15 @@ The default orientation of labels is controlled by the options \texttt{smartlabe
\end{LTXexample}
\subsubsection{Stacked (two lines) labels.}
-You also can use stacked (two lines) labels. The example should be self-explanatory: the two lines are specified as \texttt{l2=}\emph{line1}\texttt{ and }\emph{line2}. You can use the keys \texttt{l2 halign} to control horizontal position (\texttt{l}eft, \texttt{c}enter, \texttt{r}ight) and \texttt{l2 valign} to control the vertical one (\texttt{b}ottom, \texttt{c}enter, \texttt{t}op). The default values for alignement are thought for vertical components (where the stacke labels are more natural), in other positions you have to force them.
+
+When using \texttt{circuitikz} in LaTeX, you can use stacked (two lines) labels. The example should be self-explanatory: the two lines are specified as \texttt{l2=}\emph{line1}\texttt{ and }\emph{line2}. You can use the keys \texttt{l2 halign} to control horizontal position (\texttt{l}eft, \texttt{c}enter, \texttt{r}ight) and \texttt{l2 valign} to control the vertical one (\texttt{b}ottom, \texttt{c}enter, \texttt{t}op). The default values for alignement are thought for vertical components (where the stacke labels are more natural), in other positions you have to force them.
Notice that you \textbf{can't use} the compact \texttt{<...>} notation for \texttt{siunitx} with stacked labels. Before \texttt{v1.3.6} the label was ignored, but that has been converted into an error.
Since \texttt{v1.3.6} you have the same possibility with the \texttt{annotation} (just use \texttt{a2=...}, \verb|a2_=...|, \texttt{a2 valign} and so on. Notice that the default position for stacked annotation is \texttt{v2 halign=l}.
+The \texttt{l2} and \texttt{a2} will only work in LaTeX because they use a \texttt{tabular} environment in their implementation. For plain TeX and ConTeXt you have to use \texttt{l} and \texttt{a} and build the stack of labels externally.
+
%
% This is hacky --- better not to publish it for now
%
@@ -8842,7 +8918,8 @@ Here a series of example, contributed by several people, is shown with their cod
\begin{LTXexample}[varwidth=true,pos=t]
\begin{circuitikz}[smallR/.style={european resistor, resistors/scale=0.5}]
- \draw (0,0) node[tacdcshape, anchor=ac2](acdc){} to[smallR] ++(-2,0) -- node[circ](point){} ++(-.5,0);
+ \draw (0,0) node[tacdcshape, anchor=ac2](acdc){} to[smallR] ++(-2,0)
+ -- coordinate(point) node[circ](){} ++(-.5,0);
\draw (acdc.ac1) to[nos, invert, mirror, name=switch,color=red] ++(-2,0) -- (point);
\draw (acdc.ac3) to[smallR] ++(-2,0)
-- (point)
@@ -8850,7 +8927,8 @@ Here a series of example, contributed by several people, is shown with their cod
to[tmultiwire] ++(-.5,0)
node[gridnode, anchor=right]{};
\node[above=.3cm,color=red] at (switch) {fault};
- \draw (acdc.dc1) to[smallR,l=HVDC line] ++(2,0) node[tdcacshape, anchor=dc1](dcac){};
+ \draw (acdc.dc1) to[smallR,l=HVDC line] ++(2,0 )
+ node[tdcacshape, anchor=dc1](dcac){};
\draw (acdc.dc2) -- (dcac.dc2);
\draw (dcac.right) to[ooosource,prim=delta,sec=delta,tert=wye,invert] ++(1.5,0)
to[tmultiwire] ++(.5,0) node[gridnode,anchor=left]{};