summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/circuitikz
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-12-30 00:38:31 +0000
committerKarl Berry <karl@freefriends.org>2012-12-30 00:38:31 +0000
commitae0b44412b404475cbd6cd9f8f3dfede3302a3e1 (patch)
tree3de95ca4443f80d3cf7546b7f6a51d786129c576 /Master/texmf-dist/doc/latex/circuitikz
parent4f001ba146b4f9c95f84d67fa31ce10ad3b62a79 (diff)
circuitikz (29dec12)
git-svn-id: svn://tug.org/texlive/trunk@28660 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/circuitikz')
-rw-r--r--Master/texmf-dist/doc/latex/circuitikz/CHANGELOG15
-rw-r--r--Master/texmf-dist/doc/latex/circuitikz/README7
-rw-r--r--Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdfbin273468 -> 317535 bytes
-rw-r--r--Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex209
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
index 517b5b62621..0a6b56ae949 100644
--- a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf
+++ b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf
Binary files differ
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)