From 0d6d3d58752320a0b2ab7a41555048566e23f03c Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 4 Feb 2020 22:15:37 +0000 Subject: circuitikz (4feb20) git-svn-id: svn://tug.org/texlive/trunk@53667 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/generic/circuitikz/pgfcirc.defines.tex | 30 +++++++++++++--- .../tex/generic/circuitikz/pgfcircbipoles.tex | 40 +++++++++++++++++++++- .../tex/generic/circuitikz/pgfcirccurrent.tex | 5 ++- .../tex/generic/circuitikz/pgfcircflow.tex | 5 ++- .../tex/generic/circuitikz/pgfcirclabel.tex | 5 ++- .../tex/generic/circuitikz/pgfcircmonopoles.tex | 5 ++- .../tex/generic/circuitikz/pgfcircmultipoles.tex | 8 +++-- .../tex/generic/circuitikz/pgfcircpath.tex | 16 +++++++++ .../tex/generic/circuitikz/pgfcircquadpoles.tex | 5 ++- .../tex/generic/circuitikz/pgfcircshapes.tex | 5 ++- .../tex/generic/circuitikz/pgfcirctripoles.tex | 33 +++++++++++++++--- .../tex/generic/circuitikz/pgfcircutils.tex | 21 +++--------- .../tex/generic/circuitikz/pgfcircvoltage.tex | 16 +++++++-- 13 files changed, 155 insertions(+), 39 deletions(-) (limited to 'Master/texmf-dist/tex/generic') 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 } -- cgit v1.2.3