diff options
author | Karl Berry <karl@freefriends.org> | 2022-05-09 20:28:17 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-05-09 20:28:17 +0000 |
commit | 4c30a361eee60be54502480b984e1b28975dde94 (patch) | |
tree | 5d20302f41c9132b81bb16adb0547697295a0218 /Master/texmf-dist/doc | |
parent | ebe4867e6bb49d931ac148e967ce2ad0a2b4c632 (diff) |
circuitikz (9may22)
git-svn-id: svn://tug.org/texlive/trunk@63269 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r-- | Master/texmf-dist/doc/context/third/circuitikz/circuitikz-context.pdf | bin | 17645 -> 17645 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md | 8 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/circuitikz/changelog.tex | 21 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf | bin | 1520552 -> 1544857 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex | 146 |
5 files changed, 174 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/context/third/circuitikz/circuitikz-context.pdf b/Master/texmf-dist/doc/context/third/circuitikz/circuitikz-context.pdf Binary files differindex f4602c8d5d5..8fac207e51c 100644 --- a/Master/texmf-dist/doc/context/third/circuitikz/circuitikz-context.pdf +++ b/Master/texmf-dist/doc/context/third/circuitikz/circuitikz-context.pdf diff --git a/Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md b/Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md index bac4ff05133..864531155b8 100644 --- a/Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md +++ b/Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md @@ -1,6 +1,14 @@ <!--- CircuiTikz - Changelog ---> The major changes among the different CircuiTikZ versions are listed here. See <https://github.com/circuitikz/circuitikz/commits> for a full list of changes. +* Version 1.5.2 (2022-05-08) + + Adding a couple of new component and a nice feature to transistors and tubes. + + - Added TVS diodes (transorb), suggested by [Anisio Rogerio Braga](https://tex.stackexchange.com/q/642219/38080) + - Added proximity switches, suggested by [Anisio Rogerio Braga](https://github.com/circuitikz/circuitikz/issues/631) + - Added partially drawn tube and transistor borders, suggested by [Jether Fernandes Reis](https://github.com/circuitikz/circuitikz/issues/602) + * Version 1.5.1 (2022-04-26) Bug fix release. diff --git a/Master/texmf-dist/doc/latex/circuitikz/changelog.tex b/Master/texmf-dist/doc/latex/circuitikz/changelog.tex index 283d1ca4f1e..ded454a0281 100644 --- a/Master/texmf-dist/doc/latex/circuitikz/changelog.tex +++ b/Master/texmf-dist/doc/latex/circuitikz/changelog.tex @@ -5,6 +5,27 @@ full list of changes. \begin{itemize} \item + Version 1.5.2 (2022-05-08) + + Adding a couple of new component and a nice feature to transistors and + tubes. + + \begin{itemize} + \tightlist + \item + Added TVS diodes (transorb), suggested by + \href{https://tex.stackexchange.com/q/642219/38080}{Anisio Rogerio + Braga} + \item + Added proximity switches, suggested by + \href{https://github.com/circuitikz/circuitikz/issues/631}{Anisio + Rogerio Braga} + \item + Added partially drawn tube and transistor borders, suggested by + \href{https://github.com/circuitikz/circuitikz/issues/602}{Jether + Fernandes Reis} + \end{itemize} +\item Version 1.5.1 (2022-04-26) Bug fix release. diff --git a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf Binary files differindex 4d8265968eb..b03c2d5f54c 100644 --- a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf +++ b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf diff --git a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex index 04431723a11..74d74b4dcd8 100644 --- a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex +++ b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex @@ -2339,6 +2339,8 @@ The package options \texttt{fulldiode}, \texttt{strokediode}, and \texttt{emptyd \circuitdescbip*[emptylaserdiode]{empty laser diode}{Empty laser diode\footnotemark}{lasD} \footnotetext{Added by André Alves in \texttt{v1.4.4}} \circuitdescbip*[emptyvarcap]{empty varcap}{Empty varcap}{VCo} + \circuitdescbip*[emptytvsdiode]{empty TVS diode}{Empty TVS diode, transorb\footnotemark}{tvsDo} + \footnotetext{Transobs were suggested by \href{Anisio Braga}{https://tex.stackexchange.com/q/642219/38080}} \circuitdescbip*[emptybidirectionaldiode]{empty bidirectionaldiode}{Empty bidirectionaldiode}{biDo} \circuitdescbip[fulldiode] {full diode}{Full diode}{D*} \circuitdescbip[fullsdiode]{full Schottky diode}{Full Schottky diode}{sD*} @@ -2349,6 +2351,7 @@ The package options \texttt{fulldiode}, \texttt{strokediode}, and \texttt{emptyd \circuitdescbip[fulllediode]{full led}{Full led}{leD*} \circuitdescbip[fulllaserdiode]{full laser diode}{Full laser diode}{lasD*} \circuitdescbip[fullvarcap]{full varcap}{Full varcap}{VC*} + \circuitdescbip[fulltvsdiode]{full TVS diode}{Full TVS diode, transorb}{tvsD*} \circuitdescbip[fullbidirectionaldiode]{full bidirectionaldiode}{Full bidirectionaldiode}{biD*} \end{groupdesc} @@ -3977,6 +3980,8 @@ The position of the circle on collector and emitter by default is the one shown relative thickness & 1.0 & multiply the class thickness \\ color & default & stroke color: \texttt{default} is the same as the component \\ dash & none & dash pattern: none means unbroken line\footnotemark \\ + partial borders & none & draw only part of the circle border: none means draw all \\ + partial border dash & \{\{2pt\}\{2pt\}\} & dash pattern used in partial borders \\ \bottomrule \end{tabular} \footnotetext{Follows the syntax of the pattern sequence \texttt{\textbackslash pgfsetdash} --- see \TikZ{} manual for details; phase is always zero. Basically you pass pairs of dash-length -- blank-length dimensions, see the examples.} @@ -4007,6 +4012,48 @@ Finally, using the class style you can do quite interesting things. \end{circuitikz} \end{LTXexample} +\paragraph{Partially drawn circle borders} + +In some circuits, transistor are drawn with partial or dashed border (to convey the meaning of several active components encased in the same physical package, or to signify thermal contact). To achieve this effect, you can use the \texttt{transistor circle/partial border}\footnote{Suggested by \href{https://github.com/circuitikz/circuitikz/issues/602}{Jether Fernandes Reis} for tubes, implemented by Romano in \texttt{v1.5.2}.} key (default \texttt{none}). This key can be set to \texttt{none}, or must be a sequence of \textbf{exactly} 4 numbers, that can have value \texttt{0}, \texttt{1}, or \texttt{2}. Each number define the style of a part of the border to be not drawn, solid or dashed respectively. + +The part of the border are numbered from 1 to 4 as shown below: +\begin{quote} +\begin{circuitikz}[circuitikz/transistors/fill=cyan!20, + circuitikz/transistor circle/partial borders=1212] + \draw (0,0) node[npn, tr circle](T){}; + \draw[red, font=\ttfamily\small\bfseries] + ([shift={(.3,-.2)}]T.north east) node{1} + ([shift={(.3,.2)}]T.south east) node{2} + ([shift={(.2,.2)}]T.south west) node{3} + ([shift={(.2,-.2)}]T.north west) node{4} + ; + \end{circuitikz} +\end{quote} +The dashed line pattern can be changed by setting the key \texttt{transistor circle/partial border dash} (default \verb|{{2pt}{2pt}}|). Be careful with the extra set of braces here. + +\begin{LTXexample}[varwidth=true] +\begin{circuitikz}[] + \ctikzset{transistors/thickness=4, transistors/fill=cyan!30, + transistor circle/relative thickness=0.25, + transistor circle/partial borders=2211} + \draw (0,0) node[npn, tr circle](Q1){}; + \ctikzset{transistor circle/dash={{2pt}{2pt}}} + \draw (1.5,0) node[npn, tr circle, xscale=-1](Q2){}; +\end{circuitikz} +\end{LTXexample} + +\begin{LTXexample}[varwidth=true] +\begin{circuitikz}[] + \ctikzset{transistors/thickness=4, transistors/fill=cyan!30, + transistor circle/relative thickness=0.25, + transistor circle/partial borders=0011} + \draw (0,0) node[npn, tr circle](Q1){}; + \ctikzset{transistor circle/dash={{2pt}{2pt}}} + \draw (1.5,0) node[npn, tr circle, xscale=-1](Q2){}; + \draw[dashed] (Q1.circle top) -- (Q2.circle top); + \draw[dashed] (Q1.circle bottom) -- (Q2.circle bottom); +\end{circuitikz} +\end{LTXexample} \subsubsection{Transistors anchors} @@ -4094,6 +4141,12 @@ Additionally, you can access the position for the flyback diodes and possibly sn \showanchors{pnp}{}(body C in/-45/0.4, body E in/45/0.4, body C out/0/0.4, body E out/0/0.4) \end{quote} +Transistor circles also have several anchors on them: +\begin{quote} +\showanchors{npn, tr circle}{}(circle center/-135/0.6, circle top/90/0.3, circle left/180/0.2, circle right/0/0.2, circle bottom/-90/0.3, circle C/45/0.2, circle E/-45/0.2) +\showanchors{pigfete, bodydiode, tr circle}{}(circle center/-135/0.6, circle top/90/0.3, circle left/180/0.2, circle right/0/0.2, circle bottom/-90/0.3, circle C/-45/0.2, circle E/45/0.2) +\end{quote} + The multi-terminal transistors have all the geographical anchors; note though that the \texttt{center} anchor is not the geometrical center of the component, but the logical one (at the same height than the base). The additional anchors \texttt{vcenter} (vertical geometric center of the collector--emitter zone) and \texttt{gcenter} (graphical center) are provided, as shown in the following picture. They have no bodydiode anchors nor \texttt{inner \emph{up/down}} ones. @@ -4301,7 +4354,7 @@ Example triode amplifier: \end{circuitikz} \end{lstlisting} -\begin{circuitikz} +\begin{circuitikz}[scale=0.7, transform shape] \draw (0,0) node (start) {} to[sV=$V_i$] ++(0,2+\ctikzvalof{tubes/height}) to[C=$C_i$] ++(2,0) coordinate(Rg) @@ -4321,6 +4374,72 @@ Example triode amplifier: \draw (Tri.east) node[right] {12AX7}; \end{circuitikz} +\subsubsection{Tubes anchors} + +Apart from the geographic anchors, which take into account the leads of the components, you have several anchors on the border: +\begin{quote} +\geolrcoord{pentode, scale=0.8} +\geolrcoord{triode, circuitikz/tubes/width=1.4, circuitikz/tubes/height=1, scale=0.8} +\geolrcoord{triode, circuitikz/tubes/width=1, circuitikz/tubes/height=1, scale=0.8} + +\showanchors{pentode, circuitikz/tubes/height=1.8}{}(% +tube top/90/0.3, tube left/180/0.2, tube right/0/0.2, tube bottom/-90/0.3, +tube top right/30/0.2, tube top left/150/0.4, tube bottom right/-45/0.4, tube bottom left/-150/0.2, +tube top center/75/0.5, tube bottom center/-105/0.5) +\showanchors{pentode,circuitikz/tubes/width=2.6, circuitikz/tubes/tube radius=0.3}{}(% +tube top/90/0.5, tube left/160/0.5, tube right/0/0.2, tube bottom/-90/0.6, +tube top right/70/0.4, tube top left/150/0.4, tube bottom right/-45/0.4, tube bottom left/-120/0.4, +tube right center/30/0.4, tube left center/-120/0.4) +\end{quote} + +\subsubsection{Partially drawn tube borders}\label{sec:partial-tube-borders} + +In some circuits, tubes are drawn with partial or dashed border (to convey the meaning of several active components encased in the same physical tube). To achieve this effect, you can use the \texttt{tubes/partial border}\footnote{Suggested by \href{https://github.com/circuitikz/circuitikz/issues/602}{Jether Fernandes Reis}, implemented by Romano in \texttt{v1.5.2}.} key (default \texttt{none}). This key can be set to \texttt{none}, or must be a sequence of \textbf{exactly} 6 numbers, that can have value \texttt{0}, \texttt{1}, or \texttt{2}. Each number define the style of a part of the border to be not drawn, solid or dashed respectively. + +The part of the border are numbered from 1 to 6 as shown below: +\begin{quote} +\begin{circuitikz}[circuitikz/tubes/fill=cyan!20, + circuitikz/tubes/partial borders=121212] + \draw (0,0) node[pentode,anchor=control](V){}; + \draw (4,0) node[pentode,anchor=control, + circuitikz/tubes/width=1.4, + circuitikz/tubes/height=1](H){}; + \draw[red, font=\ttfamily\small\bfseries] + ([shift={(-.2,-.2)}]V.ne) node{1} + ([shift={(.1,0)}]V.e) node{2} + ([shift={(-.2,.2)}]V.se) node{3} + ([shift={(.2,.2)}]V.sw) node{4} + ([shift={(-.1,0)}]V.w) node{5} + ([shift={(.2,-.2)}]V.nw) node{6} + ([shift={(.2,-.2)}]H.nw) node{1} + ([shift={(0,.1)}]H.n) node{2} + ([shift={(-.2,-.2)}]H.ne) node{3} + ([shift={(-.2,.2)}]H.se) node{4} + ([shift={(0,-.1)}]H.s) node{5} + ([shift={(.2,.2)}]H.sw) node{6} + ; + \end{circuitikz} +\end{quote} +(notice that the straight parts, if they exist, are numbered \texttt{2} and \texttt{5} in both tubes, vertical or horizontal). + +The dashed line pattern can be changed by setting the key \texttt{tubes/partial border dash} (default \verb|{{2pt}{2pt}}|).\footnote{Follows the syntax of the pattern sequence \texttt{\textbackslash pgfsetdash} --- see \TikZ{} manual for details; phase is always zero. Basically you pass pairs of dash-length -- blank-length dimensions, see the examples.} Be careful with the extra set of braces here. + +\begin{LTXexample}[varwidth=true, basicstyle=\small\ttfamily] +\begin{circuitikz}[circuitikz/tubes/fill=cyan!20, + circuitikz/tubes/partial borders=012012] + \draw (0,0) node[pentode]{}; + \draw (2,0) node[pentode, + circuitikz/tubes/width=1.4, + circuitikz/tubes/height=1]{}; + \draw (1,-2) node[triode, + circuitikz/tubes/height=1, + circuitikz/tubes/partial border dash=% + {{3pt}{1pt}{1pt}{1pt}}]{}; +\end{circuitikz} +\end{LTXexample} + + + \subsubsection{Other tubes-like components} The \texttt{magnetron} and \texttt{dynode} shapes will also scale with \texttt{tubes/scale}. @@ -5199,6 +5318,31 @@ Finally, the switches are normally drawn using the \texttt{ocirc} shape, but you \end{circuitikz} \end{LTXexample} +\subsubsection{Proximity switches} + +\begin{groupdesc} + \circuitdesc*{proximeter}{proximeter}{text}(hlines nw/135/0.4, hlines ne/45/0.4, hlines sw/-135/0.4, hlines se/-45/0.4, center/-90/0.4) + \circuitdescbip*{inline proximeter}<proximeter>{proximeter switch, inline}{}(left/135/0.4, right/45/0.4) +\end{groupdesc} + +The \texttt{proximeter} shape\footnote{Suggested by \href{https://github.com/circuitikz/circuitikz/issues/631}{Anisio Rogerio Braga}, implemented in \texttt{v1.5.2}; see also \href{https://knowledge.autodesk.com/support/autocad-electrical/learn-explore/caas/CloudHelp/cloudhelp/2019/ENU/AutoCAD-Electrical/files/GUID-1B18023D-241C-4E50-822A-94F873FC258B-htm.html}{here}.} can be used as a dipole with the \texttt{inline proximeter} variant. + +It has been assigned to the \texttt{switches} class; you can adjust the (relative) thickness of the inside horizontal lines with the key \texttt{proximeter/hlines thickness} (default \texttt{0.5}) and their vertical position with \texttt{proximeter/hlines position} (default \texttt{0.3}). You can also change the default size of \emph{all} proximeter symbols by changing \texttt{proximeter/width} (only safe at picture level; better set in the preamble if you need to change it. The default value is \texttt{0.3}). + +Notice in the following example that, as ever for node-type shape, the text is not included in the bounding box: +\begin{LTXexample}[varwidth=true, basicstyle=\small\ttfamily] +\begin{tikzpicture} + \tikzset{small up proxi/.style={proximeter, solid, + circuitikz/switches/scale=0.707, + circuitikz/proximeter/hlines thickness=1, + circuitikz/proximeter/hlines position=0.1}} + \draw (0,0) to[inline proximeter, l=P1] ++(2,0) + to[ccgsw, name=P2] ++(2,0); + \draw[dashed] (P2.mid) -- ++(0,0.5) + node[small up proxi, above](P2p){Fe} + (P2p.north) ++ (0,0.5); % extend bounding box +\end{tikzpicture} +\end{LTXexample} \subsubsection{Rotary switches} |