diff options
author | Karl Berry <karl@freefriends.org> | 2015-05-15 21:47:32 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-05-15 21:47:32 +0000 |
commit | ad669530a9056a6c30abd6a337d481e646c5bc82 (patch) | |
tree | e7616304c393504e0ddfb3631c71db49ef830ee5 /Master/texmf-dist/doc/latex/circuitikz | |
parent | ff006c2d366e4f0f3503a131959ab1ae04ea5e5f (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/CHANGELOG | 74 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/circuitikz/README | 40 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/circuitikz/circuitikz-context.pdf | bin | 14426 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/circuitikz/circuitikz-context.tex | 20 | ||||
-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.pdf | bin | 317305 -> 376834 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/circuitikz/compatibility.ltx | 17 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/circuitikz/compatibility.pdf | bin | 0 -> 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 Binary files differdeleted file mode 100644 index cb8662d2979..00000000000 --- a/Master/texmf-dist/doc/latex/circuitikz/circuitikz-context.pdf +++ /dev/null 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 Binary files differindex 98e580d26e6..d88e58e7101 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/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 Binary files differnew file mode 100644 index 00000000000..a6cd2514c8f --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuitikz/compatibility.pdf |