diff options
author | Karl Berry <karl@freefriends.org> | 2012-12-30 00:38:31 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-12-30 00:38:31 +0000 |
commit | ae0b44412b404475cbd6cd9f8f3dfede3302a3e1 (patch) | |
tree | 3de95ca4443f80d3cf7546b7f6a51d786129c576 /Master/texmf-dist/doc | |
parent | 4f001ba146b4f9c95f84d67fa31ce10ad3b62a79 (diff) |
circuitikz (29dec12)
git-svn-id: svn://tug.org/texlive/trunk@28660 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r-- | Master/texmf-dist/doc/latex/circuitikz/CHANGELOG | 15 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/circuitikz/README | 7 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf | bin | 273468 -> 317535 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex | 209 |
4 files changed, 211 insertions, 20 deletions
diff --git a/Master/texmf-dist/doc/latex/circuitikz/CHANGELOG b/Master/texmf-dist/doc/latex/circuitikz/CHANGELOG index 2e088f2bb79..56d84e3334f 100644 --- a/Master/texmf-dist/doc/latex/circuitikz/CHANGELOG +++ b/Master/texmf-dist/doc/latex/circuitikz/CHANGELOG @@ -1,5 +1,20 @@ CircuiTikz - Changelog +* Version 0.3.0 + - fixed gate node for a few transistors + - added mixer + - added fully differential op amp (by Kristofer M. Monisit) + - now general settings for the drawing of voltage can be overridden for specific components + - made arrows more homogeneous (either the current one, or latex' bt pgf) + - added the single battery cell + - added fuse and asymmetric fuse + - added toggle switch + - added varistor, photoresistor, thermocouple, push button + - added thermistor, thermistor ptc, thermistor ptc + - fixed misalignment of voltage label in vertical bipoles with names + - added isfet + - added noiseless, protective, chassis, signal and reference grounds (Luigi liverpool.lt@virgilio.it) + * Version 0.2.4 - added square voltage source (contributed by Alistair Kwan) - added buffer and plain amplifier (contributed by Danilo Piazzalunga) diff --git a/Master/texmf-dist/doc/latex/circuitikz/README b/Master/texmf-dist/doc/latex/circuitikz/README index 91d47e08612..bad2a7f3b04 100644 --- a/Master/texmf-dist/doc/latex/circuitikz/README +++ b/Master/texmf-dist/doc/latex/circuitikz/README @@ -1,4 +1,4 @@ -This is CircuiTikz, version 0.2.4. +This is CircuiTikz, version 0.3.0. This package provides a set of macros for naturally typesetting electrical and (somewhat less naturally, perhaps) electronical networks. @@ -27,11 +27,12 @@ or, for ConTeXt, in the preamble and compile away, both with PS and PDF target output. ** Contact the author -mredaelli@elet.polimi.it +m.redaelli@gmail.com +git: https://github.com/mredaelli/circuitikz ------------- -Copyright 2007-11 by Massimo Redaelli +Copyright 2007-12 by Massimo Redaelli This file may be distributed and/or modified diff --git a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf Binary files differindex 517b5b62621..0a6b56ae949 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 9cd6691e57c..7fa8408c20e 100644 --- a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex +++ b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex @@ -40,6 +40,8 @@ }% )\par \begin{center}\begin{circuitikz} \draw (0,0) to[#1] (2,0); \end{circuitikz} \end{center}\par} +\usepackage{marvosym} +\newcommand{\email}[2][]{\def\temp{#1}\ifx\temp\empty\Email~\fi\href{mailto:#2}{#2}} \long\def\comment#1{} @@ -62,7 +64,7 @@ \tableofcontents \section{Introduction} -After two years of little exposure only on my personal website\footnote{\url{http://home.dei.polimi.it/mredaelli}, now deceased. You might want to check \url{http://www.redaelli.name}.}, I did a major rehauling of the code of Circui\TikZ, fixing several problems and converting everything to \TikZ\ version $2.0$. +After two years of little exposure only on my personal website\footnote{Now the package is moved to its own git repository: \url{https://github.com/mredaelli/circuitikz}. Contributions are welcome.}, I did a major rehauling of the code of Circui\TikZ, fixing several problems and converting everything to \TikZ\ version $2.0$. I'm not too sure about the result, because my (La)\TeX\ skills are much to be improved, but it seems it's time for more user feedback. So, here it is\ldots @@ -89,7 +91,7 @@ terms of the \LaTeX Project Public License, version 1.3.1, or the GNU Public Lic particular purpose. \subsection{Feedback} -Much appreciated: \href{mailto:massimo@redaelli.name}{\texttt{massimo@redaelli.name}}. Although I don't guarantee quick answers. +Much appreciated: \email{mailto:m.redaelli@gmail.com}. Although I don't guarantee quick answers. \subsection{Requirements} \begin{itemize} @@ -102,6 +104,12 @@ Much appreciated: \href{mailto:massimo@redaelli.name}{\texttt{massimo@redaelli.n None, as far as I know. +\subsection{Introduction to version 0.3.0} + +Probably nobody is hoping or caring for a new version of the package at this point, seeing how long it took me for this next release. But here it is, fixing a big problem (voltage labels in the wrong place, in some cases) and adding several components. + +Thanks for bug reporting and suggesting improvements. + \subsection{Introduction to version 0.2.3} Having waited a long time before updating the package, many feature requests piled on my desk. They should all be implemented now. @@ -214,9 +222,20 @@ The other shapes are shown with: Please notice that for user convenience transistors can also be inputted using the syntax for bipoles. See section~\ref{sec:transasbip}. +\begin{framed} + If using the \verb!\tikzexternalize! feature, as of Ti\emph{k}z 2.1 all pictures must end with \verb!\end{tikzpicture}!. Thus you \emph{cannot} use the \verb!circuitikz! environment. + + Which is ok: just use \verb!tikzpicture!: everything will work there just fine. +\end{framed} + \subsection{Monopoles} \begin{itemize} \circuititem{ground}{Ground}{} + \circuititem{rground}{Reference ground}{} + \circuititem{sground}{Signal ground}{} + \circuititem{nground}{Noiseless ground}{} + \circuititem{pground}{Protective ground}{} + \circuititem{cground}{Chassis ground\footnote{These last three were contributed by Luigi (\email{liverpool.lt@virgilio.it})}}{} \circuititem{antenna}{Antenna}{} \circuititem{rxantenna}{Transmitting antenna}{} \circuititem{txantenna}{Receiving antenna}{} @@ -265,9 +284,22 @@ If instead \texttt{europeanresistors} option is active (or the style \texttt{[e \ctikzset{resistor=american} % reset default \end{itemize} +Other miscellaneous resistor-like devices: +\begin{itemize} + \circuititembip{varistor}{Varistor}{} + \circuititembip{phR}{Photoresistor}{photoresistor} + \circuititembip{thermocouple}{Thermocouple}{} + \circuititembip{thR}{Thermistor}{thermistor} + \circuititembip{thRp}{PTC thermistor}{thermistor ptc} + \circuititembip{thRn}{NTC thermistor}{thermistor ntc} + \circuititembip{fuse}{Fuse}{} + \circuititembip{afuse}{Asymmetric fuse}{asymmetric fuse} +\end{itemize} + \subsubsection{Stationary sources} \begin{itemize} \circuititembip{battery}{Battery}{} + \circuititembip{battery1}{Single battery cell}{} \circuititembip{european voltage source}{Voltage source (european style)}{} \circuititembip{american voltage source}{Voltage source (american style)}{} \circuititembip{european current source}{Current source (european style)}{} @@ -362,6 +394,7 @@ There is also a transmission line: \begin{itemize} \circuititembip{closing switch}{Closing switch}{cspst} \circuititembip{opening switch}{Opening switch}{ospst} + \circuititembip{push button}{Push button}{} \end{itemize} @@ -387,7 +420,6 @@ Similarly, if (default behaviour) \texttt{europeanvoltages} option is active (or \end{itemize} - \subsubsection{Transistors} \begin{itemize} \circuititem{nmos}{\scshape nmos}{} @@ -423,9 +455,15 @@ Borsche: \circuititem{pjfet}{\scshape pjfet}{} \end{itemize} -\subsubsection{Changeover switch} +\textsc{isfet} \begin{itemize} -\circuititem{spdt}{\scshape spdt}{} + \circuititem{isfet}{\scshape isfet}{} +\end{itemize} + +\subsubsection{Switch} +\begin{itemize} + \circuititem{spdt}{\scshape spdt}{} + \circuititembip{toggle switch}{Toggle switch}{} \end{itemize} \subsubsection{Other bipole-like tripoles}\label{sec:othertrip} The following tripoles are entered with the usual command of the form @@ -435,6 +473,11 @@ Borsche: %\circuititembip{IGBT}{IGBT}{} \end{itemize} +\subsubsection{Misc} +\begin{itemize} + \circuititem{mixer}{Mixer}{} +\end{itemize} + \subsection{Double bipoles} Transformers automatically use the inductor shape currently selected. These are the three possibilities: @@ -493,8 +536,10 @@ If otherwise \texttt{europeanports} option is active (or the style \texttt{[euro \end{framed} \subsection{Amplifiers} + \begin{itemize} \circuititem{op amp}{Operational amplifier}{} + \circuititem{fd op amp}{Fully differential operational amplifier\footnote{Contributed by Kristofer M. Monisit.}}{} \circuititem{plain amp}{Plain amplifier}{} \circuititem{buffer}{Buffer}{} \end{itemize} @@ -1029,7 +1074,7 @@ Since only bipoles (but see section~\ref{sec:transasbip}) can be placed "along a In order to allow connections with other components, all components define anchors. -\subsubsection{Logical ports} All logical ports, except \textsc{not}, have to inputs and one output. They are called respectively \texttt{in 1}, \texttt{in 2}, \texttt{out}: +\subsubsection{Logical ports} All logical ports, except \textsc{not}, have two inputs and one output. They are called respectively \texttt{in 1}, \texttt{in 2}, \texttt{out}: \begin{LTXexample}[varwidth=true] \begin{circuitikz} \draw @@ -1130,7 +1175,7 @@ Here is one composite example (please notice that the \texttt{xscale=-1} style w ;\end{circuitikz} \end{LTXexample} -Similarly, transistors can be reflected vertically: +Similarly, transistors and other components can be reflected vertically: \begin{LTXexample}[varwidth=true] \begin{circuitikz} \draw (0,0) node[pigfete, yscale=-1] (pigfete) {} @@ -1141,6 +1186,15 @@ Similarly, transistors can be reflected vertically: ;\end{circuitikz} \end{LTXexample} +\begin{LTXexample} + \begin{circuitikz} + \draw (0,2) + node[rground, yscale=-1] {} + to[R=$R_1$] (0,0) + node[sground] {}; + \end{circuitikz} +\end{LTXexample} + \subsubsection{Other tripoles} When inserting a thrystor, a triac or a potentiometer, one needs to refer to the third node — gate (\texttt{gate} or \texttt{G}) for the former two; wiper (\texttt{wiper} or \texttt{W}) for the latter one. This is done by giving a name to the bipole: \begin{LTXexample}[varwidth=true] @@ -1151,7 +1205,32 @@ Similarly, transistors can be reflected vertically: ;\end{circuitikz} \end{LTXexample} +As for the switches: +\begin{LTXexample}[varwidth=true] +\begin{circuitikz} \draw + (0,0) node[spdt] (Sw) {} + (Sw.in) node[left] {in} + (Sw.out 1) node[right] {out 1} + (Sw.out 2) node[right] {out 2} +;\end{circuitikz} +\end{LTXexample} +\begin{LTXexample}[varwidth=true] +\begin{circuitikz} \draw + (0,0) to[C] (1,0) to[toggle switch , n=Sw] (2.5,0) + -- (2.5,-1) to[battery1] (1.5,-1) to[R] (0,-1) -| (0,0) + (Sw.out 2) -| (2.5, 1) to[R] (0,1) -- (0,0) +;\end{circuitikz} +\end{LTXexample} +And the mixer: +\begin{LTXexample}[varwidth=true] +\begin{circuitikz} \draw + (0,0) node[mixer] (mix) {} + (mix.in 1) node[left] {in 1} + (mix.in 2) node[below] {in 2} + (mix.out) node[right] {out} +;\end{circuitikz} +\end{LTXexample} \subsubsection{Operational amplifier} The op amp defines the inverting input (\texttt{-}), the non-inverting input (\texttt{+}) and the output (\texttt{out}) anchors: \begin{LTXexample}[varwidth=true] @@ -1176,6 +1255,17 @@ There are also two more anchors defined, \texttt{up} and \texttt{down}, for the ;\end{circuitikz} \end{LTXexample} +The fully differential op amp defines two outputs: +\begin{LTXexample}[varwidth=true] +\begin{circuitikz} \draw + (0,0) node[fd op amp] (opamp) {} + (opamp.+) node[left] {$v_+$} + (opamp.-) node[left] {$v_-$} + (opamp.out +) node[right] {out +} + (opamp.out -) node[right] {out -} + (opamp.down) node[ground] {} +;\end{circuitikz} +\end{LTXexample} \subsubsection{Double bipoles} All the (few, actually) double bipoles/quadrupoles have the four anchors, two for each port. The first port, to the left, is port \texttt{A}, having the anchors \texttt{A1} (up) and \texttt{A2} (down); same for port \texttt{B}. They also expose the \texttt{base} anchor, for labelling: @@ -1235,8 +1325,9 @@ The \texttt{name} property is available also for bipoles, although this is usefu Pretty much all Circui\TikZ\ relies heavily on \texttt{pgfkeys} for value handling and configuration. Indeed, at the beginning of \texttt{circuitikz.sty} a series of key definitions can be found that modify all the graphical characteristics of the package. -All can be varied using the \verb!\ctikzset! command, anywhere in the code: +All can be varied using the \verb!\ctikzset! command, anywhere in the code. +\paragraph{Shape of the components} (on a per-component-class basis) \begin{LTXexample}[varwidth=true] \tikz \draw (0,0) to[R=1<\ohm>] (2,0); \par \ctikzset{bipoles/resistor/height=.6} @@ -1244,11 +1335,21 @@ All can be varied using the \verb!\ctikzset! command, anywhere in the code: \end{LTXexample} \begin{LTXexample}[varwidth=true] +\tikz \draw (0,0) node[nand port] {}; \par +\ctikzset{tripoles/american nand port/input height=.2} +\ctikzset{tripoles/american nand port/port width=.2} +\tikz \draw (0,0) node[nand port] {}; +\end{LTXexample} + +\paragraph{Thickness of the lines} (globally) +\begin{LTXexample}[varwidth=true] \tikz \draw (0,0) to[C=1<\farad>] (2,0); \par \ctikzset{bipoles/thickness=1} \tikz \draw (0,0) to[C=1<\farad>] (2,0); \end{LTXexample} + +\paragraph{Global properties} Of voltage and current \begin{LTXexample}[varwidth=true] \tikz \draw (0,0) to[R, v=1<\volt>] (2,0); \par \ctikzset{voltage/distance from node=.1} @@ -1256,20 +1357,23 @@ All can be varied using the \verb!\ctikzset! command, anywhere in the code: \end{LTXexample} \begin{LTXexample}[varwidth=true] -\tikz \draw (0,0) node[nand port] {}; \par -\ctikzset{tripoles/american nand port/input height=.2} -\ctikzset{tripoles/american nand port/port width=.2} -\tikz \draw (0,0) node[nand port] {}; -\end{LTXexample} - -\begin{LTXexample}[varwidth=true] \tikz \draw (0,0) to[C, i=$\imath$] (2,0); \par \ctikzset{current/distance = .2} \tikz \draw (0,0) to[C, i=$\imath$] (2,0); \end{LTXexample} +\noindent However, you can override the properties \verb!voltage/distance from node!\footnote{That is, how distant from the initial and final points of the path the arrow starts and ends.}, \verb!voltage/bump b!\footnote{Controlling how high the bump of the arrow is --- how curved it is.} and \verb!voltage/european label distance!\footnote{Controlling how distant from the bipole the voltage label will be.} on a per-component basis, in order to fine-tune the voltages: -Admittedly, not all graphical properties have understandable names, but for the time it will have to do: +\begin{LTXexample}[varwidth=true] +\tikz \draw (0,0) to[R, v=1<\volt>] (1.5,0) + to[C, v=2<\volt>] (3,0); \par +\ctikzset{bipoles/capacitor/voltage/% + distance from node/.initial=.7} +\tikz \draw (0,0) to[R, v=1<\volt>] (1.5,0) + to[C, v=2<\volt>] (3,0); \par +\end{LTXexample} + +\noindent Admittedly, not all graphical properties have understandable names, but for the time it will have to do: \begin{LTXexample}[varwidth=true] \tikz \draw (0,0) node[xnor port] {}; \ctikzset{tripoles/american xnor port/aaa=.2} @@ -1311,7 +1415,7 @@ can be interpreted as the length of a resistor (including reasonable connections \subsection{Colors} -The color of the components is stores in the key \verb!\circuitikzbasekey/color!. Circui\TikZ\ tries to follow the color set in \TikZ, although sometimes it fails. If you change color in the picture, please do not use just the color name as a style, like \verb![red]!, but rather assign the style \verb![color=red]!. +The color of the components is stored in the key \verb!\circuitikzbasekey/color!. Circui\TikZ\ tries to follow the color set in \TikZ, although sometimes it fails. If you change color in the picture, please do not use just the color name as a style, like \verb![red]!, but rather assign the style \verb![color=red]!. Compare for instance \begin{LTXexample}[varwidth=true] @@ -1377,6 +1481,41 @@ The only way out is to specify different paths: And yes: this is a bug and \emph{not} a feature\ldots +\section{FAQ} + +\noindent Q: When using \verb!\tikzexternalize! I get the following error: +\begin{verbatim} + ! Emergency stop. +\end{verbatim} + +\noindent A: The \TikZ\ manual states: +\begin{quotation} +Furthermore, the library assumes that all \LaTeX\ pictures are ended + with \verb!\end{tikzpicture}\verb!. +\end{quotation} + +Just substitute every occurrence of the environment \verb!circuitikz! with \verb!tikzpicture!. They are actually pretty much the same. + +\bigskip + +\noindent Q: How do I draw the voltage between two nodes? + +\noindent A: Between any two nodes there is an open circuit! +\begin{LTXexample}[varwidth=true] +\begin{circuitikz} \draw + node[ocirc] (A) at (0,0) {} + node[ocirc] (B) at (2,1) {} + (A) to[open, v=$v$] (B) +;\end{circuitikz} +\end{LTXexample} + +\bigskip + +\noindent Q: I cannot write \verb!to[R = $R_1=12V$]! nor \verb!to[ospst = open, 3s]!: I get errors. + +\noindent A: It is a limitation of the \TikZ\ parser. Use \verb!to[R = $R_1{=}12V$]! and \verb!to[ospst = open{,} 3s]! instead. + + \section{Examples} \begin{LTXexample}[pos=t,varwidth=true] \begin{circuitikz}[scale=1.4]\draw @@ -1418,6 +1557,26 @@ And yes: this is a bug and \emph{not} a feature\ldots ;\end{circuitikz} \end{LTXexample} +\begin{LTXexample}[pos=t,varwidth=true] +\begin{circuitikz}[scale=1]\draw + (0,0) node[transformer] (T) {} + (T.B2) to[pD] ($(T.B2)+(2,0)$) -| (3.5, -1) + (T.B1) to[pD] ($(T.B1)+(2,0)$) -| (3.5, -1) +;\end{circuitikz} +\end{LTXexample} + + +\begin{LTXexample}[pos=t,varwidth=true] +\begin{circuitikz}[scale=1]\draw + (5,.5) node [op amp] (opamp) {} + (0,0) node [left] {$U_{we}$} to [R, l=$R_d$, o-*] (2,0) + to [R, l=$R_d$, *-*] (opamp.+) + to [C, l_=$C_{d2}$, *-] ($(opamp.+)+(0,-2)$) node [ground] {} + (opamp.out) |- (3.5,2) to [C, l_=$C_{d1}$, *-] (2,2) to [short] (2,0) + (opamp.-) -| (3.5,2) + (opamp.out) to [short, *-o] (7,.5) node [right] {$U_{wy}$} +;\end{circuitikz} +\end{LTXexample} \begin{LTXexample}[pos=t,varwidth=true] \begin{circuitikz}[scale=1.2, american]\draw @@ -1447,6 +1606,22 @@ And yes: this is a bug and \emph{not} a feature\ldots \section{Revision history} \begin{itemize} +\item[\itshape version 0.3.0] (20121229) + \begin{enumerate} + \item fixed gate node for a few transistors + \item added mixer + \item added fully differential op amp (by Kristofer M.~Monisit) + \item now general settings for the drawing of voltage can be overridden for specific components + \item made arrows more homogeneous (either the current/voltage one, or latex' by pgf) + \item added the single battery cell + \item added fuse and asymmetric fuse + \item added toggle switch + \item added varistor, photoresistor, thermocouple, push button + \item added thermistor, thermistor ptc, thermistor ptc + \item fixed misalignment of voltage label in vertical bipoles with names + \item added isfet + \item added noiseless, protective, chassis, signal and reference grounds (Luigi \email{liverpool.lt@virgilio.it}) + \end{enumerate} \item[\itshape version 0.2.4] (20110911). \begin{enumerate} \item added square voltage source (contributed by Alistair Kwan) |