diff options
author | Karl Berry <karl@freefriends.org> | 2020-02-04 22:15:37 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-02-04 22:15:37 +0000 |
commit | 0d6d3d58752320a0b2ab7a41555048566e23f03c (patch) | |
tree | aac06a103dc0dde56c03966c093601853a7f4b00 | |
parent | c356197cfd9b78dd01edd4679c895f4a51f7d3b5 (diff) |
circuitikz (4feb20)
git-svn-id: svn://tug.org/texlive/trunk@53667 c570f23f-e606-0410-a88d-b1316a301751
22 files changed, 448 insertions, 45 deletions
diff --git a/Master/texmf-dist/doc/context/third/circuitikz/circuitikz-context.pdf b/Master/texmf-dist/doc/context/third/circuitikz/circuitikz-context.pdf Binary files differindex 1861747f2bf..18ae7854f67 100644 --- a/Master/texmf-dist/doc/context/third/circuitikz/circuitikz-context.pdf +++ b/Master/texmf-dist/doc/context/third/circuitikz/circuitikz-context.pdf diff --git a/Master/texmf-dist/doc/context/third/circuitikz/circuitikz-context.tex b/Master/texmf-dist/doc/context/third/circuitikz/circuitikz-context.tex index 4b6ee8db0d2..766499ba0cf 100644 --- a/Master/texmf-dist/doc/context/third/circuitikz/circuitikz-context.tex +++ b/Master/texmf-dist/doc/context/third/circuitikz/circuitikz-context.tex @@ -1,3 +1,15 @@ +% Copyright 2018-2020 by Romano Giannetti +% Copyright 2015-2020 by Stefan Lindner +% Copyright 2013-2020 by Stefan Erhardt +% Copyright 2007-2020 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. +% +% See the files gpl-3.0_license.txt and lppl-1-3c_license.txt for more details. + \usemodule[circuitikz] diff --git a/Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md b/Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md index b913ffc33a4..8a9565a0fe1 100644 --- a/Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md +++ b/Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md @@ -1,6 +1,31 @@ <!--- CircuiTikz - Changelog ---> The major changes among the different circuitikz versions are listed here. See <https://github.com/circuitikz/circuitikz/commits> for a full list of changes. +* Version 1.0 (2020-02-04) + +And finally... version 1.0 (2020-02-04) of `circuitikz` is released. + +The main updates since version 0.8.3, which was the last release before Romano started co-maintaining the project, are the following --- part coded by Romano, part by several collaborators around the internet: + +- The manual has been reorganized and extended, with the addition of a tutorial part; tens of examples have been added all over the map. + +- Around 74 new shapes where added. Notably, now there are chips, mux-demuxes, multi-terminal transistors, several types of switches, flip-flops, vacuum tubes, 7-segment displays, more amplifiers, and so on. + +- Several existing shapes have been enhanced; for example, logic gates have a variable number of inputs, transistors are more configurable, resistors can be shaped more, and more. + +- You can style your circuit, changing relative sizes, default thickness and fill color, and more details of how you like your circuit to look; the same you can do with labels (voltages, currents, names of components and so on). + +- A lot of bugs have been squashed; especially the (very complex) voltage direction conundrum has been clarified and you can choose your preferred style here too. + +A detailed list of changes can be seen below. + + +* Version 1.0.0-pre3 (not released) + + - Added a Reed switch + - Put the copyright and license notices on all files and update them + - Fixed the loading of style; we should not guard against reload + * Version 1.0.0-pre2 (2020-01-23) **Really** last additions toward the 1.0.0 version. The most important change is the addition of multiplexer and de-multiplexers; also added the multi-wires (bus) markers. diff --git a/Master/texmf-dist/doc/latex/circuitikz/changelog.tex b/Master/texmf-dist/doc/latex/circuitikz/changelog.tex index 9a745ee128c..8c56ba379dd 100644 --- a/Master/texmf-dist/doc/latex/circuitikz/changelog.tex +++ b/Master/texmf-dist/doc/latex/circuitikz/changelog.tex @@ -4,6 +4,57 @@ here. See \url{https://github.com/circuitikz/circuitikz/commits} for a full list of changes. \begin{itemize} +\tightlist +\item + Version 1.0 (2020-02-04) +\end{itemize} + +And finally\ldots{} version 1.0 (2020-02-04) of \texttt{circuitikz} is +released. + +The main updates since version 0.8.3, which was the last release before +Romano started co-maintaining the project, are the following --- part +coded by Romano, part by several collaborators around the internet: + +\begin{itemize} +\item + The manual has been reorganized and extended, with the addition of a + tutorial part; tens of examples have been added all over the map. +\item + Around 74 new shapes where added. Notably, now there are chips, + mux-demuxes, multi-terminal transistors, several types of switches, + flip-flops, vacuum tubes, 7-segment displays, more amplifiers, and so + on. +\item + Several existing shapes have been enhanced; for example, logic gates + have a variable number of inputs, transistors are more configurable, + resistors can be shaped more, and more. +\item + You can style your circuit, changing relative sizes, default thickness + and fill color, and more details of how you like your circuit to look; + the same you can do with labels (voltages, currents, names of + components and so on). +\item + A lot of bugs have been squashed; especially the (very complex) + voltage direction conundrum has been clarified and you can choose your + preferred style here too. +\end{itemize} + +A detailed list of changes can be seen below. + +\begin{itemize} +\item + Version 1.0.0-pre3 (not released) + + \begin{itemize} + \tightlist + \item + Added a Reed switch + \item + Put the copyright and license notices on all files and update them + \item + Fixed the loading of style; we should not guard against reload + \end{itemize} \item Version 1.0.0-pre2 (2020-01-23) diff --git a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf Binary files differindex c0fc6167d88..88c21dac4ac 100644 --- a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf +++ b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf diff --git a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex index b0a108d60c1..fc156f1fc2b 100644 --- a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex +++ b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex @@ -5,6 +5,19 @@ % !TeX spellcheck = en_US % !TeX encoding = utf8 +% Copyright 2018-2020 by Romano Giannetti +% Copyright 2015-2020 by Stefan Lindner +% Copyright 2013-2020 by Stefan Erhardt +% Copyright 2007-2020 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. +% +% See the files gpl-3.0_license.txt and lppl-1-3c_license.txt for more details. +% + \documentclass[a4paper, titlepage]{article} \usepackage{a4wide} % smaller borders \usepackage{titling} @@ -154,7 +167,17 @@ \tableofcontents \cleardoublepage + \section{Introduction} + +\hfill\begin{minipage}[t]{0.5\textwidth} + \small\slshape\raggedleft + Lorenzo and Mirella, 57 years ago, started a trip that eventually lead to a lot of things --- among them, \Circuitikz{} \texttt{v1.0}. + + In loving memory + --- R.\@G.\@, 2020-02-04 +\end{minipage} + \subsection{About} \Circuitikz\ was initiated by Massimo Redaelli in 2007, who was working as a research assistant at the Polytechnic University of Milan, Italy, and needed a tool for creating exercises and exams. After he left University in 2010 the development of \Circuitikz\ slowed down, since \LaTeX\ is mainly established in the academic world. In 2015 Stefan Lindner and Stefan Erhardt, both working as research assistants at the University of Erlangen-Nürnberg, Germany, joined the team and now maintain the project together with the initial author. In 2018 Romano Giannetti, full professor of Electronics at Comillas Pontifical University of Madrid, joined the team. @@ -162,7 +185,12 @@ After he left University in 2010 the development of \Circuitikz\ slowed down, si The use of \Circuitikz\ is, of course, not limited to academic teaching. The package gets widely used by engineers for typesetting electronic circuits for articles and publications all over the world. \subsection{License} -Copyright \copyright\ 2007--2019 Massimo Redaelli. This package is author-maintained. Permission is granted to copy, distribute and/or modify this software under the terms of the \LaTeX\ Project Public License, version 1.3.1, or the GNU Public License. This software is provided ‘as is’, without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. +Copyright \copyright{} +2007--2020 by Massimo Redaelli, +2013-2020 by Stefan Erhardt, +2015-2020 by Stefan Lindner, +and 2018-2020 by Romano Giannetti. +This package is author-maintained. Permission is granted to copy, distribute and/or modify this software under the terms of the \LaTeX\ Project Public License, version 1.3.1, or the GNU Public License. This software is provided ‘as is’, without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. \subsection{Loading the package} \begin{table}[h] @@ -3419,6 +3447,7 @@ These are all of the to-style type: \circuitdescbip[pushbutton]{push button}{Normally open push button}{normally open push button, nopb} \circuitdescbip[ncpushbutton]{normally closed push button}{Normally closed push button}{ncpb} \circuitdescbip[toggleswitch]{toggle switch}{Toggle switch}{} + \circuitdescbip*{reed}{Reed switch}{} \end{groupdesc} while this is a node-style component: @@ -4259,6 +4288,23 @@ The code that implemented the printing of the numbers (which in \texttt{muxdemux } \end{lstlisting} +You can use these shapes to draw a lot of symbols that are unavailable; using a bit of \LaTeX{} command trickery you can use them quite naturally too... + +\begin{LTXexample}[varwidth=true] +\def\tgate#1{ + node[simple triangle, anchor=left, no input leads](#1-LR){} + (#1-LR.right) node[simple triangle, xscale=-1, + anchor=left](#1-RL){} + ([yshift=.5ex]#1-RL.btpin 1) node[ocirc]{}} +\begin{circuitikz}[ + simple triangle/.style={muxdemux, muxdemux def={ + NL=1, NR=1, NB=1, NT=1, w=2, Lh=2, Rh=0, + }}] + \draw (0,0) \tgate{A} (0,-2) \tgate{B}; + \draw (A-RL.bpin 1) -- (B-RL.tpin 1); +\end{circuitikz} +\end{LTXexample} + \subsection{Chips (integrated circuits)} \texttt{CircuiTikZ} supports two types of variable-pin chips: DIP (Dual-in-Line Package) and QFP (Quad-Flat Package). @@ -5933,6 +5979,28 @@ which leads to: \end{circuitikz} \end{LTXexample} +Now you can check if the voltage labels are correct for your new component: + +\begin{LTXexample}[varwidth] +\begin{circuitikz}[] + \draw (0,0) to[spring] ++(2,0) + to[viscoe, v=V] ++(2,0); +\end{circuitikz} +\end{LTXexample} + +If you think they are too tight or too loose you can use a (developer-only) key to adjust the distance: + +\begin{LTXexample}[varwidth] +\begin{circuitikz} + \ctikzset{bipoles/viscoe/voltage/additional label shift/.initial=1} + \draw (0,0) to[spring] ++(2,0) + to[viscoe, v=V] ++(2,0); +\end{circuitikz} +\end{LTXexample} + +Notice that by default the key \texttt{bipoles/\emph{mybipole}/voltage/additional label shift} is not defined, so if you want to use it you must create it before (this is the meaning of the \texttt{.initial} here). + + As a final note, notice that the \texttt{viscoe} element is already added to the standard package. \subsection{Node-style component} @@ -6092,6 +6160,107 @@ The best way of contributing is forking the project, adding your component in th \end{circuitikz} \end{LTXexample} +\ctikzloadstyle{romano} +\scalebox{0.707}{% +\begin{circuitikz}[american, romano circuit style] + \ctikzset{bipoles/cuteswitch/thickness=0.5} + \draw (0,0) node[ground](GND0){} to[sV, l=$v_{cm}$] ++(0,1) + to [R, l=$R_c$, -*] ++(0,1.5) coordinate(vcm) --++(0,0.5) coordinate(diffc); + \draw (diffc) -| ++(-0.5, 0.5) to[sV,l=$v_+$, name=vplus] ++(0,1) --++(0,2) + -- ++(2.5,0) coordinate(skin+ a) to[battery2, l=$E_+$, name=eplus] ++(1,0) + to[R=$R_+$, name=rplus] ++(2,0) coordinate(skin+ b) -- ++(0.5,0) + -- ++(4,0) coordinate(hpin+) to[highpass] ++(2,0) + node[inst amp, anchor=+, noinv input up, + circuitikz/amplifiers/scale=1.6, + circuitikz/tripoles/inst amp/width=1](LNA){LNA} + (LNA.out); + \coordinate (skin- a) at (LNA.- -| skin+ a); + \draw (diffc) -| ++(0.5,0.5) to[sV,l_=$v_-$, name=vminus] ++(0, 1) |- (skin- a); + \draw (skin- a) to[battery2, l_=$E_-$, name=eminus] ++(1,0) + to[R, l_=$R_-$, name=rminus] ++(2,0) coordinate(skin- b) -- ++(2.5,0) + -- (skin- b -| hpin+) to[highpass] (LNA.-); + \coordinate (gnd a) at (vcm -| skin+ a); + \draw (vcm) -- (gnd a) to[battery2, l_=$E_\mathrm{gnd}$, name=egnd] ++(1,0) + to[R, l_=$R_\mathrm{gnd}$, name=rgnd] ++(2,0) coordinate(gnd b); + % switch set + \def\swdown{-3.2} + \draw (skin- b) ++(1,0) coordinate(sw1) to[cosw, invert, mirror, l=1, *-, name=s1] ++(0,\swdown) to[short, -*] ++(0, -1.5); + \draw (sw1) ++(1,0) coordinate(sw2) to[cosw, invert, mirror, l=2, *-] ++(0,\swdown) to[R=$R$, -*] ++(0, -1.5); + \draw (sw2|-skin+ b) ++(1,0) coordinate(sw3) to[short, *-] (sw3|-sw2) to[cosw, invert, mirror, l=3,] ++(0,\swdown) to[R=$R$, -*] ++(0, -1.5); + \draw (sw3) ++(1,0) coordinate(sw4) to[short, *-] (sw4|-sw2) to[cosw, invert, mirror, l=4, name=s4] ++(0,\swdown) to[short] ++(0, -1.5) coordinate(endsw); + \draw (gnd b) |- (endsw) node[rectjoinfill]{}; + % boxes + \node [rectangle, draw, dashed, fit=(GND0) (vplus) (vpluslabel) (vminuslabel)](body){}; + \node [anchor=south east, align=center] at (body.south east) {Body} ; + \node [rectangle, draw, dashed, fit=(rplus) (eplus) (epluslabel) (rpluslabel)](top){}; + \node [rectangle, draw, dashed, fit=(eminus) (rminus) (eminuslabel) (rminuslabel)](bot){}; + \node [anchor=center, align=center] at ($(top.south)!0.5!(bot.north)$) {electrodes} ; + \node [rectangle, draw, dashed, fit=(egnd) (rgnd) (egndlabel) (rgndlabel)](gnd){}; + \node [below, align=center] at (gnd.south) {ground\\ electrode} ; + \node [rectangle, draw, dashed, fit=(s1) (s4label), inner ysep=8pt](switches){}; + % ADC and micro + \draw (LNA.out) -- ++(0.5,0) node[msport,circuitikz/RF/scale=2](ADC){ADC}; + \draw (ADC.right) -- ++(0.5,0) node[twoportshape, anchor=left, t=$\upmu$C](uC){}; + \draw (uC.south) -- (uC.south |- switches.east) -- ++(-4,0) + node[align=left, anchor=east](DCS){\small digitally\\ controlled\\ switches}; + \draw[-Stealth] (DCS.west) -- (switches.east); + % components + \node [anchor=north west] at ([xshift=-10pt, yshift=-5pt]switches.south east) {ADG1414}; + \node [anchor=north west] at ([yshift=-5pt]LNA.refv down) {AD8429}; +\end{circuitikz} +} % scalebox + +\begin{lstlisting}[basicstyle=\small\ttfamily] +\ctikzloadstyle{romano} +\scalebox{0.707}{% +\begin{circuitikz}[american, romano circuit style] + \ctikzset{bipoles/cuteswitch/thickness=0.5} + \draw (0,0) node[ground](GND0){} to[sV, l=$v_{cm}$] ++(0,1) + to [R, l=$R_c$, -*] ++(0,1.5) coordinate(vcm) --++(0,0.5) coordinate(diffc); + \draw (diffc) -| ++(-0.5, 0.5) to[sV,l=$v_+$, name=vplus] ++(0,1) --++(0,2) + -- ++(2.5,0) coordinate(skin+ a) to[battery2, l=$E_+$, name=eplus] ++(1,0) + to[R=$R_+$, name=rplus] ++(2,0) coordinate(skin+ b) -- ++(0.5,0) + -- ++(4,0) coordinate(hpin+) to[highpass] ++(2,0) + node[inst amp, anchor=+, noinv input up, + circuitikz/amplifiers/scale=1.6, + circuitikz/tripoles/inst amp/width=1](LNA){LNA} + (LNA.out); + \coordinate (skin- a) at (LNA.- -| skin+ a); + \draw (diffc) -| ++(0.5,0.5) to[sV,l_=$v_-$, name=vminus] ++(0, 1) |- (skin- a); + \draw (skin- a) to[battery2, l_=$E_-$, name=eminus] ++(1,0) + to[R, l_=$R_-$, name=rminus] ++(2,0) coordinate(skin- b) -- ++(2.5,0) + -- (skin- b -| hpin+) to[highpass] (LNA.-); + \coordinate (gnd a) at (vcm -| skin+ a); + \draw (vcm) -- (gnd a) to[battery2, l_=$E_\mathrm{gnd}$, name=egnd] ++(1,0) + to[R, l_=$R_\mathrm{gnd}$, name=rgnd] ++(2,0) coordinate(gnd b); + % switch set + \def\swdown{-3.2} + \draw (skin- b) ++(1,0) coordinate(sw1) to[cosw, invert, mirror, l=1, *-, name=s1] ++(0,\swdown) to[short, -*] ++(0, -1.5); + \draw (sw1) ++(1,0) coordinate(sw2) to[cosw, invert, mirror, l=2, *-] ++(0,\swdown) to[R=$R$, -*] ++(0, -1.5); + \draw (sw2|-skin+ b) ++(1,0) coordinate(sw3) to[short, *-] (sw3|-sw2) to[cosw, invert, mirror, l=3,] ++(0,\swdown) to[R=$R$, -*] ++(0, -1.5); + \draw (sw3) ++(1,0) coordinate(sw4) to[short, *-] (sw4|-sw2) to[cosw, invert, mirror, l=4, name=s4] ++(0,\swdown) to[short] ++(0, -1.5) coordinate(endsw); + \draw (gnd b) |- (endsw) node[rectjoinfill]{}; + % boxes + \node [rectangle, draw, dashed, fit=(GND0) (vplus) (vpluslabel) (vminuslabel)](body){}; + \node [anchor=south east, align=center] at (body.south east) {Body} ; + \node [rectangle, draw, dashed, fit=(rplus) (eplus) (epluslabel) (rpluslabel)](top){}; + \node [rectangle, draw, dashed, fit=(eminus) (rminus) (eminuslabel) (rminuslabel)](bot){}; + \node [anchor=center, align=center] at ($(top.south)!0.5!(bot.north)$) {electrodes} ; + \node [rectangle, draw, dashed, fit=(egnd) (rgnd) (egndlabel) (rgndlabel)](gnd){}; + \node [below, align=center] at (gnd.south) {ground\\ electrode} ; + \node [rectangle, draw, dashed, fit=(s1) (s4label), inner ysep=8pt](switches){}; + % ADC and micro + \draw (LNA.out) -- ++(0.5,0) node[msport,circuitikz/RF/scale=2](ADC){ADC}; + \draw (ADC.right) -- ++(0.5,0) node[twoportshape, anchor=left, t=$\upmu$C](uC){}; + \draw (uC.south) -- (uC.south |- switches.east) -- ++(-4,0) + node[align=left, anchor=east](DCS){\small digitally\\ controlled\\ switches}; + \draw[-Stealth] (DCS.west) -- (switches.east); + % components + \node [anchor=north west] at ([xshift=-10pt, yshift=-5pt]switches.south east) {ADG1414}; + \node [anchor=north west] at ([yshift=-5pt]LNA.refv down) {AD8429}; +\end{circuitikz} +} % scalebox +\end{lstlisting} \begin{tabular}{l}\label{ex:compatibility} \IfFileExists{compatibility.pdf} diff --git a/Master/texmf-dist/doc/latex/circuitikz/ctikzmanutils.sty b/Master/texmf-dist/doc/latex/circuitikz/ctikzmanutils.sty index ae4035128c1..8d364404f0c 100644 --- a/Master/texmf-dist/doc/latex/circuitikz/ctikzmanutils.sty +++ b/Master/texmf-dist/doc/latex/circuitikz/ctikzmanutils.sty @@ -1,9 +1,24 @@ +% Copyright 2018-2020 by Romano Giannetti +% Copyright 2015-2020 by Stefan Lindner +% Copyright 2013-2020 by Stefan Erhardt +% Copyright 2007-2020 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. +% +% See the files gpl-3.0_license.txt and lppl-1-3c_license.txt for more details. + \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{ctikzmanutils}[2019/07/26 utilities for formatting circuitikz manual] \RequirePackage{ifthen} \RequirePackage{xparse} \RequirePackage{showexpl} \RequirePackage{ragged2e} +% for some example we need them... +\usetikzlibrary{calc,fit} +\RequirePackage{upgreek} % % The following trick is used to silence showexpl a bit, so that the % logs are readable... diff --git a/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex b/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex index d2a510866d1..03ec7191c58 100644 --- a/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex +++ b/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex @@ -1,5 +1,17 @@ -\def\pgfcircversion{1.0.0-pre2} -\def\pgfcircversiondate{2020/01/23} +% Copyright 2018-2020 by Romano Giannetti +% Copyright 2015-2020 by Stefan Lindner +% Copyright 2013-2020 by Stefan Erhardt +% Copyright 2007-2020 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. +% +% See the files gpl-3.0_license.txt and lppl-1-3c_license.txt for more details. + +\def\pgfcircversion{1.0} +\def\pgfcircversiondate{2020/02/04} \writestatus{loading}{\pgfcircversiondate{} The CircuiTikz circuit drawing package version \pgfcircversion} \usemodule[tikz] diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex index e8c27efbeed..f550af644bd 100644 --- a/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex +++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcirc.defines.tex @@ -1,3 +1,16 @@ +% Copyright 2018-2020 by Romano Giannetti +% Copyright 2015-2020 by Stefan Lindner +% Copyright 2013-2020 by Stefan Erhardt +% Copyright 2007-2020 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. +% +% See the files gpl-3.0_license.txt and lppl-1-3c_license.txt for more details. + +% %% Key managements \long\def\pgf@circ@comment#1{} @@ -254,13 +267,8 @@ % load a style file: search ctikzstyle-NAME.tex in path \def\ctikzloadstyle#1{% - \edef\pgf@temp{#1}% - % guard against re-loading - \expandafter\ifx\csname pgf@circ@style@\pgf@temp @loaded\endcsname\relax% - \expandafter\global\expandafter\let\csname pgf@circ@style@\pgf@temp @loaded\endcsname=\pgfutil@empty \pgfutil@InputIfFileExists{ctikzstyle-#1}{}{% \tikzerror{I did not find the circuitikz style #1}}% - \fi } % load and enact a style @@ -635,6 +643,10 @@ \ctikzset{bipoles/ncs/height/.initial=.35} \ctikzset{bipoles/ncs/width/.initial=.35} \ctikzset{bipoles/ncs/depth/.initial=.2} +%%% reed switch +\ctikzset{bipoles/reed/height/.initial=.4} +\ctikzset{bipoles/reed/width/.initial=.8}% 0.35 in nos +\ctikzset{bipoles/reed/depth/.initial=.4} % misc @@ -675,13 +687,21 @@ \ctikzset{bipoles/voltmeter/width/.initial=.60} \ctikzset{bipoles/smeter/height/.initial=.60} \ctikzset{bipoles/smeter/width/.initial=.60} +\ctikzset{bipoles/smeter/voltage/additional label shift/.initial=1} \ctikzset{bipoles/qmeter/depth/.initial=.40} \ctikzset{bipoles/qmeter/height/.initial=.80} \ctikzset{bipoles/qmeter/width/.initial=.60} +% this must be specified for each one +\ctikzset{bipoles/qvprobe/voltage/additional label shift/.initial=.5} +\ctikzset{bipoles/qiprobe/voltage/additional label shift/.initial=.5} +\ctikzset{bipoles/qpprobe/voltage/additional label shift/.initial=.5} \ctikzset{bipoles/iloop/width/.initial=.40} \ctikzset{bipoles/iloop/height/.initial=.60} + \ctikzset{bipoles/oscope/height/.initial=.60} \ctikzset{bipoles/oscope/width/.initial=.60} +\ctikzset{bipoles/oscope/voltage/additional label shift/.initial=1} + % option to not rotate the new (Romano's) instruments \newif\ifpgf@circuit@straightinstruments\pgf@circuit@straightinstrumentstrue diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex index 5e4cf0e1749..cd4b14fcabb 100644 --- a/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex +++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcircbipoles.tex @@ -1,4 +1,7 @@ -% Copyright 2007-2009 by Massimo Redaelli +% Copyright 2018-2020 by Romano Giannetti +% Copyright 2015-2020 by Stefan Lindner +% Copyright 2013-2020 by Stefan Erhardt +% Copyright 2007-2020 by Massimo Redaelli % % This file may be distributed and/or modified % @@ -2832,6 +2835,41 @@ \pgftransformshift{\pgfpoint{2\pgf@circ@res@right}{0pt}} \pgfnode{ocirc}{center}{}{}{\pgfusepath{draw}} } +%%% reed switches +\pgfcircdeclarebipolescaled{switches} +{} +{\ctikzvalof{bipoles/reed/depth}} +{reed} +{\ctikzvalof{bipoles/reed/height}} +{\ctikzvalof{bipoles/reed/width}} +{ + % this is designed to be the same as a "nos". + \pgfmathsetmacro{\@@tmpx}{0.9*\ctikzvalof{bipoles/nos/width}/\ctikzvalof{bipoles/reed/width}} + \pgfmathsetmacro{\@@tmpy}{\ctikzvalof{bipoles/nos/height}/\ctikzvalof{bipoles/reed/height}} + \pgfscope + \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth} + % eclosure + \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right-\pgf@circ@res@up}{\pgf@circ@res@up}} + \pgfpatharc{90}{-90}{\pgf@circ@res@up} + \pgfpathlineto{\pgfpoint{\pgf@circ@res@left+\pgf@circ@res@up}{-\pgf@circ@res@up}} + \pgfpatharc{270}{90}{\pgf@circ@res@up} + \pgfpathclose + \pgf@circ@draworfill + % switch + \pgfpathmoveto{\pgfpoint{\@@tmpx\pgf@circ@res@left}{0pt}} + \pgfpathlineto{\pgfpoint{\@@tmpx\pgf@circ@res@right}{\@@tmpy\pgf@circ@res@up}} + % connection lines + \pgfsetbuttcap + \pgfusepath{draw} + \endpgfscope + % connection lines + \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{0pt}} + \pgfpathlineto{\pgfpoint{\@@tmpx\pgf@circ@res@left}{0pt}} + \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{0pt}} + \pgfpathlineto{\pgfpoint{\@@tmpx\pgf@circ@res@right}{0pt}} + \pgfusepath{draw} +} + % cute switch "to" shapes help function % #1 -> name % #2 -> barposition diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcirccurrent.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcirccurrent.tex index b0d2a989bd0..b8cf0555900 100644 --- a/Master/texmf-dist/tex/generic/circuitikz/pgfcirccurrent.tex +++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcirccurrent.tex @@ -1,4 +1,7 @@ -% Copyright 2007-2009 by Massimo Redaelli +% Copyright 2018-2020 by Romano Giannetti +% Copyright 2015-2020 by Stefan Lindner +% Copyright 2013-2020 by Stefan Erhardt +% Copyright 2007-2020 by Massimo Redaelli % % This file may be distributed and/or modified % diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcircflow.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcircflow.tex index c90b986eba7..b7bb8b9767c 100644 --- a/Master/texmf-dist/tex/generic/circuitikz/pgfcircflow.tex +++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcircflow.tex @@ -1,4 +1,7 @@ -% Copyright 2007-2009 by Massimo Redaelli +% Copyright 2018-2020 by Romano Giannetti +% Copyright 2015-2020 by Stefan Lindner +% Copyright 2013-2020 by Stefan Erhardt +% Copyright 2007-2020 by Massimo Redaelli % % This file may be distributed and/or modified % diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcirclabel.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcirclabel.tex index 0542e905efe..1aff5b9a061 100644 --- a/Master/texmf-dist/tex/generic/circuitikz/pgfcirclabel.tex +++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcirclabel.tex @@ -1,4 +1,7 @@ -% Copyright 2007-2009 by Massimo Redaelli +% Copyright 2018-2020 by Romano Giannetti +% Copyright 2015-2020 by Stefan Lindner +% Copyright 2013-2020 by Stefan Erhardt +% Copyright 2007-2020 by Massimo Redaelli % % This file may be distributed and/or modified % diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcircmonopoles.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcircmonopoles.tex index 88ca4711daf..2da88c450bb 100644 --- a/Master/texmf-dist/tex/generic/circuitikz/pgfcircmonopoles.tex +++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcircmonopoles.tex @@ -1,4 +1,7 @@ -% Copyright 2007-2009 by Massimo Redaelli +% Copyright 2018-2020 by Romano Giannetti +% Copyright 2015-2020 by Stefan Lindner +% Copyright 2013-2020 by Stefan Erhardt +% Copyright 2007-2020 by Massimo Redaelli % % This file may be distributed and/or modified % diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcircmultipoles.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcircmultipoles.tex index 6c175c4b732..4c8d6d4e495 100644 --- a/Master/texmf-dist/tex/generic/circuitikz/pgfcircmultipoles.tex +++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcircmultipoles.tex @@ -1,5 +1,7 @@ -% Copyright 2007-2009 by Massimo Redaelli -% Copyright 2019 by Romano Giannetti +% Copyright 2018-2020 by Romano Giannetti +% Copyright 2015-2020 by Stefan Lindner +% Copyright 2013-2020 by Stefan Erhardt +% Copyright 2007-2020 by Massimo Redaelli % % This file may be distributed and/or modified % @@ -9,7 +11,7 @@ % See the files gpl-3.0_license.txt and lppl-1-3c_license.txt for more details. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Multipoles +%% Multipoles by Romano Giannetti %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%% diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex index eb319b1ad8b..337443da279 100644 --- a/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex +++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcircpath.tex @@ -1,3 +1,15 @@ +% Copyright 2018-2020 by Romano Giannetti +% Copyright 2015-2020 by Stefan Lindner +% Copyright 2013-2020 by Stefan Erhardt +% Copyright 2007-2020 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. +% +% See the files gpl-3.0_license.txt and lppl-1-3c_license.txt for more details. + \def\pgf@circ@direction{0.0} @@ -804,6 +816,10 @@ \compattikzset{multiwire/.style = {\circuitikzbasekey, /tikz/to path=\pgf@circ@multiwire@path, l=#1}} +% reed switches +\def\pgf@circ@reed@path#1{\pgf@circ@bipole@path{reed}{#1}} +\compattikzset{reed/.style = {\circuitikzbasekey, /tikz/to path=\pgf@circ@reed@path, l=#1}} + % Transistor like bipoles \def\pgf@circ@trans@path#1#2{ diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcircquadpoles.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcircquadpoles.tex index 31890ea44db..68ecb33d4a6 100644 --- a/Master/texmf-dist/tex/generic/circuitikz/pgfcircquadpoles.tex +++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcircquadpoles.tex @@ -1,4 +1,7 @@ -% Copyright 2007-2009 by Massimo Redaelli +% Copyright 2018-2020 by Romano Giannetti +% Copyright 2015-2020 by Stefan Lindner +% Copyright 2013-2020 by Stefan Erhardt +% Copyright 2007-2020 by Massimo Redaelli % % This file may be distributed and/or modified % diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcircshapes.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcircshapes.tex index 3ccf5abfcbd..823ff5b6328 100644 --- a/Master/texmf-dist/tex/generic/circuitikz/pgfcircshapes.tex +++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcircshapes.tex @@ -1,4 +1,7 @@ -% Copyright 2007-2009 by Massimo Redaelli +% Copyright 2018-2020 by Romano Giannetti +% Copyright 2015-2020 by Stefan Lindner +% Copyright 2013-2020 by Stefan Erhardt +% Copyright 2007-2020 by Massimo Redaelli % % This file may be distributed and/or modified % diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcirctripoles.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcirctripoles.tex index 4e8a010fb9d..9957fdee5af 100644 --- a/Master/texmf-dist/tex/generic/circuitikz/pgfcirctripoles.tex +++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcirctripoles.tex @@ -1,4 +1,7 @@ -% Copyright 2007-2009 by Massimo Redaelli +% Copyright 2018-2020 by Romano Giannetti +% Copyright 2015-2020 by Stefan Lindner +% Copyright 2013-2020 by Stefan Erhardt +% Copyright 2007-2020 by Massimo Redaelli % % This file may be distributed and/or modified % @@ -3531,9 +3534,12 @@ \pgf@circ@scaled@Rlen=\scaledRlen % Triangle - % Includes output terminals to ensure that diagonal joins are properly displayed + % Includes output terminals in the traingular shape + % to ensure that diagonal joins are properly displayed + % we first draw the main triangle and the leads with normal thickness, + % and the redraw the main triangle with the component shape \pgfscope - \pgf@circ@setlinewidth{quadpoles}{\pgflinewidth} + % shift origin a bit to ease calculations \pgftransformxshift{\ctikzvalof{tripoles/fd op amp/port width}\pgf@circ@res@left} \pgf@circ@res@step=\pgf@circ@res@right \advance\pgf@circ@res@step by -\pgf@circ@res@left @@ -3562,8 +3568,25 @@ \pgfpathlineto{\pgfpoint{\pgf@circ@res@step}{0pt}} \pgfpathclose - \pgf@circ@draworfill - \endpgfscope + \pgfusepath{stroke} + + % ok, now we'll redraw the triangle with the class specific + % thickness and optionally fill + + \pgfscope + \pgf@circ@setlinewidth{quadpoles}{\pgflinewidth} + + % Initial point (right vertex) + \pgfpathmoveto{\pgfpoint{\pgf@circ@res@step}{0pt}} + % Top vertex + \pgfpathlineto{\pgfpoint{0pt}{\pgf@circ@res@up}} + % Bottom vertex + \pgfpathlineto{\pgfpoint{0pt}{\pgf@circ@res@down}} + + \pgfpathclose + \pgf@circ@draworfill + \endpgfscope % thick and fill + \endpgfscope % shift % Negative input terminal \pgfpathmoveto{\pgfpoint diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcircutils.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcircutils.tex index 5748009f135..81192ba913e 100644 --- a/Master/texmf-dist/tex/generic/circuitikz/pgfcircutils.tex +++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcircutils.tex @@ -1,4 +1,7 @@ -% Copyright 2007-2009 by Massimo Redaelli +% Copyright 2018-2020 by Romano Giannetti +% Copyright 2015-2020 by Stefan Lindner +% Copyright 2013-2020 by Stefan Erhardt +% Copyright 2007-2020 by Massimo Redaelli % % This file may be distributed and/or modified % @@ -7,22 +10,6 @@ % % See the files gpl-3.0_license.txt and lppl-1-3c_license.txt for more details. -%\def\pgf@circ@handleSI#1{% - % \pgf@circ@siunitx@resfalse -% - % \edef\len{\stringlength[e]{#1}} - %\testmatchingchar[e]{#1}{\len}{>}% - %\ifmatchingchar% - % \ifnum\findchars{#1}{<}=0 - % \def\pgf@circ@handleSI@val{\substring{#1}{1}{\findchars{#1}{<}-1}} - %\def\pgf@circ@handleSI@unit{\substring{#1}{\findchars{#1}{<}-1}+1}{\stringlength{#1}} - %\pgf@circ@siunitx@restrue -% \else -% \fi - %\else - %\fi -%} - \def\pgf@circ@handleSI#1{ \noexpandarg \def\pgf@temp{} diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcircvoltage.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcircvoltage.tex index d7933202472..0a87b5e6edf 100644 --- a/Master/texmf-dist/tex/generic/circuitikz/pgfcircvoltage.tex +++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcircvoltage.tex @@ -1,4 +1,7 @@ -% Copyright 2007-2009 by Massimo Redaelli +% Copyright 2018-2020 by Romano Giannetti +% Copyright 2015-2020 by Stefan Lindner +% Copyright 2013-2020 by Stefan Erhardt +% Copyright 2007-2020 by Massimo Redaelli % % This file may be distributed and/or modified % @@ -192,8 +195,17 @@ { \edef\bumpb{\ctikzvalof{bipoles/\ctikzvalof{bipole/kind}/voltage/bump b}} } { \edef\bumpb{\ctikzvalof{voltage/bump b}} } \edef\shiftv{\ctikzvalof{voltage/shift}} + % additional per-bipole voltage shift (internal) + \edef\pgf@temp{/tikz/circuitikz/bipoles/\ctikzvalof{bipole/kind}/voltage/additional label shift} + \pgfkeysifdefined{\pgf@temp} + { + \edef\addvshift{\ctikzvalof{bipoles/\ctikzvalof{bipole/kind}/voltage/additional label shift}} + } + { + \edef\addvshift{0} + } \newdimen{\absvshift} - \pgfmathsetlength{\absvshift}{\shiftv*\distfromline+\distfromline} + \pgfmathsetlength{\absvshift}{(1+\shiftv+\addvshift)*(\distfromline)} % put this to true to see the voltage label coordinate anchors \newif\ifpgf@circ@debugv\pgf@circ@debugvfalse } diff --git a/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty b/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty index 40f37add536..162020c3874 100644 --- a/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty +++ b/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty @@ -1,4 +1,7 @@ -% Copyright 2007-2019 by Massimo Redaelli +% Copyright 2018-2020 by Romano Giannetti +% Copyright 2015-2020 by Stefan Lindner +% Copyright 2013-2020 by Stefan Erhardt +% Copyright 2007-2020 by Massimo Redaelli % % This file may be distributed and/or modified % @@ -9,8 +12,8 @@ \NeedsTeXFormat{LaTeX2e} -\def\pgfcircversion{1.0.0-pre2} -\def\pgfcircversiondate{2020/01/23} +\def\pgfcircversion{1.0} +\def\pgfcircversiondate{2020/02/04} \ProvidesPackage{circuitikz}% [\pgfcircversiondate{} The CircuiTikz circuit drawing package version \pgfcircversion] |