summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/circuitikz
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-05-15 21:47:32 +0000
committerKarl Berry <karl@freefriends.org>2015-05-15 21:47:32 +0000
commitad669530a9056a6c30abd6a337d481e646c5bc82 (patch)
treee7616304c393504e0ddfb3631c71db49ef830ee5 /Master/texmf-dist/doc/latex/circuitikz
parentff006c2d366e4f0f3503a131959ab1ae04ea5e5f (diff)
circuitikz (15may15)
git-svn-id: svn://tug.org/texlive/trunk@37410 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/circuitikz')
-rw-r--r--Master/texmf-dist/doc/latex/circuitikz/CHANGELOG74
-rw-r--r--Master/texmf-dist/doc/latex/circuitikz/README40
-rw-r--r--Master/texmf-dist/doc/latex/circuitikz/circuitikz-context.pdfbin14426 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/circuitikz/circuitikz-context.tex20
-rw-r--r--Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.ltx (renamed from Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex)462
-rw-r--r--Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdfbin317305 -> 376834 bytes
-rw-r--r--Master/texmf-dist/doc/latex/circuitikz/compatibility.ltx17
-rw-r--r--Master/texmf-dist/doc/latex/circuitikz/compatibility.pdfbin0 -> 16233 bytes
8 files changed, 380 insertions, 233 deletions
diff --git a/Master/texmf-dist/doc/latex/circuitikz/CHANGELOG b/Master/texmf-dist/doc/latex/circuitikz/CHANGELOG
deleted file mode 100644
index a49872bbed3..00000000000
--- a/Master/texmf-dist/doc/latex/circuitikz/CHANGELOG
+++ /dev/null
@@ -1,74 +0,0 @@
-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»)
-
-* Version 0.2.4
- - added square voltage source (contributed by Alistair Kwan)
- - added buffer and plain amplifier (contributed by Danilo Piazzalunga)
- - added squid and barrier (contributed by Cor Molenaar)
- - added antenna and transmission line symbols contributed by Leonardo Azzinnari
- - added the changeover switch spdt (suggestion of Fabio Maria Antoniali)
- - rename of context.tex and context.pdf (thanks to Karl Berry)
- - updated the email address
- - in documentation, fixed wrong (non-standard) labelling of the axis in an example (thanks to prof. Claudio Beccaria)
- - fixed scaling inconsistencies in quadrupoles
- - fixed division by zero error on certain vertical paths
- - introduced options straighlabels, rotatelabels, smartlabels
-
-* Version 0.2.3
- - fixed compatibility problem with label option from tikz
- - Fixed resizing problem for shape ground
- - Variable capacitor
- - polarized capacitor
- - ConTeXt support (read the manual!)
- - nfet, nigfete, nigfetd, pfet, pigfete, pigfetd (contribution of Clemens Helfmeier and Theodor
-Borsche)
- - njfet, pjfet (contribution of Danilo Piazzalunga)
- - pigbt, nigbt
- - *backward incompatibility* potentiometer is now the standard resistor-with-arrow-in-the-middle; the old potentiometer is now known as variable resistor (or vR), similarly to variable inductor and variable capacitor
- - triac, thyristor, memristor
- - new property "name" for bipoles
- - fixed voltage problem for batteries in american voltage mode
- - european logic gates
- - *backward incompatibility* new american standard inductor. Old american inductor now called "cute inductor"
- - *backward incompatibility* transformer now linked with the chosen type of inductor, and version with core, too. Similarly for variable inductor
- - *backward incompatibility* styles for selecting shape variants now end are in the plural to avoid conflict with paths
- - new placing option for some tripoles (mostly transistors)
- - mirror path style
-
-
-* Version 0.2.2 - 20090520
- - Added the shape for lamps.
- - Added options \texttt{europeanresistor}, \texttt{europeaninductor}, \texttt{americanresistor} and \texttt{americaninductor}, with corresponding styles.
- - FIXED: error in transistor arrow positioning and direction under negative \texttt{xscale} and \texttt{yscale}.
-
-* Version 0.2.1 - 20090503
- - Op-amps added
- - added options arrowmos and noarrowmos, to add arrows to pmos and nmos
-
-* Version 0.2 - 20090417
-First public release on CTAN
- - *Backward incompatibility*: labels ending with \texttt{:}\textit{angle} are not parsed for positioning anymore.
- - Full use of \TikZ\ keyval features.
- - White background is not filled anymore: now the network can be drawn on a background picture as well.
- - Several new components added (logical ports, transistors, double bipoles, \ldots).
- - Color support.
- - Integration with {\ttfamily siunitx}.
- - Voltage, american style.
- - Better code, perhaps. General cleanup at the very least.
-
-* Version 0.1 - 2007-10-29
-First public release
diff --git a/Master/texmf-dist/doc/latex/circuitikz/README b/Master/texmf-dist/doc/latex/circuitikz/README
deleted file mode 100644
index bad2a7f3b04..00000000000
--- a/Master/texmf-dist/doc/latex/circuitikz/README
+++ /dev/null
@@ -1,40 +0,0 @@
-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.
-
-It was born mainly for writing my own exercise book and exams sheets for the Elettrotecnica courses at Politecnico di Milano, Italy. I wanted a tool that was easy to use, with a lean syntax, native to \LaTeX, and supporting directly PDF output format.
-
-So I based everything with the very impressive (if somewhat verbose at times) \TikZ\ package.
-
---------------
-
-** Requirements
-Tikz graphics library, version 2
-xstrings not older than 2009/03/13
-
-** Installation
-Unpack everything in a directory in the TeX search path and refresh the TeX db.
-
-** Usage
-Just place
-
- \usepackage{circuitikz}
-
-or, for ConTeXt,
-
- \usemodule[circuitikz]
-
-in the preamble and compile away, both with PS and PDF target output.
-
-** Contact the author
-m.redaelli@gmail.com
-git: https://github.com/mredaelli/circuitikz
-
--------------
-
-Copyright 2007-12 by Massimo Redaelli
-
-This file may be distributed and/or modified
-
-1. under the LaTeX Project Public License and/or
-2. under the GNU Public License.
diff --git a/Master/texmf-dist/doc/latex/circuitikz/circuitikz-context.pdf b/Master/texmf-dist/doc/latex/circuitikz/circuitikz-context.pdf
deleted file mode 100644
index cb8662d2979..00000000000
--- a/Master/texmf-dist/doc/latex/circuitikz/circuitikz-context.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/circuitikz/circuitikz-context.tex b/Master/texmf-dist/doc/latex/circuitikz/circuitikz-context.tex
deleted file mode 100644
index 13f3ade1cde..00000000000
--- a/Master/texmf-dist/doc/latex/circuitikz/circuitikz-context.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-
-\usemodule[circuitikz]
-
-\starttext
-
-A simple example to test the installation.
-
-\startcircuitikz[scale=1.2]
- \draw
- (0,2) to[I=1\milli\ampere] (2,2)
- to[R, l_=2\kilo\ohm, *-*] (0,0)
- to[R, l_=2\kilo\ohm] (2,0)
- to[V, v_=2\volt] (2,2)
- to[cspst, l=$t_0$] (4,2) -- (4,1.5)
- to [generic, i=$i_1$, v=$v_1$] (4,-.5) -- (4,-1.5)
- (0,2) -- (0,-1.5) to[V, v_=4\volt] (2,-1.5)
- to [R, l=1\kilo\ohm] (4,-1.5);
-\stopcircuitikz
-
-\stoptext
diff --git a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.ltx
index 5a939f0ce99..5404efe77c0 100644
--- a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex
+++ b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.ltx
@@ -1,18 +1,39 @@
\documentclass[a4paper]{article}
-\usepackage{fontspec}
-\defaultfontfeatures{Ligatures=TeX, Numbers=OldStyle, SmallCapsFeatures={LetterSpace=8, Numbers=OldStyle}}
-\setmainfont
-% {Linux Libertine}
- {Gentium Book Basic}
+\def\modern{
+ \usepackage{fontspec}
+ \defaultfontfeatures{Ligatures=TeX, Numbers=OldStyle,Mapping=tex-text ,SmallCapsFeatures={LetterSpace=8, Numbers=OldStyle}}
+ \setmainfont{Gentium Book Basic}
+}
-\usepackage{microtype}
-
\usepackage[siunitx]{circuitikz}
+
+\usepackage{ifxetex,ifluatex}
+\ifxetex
+ \modern
+\else
+ \ifluatex
+ \modern
+ \else
+ % pdflatex
+ \usepackage[T1]{fontenc}
+ \usepackage[utf8]{inputenc}
+ %\usepackage{babel}
+ \fi
+\fi
+
+
+\usepackage{microtype}
+
\sisetup{load=derived} % loading \siemens
\usepackage{showexpl}
-\usepackage{framed}
+\lstset{pos=l,width=-99pt, overhang=0pt,hsep=\columnsep,vsep=\bigskipamount,rframe=single,numbers=left,numberstyle=\tiny,numbersep=.3em, xleftmargin=1em, columns=flexible, language=[LaTeX]TEX}
+
+\usepackage{booktabs}
+\renewcommand{\arraystretch}{1.2}
+
+\usepackage{framed, xtab}
\usepackage{hyperref}
\hypersetup{
bookmarks=false, % show bookmarks bar?
@@ -27,6 +48,7 @@
urlcolor=black % color of external links
}
\usepackage{imakeidx}
+\usepackage{textcomp}
\makeindex[title=Index of the components, intoc=true]
\def\circuititem#1#2#3{\item {#2} (\texttt{#1}) \index{#1} \par \begin{center}\begin{circuitikz} \draw (0,0) node[#1] {}; \end{circuitikz} \end{center}
@@ -80,9 +102,25 @@ It was born mainly for writing my own exercise book and exams sheets for the Ele
So I based everything with the very impressive (if somewhat verbose at times) \TikZ\ package.
\subsection{Loading the package}
-\verb!\usepackage{circuitikz}!
-\TikZ\ will be automatically loaded.
+
+\begin{table}[h]
+\centering
+\begin{tabular}{ll}\toprule
+ \LaTeX & \ConTeXt\footnotemark \\ \midrule
+ \verb!\usepackage{circuitikz}! & \verb!\usemodule[circuitikz]!\\
+ \bottomrule
+\end{tabular}
+\end{table}
+\footnotetext{\ConTeXt\ suppurt was added mostly thanks to Mojca Miklavec and Aditya Mahajan.}
+
+\noindent \TikZ\ will be automatically loaded.
+
+\noindent Circui\TikZ\ commands are just \TikZ\ commands, so a minimum usage example would be:
+
+\begin{LTXexample}[varwidth=true]
+\tikz \draw (0,0) to[R=$R_1$] (2,0);
+\end{LTXexample}
\subsection{License}
Copyright \copyright\ 2007--2011 Massimo Redaelli. This package is author-maintained.
@@ -102,7 +140,9 @@ Much appreciated: \email{mailto:m.redaelli@gmail.com}. Although I don't guarante
\subsection{Incompatible packages}
-None, as far as I know.
+\TikZ's own \texttt{circuit} library, which is based on \Circuitikz, (re?)defines several styles used by this library. In order to have them work together I added the \texttt{compatibility} package option, which basically prefixes the names of all \Circuitikz\ \texttt{to[]} styles with an asterisk.
+
+So, if loaded with said option, one must write \verb!(0,0) to[*R] (2,0)! and, for transistors on a path, \verb!(0,0) to[*Tnmos] (2,0)!, and so on (but \verb!(0,0) node [nmos] {}!). See example at page~\pageref{ex:compatibility}.
\subsection{Introduction to version 0.3.0}
@@ -122,47 +162,42 @@ There are a number of backward incompatibilities — I'm sorry, but I had to
\item styles for selecting shape variants (like \texttt{[american resistors]}) are now in the plural to avoid conflict with paths (like \texttt{to[american resistor]}).
\end{itemize}
-\subsection{\ConTeXt\ compatibility}
-As requested by some users, I fixed the package for it to be compatible with \ConTeXt. Just use \verb!\usemodule[circuitikz]! in your preamble and include the code between \verb!\startcircuitikz! and \verb!\endcircuitikz!. Please notice that the package \texttt{siunitx} in \emph{not} available for \ConTeXt: the option \texttt{siunitx} simply defines a few measurement units typical in electric sciences.
+\section{Package options}
-\medskip
+\noindent Circuit people are very opinionated about their symbols. The package, left to its own devices, loads with drawing conventions that \emph{I} like, so for instance you get this:
+\begin{LTXexample}[varwidth=true]
+\begin{circuitikz}
+ \draw (0,0) to[R=2<\ohm>, i=?, v=84<\volt>] (2,0) --
+ (2,2) to[V=84<\volt>] (0,2)
+ -- (0,0);
+\end{circuitikz}
+\end{LTXexample}
-In actually using \Circuitikz\ with \TikZ\ version 2 in \ConTeXt\ an error comes up, saying something like
-\begin{verbatim}
-! Undefined control sequence.
-\tikz@cc@mid@checks -> \pgfutil@ifnextchar!
-\end{verbatim}
+But if you really, \emph{really} want your circuit ugly, you can load the package with:
-The solution has been suggested to me by Aditya Mahajan, and involves modifying a file in \TikZ:
-\begin{verbatim}
-Here is the fix. In tikzlibrarycalc.code.tex change
-
-\def\tikz@cc@mid@checks{
- \pgfutil@ifnextchar !{%AM: Added space
- \tikz@cc@mid%
- }{%
- \advance\pgf@xa by\tikz@cc@factor\pgf@xb%
- \advance\pgf@ya by\tikz@cc@factor\pgf@yb%
- \tikz@cc@parse% continue
- }%
-}
+\begin{center}
+\begin{tabular}{ll}\toprule
+ \LaTeX & \ConTeXt \\ \midrule
+ \verb!\usepackage[american]{circuitikz}! & \verb!\usemodule[circuitikz][american]!\\
+ \bottomrule
+\end{tabular}
+\end{center}
-\def\tikz@cc@mid !{%AM Added space
- \pgfutil@ifnextchar({%
- \tikz@scan@one@point\tikz@cc@project%
- }{%
- \tikz@cc@mid@num%
- }%
-}
-\end{verbatim}
-
-As far as I know, this is a bug in \TikZ, and I notified the author, but until he fixes it, you know the workaround.
+\noindent and you get (don't blame me)
+\begin{center}
+\begin{circuitikz}[circuitikz/voltage=american, circuitikz/resistor=american]
+ \draw (0,0) to[R=2<\ohm>, i=?, v=84<\volt>] (2,0) --
+ (2,2) to[V=84<\volt>] (0,2)
+ -- (0,0);
+\end{circuitikz}
+\end{center}
-\section{Options}
+\medskip{}
+\noindent Here is the list of all the options:
\begin{itemize}
\item \texttt{europeanvoltages}: uses arrows to define voltages, and uses european-style voltage sources;
\item \texttt{americanvoltages}: uses $-$ and $+$ to define voltages, and uses american-style voltage sources;
@@ -175,17 +210,20 @@ As far as I know, this is a bug in \TikZ, and I notified the author, but until h
\item \texttt{cuteinductors}: uses my personal favorite, "pig-tailed" shape for inductors;
\item \texttt{americanports}: uses triangular logic ports, as per american standards;
\item \texttt{europeanports}: uses rectangular logic ports, as per european standards;
- \item \texttt{european}: equivalent to \texttt{europeancurrents}, \texttt{europeanvoltages}, \texttt{europeanresistors}, \texttt{europeaninductors}, \texttt{europeanports};
- \item \texttt{american}: equivalent to \texttt{americancurrents}, \texttt{americanvoltages}, \texttt{americanresistors}, \texttt{americaninductors}, \texttt{americanports};
+ \item \texttt{americangfsurgearrester}: uses round gas filled surge arresters, as per american standards;
+ \item \texttt{europeangfsurgearrester}: uses rectangular gas filled surge arresters, as per european standards;
+ \item \texttt{european}: equivalent to \texttt{europeancurrents}, \texttt{europeanvoltages}, \texttt{europeanresistors}, \texttt{europeaninductors}, \texttt{europeanports}, \texttt{europeangfsurgearrester};
+ \item \texttt{american}: equivalent to \texttt{americancurrents}, \texttt{americanvoltages}, \texttt{americanresistors}, \texttt{americaninductors}, \texttt{americanports}, \texttt{americangfsurgearrester};
\item \texttt{siunitx}: integrates with \texttt{SIunitx} package. If labels, currents or voltages are of the form \verb!#1<#2>! then what is shown is actually \verb!\SI{#1}{#2}!;
\item \texttt{nosiunitx}: labels are not interpreted as above;
\item \texttt{fulldiodes}: the various diodes are drawn \emph{and} filled by default, i.e. when using styles such as \texttt{diode}, \texttt{D}, \texttt{sD}, \ldots Un-filled diode can always be forced with \texttt{Do}, \texttt{sDo}, \ldots
\item \texttt{emptydiodes}: the various diodes are drawn \emph{but not} filled by default, i.e. when using styles such as \texttt{diode}, \texttt{D}, \texttt{sD}, \ldots Filled diode can always be forced with \texttt{D*}, \texttt{sD*}, \ldots
\item \texttt{arrowmos}: pmos and nmos have arrows analogous to those of pnp and npn transistors;
\item \texttt{noarrowmos}: pmos and nmos do not have arrows analogous to those of pnp and npn transistors;
- \item \texttt{straighlabels}: labels on bipoles are always printed straigh up, i.e.~with horizontal baseline;
+ \item \texttt{straightlabels}: labels on bipoles are always printed straight up, i.e.~with horizontal baseline;
\item \texttt{rotatelabels}: labels on bipoles are always printed aligned along the bipole;
- \item \texttt{smartlabels}: labels on bipoles are rotated along the bipoles, unless the rotation is very close to multiples of 90°.
+ \item \texttt{smartlabels}: labels on bipoles are rotated along the bipoles, unless the rotation is very close to multiples of 90°;
+ \item \texttt{compatibility}: makes it possibile to load \Circuitikz\ and \TikZ\ circuit library together.
\end{itemize}
The old options in the singular (like \texttt{american voltage}) are still available for compatibility, but are discouraged.
@@ -237,9 +275,12 @@ Please notice that for user convenience transistors can also be inputted using t
\circuititem{pground}{Protective ground}{}
\circuititem{cground}{Chassis ground\footnote{These last three were contributed by Luigi «Liverpool»)}}{}
\circuititem{antenna}{Antenna}{}
- \circuititem{rxantenna}{Transmitting antenna}{}
- \circuititem{txantenna}{Receiving antenna}{}
+ \circuititem{rxantenna}{Receiving antenna}{}
+ \circuititem{txantenna}{Transmitting antenna}{}
\circuititem{tlinestub}{Transmission line stub}{}
+ \circuititem{vcc}{VCC}{}
+ \circuititem{match}{match}{}
+ \circuititem{oscillator}{LO\footnote{These last three come from Stefan Erhardt's contribution of HF components}}{}
\end{itemize}
@@ -249,6 +290,7 @@ Please notice that for user convenience transistors can also be inputted using t
\begin{itemize}
\circuititembip{ammeter}{Ammeter}{}
\circuititembip{voltmeter}{Voltmeter}{}
+ \circuititembip{ohmmeter}{Ohmmeter}{}
\end{itemize}
\subsubsection{Basic resistive bipoles}
@@ -271,7 +313,7 @@ If (default behaviour) \texttt{americanresistors} option is active (or the style
\begin{itemize}
\ctikzset{resistor=american}
\circuititembip{R}{Resistor}{american resistor}
- \circuititembip{vR}{Variable resistor}{american variable resistor}
+ \circuititembip{vR}{Variable resistor}{variable american resistor}
\circuititembip{pR}{Potentiometer}{american potentiometer}
\end{itemize}
@@ -341,6 +383,17 @@ The options \texttt{fulldiodes} and \texttt{emptydiodes} (and the styles \texttt
\circuititembip{barrier}{Barrier}{}
\end{itemize}
+\begin{itemize}
+ \circuititembip{european gas filled surge arrester}{European gas filled surge arrester}{}
+ \circuititembip{american gas filled surge arrester}{American gas filled surge arrester}{}
+\end{itemize}
+
+\begin{framed}
+If (default behaviour) \texttt{europeangfsurgearrester} option is active (or the style \texttt{[european gas filled surge arrester]} is used), the shorthands \texttt{gas filled surge arrester} and \texttt{gf surge arrester} are equivalent to the european version of the component.
+
+If otherwise \texttt{americangfsurgearrester} option is active (or the style \texttt{[american gas filled surge arrester]} is used), the shorthands the shorthands \texttt{gas filled surge arrester} and \texttt{gf surge arrester} are equivalent to the american version of the component.
+\end{framed}
+
\subsubsection{Basic dynamical bipoles}
\begin{itemize}
\circuititembip{capacitor}{Capacitor}{C}
@@ -380,10 +433,19 @@ There is also a transmission line:
\circuititembip{sinusoidal current source}{Sinusoidal current source}{isourcesin, sI}
\end{itemize}
-\subsubsection{Square sources}
+\subsubsection{Special sources}
\begin{itemize}
\circuititembip{square voltage source}{Square voltage source}{vsourcesquare, sqV}
+ \circuititembip{vsourcetri}{Square voltage source}{}
+ \circuititembip{esource}{Empty voltage source}{}
\end{itemize}
+
+\subsubsection{DC sources}
+\begin{itemize}
+ \circuititembip{dcvsource}{DC voltage source}{}
+ \circuititembip{dcisource}{DC current source}{}
+\end{itemize}
+
%\begin{framed}
%The options \texttt{europeancurrent} [resp. \texttt{europeanvoltage}] (the default) and \texttt{americancurrent} [resp. \texttt{americanvoltage}] define which sinusoidal current [resp. voltage] source is selected by default when the abbreviated styles \texttt{sinusoidal current source}, \texttt{csourcesin}, \texttt{cI} [resp. \texttt{sinusoidal voltage source}, \texttt{vsourcesin}, \texttt{cV}] are used.
@@ -392,11 +454,36 @@ There is also a transmission line:
\subsubsection{Switch}
\begin{itemize}
+ \circuititembip{switch}{Switch}{spst}
\circuititembip{closing switch}{Closing switch}{cspst}
\circuititembip{opening switch}{Opening switch}{ospst}
\circuititembip{push button}{Push button}{}
\end{itemize}
+\subsubsection{HF components}
+\noindent Contributed by Stefan Erhardt.
+\begin{itemize}
+ \circuititembip{twoport}{generic two port\footnote{To specify text to be put in the component: \texttt{twoport[t=text]}): \tikz \draw[scale=.5, transform shape] (0,0) to[twoport,>,t=text] (2,0); }}{}
+ \circuititembip{vco}{vco}{}
+ \circuititembip{bandpass}{bandpass}{}
+ \circuititembip{highpass}{highpass}{}
+ \circuititembip{lowpass}{lowpass}{}
+ \circuititembip{adc}{A/D converter}{}
+ \circuititembip{dac}{D/A converter}{}
+ \circuititembip{dsp}{DSP}{}
+ \circuititembip{fft}{FFT}{}
+ \circuititembip{amp}{amplifier}{}
+ \circuititembip{vamp}{VGA}{}
+ \circuititembip{piattenuator}{$\pi$ attenuator}{}
+ \circuititembip{vpiattenuator}{var. $\pi$ attenuator}{}
+ \circuititembip{tattenuator}{T attenuator}{}
+ \circuititembip{vtattenuator}{var.\ T attenuator}{}
+ \circuititembip{phaseshifter}{phase shifter}{}
+ \circuititembip{vphaseshifter}{var.\ phase shifter}{}
+ \circuititembip{detector}{detector}{}
+\end{itemize}
+
+
\subsection{Tripoles}
@@ -443,9 +530,11 @@ Borsche:
\begin{itemize}
\circuititem{nfet}{\scshape nfet}{}
\circuititem{nigfete}{\scshape nigfete}{}
+ \circuititem{nigfetebulk}{\scshape nigfetebulk}{}
\circuititem{nigfetd}{\scshape nigfetd}{}
\circuititem{pfet}{\scshape pfet}{}
\circuititem{pigfete}{\scshape pigfete}{}
+ \circuititem{pigfetebulk}{\scshape pigfetebulk}{}
\circuititem{pigfetd}{\scshape pigfetd}{}
\end{itemize}
@@ -460,6 +549,16 @@ Borsche:
\circuititem{isfet}{\scshape isfet}{}
\end{itemize}
+\subsubsection{HF}
+These come from Stefan Erhardt's contribution of HF components.
+\begin{itemize}
+ \circuititem{circulator}{\scshape circulator}{}
+ \circuititem{wilkinson}{\scshape wilkinson divider}{}
+\end{itemize}
+
+
+
+
\subsubsection{Switch}
\begin{itemize}
\circuititem{spdt}{\scshape spdt}{}
@@ -504,6 +603,8 @@ Transformers with core are also available:
\begin{itemize}
\circuititem{gyrator}{Gyrator}{}
+ \circuititem{coupler}{Coupler}{}
+ \circuititem{coupler2}{Coupler, 2}{}
\end{itemize}
@@ -540,6 +641,7 @@ If otherwise \texttt{europeanports} option is active (or the style \texttt{[euro
\begin{itemize}
\circuititem{op amp}{Operational amplifier}{}
\circuititem{fd op amp}{Fully differential operational amplifier\footnote{Contributed by Kristofer M. Monisit.}}{}
+ \circuititem{gm amp}{transconductance amplifier}{}
\circuititem{plain amp}{Plain amplifier}{}
\circuititem{buffer}{Buffer}{}
\end{itemize}
@@ -1067,7 +1169,11 @@ Sorry about that.
Since only bipoles (but see section~\ref{sec:transasbip}) can be placed "along a line", components with more than two terminals are placed as nodes:
\begin{LTXexample}[varwidth=true]
-\tikz \node[npn] at (0,0) {};
+\begin{circuitikz}
+\draw (0,0) node[npn](npn) at (0,0) {};
+\draw (npn.C) --++(0,0.5) node[vcc]{+5\,\textnormal{V}};
+\draw (npn.E) --++(0,-0.5) node[vee]{-5\,\textnormal{V}};
+\end{circuitikz}
\end{LTXexample}
\subsection{Anchors}
@@ -1195,7 +1301,7 @@ Similarly, transistors and other components can be reflected vertically:
\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:
+\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]
\begin{circuitikz} \draw
@@ -1267,6 +1373,32 @@ The fully differential op amp defines two outputs:
;\end{circuitikz}
\end{LTXexample}
+
+The circulator defined ports 1, 2 and 3:
+\begin{LTXexample}[varwidth=true]
+ \begin{circuitikz} \draw
+ (0,0) node[circulator] (c) {}
+ (c.1) node[left] {\texttt{1}}
+ (c.2) node[right] {\texttt{2}}
+ (c.3) node[below] {\texttt{3}}
+ ;
+ \end{circuitikz}
+\end{LTXexample}
+
+The Wilkinson divider has:
+ \begin{LTXexample}[varwidth=true]
+ \begin{circuitikz} \draw
+ (0,0) node[wilkinson] (w) {\SI{3}{dB}}
+ (w.in) to[short,-o] ++(-0.5,0)
+ (w.out1) to[short,-o] ++(0.5,0)
+ (w.out2) to[short,-o] ++(0.5,0)
+ (w.in) node[below left] {\texttt{in}}
+ (w.out1) node[below right] {\texttt{out1}}
+ (w.out2) node[above right] {\texttt{out2}}
+ ;
+ \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:
@@ -1292,6 +1424,66 @@ the four anchors, two for each port. The first port, to the left, is port \textt
;\end{circuitikz}
\end{LTXexample}
+However:
+\begin{LTXexample}[varwidth=true]
+ \begin{circuitikz} \draw
+ (0,0) node[coupler] (c) {\SI{10}{dB}}
+ (c.1) to[short,-o] ++(-0.5,0)
+ (c.2) to[short,-o] ++(0.5,0)
+ (c.3) to[short,-o] ++(0.5,0)
+ (c.4) to[short,-o] ++(-0.5,0)
+ (c.1) node[below left] {\texttt{1}}
+ (c.2) node[below right] {\texttt{2}}
+ (c.3) node[above right] {\texttt{3}}
+ (c.4) node[above left] {\texttt{4}}
+ ;
+ \end{circuitikz}
+ \end{LTXexample}
+
+ \begin{LTXexample}[varwidth=true]
+ \begin{circuitikz} \draw
+ (0,0) node[coupler2] (c) {\SI{3}{dB}}
+ (c.1) to[short,-o] ++(-0.5,0)
+ (c.2) to[short,-o] ++(0.5,0)
+ (c.3) to[short,-o] ++(0.5,0)
+ (c.4) to[short,-o] ++(-0.5,0)
+ (c.1) node[below left] {\texttt{1}}
+ (c.2) node[below right] {\texttt{2}}
+ (c.3) node[above right] {\texttt{3}}
+ (c.4) node[above left] {\texttt{4}}
+ ;
+ \end{circuitikz}
+\end{LTXexample}
+
+
+\subsection{Input arrows}
+\subsubsection*{two ports}
+The new two ports all have a defined direction. If one needs opposite direction, just place them from right to left. With the option \texttt{>} a input arrow is drawn:
+\begin{LTXexample}[varwidth=true]
+ \begin{circuitikz} \draw
+ (0,0) to[short,o-] ++(0.3,0)
+ to[lowpass,>] ++(2,0)
+ to[adc,>] ++(2,0)
+ to[fft,>] ++(2,0)
+ to[short,-o] ++(0.3,0);
+ \end{circuitikz}
+\end{LTXexample}
+
+\subsubsection*{multi ports}
+Since inputs and outputs can vary, input arrows can be placed as nodes:
+\begin{LTXexample}[varwidth=true]
+ \begin{circuitikz} \draw
+ (0,0) node[mixer] (m) {}
+ (m.in1) to[short,-o] ++(-1,0)
+ (m.in2) to[short,-o] ++(0,-1)
+ (m.out) to[short,-o] ++(1,0)
+ (m.in1) node[inputarrow] {}
+ (m.in2) node[inputarrow,rotate=90] {};
+ \end{circuitikz}
+\end{LTXexample}
+
+
+
\subsection{Transistor paths}\label{sec:transasbip}
For syntactical convenience transistors can be placed using the normal path notation used for bipoles. The transitor type can be specified by simply adding a ``T'' (for transistor) in front of the node name of the transistor. It will be placed with the base/gate orthogonal to the direction of the path:
@@ -1491,7 +1683,7 @@ And yes: this is a bug and \emph{not} a feature\ldots
\noindent A: The \TikZ\ manual states:
\begin{quotation}
Furthermore, the library assumes that all \LaTeX\ pictures are ended
- with \verb!\end{tikzpicture}\verb!.
+ with \verb!\end{tikzpicture}!.
\end{quotation}
Just substitute every occurrence of the environment \verb!circuitikz! with \verb!tikzpicture!. They are actually pretty much the same.
@@ -1578,7 +1770,7 @@ Just substitute every occurrence of the environment \verb!circuitikz! with \verb
;\end{circuitikz}
\end{LTXexample}
- \begin{LTXexample}[pos=t,varwidth=true]
+\begin{LTXexample}[pos=t,varwidth=true]
\begin{circuitikz}[scale=1.2, american]\draw
(0,2) to[I=1<\milli\ampere>] (2,2)
to[R, l_=2<\kilo\ohm>, *-*] (0,0)
@@ -1603,61 +1795,133 @@ Just substitute every occurrence of the environment \verb!circuitikz! with \verb
\end{circuitikz}
\end{LTXexample}
+\begin{LTXexample}[pos=t,varwidth=true]
+ \begin{circuitikz}[scale=1]
+ \ctikzset{bipoles/detector/width=.35}
+ \ctikzset{quadpoles/coupler/width=1}
+ \ctikzset{quadpoles/coupler/height=1}
+ \ctikzset{tripoles/wilkinson/width=1}
+ \ctikzset{tripoles/wilkinson/height=1}
+ %\draw[help lines,red,thin,dotted] (0,-5) grid (5,5);
+ \draw
+ (-2,0) node[wilkinson](w1){}
+ (2,0) node[coupler] (c1) {}
+ (0,2) node[coupler,rotate=90] (c2) {}
+ (0,-2) node[coupler,rotate=90] (c3) {}
+ (w1.out1) .. controls ++(0.8,0) and ++(0,0.8) .. (c3.3)
+ (w1.out2) .. controls ++(0.8,0) and ++(0,-0.8) .. (c2.4)
+ (c1.1) .. controls ++(-0.8,0) and ++(0,0.8) .. (c3.2)
+ (c1.4) .. controls ++(-0.8,0) and ++(0,-0.8) .. (c2.1)
+ (w1.in) to[short,-o] ++(-1,0)
+ (w1.in) node[left=30] {LO}
+ (c1.2) node[match,yscale=1] {}
+ (c1.3) to[short,-o] ++(1,0)
+ (c1.3) node[right=30] {RF}
+ (c2.3) to[detector,-o] ++(0,1.5)
+ (c2.2) to[detector,-o] ++(0,1.5)
+ (c3.1) to[detector,-o] ++(0,-1.5)
+ (c3.4) to[detector,-o] ++(0,-1.5)
+ ;
+ \end{circuitikz}
+\end{LTXexample}
+
+
+\begin{tabular}{l}\label{ex:compatibility}
+ \fbox{\includegraphics{compatibility.pdf}}
+ \\
+ \begin{lstlisting}
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usetikzlibrary{circuits.ee.IEC}
+\usetikzlibrary{positioning}
+
+\usepackage[compatibility]{circuitikz}
+\ctikzset{bipoles/length=.9cm}
+
+\begin{document}
+ \begin{tikzpicture}[circuit ee IEC]
+ \draw (0,0) to [resistor={name=R}] (0,2)
+ to[diode={name=D}] (3,2);
+ \draw (0,0) to[*R=$R_1$] (1.5,0) to[*Tnpn] (3,0)
+ to[*D](3,2);
+ \end{tikzpicture}
+\end{document}
+ \end{lstlisting}
+\end{tabular}
+
\section{Revision history}
\begin{itemize}
+ \item[\itshape version 0.4] (in progress)
+ \begin{enumerate}
+ \item minor improvements to documentation
+ \item comply with TDS
+ \item merge high frequency symbols by Stefan Erhardt
+ \item added switch (not opening nor closing)
+ \item added added solder dot in some transistors
+ \item improved ConTeXt compatibility
+ \end{enumerate}
+\item[\itshape version 0.3.1]
+ \begin{enumerate}
+ \item typo in documentation
+ \item fixed an error in the angle computation in voltage and current routines
+ \item fixed problem with label size when scaling a tikz picture
+ \item added gas filled surge arrester
+ \item added compatibility option to work with Tikz's own circuit library
+ \end{enumerate}
\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 Luigi «Liverpool»)
+ \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 Luigi «Liverpool»)
\end{enumerate}
\item[\itshape version 0.2.4] (20110911).
\begin{enumerate}
- \item added square voltage source (contributed by Alistair Kwan)
- \item added buffer and plain amplifier (contributed by Danilo Piazzalunga)
- \item added squid and barrier (contributed by Cor Molenaar)
- \item added antenna and transmission line symbols contributed by Leonardo Azzinnari
- \item added the changeover switch spdt (suggestion of Fabio Maria Antoniali)
- \item rename of context.tex and context.pdf (thanks to Karl Berry)
- \item updated the email address
- \item in documentation, fixed wrong (non-standard) labelling of the axis in an example (thanks to prof. Claudio Beccaria)
- \item fixed scaling inconsistencies in quadrupoles
- \item fixed division by zero error on certain vertical paths
- \item introduced options straighlabels, rotatelabels, smartlabels
+ \item added square voltage source (contributed by Alistair Kwan)
+ \item added buffer and plain amplifier (contributed by Danilo Piazzalunga)
+ \item added squid and barrier (contributed by Cor Molenaar)
+ \item added antenna and transmission line symbols contributed by Leonardo Azzinnari
+ \item added the changeover switch spdt (suggestion of Fabio Maria Antoniali)
+ \item rename of context.tex and context.pdf (thanks to Karl Berry)
+ \item updated the email address
+ \item in documentation, fixed wrong (non-standard) labelling of the axis in an example (thanks to prof. Claudio Beccaria)
+ \item fixed scaling inconsistencies in quadrupoles
+ \item fixed division by zero error on certain vertical paths
+ \item introduced options straighlabels, rotatelabels, smartlabels
\end{enumerate}
\item[\itshape version 0.2.3] (20091118).
\begin{enumerate}
- \item fixed compatibility problem with label option from tikz
- \item Fixed resizing problem for shape ground
- \item Variable capacitor
- \item polarized capacitor
- \item ConTeXt support (read the manual!)
- \item nfet, nigfete, nigfetd, pfet, pigfete, pigfetd (contribution of Clemens Helfmeier and Theodor
-Borsche)
- \item njfet, pjfet (contribution of Danilo Piazzalunga)
- \item pigbt, nigbt
- \item \emph{backward incompatibility} potentiometer is now the standard resistor-with-arrow-in-the-middle; the old potentiometer is now known as variable resistor (or vR), similarly to variable inductor and variable capacitor
- \item triac, thyristor, memristor
- \item new property "name" for bipoles
- \item fixed voltage problem for batteries in american voltage mode
- \item european logic gates
- \item \emph{backward incompatibility} new american standard inductor. Old american inductor now called "cute inductor"
- \item \emph{backward incompatibility} transformer now linked with the chosen type of inductor, and version with core, too. Similarly for variable inductor
- \item \emph{backward incompatibility} styles for selecting shape variants now end are in the plural to avoid conflict with paths
- \item new placing option for some tripoles (mostly transistors)
- \item mirror path style
-\end{enumerate}
+ \item fixed compatibility problem with label option from tikz
+ \item Fixed resizing problem for shape ground
+ \item Variable capacitor
+ \item polarized capacitor
+ \item \ConTeXt\ support (read the manual!)
+ \item nfet, nigfete, nigfetd, pfet, pigfete, pigfetd (contribution of Clemens Helfmeier and Theodor
+ Borsche)
+ \item njfet, pjfet (contribution of Danilo Piazzalunga)
+ \item pigbt, nigbt
+ \item \emph{backward incompatibility} potentiometer is now the standard resistor-with-arrow-in-the-middle; the old potentiometer is now known as variable resistor (or vR), similarly to variable inductor and variable capacitor
+ \item triac, thyristor, memristor
+ \item new property "name" for bipoles
+ \item fixed voltage problem for batteries in american voltage mode
+ \item european logic gates
+ \item \emph{backward incompatibility} new american standard inductor. Old american inductor now called "cute inductor"
+ \item \emph{backward incompatibility} transformer now linked with the chosen type of inductor, and version with core, too. Similarly for variable inductor
+ \item \emph{backward incompatibility} styles for selecting shape variants now end are in the plural to avoid conflict with paths
+ \item new placing option for some tripoles (mostly transistors)
+ \item mirror path style
+ \end{enumerate}
\item[\itshape version 0.2.2] (20090520).
\begin{enumerate}
diff --git a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf
index 98e580d26e6..d88e58e7101 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/compatibility.ltx b/Master/texmf-dist/doc/latex/circuitikz/compatibility.ltx
new file mode 100644
index 00000000000..7259479e78b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/circuitikz/compatibility.ltx
@@ -0,0 +1,17 @@
+\documentclass{standalone}
+
+\usepackage{tikz}
+\usetikzlibrary{circuits.ee.IEC}
+\usetikzlibrary{positioning}
+
+\usepackage[compatibility]{circuitikz}
+\ctikzset{bipoles/length=.9cm}
+
+\begin{document}
+ \begin{tikzpicture}[circuit ee IEC]
+ \draw (0,0) to [resistor={name=R}] (0,2)
+ to[diode={name=D}] (3,2);
+ \draw (0,0) to[*R=$R_1$] (1.5,0) to[*Tnpn] (3,0)
+ to[*D](3,2);
+ \end{tikzpicture}
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/circuitikz/compatibility.pdf b/Master/texmf-dist/doc/latex/circuitikz/compatibility.pdf
new file mode 100644
index 00000000000..a6cd2514c8f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/circuitikz/compatibility.pdf
Binary files differ