From 8624a5d970faf95011e4ab23ae9e567bc93a8575 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 30 Nov 2022 20:30:02 +0000 Subject: circuit_macros (30nov22) git-svn-id: svn://tug.org/texlive/trunk@65149 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/circuit-macros/CHANGES | 2 + Master/texmf-dist/doc/latex/circuit-macros/Copying | 2 +- Master/texmf-dist/doc/latex/circuit-macros/INSTALL | 35 +- Master/texmf-dist/doc/latex/circuit-macros/README | 33 +- .../texmf-dist/doc/latex/circuit-macros/darrow.m4 | 2 +- .../doc/latex/circuit-macros/doc/AmpTable.tex | 73 - .../doc/latex/circuit-macros/doc/Audio.tex | 295 --- .../doc/latex/circuit-macros/doc/Bip.tex | 175 -- .../latex/circuit-macros/doc/Circuit_macros.bib | 6 +- .../latex/circuit-macros/doc/Circuit_macros.pdf | Bin 1025740 -> 1030606 bytes .../doc/latex/circuit-macros/doc/Conn.tex | 178 -- .../doc/latex/circuit-macros/doc/Contact.tex | 373 --- .../doc/latex/circuit-macros/doc/Contacts.tex | 141 -- .../doc/latex/circuit-macros/doc/Demultiplexer.tex | 148 -- .../doc/latex/circuit-macros/doc/Diodes.tex | 383 --- .../doc/latex/circuit-macros/doc/DiodesMan.m4 | 4 +- .../doc/latex/circuit-macros/doc/Emarrows.tex | 142 -- .../doc/latex/circuit-macros/doc/EmarrowsMan.m4 | 30 +- .../doc/latex/circuit-macros/doc/Fuses.tex | 174 -- .../doc/latex/circuit-macros/doc/Grounds.tex | 91 - .../doc/latex/circuit-macros/doc/Headers.tex | 214 -- .../doc/latex/circuit-macros/doc/Jack.tex | 327 --- .../doc/latex/circuit-macros/doc/Logic.tex | 212 -- .../doc/latex/circuit-macros/doc/Multiplexer.tex | 148 -- .../doc/latex/circuit-macros/doc/NLG.tex | 93 - .../doc/latex/circuit-macros/doc/NPDT.tex | 121 - .../doc/latex/circuit-macros/doc/Nport.tex | 116 - .../doc/latex/circuit-macros/doc/Pconn.tex | 462 ---- .../doc/latex/circuit-macros/doc/Relay.tex | 198 -- .../doc/latex/circuit-macros/doc/SLDs.tex | 1208 --------- .../doc/latex/circuit-macros/doc/ShiftR.tex | 285 --- .../doc/latex/circuit-macros/doc/Sources.tex | 466 ---- .../doc/latex/circuit-macros/doc/Switches.tex | 596 ----- .../doc/latex/circuit-macros/doc/Tgate.tex | 117 - .../doc/latex/circuit-macros/doc/Variable.tex | 306 --- .../doc/latex/circuit-macros/doc/Version.tex | 2 +- .../doc/latex/circuit-macros/doc/Xform.tex | 648 ----- .../doc/latex/circuit-macros/doc/body.tex | 36 +- .../doc/latex/circuit-macros/doc/defines.tex | 30 +- .../doc/latex/circuit-macros/doc/fet.tex | 513 ---- .../doc/latex/circuit-macros/doc/test.tex | 1 - .../doc/latex/circuit-macros/doc/thyristor.tex | 561 ----- .../doc/latex/circuit-macros/doc/ujt.tex | 81 - .../doc/latex/circuit-macros/dpictools.pic | 2 +- .../doc/latex/circuit-macros/examples/ArrowFn.m4 | 3 +- .../doc/latex/circuit-macros/examples/Btree.m4 | 62 + .../doc/latex/circuit-macros/examples/Chips.m4 | 11 +- .../latex/circuit-macros/examples/Connectors.m4 | 4 +- .../doc/latex/circuit-macros/examples/Coxeter.m4 | 38 - .../doc/latex/circuit-macros/examples/Crossbar.m4 | 53 - .../doc/latex/circuit-macros/examples/Csource.m4 | 2 +- .../doc/latex/circuit-macros/examples/EEP.m4 | 2 +- .../doc/latex/circuit-macros/examples/EVplugs.m4 | 2 +- .../doc/latex/circuit-macros/examples/Emarrows.m4 | 28 +- .../doc/latex/circuit-macros/examples/Eye.m4 | 14 +- .../latex/circuit-macros/examples/FlowchartDefs.m4 | 2 +- .../doc/latex/circuit-macros/examples/Geometry.m4 | 192 +- .../doc/latex/circuit-macros/examples/GrayCode.m4 | 54 + .../doc/latex/circuit-macros/examples/Heathkit.m4 | 6 +- .../doc/latex/circuit-macros/examples/Incl.eps.gz | Bin 45323 -> 45323 bytes .../doc/latex/circuit-macros/examples/Incleps.m4 | 1 + .../doc/latex/circuit-macros/examples/Inductors.m4 | 6 +- .../doc/latex/circuit-macros/examples/Makefile | 104 +- .../doc/latex/circuit-macros/examples/Pconn.m4 | 1 + .../doc/latex/circuit-macros/examples/Planes.m4 | 95 - .../doc/latex/circuit-macros/examples/Plate.m4 | 5 +- .../latex/circuit-macros/examples/README-examples | 122 +- .../latex/circuit-macros/examples/SampleFlow.m4 | 2 +- .../latex/circuit-macros/examples/Smithchart.m4 | 222 ++ .../doc/latex/circuit-macros/examples/Stator.m4 | 1 + .../doc/latex/circuit-macros/examples/Ttree.m4 | 56 - .../doc/latex/circuit-macros/examples/Tubediags.m4 | 4 +- .../doc/latex/circuit-macros/examples/UNO.m4 | 568 +++++ .../doc/latex/circuit-macros/examples/Wheat.m4 | 23 +- .../doc/latex/circuit-macros/examples/control.m4 | 22 +- .../doc/latex/circuit-macros/examples/csc.m4 | 2 +- .../doc/latex/circuit-macros/examples/debug2.m4 | 2 +- .../circuit-macros/examples/dpv/ABlogixDPV.m4 | 53 + .../latex/circuit-macros/examples/dpv/AdderDPV.m4 | 76 + .../latex/circuit-macros/examples/dpv/AlogixDPV.m4 | 116 + .../circuit-macros/examples/dpv/AmpTableDPV.m4 | 25 + .../circuit-macros/examples/dpv/AntennasDPV.m4 | 40 + .../circuit-macros/examples/dpv/ArrestersDPV.m4 | 75 + .../circuit-macros/examples/dpv/ArrowFnDPV.m4 | 59 + .../latex/circuit-macros/examples/dpv/AudioDPV.m4 | 103 + .../circuit-macros/examples/dpv/AutoencoderDPV.m4 | 97 + .../latex/circuit-macros/examples/dpv/Banking.m4 | 59 + .../latex/circuit-macros/examples/dpv/BipDPV.m4 | 68 + .../latex/circuit-macros/examples/dpv/BtreeDPV.m4 | 109 + .../circuit-macros/examples/dpv/ButtonsDPV.m4 | 115 + .../latex/circuit-macros/examples/dpv/ByteDPV.m4 | 38 + .../latex/circuit-macros/examples/dpv/ByteDPV.svg | 150 ++ .../circuit-macros/examples/dpv/CanLogicDPV.m4 | 159 ++ .../circuit-macros/examples/dpv/CapacitorsDPV.m4 | 43 + .../latex/circuit-macros/examples/dpv/ChipsDPV.m4 | 44 + .../latex/circuit-macros/examples/dpv/ConnDPV.m4 | 67 + .../circuit-macros/examples/dpv/ConnectorsDPV.m4 | 30 + .../circuit-macros/examples/dpv/ConnectorsDPV.pic | 368 +++ .../circuit-macros/examples/dpv/ConnectorsDPV.svg | 853 +++++++ .../circuit-macros/examples/dpv/ContactDPV.m4 | 101 + .../circuit-macros/examples/dpv/ContactsDPV.m4 | 49 + .../circuit-macros/examples/dpv/CountingDPV.m4 | 32 + .../latex/circuit-macros/examples/dpv/CrowDPV.m4 | 74 + .../circuit-macros/examples/dpv/CrullerDPV.m4 | 67 + .../circuit-macros/examples/dpv/CsourceDPV.m4 | 197 ++ .../circuit-macros/examples/dpv/CsourceDPV.svg | 1175 +++++++++ .../latex/circuit-macros/examples/dpv/DPVconfig.m4 | 58 + .../circuit-macros/examples/dpv/DecoderDPV.m4 | 25 + .../examples/dpv/DemultiplexerDPV.m4 | 37 + .../latex/circuit-macros/examples/dpv/DiniDPV.m4 | 193 ++ .../latex/circuit-macros/examples/dpv/DiodesDPV.m4 | 56 + .../latex/circuit-macros/examples/dpv/DriveDPV.m4 | 74 + .../latex/circuit-macros/examples/dpv/EEPDPV.m4 | 108 + .../latex/circuit-macros/examples/dpv/EEPDPV.svg | 662 +++++ .../circuit-macros/examples/dpv/EVplugsDPV.m4 | 210 ++ .../circuit-macros/examples/dpv/EmarrowsDPV.m4 | 31 + .../latex/circuit-macros/examples/dpv/EscherDPV.m4 | 175 ++ .../latex/circuit-macros/examples/dpv/EyeDPV.m4 | 53 + .../latex/circuit-macros/examples/dpv/FlowDPV.m4 | 144 ++ .../latex/circuit-macros/examples/dpv/FlowDPV.svg | 890 +++++++ .../latex/circuit-macros/examples/dpv/FontsDPV.m4 | 31 + .../latex/circuit-macros/examples/dpv/FontsDPV.svg | 204 ++ .../circuit-macros/examples/dpv/FourbarDPV.m4 | 59 + .../latex/circuit-macros/examples/dpv/FusesDPV.m4 | 39 + .../circuit-macros/examples/dpv/GeometryDPV.m4 | 154 ++ .../circuit-macros/examples/dpv/GrayCodeDPV.m4 | 79 + .../circuit-macros/examples/dpv/GroundsDPV.m4 | 46 + .../circuit-macros/examples/dpv/HeadersDPV.m4 | 42 + .../circuit-macros/examples/dpv/HeathkitDPV.m4 | 343 +++ .../circuit-macros/examples/dpv/HeathkitDPV.svg | 2010 +++++++++++++++ .../latex/circuit-macros/examples/dpv/I2LDPV.m4 | 78 + .../doc/latex/circuit-macros/examples/dpv/Incl.jpg | Bin 0 -> 21384 bytes .../circuit-macros/examples/dpv/InclepsDPV.m4 | 94 + .../circuit-macros/examples/dpv/InductorsDPV.m4 | 47 + .../latex/circuit-macros/examples/dpv/JackDPV.m4 | 75 + .../latex/circuit-macros/examples/dpv/LgateDPV.m4 | 153 ++ .../latex/circuit-macros/examples/dpv/LogicDPV.m4 | 59 + .../latex/circuit-macros/examples/dpv/LoglogDPV.m4 | 630 +++++ .../doc/latex/circuit-macros/examples/dpv/MCDPV.m4 | 99 + .../doc/latex/circuit-macros/examples/dpv/Makefile | 166 ++ .../latex/circuit-macros/examples/dpv/MixerDPV.m4 | 98 + .../circuit-macros/examples/dpv/MoreTableDPV.m4 | 43 + .../circuit-macros/examples/dpv/MotorControlDPV.m4 | 58 + .../circuit-macros/examples/dpv/MultiplexerDPV.m4 | 42 + .../latex/circuit-macros/examples/dpv/NLGDPV.m4 | 21 + .../latex/circuit-macros/examples/dpv/NPDTDPV.m4 | 41 + .../doc/latex/circuit-macros/examples/dpv/Np.m4 | 21 + .../latex/circuit-macros/examples/dpv/NportDPV.m4 | 47 + .../latex/circuit-macros/examples/dpv/NportDPV.svg | 192 ++ .../latex/circuit-macros/examples/dpv/OpampDPV.m4 | 35 + .../circuit-macros/examples/dpv/OptoisoDPV.m4 | 64 + .../latex/circuit-macros/examples/dpv/PconnDPV.m4 | 57 + .../latex/circuit-macros/examples/dpv/PlateDPV.m4 | 173 ++ .../circuit-macros/examples/dpv/PushPullDPV.m4 | 108 + .../circuit-macros/examples/dpv/QuantumDPV.m4 | 31 + .../latex/circuit-macros/examples/dpv/README_svg | 13 + .../circuit-macros/examples/dpv/RectifiersDPV.m4 | 190 ++ .../latex/circuit-macros/examples/dpv/RelayDPV.m4 | 47 + .../circuit-macros/examples/dpv/ResistorsDPV.m4 | 48 + .../latex/circuit-macros/examples/dpv/RotboxDPV.m4 | 21 + .../latex/circuit-macros/examples/dpv/SQUIDDPV.m4 | 19 + .../circuit-macros/examples/dpv/SchottkyDPV.m4 | 54 + .../latex/circuit-macros/examples/dpv/ShiftRDPV.m4 | 49 + .../circuit-macros/examples/dpv/SierpinskiDPV.m4 | 54 + .../circuit-macros/examples/dpv/SixpoleDPV.m4 | 25 + .../circuit-macros/examples/dpv/SmithchartDPV.m4 | 222 ++ .../circuit-macros/examples/dpv/SourcesDPV.m4 | 48 + .../circuit-macros/examples/dpv/SwitchesDPV.m4 | 149 ++ .../circuit-macros/examples/dpv/TTLnandDPV.m4 | 54 + .../latex/circuit-macros/examples/dpv/TgateDPV.m4 | 53 + .../latex/circuit-macros/examples/dpv/ThreeDPV.m4 | 47 + .../latex/circuit-macros/examples/dpv/TimerDPV.m4 | 51 + .../latex/circuit-macros/examples/dpv/TtreeDPV.m4 | 70 + .../circuit-macros/examples/dpv/TubediagsDPV.m4 | 361 +++ .../latex/circuit-macros/examples/dpv/UNODPV.m4 | 577 +++++ .../circuit-macros/examples/dpv/VariableDPV.m4 | 29 + .../circuit-macros/examples/dpv/WindingsDPV.m4 | 102 + .../latex/circuit-macros/examples/dpv/XORDPV.m4 | 67 + .../latex/circuit-macros/examples/dpv/XformDPV.m4 | 41 + .../doc/latex/circuit-macros/examples/dpv/Xtest.m4 | 58 + .../circuit-macros/examples/dpv/controlDPV.m4 | 224 ++ .../circuit-macros/examples/dpv/controlDPV.svg | 745 ++++++ .../latex/circuit-macros/examples/dpv/cscDPV.m4 | 249 ++ .../circuit-macros/examples/dpv/diamondDPV.m4 | 34 + .../latex/circuit-macros/examples/dpv/ex00DPV.m4 | 94 + .../latex/circuit-macros/examples/dpv/ex01DPV.m4 | 80 + .../latex/circuit-macros/examples/dpv/ex01DPV.svg | 391 +++ .../latex/circuit-macros/examples/dpv/ex02DPV.m4 | 52 + .../latex/circuit-macros/examples/dpv/ex03DPV.m4 | 37 + .../latex/circuit-macros/examples/dpv/ex04DPV.m4 | 61 + .../latex/circuit-macros/examples/dpv/ex05DPV.m4 | 115 + .../latex/circuit-macros/examples/dpv/ex06DPV.m4 | 64 + .../latex/circuit-macros/examples/dpv/ex08DPV.m4 | 83 + .../latex/circuit-macros/examples/dpv/ex09DPV.m4 | 131 + .../latex/circuit-macros/examples/dpv/ex10DPV.m4 | 62 + .../latex/circuit-macros/examples/dpv/ex11DPV.m4 | 75 + .../latex/circuit-macros/examples/dpv/ex12DPV.m4 | 136 + .../latex/circuit-macros/examples/dpv/ex15DPV.m4 | 40 + .../latex/circuit-macros/examples/dpv/ex16DPV.m4 | 70 + .../latex/circuit-macros/examples/dpv/ex17DPV.m4 | 44 + .../latex/circuit-macros/examples/dpv/ex18DPV.m4 | 40 + .../latex/circuit-macros/examples/dpv/ex21DPV.m4 | 66 + .../circuit-macros/examples/dpv/examplesDPV.htmx | 731 ++++++ .../circuit-macros/examples/dpv/examplesDPVs.html | 417 ++++ .../circuit-macros/examples/dpv/examplesDPVs.htmx | 741 ++++++ .../latex/circuit-macros/examples/dpv/expDPV.m4 | 258 ++ .../latex/circuit-macros/examples/dpv/fetDPV.m4 | 168 ++ .../circuit-macros/examples/dpv/graysurfDPV.m4 | 190 ++ .../latex/circuit-macros/examples/dpv/icsDPV.m4 | 311 +++ .../circuit-macros/examples/dpv/keyboardDPV.m4 | 269 ++ .../latex/circuit-macros/examples/dpv/lcctDPV.m4 | 200 ++ .../circuit-macros/examples/dpv/local_init.m4 | 2 + .../circuit-macros/examples/dpv/paletteDPV.m4 | 337 +++ .../circuit-macros/examples/dpv/paletteDPV.svg | 2639 ++++++++++++++++++++ .../circuit-macros/examples/dpv/pwrsupplyDPV.m4 | 76 + .../doc/latex/circuit-macros/examples/dpv/quick.m4 | 16 + .../latex/circuit-macros/examples/dpv/quick.pic | 124 + .../latex/circuit-macros/examples/dpv/quick.svg | 47 + .../latex/circuit-macros/examples/dpv/quick.tex | 188 ++ .../latex/circuit-macros/examples/dpv/quick.xsvg | 47 + .../latex/circuit-macros/examples/dpv/quickDPV.m4 | 21 + .../latex/circuit-macros/examples/dpv/quickDPV.svg | 104 + .../latex/circuit-macros/examples/dpv/randomDPV.m4 | 100 + .../circuit-macros/examples/dpv/recycleDPV.m4 | 128 + .../circuit-macros/examples/dpv/relaycoilDPV.m4 | 47 + .../latex/circuit-macros/examples/dpv/roseDPV.m4 | 167 ++ .../latex/circuit-macros/examples/dpv/sfgDPV.m4 | 135 + .../latex/circuit-macros/examples/dpv/shapesDPV.m4 | 201 ++ .../circuit-macros/examples/dpv/slddiagsDPV.m4 | 100 + .../circuit-macros/examples/dpv/thyristorDPV.m4 | 119 + .../latex/circuit-macros/examples/dpv/tstDPV.htmx | 280 +++ .../latex/circuit-macros/examples/dpv/ujtDPV.m4 | 31 + .../latex/circuit-macros/examples/dpv/windows.m4 | 12 + .../latex/circuit-macros/examples/dpv/wormDPV.m4 | 123 + .../doc/latex/circuit-macros/examples/ex01.m4 | 4 +- .../doc/latex/circuit-macros/examples/ex05.m4 | 51 +- .../doc/latex/circuit-macros/examples/ex17.m4 | 2 +- .../doc/latex/circuit-macros/examples/examples.pdf | Bin 907801 -> 1897548 bytes .../doc/latex/circuit-macros/examples/files.tex | 128 +- .../doc/latex/circuit-macros/examples/keyboard.m4 | 269 ++ .../doc/latex/circuit-macros/examples/keyboard.pdf | Bin 0 -> 118060 bytes .../doc/latex/circuit-macros/examples/keyval.m4 | 74 - .../doc/latex/circuit-macros/examples/mf/cct.mf | 2 +- .../latex/circuit-macros/examples/mpost/Makefile | 56 +- .../circuit-macros/examples/mpost/README-mpost | 2 +- .../examples/mpost/examplesmpost.tex | 3 + .../latex/circuit-macros/examples/paletteSVG.m4 | 336 +++ .../latex/circuit-macros/examples/psfrag/Makefile | 58 +- .../doc/latex/circuit-macros/examples/rose.m4 | 41 +- .../circuit-macros/examples/svg/ABlogixSVG.m4 | 53 - .../latex/circuit-macros/examples/svg/AdderSVG.m4 | 76 - .../latex/circuit-macros/examples/svg/AlogixSVG.m4 | 116 - .../circuit-macros/examples/svg/AmpTableSVG.m4 | 25 - .../circuit-macros/examples/svg/AntennasSVG.m4 | 40 - .../circuit-macros/examples/svg/ArrowFnSVG.m4 | 59 - .../latex/circuit-macros/examples/svg/AudioSVG.m4 | 103 - .../circuit-macros/examples/svg/AutoencoderSVG.m4 | 97 - .../latex/circuit-macros/examples/svg/Banking.m4 | 59 - .../latex/circuit-macros/examples/svg/BipSVG.m4 | 68 - .../latex/circuit-macros/examples/svg/BtreeSVG.m4 | 109 - .../circuit-macros/examples/svg/ButtonsSVG.m4 | 115 - .../latex/circuit-macros/examples/svg/ByteSVG.m4 | 38 - .../circuit-macros/examples/svg/CanLogicSVG.m4 | 159 -- .../circuit-macros/examples/svg/CapacitorsSVG.m4 | 43 - .../latex/circuit-macros/examples/svg/ChipsSVG.m4 | 44 - .../latex/circuit-macros/examples/svg/ConnSVG.m4 | 67 - .../circuit-macros/examples/svg/ConnectorsSVG.m4 | 30 - .../circuit-macros/examples/svg/ContactSVG.m4 | 101 - .../circuit-macros/examples/svg/ContactsSVG.m4 | 49 - .../circuit-macros/examples/svg/CountingSVG.m4 | 32 - .../latex/circuit-macros/examples/svg/CrowSVG.m4 | 74 - .../circuit-macros/examples/svg/CrullerSVG.m4 | 67 - .../circuit-macros/examples/svg/CsourceSVG.m4 | 197 -- .../circuit-macros/examples/svg/DecoderSVG.m4 | 25 - .../examples/svg/DemultiplexerSVG.m4 | 37 - .../latex/circuit-macros/examples/svg/DiniSVG.m4 | 193 -- .../latex/circuit-macros/examples/svg/DiodesSVG.m4 | 56 - .../latex/circuit-macros/examples/svg/DriveSVG.m4 | 74 - .../latex/circuit-macros/examples/svg/EEPSVG.m4 | 108 - .../circuit-macros/examples/svg/EVplugsSVG.m4 | 210 -- .../circuit-macros/examples/svg/EmarrowsSVG.m4 | 31 - .../latex/circuit-macros/examples/svg/EscherSVG.m4 | 175 -- .../latex/circuit-macros/examples/svg/EyeSVG.m4 | 53 - .../latex/circuit-macros/examples/svg/FlowSVG.m4 | 144 -- .../latex/circuit-macros/examples/svg/FontsSVG.m4 | 31 - .../circuit-macros/examples/svg/FourbarSVG.m4 | 59 - .../latex/circuit-macros/examples/svg/FusesSVG.m4 | 39 - .../circuit-macros/examples/svg/GeometrySVG.m4 | 154 -- .../circuit-macros/examples/svg/GrayCodeSVG.m4 | 79 - .../circuit-macros/examples/svg/GroundsSVG.m4 | 46 - .../circuit-macros/examples/svg/HeadersSVG.m4 | 42 - .../circuit-macros/examples/svg/HeathkitSVG.m4 | 343 --- .../latex/circuit-macros/examples/svg/I2LSVG.m4 | 78 - .../doc/latex/circuit-macros/examples/svg/Incl.jpg | Bin 21384 -> 0 bytes .../circuit-macros/examples/svg/InclepsSVG.m4 | 90 - .../circuit-macros/examples/svg/InductorsSVG.m4 | 47 - .../latex/circuit-macros/examples/svg/JackSVG.m4 | 75 - .../latex/circuit-macros/examples/svg/LgateSVG.m4 | 153 -- .../latex/circuit-macros/examples/svg/LogicSVG.m4 | 59 - .../latex/circuit-macros/examples/svg/LoglogSVG.m4 | 630 ----- .../doc/latex/circuit-macros/examples/svg/MCSVG.m4 | 99 - .../doc/latex/circuit-macros/examples/svg/Makefile | 148 -- .../latex/circuit-macros/examples/svg/MixerSVG.m4 | 98 - .../circuit-macros/examples/svg/MoreTableSVG.m4 | 43 - .../circuit-macros/examples/svg/MotorControlSVG.m4 | 58 - .../circuit-macros/examples/svg/MultiplexerSVG.m4 | 42 - .../latex/circuit-macros/examples/svg/NLGSVG.m4 | 21 - .../latex/circuit-macros/examples/svg/NPDTSVG.m4 | 41 - .../doc/latex/circuit-macros/examples/svg/Np.m4 | 20 - .../latex/circuit-macros/examples/svg/NportSVG.m4 | 47 - .../latex/circuit-macros/examples/svg/OpampSVG.m4 | 35 - .../circuit-macros/examples/svg/OptoisoSVG.m4 | 64 - .../latex/circuit-macros/examples/svg/PconnSVG.m4 | 56 - .../latex/circuit-macros/examples/svg/PlateSVG.m4 | 173 -- .../circuit-macros/examples/svg/PushPullSVG.m4 | 108 - .../circuit-macros/examples/svg/QuantumSVG.m4 | 31 - .../circuit-macros/examples/svg/RectifiersSVG.m4 | 190 -- .../latex/circuit-macros/examples/svg/RelaySVG.m4 | 47 - .../circuit-macros/examples/svg/ResistorsSVG.m4 | 48 - .../latex/circuit-macros/examples/svg/RotboxSVG.m4 | 21 - .../latex/circuit-macros/examples/svg/SQUIDSVG.m4 | 19 - .../latex/circuit-macros/examples/svg/SVGconfig.m4 | 58 - .../circuit-macros/examples/svg/SchottkySVG.m4 | 54 - .../latex/circuit-macros/examples/svg/ShiftRSVG.m4 | 49 - .../circuit-macros/examples/svg/SierpinskiSVG.m4 | 54 - .../circuit-macros/examples/svg/SixpoleSVG.m4 | 25 - .../circuit-macros/examples/svg/SmithchartSVG.m4 | 222 -- .../circuit-macros/examples/svg/SourcesSVG.m4 | 48 - .../circuit-macros/examples/svg/SwitchesSVG.m4 | 149 -- .../circuit-macros/examples/svg/TTLnandSVG.m4 | 54 - .../latex/circuit-macros/examples/svg/TgateSVG.m4 | 53 - .../latex/circuit-macros/examples/svg/ThreeSVG.m4 | 47 - .../latex/circuit-macros/examples/svg/TimerSVG.m4 | 51 - .../latex/circuit-macros/examples/svg/TtreeSVG.m4 | 70 - .../circuit-macros/examples/svg/TubediagsSVG.m4 | 361 --- .../latex/circuit-macros/examples/svg/UNOSVG.m4 | 577 ----- .../circuit-macros/examples/svg/VariableSVG.m4 | 29 - .../circuit-macros/examples/svg/WindingsSVG.m4 | 102 - .../latex/circuit-macros/examples/svg/XORSVG.m4 | 67 - .../latex/circuit-macros/examples/svg/XformSVG.m4 | 41 - .../doc/latex/circuit-macros/examples/svg/Xtest.m4 | 58 - .../circuit-macros/examples/svg/controlSVG.m4 | 224 -- .../latex/circuit-macros/examples/svg/cscSVG.m4 | 249 -- .../circuit-macros/examples/svg/diamondSVG.m4 | 34 - .../latex/circuit-macros/examples/svg/ex00SVG.m4 | 94 - .../latex/circuit-macros/examples/svg/ex01SVG.m4 | 80 - .../latex/circuit-macros/examples/svg/ex02SVG.m4 | 52 - .../latex/circuit-macros/examples/svg/ex03SVG.m4 | 37 - .../latex/circuit-macros/examples/svg/ex04SVG.m4 | 61 - .../latex/circuit-macros/examples/svg/ex05SVG.m4 | 115 - .../latex/circuit-macros/examples/svg/ex06SVG.m4 | 64 - .../latex/circuit-macros/examples/svg/ex08SVG.m4 | 83 - .../latex/circuit-macros/examples/svg/ex09SVG.m4 | 131 - .../latex/circuit-macros/examples/svg/ex10SVG.m4 | 62 - .../latex/circuit-macros/examples/svg/ex11SVG.m4 | 75 - .../latex/circuit-macros/examples/svg/ex12SVG.m4 | 136 - .../latex/circuit-macros/examples/svg/ex15SVG.m4 | 40 - .../latex/circuit-macros/examples/svg/ex16SVG.m4 | 70 - .../latex/circuit-macros/examples/svg/ex17SVG.m4 | 44 - .../latex/circuit-macros/examples/svg/ex18SVG.m4 | 40 - .../latex/circuit-macros/examples/svg/ex21SVG.m4 | 66 - .../circuit-macros/examples/svg/examplesSVG.htmx | 731 ------ .../latex/circuit-macros/examples/svg/expSVG.m4 | 258 -- .../latex/circuit-macros/examples/svg/fetSVG.m4 | 168 -- .../circuit-macros/examples/svg/graysurfSVG.m4 | 190 -- .../latex/circuit-macros/examples/svg/icsSVG.m4 | 311 --- .../circuit-macros/examples/svg/keyboardSVG.m4 | 269 -- .../latex/circuit-macros/examples/svg/lcctSVG.m4 | 200 -- .../circuit-macros/examples/svg/local_init.m4 | 2 - .../circuit-macros/examples/svg/paletteSVG.m4 | 336 --- .../circuit-macros/examples/svg/pwrsupplySVG.m4 | 76 - .../latex/circuit-macros/examples/svg/quickSVG.m4 | 21 - .../latex/circuit-macros/examples/svg/randomSVG.m4 | 100 - .../circuit-macros/examples/svg/recycleSVG.m4 | 128 - .../circuit-macros/examples/svg/relaycoilSVG.m4 | 47 - .../latex/circuit-macros/examples/svg/roseSVG.m4 | 166 -- .../latex/circuit-macros/examples/svg/sfgSVG.m4 | 135 - .../latex/circuit-macros/examples/svg/shapesSVG.m4 | 201 -- .../circuit-macros/examples/svg/slddiagsSVG.m4 | 100 - .../circuit-macros/examples/svg/thyristorSVG.m4 | 119 - .../latex/circuit-macros/examples/svg/tstSVG.htmx | 290 --- .../latex/circuit-macros/examples/svg/ujtSVG.m4 | 31 - .../latex/circuit-macros/examples/svg/windows.m4 | 12 - .../latex/circuit-macros/examples/svg/wormSVG.m4 | 123 - .../doc/latex/circuit-macros/examples/venus.m4 | 3 +- .../latex/circuit-macros/examples/xfig/xfiglib.fig | 2 +- Master/texmf-dist/doc/latex/circuit-macros/gpic.m4 | 2 +- .../texmf-dist/doc/latex/circuit-macros/lib3D.m4 | 2 +- .../texmf-dist/doc/latex/circuit-macros/libSLD.m4 | 2 +- .../texmf-dist/doc/latex/circuit-macros/libcct.m4 | 69 +- .../texmf-dist/doc/latex/circuit-macros/libgen.m4 | 46 +- .../texmf-dist/doc/latex/circuit-macros/liblog.m4 | 2 +- .../texmf-dist/doc/latex/circuit-macros/mfpic.m4 | 2 +- .../texmf-dist/doc/latex/circuit-macros/mpost.m4 | 2 +- Master/texmf-dist/doc/latex/circuit-macros/pgf.m4 | 2 +- .../doc/latex/circuit-macros/postscript.m4 | 2 +- .../texmf-dist/doc/latex/circuit-macros/psfrag.m4 | 2 +- .../doc/latex/circuit-macros/pstricks.m4 | 2 +- Master/texmf-dist/doc/latex/circuit-macros/svg.m4 | 23 +- Master/texmf-dist/doc/latex/circuit-macros/xfig.m4 | 2 +- 400 files changed, 28526 insertions(+), 23873 deletions(-) delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/AmpTable.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/Audio.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/Bip.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/Conn.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/Contact.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/Contacts.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/Demultiplexer.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/Diodes.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/Emarrows.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/Fuses.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/Grounds.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/Headers.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/Jack.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/Logic.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/Multiplexer.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/NLG.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/NPDT.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/Nport.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/Pconn.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/Relay.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/SLDs.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/ShiftR.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/Sources.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/Switches.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/Tgate.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/Variable.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/Xform.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/fet.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/test.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/thyristor.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/doc/ujt.tex delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/Coxeter.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/Crossbar.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/Planes.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/Smithchart.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/Ttree.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/UNO.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ABlogixDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AdderDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AlogixDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AmpTableDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AntennasDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ArrestersDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ArrowFnDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AudioDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AutoencoderDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/Banking.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/BipDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/BtreeDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ButtonsDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ByteDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ByteDPV.svg create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CanLogicDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CapacitorsDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ChipsDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ConnDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ConnectorsDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ConnectorsDPV.pic create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ConnectorsDPV.svg create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ContactDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ContactsDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CountingDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CrowDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CrullerDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CsourceDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CsourceDPV.svg create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DPVconfig.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DecoderDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DemultiplexerDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DiniDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DiodesDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DriveDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EEPDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EEPDPV.svg create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EVplugsDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EmarrowsDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EscherDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EyeDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FlowDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FlowDPV.svg create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FontsDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FontsDPV.svg create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FourbarDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FusesDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/GeometryDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/GrayCodeDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/GroundsDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/HeadersDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/HeathkitDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/HeathkitDPV.svg create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/I2LDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/Incl.jpg create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/InclepsDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/InductorsDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/JackDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/LgateDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/LogicDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/LoglogDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/MCDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/Makefile create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/MixerDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/MoreTableDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/MotorControlDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/MultiplexerDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/NLGDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/NPDTDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/Np.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/NportDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/NportDPV.svg create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/OpampDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/OptoisoDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/PconnDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/PlateDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/PushPullDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/QuantumDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/README_svg create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/RectifiersDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/RelayDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ResistorsDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/RotboxDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SQUIDDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SchottkyDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ShiftRDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SierpinskiDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SixpoleDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SmithchartDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SourcesDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SwitchesDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/TTLnandDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/TgateDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ThreeDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/TimerDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/TtreeDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/TubediagsDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/UNODPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/VariableDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/WindingsDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/XORDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/XformDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/Xtest.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/controlDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/controlDPV.svg create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/cscDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/diamondDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex00DPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex01DPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex01DPV.svg create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex02DPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex03DPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex04DPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex05DPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex06DPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex08DPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex09DPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex10DPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex11DPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex12DPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex15DPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex16DPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex17DPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex18DPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex21DPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/examplesDPV.htmx create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/examplesDPVs.html create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/examplesDPVs.htmx create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/expDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/fetDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/graysurfDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/icsDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/keyboardDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/lcctDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/local_init.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/paletteDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/paletteDPV.svg create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/pwrsupplyDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quick.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quick.pic create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quick.svg create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quick.tex create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quick.xsvg create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quickDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quickDPV.svg create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/randomDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/recycleDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/relaycoilDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/roseDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/sfgDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/shapesDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/slddiagsDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/thyristorDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/tstDPV.htmx create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ujtDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/windows.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/wormDPV.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/keyboard.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/keyboard.pdf delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/keyval.m4 create mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/paletteSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ABlogixSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AdderSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AlogixSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AmpTableSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AntennasSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ArrowFnSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AudioSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AutoencoderSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/Banking.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/BipSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/BtreeSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ButtonsSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ByteSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CanLogicSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CapacitorsSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ChipsSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ConnSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ConnectorsSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ContactSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ContactsSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CountingSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CrowSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CrullerSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CsourceSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/DecoderSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/DemultiplexerSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/DiniSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/DiodesSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/DriveSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/EEPSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/EVplugsSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/EmarrowsSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/EscherSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/EyeSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/FlowSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/FontsSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/FourbarSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/FusesSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/GeometrySVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/GrayCodeSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/GroundsSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/HeadersSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/HeathkitSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/I2LSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/Incl.jpg delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/InclepsSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/InductorsSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/JackSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/LgateSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/LogicSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/LoglogSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/MCSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/Makefile delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/MixerSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/MoreTableSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/MotorControlSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/MultiplexerSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/NLGSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/NPDTSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/Np.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/NportSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/OpampSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/OptoisoSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/PconnSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/PlateSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/PushPullSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/QuantumSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/RectifiersSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/RelaySVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ResistorsSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/RotboxSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SQUIDSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SVGconfig.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SchottkySVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ShiftRSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SierpinskiSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SixpoleSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SmithchartSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SourcesSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SwitchesSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/TTLnandSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/TgateSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ThreeSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/TimerSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/TtreeSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/TubediagsSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/UNOSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/VariableSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/WindingsSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/XORSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/XformSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/Xtest.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/controlSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/cscSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/diamondSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex00SVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex01SVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex02SVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex03SVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex04SVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex05SVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex06SVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex08SVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex09SVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex10SVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex11SVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex12SVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex15SVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex16SVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex17SVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex18SVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex21SVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/examplesSVG.htmx delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/expSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/fetSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/graysurfSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/icsSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/keyboardSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/lcctSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/local_init.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/paletteSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/pwrsupplySVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/quickSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/randomSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/recycleSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/relaycoilSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/roseSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/sfgSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/shapesSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/slddiagsSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/thyristorSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/tstSVG.htmx delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ujtSVG.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/windows.m4 delete mode 100644 Master/texmf-dist/doc/latex/circuit-macros/examples/svg/wormSVG.m4 diff --git a/Master/texmf-dist/doc/latex/circuit-macros/CHANGES b/Master/texmf-dist/doc/latex/circuit-macros/CHANGES index 49a571e818c..1b7b0c5e5f2 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/CHANGES +++ b/Master/texmf-dist/doc/latex/circuit-macros/CHANGES @@ -1,5 +1,7 @@ CHANGES +Version 10.1: Simplified structure and cleanup of the examples directory. + New options for em_arrows. Tweaked dot, cross. Version 10.0: New macros Between_, thyristor_t. Bugfix in inductor(,W). Tweaked diff_, scr, scs, sus, sbs, tline, svg_font, contact. Minor edits of the manual. Electric vehicle charging plug examples. diff --git a/Master/texmf-dist/doc/latex/circuit-macros/Copying b/Master/texmf-dist/doc/latex/circuit-macros/Copying index 1f70c824021..3cd17dd5b34 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/Copying +++ b/Master/texmf-dist/doc/latex/circuit-macros/Copying @@ -1,4 +1,4 @@ -* Circuit_macros Version 10.0, copyright (c) 2022 J. D. Aplevich under * +* Circuit_macros Version 10.1, copyright (c) 2022 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/Master/texmf-dist/doc/latex/circuit-macros/INSTALL b/Master/texmf-dist/doc/latex/circuit-macros/INSTALL index 42b11ff402d..1157799c118 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/INSTALL +++ b/Master/texmf-dist/doc/latex/circuit-macros/INSTALL @@ -29,35 +29,34 @@ INSTALLATION: "make psdefault" to set the default processor to dpic with PSTricks "make gpicdefault" to restore gpic as the default. +Installation on a Mac: + For a nice outline of how to install on a Mac, go to + https://www.hamish.science/2020/06/24/circuitmacros + +CUSTOM MACROS: You might develop your own set of macros that are combinations or variations of those provided here. You can put them in a file, mymacros.m4 say, and copy it to the installation directory. Then the - line include(mymacros.m4) in a diagram source will you make your - macros available. + line include(mymacros.m4) in a diagram source will make your macros + available. +TESTING: In case of difficulty, go to the examples directory, look at debug1.tex and debug2.m4, and follow instructions. -Installation on a Mac: - For a nice outline of how to install on a Mac, go to - https://www.hamish.science/2020/06/24/circuitmacros - -TESTING: To test your installation, go to the examples directory (or copy the files Makefile, tst.tex, and any .m4 sources you might like to test - to a working directory) and create a test circuit in the - file test.m4. Copy ex01.m4, for example, or quick.m4 from the doc - directory into test.m4. + from the examples directory to a working directory) and create a test + circuit in the file test.m4. Copy ex01.m4 for example, or quick.m4 + from the doc directory, into test.m4. On a system with a "make" facility, first check the definitions at the top of the Makefile, and then type "make tst1" to produce the file tst.ps. If the source requires processing twice, type "make - tst" instead. To process one of the example .m4 files in the - examples directory, simply type "make name.ps" to process name.m4. - If these tests work to your satisfaction, try typing simply "make" to - produce examples.ps. To test .pdf files, go to the pgf directory, - copy name.m4 there, and type either "make name.ps" or "make name.pdf" - to test the file under pdflatex and TikZ PGF. + tst" instead. To process one of the example .m4 files in the examples + directory (let's call it name.m4), simply type "make name.pdf" or "make + name.ps". If these tests work to your satisfaction, try typing simply + "make" to produce examples.pdf. The .m4 files in the examples directory can serve as models for your diagrams but keep in mind that some of them contain details that allow @@ -66,10 +65,6 @@ TESTING: You might also wish to browse some of the included files that are not used to make examples.ps. - A few of the sources in the examples directory are copies of files - from the doc directory. They are duplicated to provide flexibility - of directory structure and independency of sources. - No "make" facility? You have to test by hand (but see the README file for diagram production software). Copy a test file as above into test.m4. Assuming you have dpic installed, type the following: diff --git a/Master/texmf-dist/doc/latex/circuit-macros/README b/Master/texmf-dist/doc/latex/circuit-macros/README index 7f20713e40c..618fb0c532a 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/README +++ b/Master/texmf-dist/doc/latex/circuit-macros/README @@ -1,5 +1,5 @@ -* Circuit_macros Version 10.0, copyright (c) 2022 J. D. Aplevich under * +* Circuit_macros Version 10.1, copyright (c) 2022 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * @@ -7,7 +7,7 @@ * whatsoever for these files. * This is a set of macros for drawing high-quality line diagrams to - include in LaTeX, web, or similar documents, with support for SVG + include in LaTeX, web, or similar documents, with support for svg (including Inkscape) and other formats. Fundamental electric circuit elements and basic logic gates based on IEEE and European standards are included with several tools and examples of other types of diagrams. @@ -50,7 +50,7 @@ Alternative: Also possible for some diagrams: m4 and dpic with output in the following formats: LaTeX graphics or LaTeX eepic (for simple diagrams), mfpic, xfig, - MetaPost, SVG, PDF, or Postscript. + MetaPost, svg, pdf, or Postscript. USAGE First-time users should read the Quick Start section of Circuit_macros.pdf. @@ -165,21 +165,20 @@ GPIC: http://doc.cat-v.org/unix/v10/10thEdMan/pic.pdf SVG output, Inkscape: - Dpic -v produces svg output. If the result is to be directly - inserted into html, then as for Postscript output, the diagram - source file has to be adapted to remove any LaTeX formatting. The - configuration file svg.m4 contains macros that can assist. To avoid - this problem at the expense of an extra postprocessing step, - sophisticated text formatting and font selection can be retained - by first producing pdf output and then converting to SVG using, - say, pdf2svg (https://github.com/dawbarton/pdf2svg) or dvisvgm - (https://www.ctan.org/pkg/dvisvgm). + Dpic -v produces svg output. If the result is to be directly inserted + into html, then as for Postscript output, the diagram source file has + to be adapted to remove any LaTeX formatting. The configuration file + svg.m4 contains macros that can assist. At the expense of an extra + postprocessing step, sophisticated text formatting and font selection + can be retained by first producing pdf output and then converting to + svg using, say, dvisvgm (https://www.ctan.org/pkg/dvisvgm) or pdf2svg + (https://github.com/dawbarton/pdf2svg). SVG is the native file format for the Inkscape graphics editor. Therefore, elements defined by these macros can be output by dpic -v in svg format for later manipulation by Inkscape. A very basic palette of - circuit elements for Inkscape is found in examples/svg/paletteSVG.m4. - In the svg subdirectory, type "make paletteSVG.svg", read the resulting + circuit elements for Inkscape is found in examples/paletteSVG.m4. + In the examples subdirectory, type "make paletteSVG.svg", read the resulting file into Inkscape, and then ungroup the elements as desired. You would probably wish to add to or customize these elements for extensive use. @@ -190,10 +189,10 @@ EXAMPLES test the boundaries of the domain of application of dpic with m4 macros. Read the manual Circuit_macros.pdf and view examples.pdf in the examples directory or make and view the html file in the - examples/svg directory. For the curious, There are additional source + examples/svg directory. For the curious, there are additional source files in the examples directory that are not shown in examples.pdf. - For the possibly unstable development version of these macros, try - http://ece.uwaterloo.ca/~aplevich/Circuit_macros/ + Try http://ece.uwaterloo.ca/~aplevich/Circuit_macros/ + for the possibly unstable development version of these macros. The examples directory Makefile automates the generation of .ps, .eps, .png, and .pdf files for individual diagrams. Subdirectories of the diff --git a/Master/texmf-dist/doc/latex/circuit-macros/darrow.m4 b/Master/texmf-dist/doc/latex/circuit-macros/darrow.m4 index c795ab90f79..9ba4fa86886 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/darrow.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/darrow.m4 @@ -1,7 +1,7 @@ divert(-1) darrow.m4 Macros for double lines and arrows -* Circuit_macros Version 10.0, copyright (c) 2022 J. D. Aplevich under * +* Circuit_macros Version 10.1, copyright (c) 2022 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/AmpTable.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/AmpTable.tex deleted file mode 100644 index 79bbf3bb66d..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/AmpTable.tex +++ /dev/null @@ -1,73 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw (0,0) - --(0.125,0)\dpicstop -\dpicdraw (0.625,0) - --(0.125,0.25) - --(0.125,-0.25) - --(0.625,0) - --(0.75,0)\dpicstop -\draw (0.777674,0) node[right=-2bp]{{\tt amp}}; -\dpicdraw (0,-0.4) - --(0.225,-0.4)\dpicstop -\dpicdraw (0.525,-0.4) - --(0.225,-0.25) - --(0.225,-0.55) - --(0.525,-0.4) - --(0.75,-0.4)\dpicstop -\draw (0.777674,-0.4) node[right=-2bp]{{\tt amp(,0.3)}}; -\dpicdraw (2,0) - --(2.229167,0)\dpicstop -\dpicdraw (2.345833,-0.175) - --(2.229167,-0.175) - --(2.229167,0.175) - --(2.345833,0.175)\dpicstop -\dpicdraw (2.345833,0.175) - ..controls (2.442483,0.175) and (2.520833,0.09665) - ..(2.520833,0) - ..controls (2.520833,-0.09665) and (2.442483,-0.175) - ..(2.345833,-0.175)\dpicstop -\dpicdraw (2.520833,0) - --(2.75,0)\dpicstop -\draw (2.777674,0) node[right=-2bp]{{\tt delay}}; -\dpicdraw (2,-0.4) - --(2.291667,-0.4)\dpicstop -\dpicdraw (2.358333,-0.5) - --(2.291667,-0.5) - --(2.291667,-0.3) - --(2.358333,-0.3)\dpicstop -\dpicdraw (2.358333,-0.3) - ..controls (2.413562,-0.3) and (2.458333,-0.344772) - ..(2.458333,-0.4) - ..controls (2.458333,-0.455228) and (2.413562,-0.5) - ..(2.358333,-0.5)\dpicstop -\dpicdraw (2.458333,-0.4) - --(2.75,-0.4)\dpicstop -\draw (2.777674,-0.4) node[right=-2bp]{{\tt delay(,0.2)}}; -\dpicdraw (4.125,0.25) - --(4,0.25) - --(4,-0.25) - --(4.125,-0.25)\dpicstop -\dpicdraw (4.625,0) - --(4.125,0.25) - --(4.125,-0.25) - --(4.625,0) - --(4.75,0)\dpicstop -\draw (4.777674,0) node[right=-2bp]{{\tt integrator}}; -\dpicdraw (4.075,-0.35) - --(4,-0.35) - --(4,-0.65) - --(4.075,-0.65)\dpicstop -\dpicdraw (4.375,-0.5) - --(4.075,-0.35) - --(4.075,-0.65) - --(4.375,-0.5) - --(4.75,-0.5)\dpicstop -\draw (4.777674,-0.5) node[right=-2bp]{{\tt integrator(,0.3)}}; -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Audio.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Audio.tex deleted file mode 100644 index 9531f8b0dc4..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Audio.tex +++ /dev/null @@ -1,295 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw (0.61348,0.294444) - --(0.849182,0.461111) - --(0.849182,-0.205556) - --(0.61348,-0.038889)\dpicstop -\dpicdraw (0.61348,0.127778) - --(0.61348,0.294444) - --(0.377778,0.294444) - --(0.377778,-0.038889) - --(0.61348,-0.038889) - --(0.61348,0.127778)\dpicstop -\draw (0.61348,-0.405556) node{\tt speaker}; -\dpiclw=0.4bp -\filldraw[line width=0bp](0.308208,0.213219) - --(0.377778,0.211111) - --(0.320857,0.251167) --cycle\dpicstop -\dpicdraw (0.359436,0.217225) - --(0.227778,0.261111)\dpicstop -\draw (0.227778,0.261111) node[above left=-2bp]{{\sl In1}}; -\filldraw[line width=0bp](0.311111,0.107778) - --(0.377778,0.127778) - --(0.311111,0.147778) --cycle\dpicstop -\dpicdraw (0.358444,0.127778) - --(0.227778,0.127778)\dpicstop -\draw (0.227778,0.127778) node[left=-2bp]{{\sl In2}}; -\filldraw[line width=0bp](0.320857,0.004389) - --(0.377778,0.044444) - --(0.308208,0.042336) --cycle\dpicstop -\dpicdraw (0.359436,0.038331) - --(0.227778,-0.005556)\dpicstop -\draw (0.227778,-0.005556) node[below left=-2bp]{{\sl In3}}; -\dpiclw=0.8bp -\dpiclw=0.4bp -\filldraw[line width=0bp](0.396648,0.351365) - --(0.436703,0.294444) - --(0.434595,0.364015) --cycle\dpicstop -\dpicdraw (0.430589,0.312786) - --(0.386703,0.444444)\dpicstop -\draw (0.386703,0.444444) node[above left=-2bp]{{\sl In4}}; -\filldraw[line width=0bp](0.556663,0.364015) - --(0.554554,0.294444) - --(0.59461,0.351365) --cycle\dpicstop -\dpicdraw (0.560668,0.312786) - --(0.604554,0.444444)\dpicstop -\draw (0.604554,0.444444) node[above=-2bp]{{\sl In5}}; -\filldraw[line width=0bp](0.434595,-0.108459) - --(0.436703,-0.038889) - --(0.396648,-0.09581) --cycle\dpicstop -\dpicdraw (0.430589,-0.057231) - --(0.386703,-0.188889)\dpicstop -\draw (0.386703,-0.188889) node[below left=-2bp]{{\sl In6}}; -\filldraw[line width=0bp](0.59461,-0.09581) - --(0.554554,-0.038889) - --(0.556663,-0.108459) --cycle\dpicstop -\dpicdraw (0.560668,-0.057231) - --(0.604554,-0.188889)\dpicstop -\draw (0.604554,-0.188889) node[below=-2bp]{{\sl In7}}; -\filldraw[line width=0bp](0.66905,0.219687) - --(0.61348,0.177778) - --(0.682943,0.182177) --cycle\dpicstop -\dpicdraw (0.63161,0.184493) - --(0.757545,0.231135) - ..controls (0.841502,0.26223) and (0.900147,0.311111) - ..(0.93348,0.377778) - --(0.98348,0.477778)\dpicstop -\draw (0.98348,0.477778) node[above=-2bp]{\sl Box}; -\dpiclw=0.8bp -\dpicdraw (1.469182,0.044444) - --(1.587033,0.106944) - --(1.587033,-0.184722) - --(1.469182,-0.122222)\dpicstop -\dpicdraw (1.469182,-0.038889) - --(1.469182,0.127778) - --(1.23348,0.127778) - --(1.23348,-0.205556) - --(1.469182,-0.205556) - --(1.469182,-0.038889)\dpicstop -\draw (1.410257,-0.505556) node{\tt speaker(,{,}H)}; -\dpicdraw (2.214811,0.511111) - --(2.214811,0.636111) - --(1.964811,0.636111) - --(1.964811,0.386111) - --(2.214811,0.386111) - --(2.214811,0.511111)\dpicstop -\dpicdraw (2.339811,0.511111) circle (0.049213in)\dpicstop -\draw (2.214811,0.186111) node{\tt bell}; -\dpiclw=0.4bp -\filldraw[line width=0bp](1.895241,0.575719) - --(1.964811,0.573611) - --(1.90789,0.613667) --cycle\dpicstop -\dpicdraw (1.946469,0.579725) - --(1.814811,0.623611)\dpicstop -\draw (1.814811,0.623611) node[above left=-2bp]{{\sl In1}}; -\filldraw[line width=0bp](1.898145,0.491111) - --(1.964811,0.511111) - --(1.898145,0.531111) --cycle\dpicstop -\dpicdraw (1.945477,0.511111) - --(1.814811,0.511111)\dpicstop -\draw (1.814811,0.511111) node[left=-2bp]{{\sl In2}}; -\filldraw[line width=0bp](1.90789,0.408556) - --(1.964811,0.448611) - --(1.895241,0.446503) --cycle\dpicstop -\dpicdraw (1.946469,0.442497) - --(1.814811,0.398611)\dpicstop -\draw (1.814811,0.398611) node[below left=-2bp]{{\sl In3}}; -\dpiclw=0.8bp -\dpiclw=0.4bp -\filldraw[line width=0bp](1.93619,0.680487) - --(1.989811,0.636111) - --(1.969472,0.702675) --cycle\dpicstop -\dpicdraw (1.979087,0.652198) - --(1.889811,0.786111)\dpicstop -\draw (1.889811,0.786111) node[above=-2bp]{\sl Box}; -\filldraw[line width=0bp](2.319811,0.702778) - --(2.339811,0.636111) - --(2.359811,0.702778) --cycle\dpicstop -\dpicdraw (2.339811,0.655445) - --(2.339811,0.786111)\dpicstop -\draw (2.339811,0.786111) node[above=-2bp]{\sl Circle}; -\dpiclw=0.8bp -\dpicdraw (3.492589,0.386111) - --(3.492589,0.636111)\dpicstop -\dpicdraw (3.367589,0.511111) circle (0.049213in)\dpicstop -\draw (3.367589,0.186111) node{\tt microphone}; -\dpiclw=0.4bp -\filldraw[line width=0bp](3.189766,0.575719) - --(3.259336,0.573611) - --(3.202415,0.613667) --cycle\dpicstop -\dpicdraw (3.240994,0.579725) - --(3.109336,0.623611)\dpicstop -\draw (3.109336,0.623611) node[above left=-2bp]{{\sl In1}}; -\filldraw[line width=0bp](3.175922,0.491111) - --(3.242589,0.511111) - --(3.175922,0.531111) --cycle\dpicstop -\dpicdraw (3.223255,0.511111) - --(3.092589,0.511111)\dpicstop -\draw (3.092589,0.511111) node[left=-2bp]{{\sl In2}}; -\filldraw[line width=0bp](3.202415,0.408556) - --(3.259336,0.448611) - --(3.189766,0.446503) --cycle\dpicstop -\dpicdraw (3.240994,0.442497) - --(3.109336,0.398611)\dpicstop -\draw (3.109336,0.398611) node[below left=-2bp]{{\sl In3}}; -\dpiclw=0.8bp -\dpiclw=0.4bp -\filldraw[line width=0bp](3.347589,0.702778) - --(3.367589,0.636111) - --(3.387589,0.702778) --cycle\dpicstop -\dpicdraw (3.367589,0.655445) - --(3.367589,0.786111)\dpicstop -\draw (3.367589,0.786111) node[above=-2bp]{\sl Circle}; -\dpiclw=0.8bp -\dpicdraw (4.520367,0.511111) - --(4.520367,0.636111) - --(4.270367,0.636111) - --(4.270367,0.386111) - --(4.520367,0.386111) - --(4.520367,0.511111)\dpicstop -\dpicdraw (4.520367,0.636111) - --(4.585072,0.39463)\dpicstop -\draw (4.427719,0.186111) node{\tt buzzer}; -\dpiclw=0.4bp -\filldraw[line width=0bp](4.200797,0.575719) - --(4.270367,0.573611) - --(4.213446,0.613667) --cycle\dpicstop -\dpicdraw (4.252025,0.579725) - --(4.120367,0.623611)\dpicstop -\draw (4.120367,0.623611) node[above left=-2bp]{{\sl In1}}; -\filldraw[line width=0bp](4.2037,0.491111) - --(4.270367,0.511111) - --(4.2037,0.531111) --cycle\dpicstop -\dpicdraw (4.251033,0.511111) - --(4.120367,0.511111)\dpicstop -\draw (4.120367,0.511111) node[left=-2bp]{{\sl In2}}; -\filldraw[line width=0bp](4.213446,0.408556) - --(4.270367,0.448611) - --(4.200797,0.446503) --cycle\dpicstop -\dpicdraw (4.252025,0.442497) - --(4.120367,0.398611)\dpicstop -\draw (4.120367,0.398611) node[below left=-2bp]{{\sl In3}}; -\dpiclw=0.8bp -\dpiclw=0.4bp -\filldraw[line width=0bp](4.375367,0.702778) - --(4.395367,0.636111) - --(4.415367,0.702778) --cycle\dpicstop -\dpicdraw (4.395367,0.655445) - --(4.395367,0.786111)\dpicstop -\draw (4.395367,0.786111) node[above=-2bp]{\sl Box}; -\dpiclw=0.8bp -\dpicdraw (5.529516,0.386111) - --(5.529516,0.719444)\dpicstop -\dpicdraw (5.529516,0.719444) - ..controls (5.437469,0.719444) and (5.362849,0.644825) - ..(5.362849,0.552778) - ..controls (5.362849,0.46073) and (5.437469,0.386111) - ..(5.529516,0.386111)\dpicstop -\draw (5.446183,0.186111) node{\tt buzzer(,{,}C)}; -\dpiclw=0.4bp -\filldraw[line width=0bp](5.302811,0.610442) - --(5.372381,0.608333) - --(5.31546,0.648389) --cycle\dpicstop -\dpicdraw (5.354039,0.614447) - --(5.222381,0.658333)\dpicstop -\draw (5.222381,0.658333) node[above left=-2bp]{{\sl In1}}; -\filldraw[line width=0bp](5.296183,0.532778) - --(5.362849,0.552778) - --(5.296183,0.572778) --cycle\dpicstop -\dpicdraw (5.343515,0.552778) - --(5.212849,0.552778)\dpicstop -\draw (5.212849,0.552778) node[left=-2bp]{{\sl In2}}; -\filldraw[line width=0bp](5.31546,0.457167) - --(5.372381,0.497222) - --(5.302811,0.495114) --cycle\dpicstop -\dpicdraw (5.354039,0.491108) - --(5.222381,0.447222)\dpicstop -\draw (5.222381,0.447222) node[below left=-2bp]{{\sl In3}}; -\dpiclw=0.8bp -\dpiclw=0.4bp -\filldraw[line width=0bp](5.589341,0.68835) - --(5.529516,0.652778) - --(5.599043,0.649544) --cycle\dpicstop -\dpicdraw (5.548273,0.657467) - --(5.605561,0.671789) - ..controls (5.643753,0.681337) and (5.671183,0.711111) - ..(5.687849,0.761111) - --(5.712849,0.836111)\dpicstop -\draw (5.712849,0.836111) node[above=-2bp]{\sl Face}; -\dpiclw=0.8bp -\dpicdraw (3.065693,-0.216667) - --(3.065693,-0.091667) - --(2.899026,-0.091667) - --(2.899026,-0.341667) - --(3.065693,-0.341667) - --(3.065693,-0.216667)\dpicstop -\dpicdraw[line width=1.6bp](3.076762,-0.383333) - --(3.076762,-0.05)\dpicstop -\draw (2.987894,-0.583333) node{\tt earphone}; -\dpiclw=0.4bp -\filldraw[line width=0bp](2.829456,-0.152058) - --(2.899026,-0.154167) - --(2.842105,-0.114111) --cycle\dpicstop -\dpicdraw (2.880684,-0.148053) - --(2.749026,-0.104167)\dpicstop -\draw (2.749026,-0.104167) node[above left=-2bp]{{\sl In1}}; -\filldraw[line width=0bp](2.832359,-0.236667) - --(2.899026,-0.216667) - --(2.832359,-0.196667) --cycle\dpicstop -\dpicdraw (2.879692,-0.216667) - --(2.749026,-0.216667)\dpicstop -\draw (2.749026,-0.216667) node[left=-2bp]{{\sl In2}}; -\filldraw[line width=0bp](2.842105,-0.319222) - --(2.899026,-0.279167) - --(2.829456,-0.281275) --cycle\dpicstop -\dpicdraw (2.880684,-0.285281) - --(2.749026,-0.329167)\dpicstop -\draw (2.749026,-0.329167) node[below left=-2bp]{{\sl In3}}; -\dpiclw=0.8bp -\dpiclw=0.4bp -\filldraw[line width=0bp](2.921077,-0.058668) - --(2.982359,-0.091667) - --(2.949361,-0.030384) --cycle\dpicstop -\dpicdraw (2.968688,-0.077996) - --(2.832359,0.058333)\dpicstop -\draw (2.832359,0.058333) node[above=-2bp]{\sl Box}; -\dpiclw=0.8bp -\dpicdraw (3.85454,-0.283333) circle (0.03937in)\dpicstop -\dpicdraw (4.35454,-0.283333) circle (0.03937in)\dpicstop -\dpicdraw (3.87454,-0.185354) - ..controls (3.960887,0.01734) and (4.248193,0.01734) - ..(4.33454,-0.185354)\dpicstop -\draw (4.10454,-0.583333) node{\tt earphone(,{,}C)}; -\dpiclw=0.4bp -\filldraw[line width=0bp](3.793257,-0.250335) - --(3.85454,-0.283333) - --(3.821542,-0.222051) --cycle\dpicstop -\dpicdraw (3.840869,-0.269662) - --(3.70454,-0.133333)\dpicstop -\draw (3.70454,-0.133333) node[left=-2bp]{\sl L}; -\filldraw[line width=0bp](4.387538,-0.222051) - --(4.35454,-0.283333) - --(4.415823,-0.250335) --cycle\dpicstop -\dpicdraw (4.368211,-0.269662) - --(4.50454,-0.133333)\dpicstop -\draw (4.50454,-0.133333) node[right=-2bp]{\sl R}; -\draw (4.10454,-0.033333) node[above=-2bp]{\sl N}; -\draw (4.10454,-0.283333) node{\sl C}; -\dpiclw=0.8bp -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Bip.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Bip.tex deleted file mode 100644 index d44b0376e68..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Bip.tex +++ /dev/null @@ -1,175 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw (0.1625,0) - --(0.1625,0.1) - --(0.158796,0.101667)\dpicstop -\dpicdraw (0.1625,0.5) - --(0.1625,0.4) - --(0.158796,0.398333)\dpicstop -\dpicdraw (-0.0375,0.15) - --(-0.0375,0.35)\dpicstop -\dpicdraw (-0.1625,0.25) - --(-0.0375,0.25)\dpicstop -\dpicdraw (0.1625,0.1) - --(-0.0375,0.19)\dpicstop -\filldraw[line width=0bp](0.025108,0.131366) - --(0.1125,0.1225) - --(0.047906,0.182028) --cycle\dpicstop -\dpicdraw (0.096479,0.129709) - --(0.0125,0.1675)\dpicstop -\dpicdraw (0.1625,0.4) - --(-0.0375,0.31)\dpicstop -\dpiclw=0.4bp -\dpicdraw[dotted](-0.1625,0) rectangle (0.1625,0.5)\dpicstop -\dpiclw=0.8bp -\draw (0.1625,-0.05) node[below=-2bp]{\hbox{\sl E}}; -\draw (-0.1625,0.25) node[left=-2bp]{\hbox{\sl B}}; -\draw (0.1625,0.5) node[above=-2bp]{\hbox{\sl C}}; -\draw (0,-0.35) node[below=-2bp]{{\tt bi\_tr(up\_ dimen\_)}}; -\dpicdraw (0.6125,0.05) - --(0.6125,0.25)\dpicstop -\dpicdraw (0.7375,0.15) - --(0.6125,0.15)\dpicstop -\dpicdraw (0.4125,0) - --(0.6125,0.09)\dpicstop -\filldraw[line width=0bp](0.527094,0.082028) - --(0.4625,0.0225) - --(0.549892,0.031366) --cycle\dpicstop -\dpicdraw (0.478521,0.029709) - --(0.5625,0.0675)\dpicstop -\dpicdraw (0.4125,0.3) - --(0.6125,0.21)\dpicstop -\dpiclw=0.4bp -\dpicdraw[dotted](0.4125,0) rectangle (0.7375,0.3)\dpicstop -\dpiclw=0.8bp -\draw (0.4125,-0.05) node[below=-2bp]{\hbox{\sl E}}; -\draw (0.7375,0.15) node[right=-2bp]{\hbox{\sl B}}; -\draw (0.4125,0.3) node[above=-2bp]{\hbox{\sl C}}; -\draw (0.575,-0.2) node[below=-2bp]{{\tt bi\_tr(,R)}}; -\dpicdraw (1.3625,0.05) - --(1.3625,0.25)\dpicstop -\dpicdraw (1.2375,0.15) - --(1.3625,0.15)\dpicstop -\dpicdraw (1.5625,0) - --(1.3625,0.09)\dpicstop -\filldraw[line width=0bp](1.499892,0.058634) - --(1.4125,0.0675) - --(1.477094,0.007972) --cycle\dpicstop -\dpicdraw (1.5125,0.0225) - --(1.428521,0.060291)\dpicstop -\dpicdraw (1.5625,0.3) - --(1.3625,0.21)\dpicstop -\dpiclw=0.4bp -\dpicdraw[dotted](1.2375,0) rectangle (1.5625,0.3)\dpicstop -\dpiclw=0.8bp -\draw (1.5625,-0.05) node[below=-2bp]{\hbox{\sl E}}; -\draw (1.2375,0.15) node[left=-2bp]{\hbox{\sl B}}; -\draw (1.5625,0.3) node[above=-2bp]{\hbox{\sl C}}; -\draw (1.4,-0.35) node[below=-2bp]{{\tt bi\_tr(,{,}P)}}; -\dpicdraw (2.2625,0.05) - --(2.2625,0.25)\dpicstop -\dpicdraw (2.1375,0.15) - --(2.2625,0.15)\dpicstop -\dpicdraw (2.4625,0) - --(2.2625,0.09)\dpicstop -\filldraw[line width=0bp](2.325108,0.031366) - --(2.4125,0.0225) - --(2.347906,0.082028) --cycle\dpicstop -\dpicdraw (2.396479,0.029709) - --(2.3125,0.0675)\dpicstop -\dpicdraw (2.4625,0.3) - --(2.2625,0.21)\dpicstop -\dpicdraw (2.1375,0.15) - ..controls (2.1375,0.260457) and (2.227043,0.35) - ..(2.3375,0.35) - ..controls (2.447957,0.35) and (2.5375,0.260457) - ..(2.5375,0.15)\dpicstop -\dpicdraw (2.5375,0.15) - --(2.5375,0.15)\dpicstop -\dpicdraw (2.5375,0.15) - ..controls (2.5375,0.039543) and (2.447957,-0.05) - ..(2.3375,-0.05) - ..controls (2.227043,-0.05) and (2.1375,0.039543) - ..(2.1375,0.15)\dpicstop -\dpicdraw (2.1375,0.15) - --(2.1375,0.15)\dpicstop -\dpiclw=0.4bp -\dpicdraw[dotted](2.1375,-0.05) rectangle (2.5375,0.35)\dpicstop -\dpiclw=0.8bp -\draw (2.4625,-0.05) node[below=-2bp]{\hbox{\sl E}}; -\draw (2.1375,0.15) node[left=-2bp]{\hbox{\sl B}}; -\draw (2.4625,0.3) node[above=-2bp]{\hbox{\sl C}}; -\draw (2.3375,-0.2) node[below=-2bp]{{\tt bi\_tr(,{,},E)}}; -\dpicdraw (2.9125,0.05) - --(2.9125,0.25)\dpicstop -\dpicdraw (3.1125,0) - --(2.9125,0.09)\dpicstop -\filldraw[line width=0bp](2.975108,0.031366) - --(3.0625,0.0225) - --(2.997906,0.082028) --cycle\dpicstop -\dpicdraw (3.046479,0.029709) - --(2.9625,0.0675)\dpicstop -\dpicdraw (3.1125,0.3) - --(2.9125,0.21)\dpicstop -\dpicdraw (2.7875,0.15) - --(2.8775,0.15)\dpicstop -\dpicdraw (2.8775,0.05) - --(2.8775,0.25)\dpicstop -\dpiclw=0.4bp -\dpicdraw[dotted](2.7875,0) rectangle (3.1125,0.3)\dpicstop -\dpiclw=0.8bp -\draw (3.1125,-0.05) node[below=-2bp]{\hbox{\sl E}}; -\draw (2.7875,0.15) node[left=-2bp]{\hbox{\sl G}}; -\draw (3.1125,0.3) node[above=-2bp]{\hbox{\sl C}}; -\draw (2.95,-0.35) node[below=-2bp]{{\tt igbt}}; -\dpicdraw (3.4625,0.15) - --(3.4625,0.35)\dpicstop -\dpicdraw (3.6625,0.1) - --(3.4625,0.19)\dpicstop -\filldraw[line width=0bp](3.525108,0.131366) - --(3.6125,0.1225) - --(3.547906,0.182028) --cycle\dpicstop -\dpicdraw (3.596479,0.129709) - --(3.5125,0.1675)\dpicstop -\dpicdraw (3.6625,0.4) - --(3.4625,0.31)\dpicstop -\dpicdraw (3.3525,0.175) - --(3.4275,0.175) - --(3.4275,0.325)\dpicstop -\dpicdraw (3.6625,0) - --(3.8625,0)\dpicstop -\dpicdraw (3.6625,0.5) - --(3.8625,0.5)\dpicstop -\dpicdraw (3.8625,0) - --(3.8625,0.213916)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (3.8625,0.213916) - --(3.820833,0.213916) - --(3.8625,0.28055) - --(3.904167,0.213916) - --(3.8625,0.213916)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (3.908218,0.286084) - --(3.816782,0.286084)\dpicstop -\dpicdraw (3.8625,0.286084) - --(3.8625,0.5)\dpicstop -\dpicdraw (3.6625,0) - --(3.6625,0.1)\dpicstop -\dpicdraw (3.6625,0.5) - --(3.6625,0.4)\dpicstop -\dpiclw=0.4bp -\dpicdraw[dotted](3.3525,0) rectangle (3.913753,0.5)\dpicstop -\dpiclw=0.8bp -\draw (3.6625,-0.05) node[below=-2bp]{\hbox{\sl E}}; -\draw (3.3525,0.175) node[left=-2bp]{\hbox{\sl G}}; -\draw (3.6625,0.5) node[above=-2bp]{\hbox{\sl C}}; -\draw (3.633127,-0.2) node[below=-2bp]{{\tt igbt(,{,}LD)}}; -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Circuit_macros.bib b/Master/texmf-dist/doc/latex/circuit-macros/doc/Circuit_macros.bib index 696f361fa4a..08d6831ba90 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Circuit_macros.bib +++ b/Master/texmf-dist/doc/latex/circuit-macros/doc/Circuit_macros.bib @@ -1,9 +1,9 @@ -@misc{Aplevich2011, +@misc{Aplevich2022, author={Aplevich, J. D.}, title={Drawing with dpic}, -note={In the dpic source distribution.}, -year={2015}} +note={Dpic source distribution \url{https://gitlab.com/aplevich/dpic}}, +year={2022}} @book{Bentley88, author={Bentley, J.}, diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Circuit_macros.pdf b/Master/texmf-dist/doc/latex/circuit-macros/doc/Circuit_macros.pdf index 6e109a06de1..c03b30f49cc 100644 Binary files a/Master/texmf-dist/doc/latex/circuit-macros/doc/Circuit_macros.pdf and b/Master/texmf-dist/doc/latex/circuit-macros/doc/Circuit_macros.pdf differ diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Conn.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Conn.tex deleted file mode 100644 index 23d31e0e2bf..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Conn.tex +++ /dev/null @@ -1,178 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -{\sf -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!100!black] -\dpicdraw (0.502778,0.324448) - --(0.377778,0.324448) - --(0.377778,-0.275552) - --(0.627778,-0.275552) - --(0.627778,0.324448) - --(0.502778,0.324448)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (0.627778,-0.125552) - --(0.377778,-0.125552)\dpicstop -\dpicdraw (0.627778,0.024448) - --(0.377778,0.024448)\dpicstop -\dpicdraw (0.627778,0.174448) - --(0.377778,0.174448)\dpicstop -\dpicdraw[fill=white](0.502778,-0.200552) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](0.502778,-0.050552) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](0.502778,0.099448) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](0.502778,0.249448) circle (0.007874in)\dpicstop -\dpiclw=0.4bp -\filldraw[line width=0bp](0.311111,-0.220552) - --(0.377778,-0.200552) - --(0.311111,-0.180552) --cycle\dpicstop -\dpicdraw (0.368111,-0.200552) - --(0.227778,-0.200552)\dpicstop -\draw (0.227778,-0.200552) node[left=-2bp]{L1}; -\filldraw[line width=0bp](0.311111,0.229448) - --(0.377778,0.249448) - --(0.311111,0.269448) --cycle\dpicstop -\dpicdraw (0.368111,0.249448) - --(0.227778,0.249448)\dpicstop -\draw (0.227778,0.249448) node[left=-2bp]{L4}; -\draw (0.077778,0.044448) node{$\vdots$}; -\filldraw[line width=0bp](0.694444,-0.180552) - --(0.627778,-0.200552) - --(0.694444,-0.220552) --cycle\dpicstop -\dpicdraw (0.637445,-0.200552) - --(0.877778,-0.200552)\dpicstop -\draw (0.877778,-0.200552) node[right=-2bp]{R1}; -\filldraw[line width=0bp](0.694444,0.269448) - --(0.627778,0.249448) - --(0.694444,0.229448) --cycle\dpicstop -\dpicdraw (0.637445,0.249448) - --(0.877778,0.249448)\dpicstop -\draw (0.877778,0.249448) node[right=-2bp]{R4}; -\draw (1.027778,0.044448) node{$\vdots$}; -\filldraw[line width=0bp](0.547154,-0.146931) - --(0.502778,-0.200552) - --(0.569342,-0.180213) --cycle\dpicstop -\dpicdraw (0.510821,-0.195189) - --(0.652778,-0.100552)\dpicstop -\draw (0.652778,-0.100552) node[right=-2bp]{T1}; -\filldraw[line width=0bp](0.547154,0.303069) - --(0.502778,0.249448) - --(0.569342,0.269787) --cycle\dpicstop -\dpicdraw (0.510821,0.254811) - --(0.652778,0.349448)\dpicstop -\draw (0.652778,0.349448) node[right=-2bp]{T4}; -\draw (0.802778,0.144448) node{$\vdots$}; -\dpiclw=0.8bp -\draw (0.502778,-0.425552) node(CS1){\tt tstrip(U)}; -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!100!black] -\dpicdraw (2.327778,-0.000552) - --(2.327778,0.124448) - --(1.327778,0.124448) - --(1.327778,-0.125552) - --(2.327778,-0.125552) - --(2.327778,-0.000552)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw[fill=black](1.427778,-0.000552) circle (0.007874in)\dpicstop -\dpicdraw[fill=black](1.627778,-0.000552) circle (0.007874in)\dpicstop -\dpicdraw[fill=black](1.827778,-0.000552) circle (0.007874in)\dpicstop -\dpicdraw[fill=black](2.027778,-0.000552) circle (0.007874in)\dpicstop -\dpicdraw[fill=black](2.227778,-0.000552) circle (0.007874in)\dpicstop -\dpiclw=0.4bp -\filldraw[line width=0bp](1.439703,0.068021) - --(1.427778,-0.000552) - --(1.475481,0.050132) --cycle\dpicstop -\dpicdraw (1.432101,0.008095) - --(1.527778,0.199448)\dpicstop -\draw (1.527778,0.199448) node[above=-2bp]{T1}; -\filldraw[line width=0bp](2.239703,0.068021) - --(2.227778,-0.000552) - --(2.275481,0.050132) --cycle\dpicstop -\dpicdraw (2.232101,0.008095) - --(2.327778,0.199448)\dpicstop -\draw (2.327778,0.199448) node[above=-2bp]{T5}; -\draw (1.927778,0.199448) node[above=-2bp]{$\cdots$}; -\draw (1.227778,-0.325552) node(CS2){\shortstack{\rlap{\hbox to 2bp{}\tt tstrip(R,5,}\\% -\rlap{\hbox to 2bp{}\tt $\;\;$DO;wid=1.0;ht=0.25)}}}; -} -\dpiclw=0.8bp -\dpicdraw (2.927778,-0.025552) circle (0.03937in)\dpicstop -\dpicdraw[fill=black](2.927778,-0.025552) circle (0.013123in)\dpicstop -\draw (2.927778,-0.125552) node[below=-2bp]{\tt ccoax\vphantom{(}}; -\dpiclw=0.4bp -\filldraw[line width=0bp](2.984346,0.059301) - --(2.951348,-0.001982) - --(3.012631,0.031017) --cycle\dpicstop -\dpicdraw (2.965019,0.01169) - --(3.051348,0.098018)\dpicstop -\draw (3.051348,0.098018) node[right=-2bp]{C}; -\filldraw[line width=0bp](3.096351,-0.037477) - --(3.027778,-0.025552) - --(3.078462,-0.073255) --cycle\dpicstop -\dpicdraw (3.045071,-0.034198) - --(3.127778,-0.075552)\dpicstop -\draw (3.127778,-0.075552) node[right=-2bp]{S}; -\dpiclw=0.8bp -\dpicdraw (2.927778,0.274448) circle (0.03937in)\dpicstop -\dpicdraw[fill=white](2.927778,0.274448) circle (0.013123in)\dpicstop -\draw (3.027778,0.374448) node[right=-2bp]{\tt ccoax(,F)}; -\dpicdraw (3.740551,-0.225552) circle (0.019685in)\dpicstop -\dpicdraw (3.415551,-0.225552) - --(3.690551,-0.225552)\dpicstop -\draw (3.603051,-0.425552) node{\tt tconn(,O)}; -\dpicdraw (4.090551,-0.225552) - --(4.465551,-0.225552)\dpicstop -\dpicdraw (4.382218,-0.142218) - --(4.465551,-0.225552) - --(4.382218,-0.308885)\dpicstop -\draw (4.278051,-0.425552) node{\tt (,>)}; -\dpicdraw (4.765551,-0.225552) - --(5.078051,-0.225552)\dpicstop -\dpicdraw (4.994718,-0.142218) - --(5.078051,-0.225552) - --(4.994718,-0.308885)\dpicstop -\dpicdraw (5.057218,-0.142218) - --(5.140551,-0.225552) - --(5.057218,-0.308885)\dpicstop -\draw (4.953051,-0.425552) node{\tt (,>>)}; -\dpicdraw (4.090551,0.274448) - --(4.382218,0.274448)\dpicstop -\dpicdraw (4.465551,0.357782) - --(4.382218,0.274448) - --(4.465551,0.191115)\dpicstop -\draw (4.278051,0.074448) node{\tt tconn(,<)}; -\dpicdraw (4.765551,0.274448) - --(4.994718,0.274448)\dpicstop -\dpicdraw (5.078051,0.357782) - --(4.994718,0.274448) - --(5.078051,0.191115)\dpicstop -\dpicdraw (5.140551,0.357782) - --(5.057218,0.274448) - --(5.140551,0.191115)\dpicstop -\draw (4.953051,0.074448) node{\tt (,<<)}; -\dpicdraw (5.540551,0.357782) - --(5.657218,0.357782) - --(5.740551,0.274448) - --(5.657218,0.191115) - --(5.340551,0.191115) - --(5.340551,0.357782) - --(5.540551,0.357782)\dpicstop -\draw (5.498884,0.274448) node{$ V_2$}; -\draw (5.340551,0.191115) node[below right=-2bp]{\tt tbox(V\_2)}; -\dpicdraw (5.540551,-0.225552) - --(5.423884,-0.225552) - --(5.340551,-0.142218) - --(5.423884,-0.058885) - --(5.657218,-0.058885) - --(5.740551,-0.142218) - --(5.657218,-0.225552) - --(5.540551,-0.225552)\dpicstop -\draw (5.540551,-0.142218) node{$ V_1$}; -\draw (5.340551,-0.225552) node[below right=-2bp]{\tt tbox(V\_1,{,},<>)}; -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Contact.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Contact.tex deleted file mode 100644 index 1870617cc17..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Contact.tex +++ /dev/null @@ -1,373 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw[fill=white](0.02,0.03125) circle (0.007874in)\dpicstop -\dpicdraw (0.04,0.03125) - --(0.27,0.03125)\dpicstop -\filldraw[line width=0bp](0.186667,0.114583) - --(0.228333,0.03125) - --(0.27,0.114583) --cycle\dpicstop -\dpicdraw (0.228333,0.043673) - --(0.228333,0.15625) - --(0.328333,0.15625)\dpicstop -\filldraw[line width=0bp](0.27,-0.114583) - --(0.228333,-0.03125) - --(0.186667,-0.114583) --cycle\dpicstop -\dpicdraw (0.228333,-0.043673) - --(0.228333,-0.15625) - --(0.328333,-0.15625)\dpicstop -\draw (0.164167,-0.347917) node{\tt contact}; -\draw (0,0.03125) node[left=-2bp]{\sl P}; -\draw (0.328333,-0.15625) node[right=-2bp]{\sl O}; -\draw (0.328333,0.15625) node[right=-2bp]{\sl C}; -\dpicdraw[fill=white](0.798333,-0.03125) circle (0.007874in)\dpicstop -\dpicdraw (0.818333,-0.03125) - --(1.048333,-0.03125)\dpicstop -\filldraw[line width=0bp](1.048333,-0.114583) - --(1.006667,-0.03125) - --(0.965,-0.114583) --cycle\dpicstop -\dpicdraw (1.006667,-0.043673) - --(1.006667,-0.15625) - --(1.106667,-0.15625)\dpicstop -\filldraw[line width=0bp](0.965,0.114583) - --(1.006667,0.03125) - --(1.048333,0.114583) --cycle\dpicstop -\dpicdraw (1.006667,0.043673) - --(1.006667,0.15625) - --(1.106667,0.15625)\dpicstop -\draw (0.9425,-0.347917) node{\tt (R)}; -\draw (0.778333,-0.03125) node[left=-2bp]{\sl P}; -\draw (1.106667,0.15625) node[right=-2bp]{\sl O}; -\draw (1.106667,-0.15625) node[right=-2bp]{\sl C}; -\dpicdraw[fill=white](1.576667,0.104583) circle (0.007874in)\dpicstop -\dpicdraw (1.596667,0.104583) - --(1.826667,0.104583)\dpicstop -\filldraw[line width=0bp](1.826667,-0.04125) - --(1.785,0.042083) - --(1.743333,-0.04125) --cycle\dpicstop -\dpicdraw (1.785,0.029661) - --(1.785,-0.082917) - --(1.885,-0.082917)\dpicstop -\draw (1.720833,-0.347917) node{\tt (O)}; -\dpicdraw[fill=white](2.355,-0.073333) circle (0.007874in)\dpicstop -\dpicdraw (2.375,-0.073333) - --(2.605,-0.073333)\dpicstop -\filldraw[line width=0bp](2.521667,0.01) - --(2.563333,-0.073333) - --(2.605,0.01) --cycle\dpicstop -\dpicdraw (2.563333,-0.060911) - --(2.563333,0.051667) - --(2.663333,0.051667)\dpicstop -\draw (2.499167,-0.347917) node{\tt (C)}; -\dpicdraw[fill=white](3.133333,0) circle (0.007874in)\dpicstop -\filldraw[line width=0bp](3.3,0.145833) - --(3.341667,0.0625) - --(3.383333,0.145833) --cycle\dpicstop -\dpicdraw (3.341667,0.074923) - --(3.341667,0.1875) - --(3.441667,0.1875)\dpicstop -\filldraw[line width=0bp](3.383333,-0.145833) - --(3.341667,-0.0625) - --(3.3,-0.145833) --cycle\dpicstop -\dpicdraw (3.341667,-0.074923) - --(3.341667,-0.1875) - --(3.441667,-0.1875)\dpicstop -\dpicdraw (3.153333,0) - --(3.383333,0)\dpicstop -\draw (3.2775,-0.379167) node{\tt (P)}; -\draw (3.113333,0) node[left=-2bp]{\sl P}; -\draw (3.441667,-0.1875) node[right=-2bp]{\sl O}; -\draw (3.441667,0.1875) node[right=-2bp]{\sl C}; -\dpicdraw[fill=white](3.911667,0) circle (0.007874in)\dpicstop -\filldraw[line width=0bp](4.161667,-0.145833) - --(4.12,-0.0625) - --(4.078333,-0.145833) --cycle\dpicstop -\dpicdraw (4.12,-0.074923) - --(4.12,-0.1875) - --(4.22,-0.1875)\dpicstop -\filldraw[line width=0bp](4.078333,0.145833) - --(4.12,0.0625) - --(4.161667,0.145833) --cycle\dpicstop -\dpicdraw (4.12,0.074923) - --(4.12,0.1875) - --(4.22,0.1875)\dpicstop -\dpicdraw (3.931667,0) - --(4.161667,0)\dpicstop -\draw (4.055833,-0.379167) node{\tt (PR)}; -\draw (3.891667,0) node[left=-2bp]{\sl P}; -\draw (4.22,0.1875) node[right=-2bp]{\sl O}; -\draw (4.22,-0.1875) node[right=-2bp]{\sl C}; -\dpicdraw[fill=white](4.69,0) circle (0.007874in)\dpicstop -\filldraw[line width=0bp](4.856667,0.145833) - --(4.898333,0.0625) - --(4.94,0.145833) --cycle\dpicstop -\dpicdraw (4.898333,0.074923) - --(4.898333,0.1875) - --(4.998333,0.1875)\dpicstop -\filldraw[line width=0bp](4.94,-0.145833) - --(4.898333,-0.0625) - --(4.856667,-0.145833) --cycle\dpicstop -\dpicdraw (4.898333,-0.074923) - --(4.898333,-0.1875) - --(4.998333,-0.1875)\dpicstop -\dpicdraw (4.709157,-0.005747) - --(4.91749,-0.068247)\dpicstop -\draw (4.834167,-0.379167) node{\tt (PO)}; -\draw (4.998333,-0.1875) node[right=-2bp]{\sl O}; -\draw (4.998333,0.1875) node[right=-2bp]{\sl C}; -\dpicdraw[fill=white](5.468333,0) circle (0.007874in)\dpicstop -\filldraw[line width=0bp](5.635,0.145833) - --(5.676667,0.0625) - --(5.718333,0.145833) --cycle\dpicstop -\dpicdraw (5.676667,0.074923) - --(5.676667,0.1875) - --(5.776667,0.1875)\dpicstop -\filldraw[line width=0bp](5.718333,-0.145833) - --(5.676667,-0.0625) - --(5.635,-0.145833) --cycle\dpicstop -\dpicdraw (5.676667,-0.074923) - --(5.676667,-0.1875) - --(5.776667,-0.1875)\dpicstop -\dpicdraw (5.48749,0.005747) - --(5.695823,0.068247)\dpicstop -\draw (5.6125,-0.379167) node{\tt (PC)}; -\dpicdraw[fill=white](0.02,-0.711528) circle (0.007874in)\dpicstop -\dpicdraw (0.04,-0.711528) - --(0.27,-0.711528)\dpicstop -\dpicdraw[fill=white](0.228333,-0.685972) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](0.228333,-0.814028) circle (0.007874in)\dpicstop -\draw (0.135,-1.000694) node{\tt (I)}; -\draw (0,-0.711528) node[left=-2bp]{\sl P}; -\draw (0.248333,-0.814028) node[right=-2bp]{\sl O}; -\draw (0.248333,-0.685972) node[right=-2bp]{\sl C}; -\dpicdraw[fill=white](0.74,-0.788472) circle (0.007874in)\dpicstop -\dpicdraw (0.76,-0.788472) - --(0.99,-0.788472)\dpicstop -\dpicdraw[fill=white](0.948333,-0.814028) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](0.948333,-0.685972) circle (0.007874in)\dpicstop -\draw (0.855,-1.000694) node{\tt (RI)}; -\draw (0.72,-0.788472) node[left=-2bp]{\sl P}; -\draw (0.968333,-0.685972) node[right=-2bp]{\sl O}; -\draw (0.968333,-0.814028) node[right=-2bp]{\sl C}; -\dpicdraw[fill=white](1.46,-0.69875) circle (0.007874in)\dpicstop -\dpicdraw (1.48,-0.69875) - --(1.71,-0.69875)\dpicstop -\dpicdraw[fill=white](1.668333,-0.80125) circle (0.007874in)\dpicstop -\draw (1.575,-1.000694) node{\tt (OI)}; -\dpicdraw[fill=white](2.18,-0.762778) circle (0.007874in)\dpicstop -\dpicdraw (2.2,-0.762778) - --(2.43,-0.762778)\dpicstop -\dpicdraw[fill=white](2.388333,-0.737222) circle (0.007874in)\dpicstop -\draw (2.295,-1.000694) node{\tt (CI)}; -\dpicdraw[fill=white](2.9,-0.75) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](3.108333,-0.641944) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](3.108333,-0.858056) circle (0.007874in)\dpicstop -\dpicdraw (2.92,-0.75) - --(3.15,-0.75)\dpicstop -\draw (3.015,-1.000694) node{\tt (PI)}; -\draw (3.128333,-0.858056) node[right=-2bp]{\sl O}; -\draw (3.128333,-0.641944) node[right=-2bp]{\sl C}; -\dpicdraw[fill=white](3.62,-0.75) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](3.828333,-0.641944) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](3.828333,-0.858056) circle (0.007874in)\dpicstop -\dpicdraw (3.638651,-0.75722) - --(3.856211,-0.841444)\dpicstop -\draw (3.728105,-1.000694) node{\tt (PIO)}; -\dpicdraw[fill=white](4.326211,-0.75) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](4.534544,-0.641944) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](4.534544,-0.858056) circle (0.007874in)\dpicstop -\dpicdraw (4.344862,-0.74278) - --(4.562421,-0.658556)\dpicstop -\draw (4.434316,-1.000694) node{\tt (PIC)}; -\dpicdraw[fill=white](0.02,-1.36875) circle (0.007874in)\dpicstop -\dpicdraw (0.04,-1.36875) - --(0.27,-1.36875)\dpicstop -\dpicdraw (0.228333,-1.382639) - --(0.228333,-1.299306)\dpicstop -\dpicdraw (0.228333,-1.500694) - --(0.228333,-1.417361)\dpicstop -\draw (0.135,-1.650694) node{\tt (T)}; -\dpiclw=0.4bp -\filldraw[line width=0bp](0.295,-1.320972) - --(0.228333,-1.340972) - --(0.295,-1.360972) --cycle\dpicstop -\dpicdraw (0.247667,-1.340972) - --(0.283,-1.340972) - ..controls (0.306556,-1.340972) and (0.326667,-1.332639) - ..(0.343333,-1.315972) - --(0.368333,-1.290972)\dpicstop -\draw (0.368333,-1.290972) node{$\;\;$\sl C}; -\filldraw[line width=0bp](0.295,-1.439028) - --(0.228333,-1.459028) - --(0.295,-1.479028) --cycle\dpicstop -\dpicdraw (0.247667,-1.459028) - --(0.283,-1.459028) - ..controls (0.306556,-1.459028) and (0.326667,-1.467361) - ..(0.343333,-1.484028) - --(0.368333,-1.509028)\dpicstop -\draw (0.368333,-1.509028) node{$\;\;$\sl O}; -\dpiclw=0.8bp -\dpicdraw[fill=white](0.74,-1.43125) circle (0.007874in)\dpicstop -\dpicdraw (0.76,-1.43125) - --(0.99,-1.43125)\dpicstop -\dpicdraw (0.948333,-1.500694) - --(0.948333,-1.417361)\dpicstop -\dpicdraw (0.948333,-1.382639) - --(0.948333,-1.299306)\dpicstop -\draw (0.855,-1.650694) node{\tt (RT)}; -\dpiclw=0.4bp -\filldraw[line width=0bp](1.015,-1.320972) - --(0.948333,-1.340972) - --(1.015,-1.360972) --cycle\dpicstop -\dpicdraw (0.967667,-1.340972) - --(1.003,-1.340972) - ..controls (1.026556,-1.340972) and (1.046667,-1.332639) - ..(1.063333,-1.315972) - --(1.088333,-1.290972)\dpicstop -\draw (1.088333,-1.290972) node{$\;\;$\sl O}; -\filldraw[line width=0bp](1.015,-1.439028) - --(0.948333,-1.459028) - --(1.015,-1.479028) --cycle\dpicstop -\dpicdraw (0.967667,-1.459028) - --(1.003,-1.459028) - ..controls (1.026556,-1.459028) and (1.046667,-1.467361) - ..(1.063333,-1.484028) - --(1.088333,-1.509028)\dpicstop -\draw (1.088333,-1.509028) node{$\;\;$\sl C}; -\dpiclw=0.8bp -\dpicdraw[fill=white](1.46,-1.344028) circle (0.007874in)\dpicstop -\dpicdraw (1.48,-1.344028) - --(1.71,-1.344028)\dpicstop -\dpicdraw (1.668333,-1.475972) - --(1.668333,-1.392639)\dpicstop -\draw (1.575,-1.650694) node{\tt (OT)}; -\dpicdraw[fill=white](2.18,-1.424722) circle (0.007874in)\dpicstop -\dpicdraw (2.2,-1.424722) - --(2.43,-1.424722)\dpicstop -\dpicdraw (2.388333,-1.438611) - --(2.388333,-1.355278)\dpicstop -\draw (2.295,-1.650694) node{\tt (CT)}; -\dpicdraw[fill=white](2.9,-1.4) circle (0.007874in)\dpicstop -\dpicdraw (3.108333,-1.351389) - --(3.108333,-1.268056)\dpicstop -\dpicdraw (3.108333,-1.531944) - --(3.108333,-1.448611)\dpicstop -\dpicdraw (2.92,-1.4) - --(3.15,-1.4)\dpicstop -\draw (3.015,-1.650694) node{\tt (PT)}; -\dpicdraw[fill=white](3.62,-1.4) circle (0.007874in)\dpicstop -\dpicdraw (3.828333,-1.351389) - --(3.828333,-1.268056)\dpicstop -\dpicdraw (3.828333,-1.531944) - --(3.828333,-1.448611)\dpicstop -\dpicdraw (3.639157,-1.405747) - --(3.84749,-1.468247)\dpicstop -\draw (3.723745,-1.650694) node{\tt (PTO)}; -\dpicdraw[fill=white](4.31749,-1.4) circle (0.007874in)\dpicstop -\dpicdraw (4.525823,-1.351389) - --(4.525823,-1.268056)\dpicstop -\dpicdraw (4.525823,-1.531944) - --(4.525823,-1.448611)\dpicstop -\dpicdraw (4.336646,-1.394253) - --(4.54498,-1.331753)\dpicstop -\draw (4.421235,-1.650694) node{\tt (PTC)}; -\dpicdraw[fill=white](0.02,-2.05) circle (0.007874in)\dpicstop -\dpicdraw (0.04,-2.05) - --(0.27,-2.05)\dpicstop -\dpicdraw (0.311667,-1.966667) - --(0.228333,-1.966667)\dpicstop -\dpicdraw (0.311667,-2.133333) - --(0.228333,-2.133333)\dpicstop -\draw (0.155833,-2.283333) node{\tt (U)}; -\dpiclw=0.4bp -\filldraw[line width=0bp](0.378333,-1.946667) - --(0.311667,-1.966667) - --(0.378333,-1.986667) --cycle\dpicstop -\dpicdraw (0.331001,-1.966667) - --(0.366334,-1.966667) - ..controls (0.389889,-1.966667) and (0.41,-1.958333) - ..(0.426667,-1.941667) - --(0.451667,-1.916667)\dpicstop -\draw (0.451667,-1.916667) node{$\;\;$\sl C}; -\filldraw[line width=0bp](0.378333,-2.113333) - --(0.311667,-2.133333) - --(0.378333,-2.153333) --cycle\dpicstop -\dpicdraw (0.331001,-2.133333) - --(0.366334,-2.133333) - ..controls (0.389889,-2.133333) and (0.41,-2.141667) - ..(0.426667,-2.158333) - --(0.451667,-2.183333)\dpicstop -\draw (0.451667,-2.183333) node{$\;\;$\sl O}; -\dpiclw=0.8bp -\dpicdraw[fill=white](0.781667,-2.05) circle (0.007874in)\dpicstop -\dpicdraw (0.801667,-2.05) - --(1.031667,-2.05)\dpicstop -\dpicdraw (1.073333,-2.133333) - --(0.99,-2.133333)\dpicstop -\dpicdraw (1.073333,-1.966667) - --(0.99,-1.966667)\dpicstop -\draw (0.9175,-2.283333) node{\tt (RU)}; -\dpiclw=0.4bp -\filldraw[line width=0bp](1.14,-1.946667) - --(1.073333,-1.966667) - --(1.14,-1.986667) --cycle\dpicstop -\dpicdraw (1.092667,-1.966667) - --(1.128,-1.966667) - ..controls (1.151556,-1.966667) and (1.171667,-1.958333) - ..(1.188333,-1.941667) - --(1.213333,-1.916667)\dpicstop -\draw (1.213333,-1.916667) node{$\;\;$\sl O}; -\filldraw[line width=0bp](1.14,-2.113333) - --(1.073333,-2.133333) - --(1.14,-2.153333) --cycle\dpicstop -\dpicdraw (1.092667,-2.133333) - --(1.128,-2.133333) - ..controls (1.151556,-2.133333) and (1.171667,-2.141667) - ..(1.188333,-2.158333) - --(1.213333,-2.183333)\dpicstop -\draw (1.213333,-2.183333) node{$\;\;$\sl C}; -\dpiclw=0.8bp -\dpicdraw[fill=white](1.543333,-2.018333) circle (0.007874in)\dpicstop -\dpicdraw (1.563333,-2.018333) - --(1.793333,-2.018333)\dpicstop -\dpicdraw (1.835,-2.101667) - --(1.751667,-2.101667)\dpicstop -\draw (1.679167,-2.283333) node{\tt (OU)}; -\draw (1.835,-2.101667) node[right=-2bp]{\sl O}; -\dpicdraw[fill=white](2.305,-2.081667) circle (0.007874in)\dpicstop -\dpicdraw (2.325,-2.081667) - --(2.555,-2.081667)\dpicstop -\dpicdraw (2.596667,-1.998333) - --(2.513333,-1.998333)\dpicstop -\draw (2.440833,-2.283333) node{\tt (CU)}; -\draw (2.596667,-1.998333) node[right=-2bp]{\sl C}; -\dpicdraw[fill=white](3.066667,-2.05) circle (0.007874in)\dpicstop -\dpicdraw (3.358333,-1.966667) - --(3.275,-1.966667)\dpicstop -\dpicdraw (3.358333,-2.133333) - --(3.275,-2.133333)\dpicstop -\dpicdraw (3.086667,-2.05) - --(3.316667,-2.05)\dpicstop -\draw (3.2025,-2.283333) node{\tt (PU)}; -\dpicdraw[fill=white](3.828333,-2.046552) circle (0.007874in)\dpicstop -\dpicdraw (4.12,-1.963218) - --(4.036667,-1.963218)\dpicstop -\dpicdraw (4.12,-2.129885) - --(4.036667,-2.129885)\dpicstop -\dpicdraw (3.847107,-2.053448) - --(4.073959,-2.136782)\dpicstop -\draw (3.964167,-2.283333) node{\tt (PUO)}; -\dpicdraw[fill=white](4.59,-2.053448) circle (0.007874in)\dpicstop -\dpicdraw (4.881667,-1.970115) - --(4.798333,-1.970115)\dpicstop -\dpicdraw (4.881667,-2.136782) - --(4.798333,-2.136782)\dpicstop -\dpicdraw (4.608773,-2.046552) - --(4.835625,-1.963218)\dpicstop -\draw (4.725833,-2.283333) node(S){\tt (PUC)}; -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Contacts.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Contacts.tex deleted file mode 100644 index 2d9d5c5a6d3..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Contacts.tex +++ /dev/null @@ -1,141 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw[fill=white](0.02,-0.1875) circle (0.007874in)\dpicstop -\dpicdraw (0.04,-0.1875) - --(0.27,-0.1875)\dpicstop -\filldraw[line width=0bp](0.186667,-0.104167) - --(0.228333,-0.1875) - --(0.27,-0.104167) --cycle\dpicstop -\dpicdraw (0.228333,-0.175077) - --(0.228333,-0.0625) - --(0.328333,-0.0625)\dpicstop -\filldraw[line width=0bp](0.27,-0.333333) - --(0.228333,-0.25) - --(0.186667,-0.333333) --cycle\dpicstop -\dpicdraw (0.228333,-0.262423) - --(0.228333,-0.375) - --(0.328333,-0.375)\dpicstop -\dpicdraw[fill=white](0.02,0.25) circle (0.007874in)\dpicstop -\dpicdraw (0.04,0.25) - --(0.27,0.25)\dpicstop -\filldraw[line width=0bp](0.186667,0.333333) - --(0.228333,0.25) - --(0.27,0.333333) --cycle\dpicstop -\dpicdraw (0.228333,0.262423) - --(0.228333,0.375) - --(0.328333,0.375)\dpicstop -\filldraw[line width=0bp](0.27,0.104167) - --(0.228333,0.1875) - --(0.186667,0.104167) --cycle\dpicstop -\dpicdraw (0.228333,0.175077) - --(0.228333,0.0625) - --(0.328333,0.0625)\dpicstop -\draw (0.164167,-0.583333) node{\tt contacts(2)}; -\draw (0,-0.1875) node[left=-2bp]{\sl P1}; -\draw (0.348333,-0.375) node[right=-2bp]{\sl O1}; -\draw (0.348333,-0.0625) node[right=-2bp]{\sl C1}; -\draw (0,0.25) node[left=-2bp]{\sl P2}; -\draw (0.348333,0.0625) node[right=-2bp]{\sl O2}; -\draw (0.348333,0.375) node[right=-2bp]{\sl C2}; -\dpicdraw[fill=white](1.098333,-0.294167) circle (0.007874in)\dpicstop -\dpicdraw (1.118333,-0.294167) - --(1.348333,-0.294167)\dpicstop -\dpicdraw[fill=white](1.306667,-0.268611) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](1.306667,-0.396667) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](1.098333,-0.041111) circle (0.007874in)\dpicstop -\dpicdraw (1.118333,-0.041111) - --(1.348333,-0.041111)\dpicstop -\dpicdraw[fill=white](1.306667,-0.015556) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](1.306667,-0.143611) circle (0.007874in)\dpicstop -\draw (1.213333,-0.583333) node{\tt (2,I)}; -\draw (1.078333,-0.294167) node[left=-2bp]{\sl P1}; -\draw (1.326667,-0.396667) node[right=-2bp]{\sl O1}; -\draw (1.326667,-0.268611) node[right=-2bp]{\sl C1}; -\draw (1.078333,-0.041111) node[left=-2bp]{\sl P2}; -\draw (1.326667,-0.143611) node[right=-2bp]{\sl O2}; -\draw (1.326667,-0.015556) node[right=-2bp]{\sl C2}; -\dpicdraw[fill=white](2.118333,-0.294167) circle (0.007874in)\dpicstop -\dpicdraw (2.138333,-0.294167) - --(2.368333,-0.294167)\dpicstop -\dpicdraw[fill=white](2.326667,-0.396667) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](2.118333,-0.066667) circle (0.007874in)\dpicstop -\dpicdraw (2.138333,-0.066667) - --(2.368333,-0.066667)\dpicstop -\dpicdraw[fill=white](2.326667,-0.169167) circle (0.007874in)\dpicstop -\draw (2.233333,-0.583333) node{\tt (2,IO)}; -\draw (2.098333,-0.294167) node[left=-2bp]{\sl P1}; -\draw (2.346667,-0.396667) node[right=-2bp]{\sl O1}; -\draw (2.098333,-0.066667) node[left=-2bp]{\sl P2}; -\draw (2.346667,-0.169167) node[right=-2bp]{\sl O2}; -\dpicdraw[fill=white](3.138333,-0.288611) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](3.346667,-0.180556) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](3.346667,-0.396667) circle (0.007874in)\dpicstop -\dpicdraw (3.156984,-0.281391) - --(3.374544,-0.197167)\dpicstop -\dpicdraw[fill=white](3.138333,0.0525) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](3.346667,0.160556) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](3.346667,-0.055556) circle (0.007874in)\dpicstop -\dpicdraw (3.156984,0.05972) - --(3.374544,0.143944)\dpicstop -\dpicdraw[dash pattern=on 0.05in off 0.05in](3.265764,-0.289279) - --(3.265764,0.151832)\dpicstop -\draw (3.246439,-0.583333) node{\tt (2,PICD)}; -\draw (3.118333,-0.288611) node[left=-2bp]{\sl P1}; -\draw (3.366667,-0.396667) node[right=-2bp]{\sl O1}; -\draw (3.366667,-0.180556) node[right=-2bp]{\sl C1}; -\draw (3.118333,0.0525) node[left=-2bp]{\sl P2}; -\draw (3.366667,-0.055556) node[right=-2bp]{\sl O2}; -\draw (3.366667,0.160556) node[right=-2bp]{\sl C2}; -\dpicdraw[fill=white](4.144544,-0.284722) circle (0.007874in)\dpicstop -\dpicdraw (4.352877,-0.236111) - --(4.352877,-0.152778)\dpicstop -\dpicdraw (4.352877,-0.416667) - --(4.352877,-0.333333)\dpicstop -\dpicdraw (4.1637,-0.278975) - --(4.372034,-0.216475)\dpicstop -\dpicdraw[fill=white](4.144544,0.020833) circle (0.007874in)\dpicstop -\dpicdraw (4.352877,0.069444) - --(4.352877,0.152778)\dpicstop -\dpicdraw (4.352877,-0.111111) - --(4.352877,-0.027778)\dpicstop -\dpicdraw (4.1637,0.02658) - --(4.372034,0.08908)\dpicstop -\dpicdraw[dash pattern=on 0.05in off 0.05in](4.267867,-0.297725) - --(4.267867,0.10783)\dpicstop -\draw (4.248289,-0.583333) node{\tt (2,PTCD)}; -\draw (4.124544,-0.284722) node[left=-2bp]{\sl P1}; -\draw (4.372877,-0.375) node[right=-2bp]{\sl O1}; -\draw (4.372877,-0.194444) node[right=-2bp]{\sl C1}; -\draw (4.124544,0.020833) node[left=-2bp]{\sl P2}; -\draw (4.372877,-0.069444) node[right=-2bp]{\sl O2}; -\draw (4.372877,0.111111) node[right=-2bp]{\sl C2}; -\dpicdraw[fill=white](5.142034,-0.333333) circle (0.007874in)\dpicstop -\dpicdraw (5.4337,-0.25) - --(5.350367,-0.25)\dpicstop -\dpicdraw (5.4337,-0.416667) - --(5.350367,-0.416667)\dpicstop -\dpicdraw (5.160807,-0.326437) - --(5.387659,-0.243104)\dpicstop -\dpicdraw[fill=white](5.142034,-0.041667) circle (0.007874in)\dpicstop -\dpicdraw (5.4337,0.041667) - --(5.350367,0.041667)\dpicstop -\dpicdraw (5.4337,-0.125) - --(5.350367,-0.125)\dpicstop -\dpicdraw (5.160807,-0.03477) - --(5.387659,0.048563)\dpicstop -\dpicdraw[dash pattern=on 0.05in off 0.05in](5.274233,-0.33477) - --(5.274233,0.056896)\dpicstop -\draw (5.277867,-0.583333) node{\tt (2,PUCD)}; -\draw (5.122034,-0.333333) node[left=-2bp]{\sl P1}; -\draw (5.4537,-0.416667) node[right=-2bp]{\sl O1}; -\draw (5.4537,-0.25) node[right=-2bp]{\sl C1}; -\draw (5.122034,-0.041667) node[left=-2bp]{\sl P2}; -\draw (5.4537,-0.125) node[right=-2bp]{\sl O2}; -\draw (5.4537,0.041667) node[right=-2bp]{\sl C2}; -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Demultiplexer.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Demultiplexer.tex deleted file mode 100644 index e6e5ec98483..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Demultiplexer.tex +++ /dev/null @@ -1,148 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -{\sf -\dpicdraw (0.2,0.075) - --(0.2,0.425) - --(0.6,0.525) - --(0.6,-0.375) - --(0.2,-0.275) - --(0.2,0.075)\dpicstop -\draw (0.4,0.075) node{\scriptsize DM1}; -\dpicdraw (0.2,0.075) - --(0,0.075)\dpicstop -\dpicdraw (0.4,-0.325) - --(0.4,-0.525)\dpicstop -\draw (0.6,0.4125) node[left=-2bp]{{\scriptsize 0}}; -\dpicdraw (0.6,0.4125) - --(0.8,0.4125)\dpicstop -\draw (0.6,0.1875) node[left=-2bp]{{\scriptsize 1}}; -\dpicdraw (0.6,0.1875) - --(0.8,0.1875)\dpicstop -\draw (0.6,-0.0375) node[left=-2bp]{{\scriptsize 2}}; -\dpicdraw (0.6,-0.0375) - --(0.8,-0.0375)\dpicstop -\draw (0.6,-0.2625) node[left=-2bp]{{\scriptsize 3}}; -\dpicdraw (0.6,-0.2625) - --(0.8,-0.2625)\dpicstop -\draw (0.4,-0.525) node[below=-2bp]{\tt Demux(4,DM1)}; -\draw (0.883333,0.495833) node{\sl Out0}; -\draw (0.883333,-0.345833) node{\sl Out3}; -\draw (0,0.075) node[left=-2bp]{\sl In}; -\draw (0.4,-0.525) node[above right=-2bp]{\sl Sel}; -\dpicdraw (1.8,-0.075) - --(1.8,-0.425) - --(1.4,-0.525) - --(1.4,0.375) - --(1.8,0.275) - --(1.8,-0.075)\dpicstop -\dpicdraw (1.8,-0.075) - --(2,-0.075)\dpicstop -\dpicdraw (1.6,0.325) - --(1.6,0.525)\dpicstop -\draw (1.4,0.2625) node[right=-2bp]{{\scriptsize 0}}; -\dpicdraw (1.4,0.2625) - --(1.2,0.2625)\dpicstop -\draw (1.4,0.0375) node[right=-2bp]{{\scriptsize 1}}; -\dpicdraw (1.4,0.0375) - --(1.2,0.0375)\dpicstop -\draw (1.4,-0.1875) node[right=-2bp]{{\scriptsize 2}}; -\dpicdraw (1.4,-0.1875) - --(1.2,-0.1875)\dpicstop -\draw (1.4,-0.4125) node[right=-2bp]{{\scriptsize 3}}; -\dpicdraw (1.4,-0.4125) - --(1.2,-0.4125)\dpicstop -\draw (1.8,0.15) node[left=-2bp]{{\scriptsize OE}}; -\dpicdraw (1.8,0.15) - --(2,0.15)\dpicstop -\draw (1.6,-0.802778) node{\tt left\_; Demux(4,{,}LOE)}; -\draw (1.6,0.525) node[left=-2bp]{\sl Sel}; -\draw (1.116667,0.345833) node{\sl Out0}; -\draw (2,0.15) node[right=-2bp]{\sl OE}; -\draw (2,-0.005556) node[right=-2bp]{\sl In}; -\dpicdraw (2.6,-0.0875) - --(2.6,0.2625) - --(3,0.3625) - --(3,-0.5375) - --(2.6,-0.4375) - --(2.6,-0.0875)\dpicstop -\dpicdraw (2.6,-0.0875) - --(2.4,-0.0875)\dpicstop -\dpicdraw (2.7,0.2875) - --(2.7,0.4875)\dpicstop -\dpicdraw (2.9,0.3375) - --(2.9,0.5375)\dpicstop -\draw (3,0.25) node[left=-2bp]{{\scriptsize 00}}; -\dpicdraw (3,0.25) - --(3.2,0.25)\dpicstop -\draw (3,0.025) node[left=-2bp]{{\scriptsize 01}}; -\dpicdraw (3,0.025) - --(3.2,0.025)\dpicstop -\draw (3,-0.2) node[left=-2bp]{{\scriptsize 10}}; -\dpicdraw (3,-0.2) - --(3.2,-0.2)\dpicstop -\draw (3,-0.425) node[left=-2bp]{{\scriptsize 11}}; -\dpicdraw (3,-0.425) - --(3.2,-0.425)\dpicstop -\draw (2.6,-0.3125) node[right=-2bp]{{\scriptsize $\overline{\hbox{OE}}$}}; -\dpicdraw (2.5625,-0.3125) circle (0.014764in)\dpicstop -\dpicdraw (2.525,-0.3125) - --(2.4,-0.3125)\dpicstop -\draw (2.8,-0.5375) node[below=-2bp]{\tt (4,{,}NOEBN2)}; -\draw (2.7,0.4875) node[left=-2bp]{\sl Sel0}; -\draw (2.9,0.5375) node[right=-2bp]{\sl Sel1}; -\draw (3.269444,0.333333) node{\sl Out0}; -\draw (3.269444,-0.341667) node{\sl Out3}; -\draw (2.4,-0.3125) node[left=-2bp]{\sl NOE}; -\draw (2.4,-0.0875) node[above=-2bp]{\sl In}; -\dpicdraw (4.691667,0.2) - --(5.291667,0.2) - --(5.391667,-0.2) - --(3.991667,-0.2) - --(4.091667,0.2) - --(4.691667,0.2)\dpicstop -\dpicdraw (4.691667,0.2) - --(4.691667,0.4)\dpicstop -\dpicdraw (4.075,0.133333) - --(3.875,0.133333)\dpicstop -\dpicdraw (4.041667,0) - --(3.841667,0)\dpicstop -\dpicdraw (4.008333,-0.133333) - --(3.808333,-0.133333)\dpicstop -\draw (4.079167,-0.2) node[above=-2bp]{{\scriptsize 0}}; -\dpicdraw (4.079167,-0.2) - --(4.079167,-0.4)\dpicstop -\draw (4.254167,-0.2) node[above=-2bp]{{\scriptsize 1}}; -\dpicdraw (4.254167,-0.2) - --(4.254167,-0.4)\dpicstop -\draw (4.429167,-0.2) node[above=-2bp]{{\scriptsize 2}}; -\dpicdraw (4.429167,-0.2) - --(4.429167,-0.4)\dpicstop -\draw (4.604167,-0.2) node[above=-2bp]{{\scriptsize 3}}; -\dpicdraw (4.604167,-0.2) - --(4.604167,-0.4)\dpicstop -\draw (4.779167,-0.2) node[above=-2bp]{{\scriptsize 4}}; -\dpicdraw (4.779167,-0.2) - --(4.779167,-0.4)\dpicstop -\draw (4.954167,-0.2) node[above=-2bp]{{\scriptsize 5}}; -\dpicdraw (4.954167,-0.2) - --(4.954167,-0.4)\dpicstop -\draw (5.129167,-0.2) node[above=-2bp]{{\scriptsize 6}}; -\dpicdraw (5.129167,-0.2) - --(5.129167,-0.4)\dpicstop -\draw (5.304167,-0.2) node[above=-2bp]{{\scriptsize 7}}; -\dpicdraw (5.304167,-0.2) - --(5.304167,-0.4)\dpicstop -\draw (4.6,-0.608333) node{\tt down\_; Demux(8,{,}L3,{,}28*L\_unit)}; -\draw (3.875,0.133333) node[left=-2bp]{\sl Sel0}; -\draw (3.808333,-0.133333) node[below left=-2bp]{\sl Sel2}; -\draw (4.079167,-0.4) node[left=-2bp]{\sl Out0}; -\draw (5.304167,-0.4) node[right=-2bp]{\sl Out7}; -\draw (4.691667,0.4) node[left=-2bp]{\sl In}; -} -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Diodes.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Diodes.tex deleted file mode 100644 index a628327c271..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Diodes.tex +++ /dev/null @@ -1,383 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw (0,0) - --(0.338916,0)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (0.338916,0) - --(0.338916,0.041667) - --(0.40555,0) - --(0.338916,-0.041667) - --(0.338916,0)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (0.411084,-0.045718) - --(0.411084,0.045718)\dpicstop -\dpicdraw (0.411084,0) - --(0.75,0)\dpicstop -\draw (0.777674,0) node[right=-2bp]{{\tt diode}}; -\dpicdraw (0,-0.2) - --(0.338916,-0.2)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (0.338916,-0.2) - --(0.338916,-0.158333) - --(0.40555,-0.2) - --(0.338916,-0.241667) - --(0.338916,-0.2)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (0.390251,-0.227778) - --(0.390251,-0.245718) - --(0.411084,-0.245718) - --(0.411084,-0.154282) - --(0.431918,-0.154282) - --(0.431918,-0.172222)\dpicstop -\dpicdraw (0.411084,-0.2) - --(0.75,-0.2)\dpicstop -\draw (0.777674,-0.2) node[right=-2bp]{{\tt diode(,S)}}; -\dpicdraw (0,-0.4) - --(0.338916,-0.4)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (0.338916,-0.4) - --(0.338916,-0.358333) - --(0.40555,-0.4) - --(0.338916,-0.441667) - --(0.338916,-0.4)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (0.411084,-0.445718) - --(0.411084,-0.354282)\dpicstop -\dpicdraw (0.431918,-0.445718) - --(0.431918,-0.354282)\dpicstop -\dpicdraw (0.431918,-0.4) - --(0.75,-0.4)\dpicstop -\draw (0.777674,-0.4) node[right=-2bp]{{\tt diode(,V)}}; -\dpicdraw (0,-0.6) - --(0.338916,-0.6)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (0.338916,-0.6) - --(0.338916,-0.558333) - --(0.40555,-0.6) - --(0.338916,-0.641667) - --(0.338916,-0.6)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (0.411084,-0.645718) - --(0.411084,-0.554282)\dpicstop -\dpicdraw (0.438862,-0.645718) - ..controls (0.421179,-0.617804) and (0.421179,-0.582196) - ..(0.438862,-0.554282)\dpicstop -\dpicdraw (0.4256,-0.6) - --(0.431918,-0.6)\dpicstop -\dpicdraw (0.431918,-0.6) - --(0.75,-0.6)\dpicstop -\draw (0.777674,-0.6) node[right=-2bp]{{\tt diode(,v)}}; -\dpicdraw (0,-0.8) - --(0.338916,-0.8)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (0.338916,-0.8) - --(0.338916,-0.758333) - --(0.40555,-0.8) - --(0.338916,-0.841667) - --(0.338916,-0.8)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (0.397822,-0.754282) - ..controls (0.415505,-0.782196) and (0.415505,-0.817804) - ..(0.397822,-0.845718)\dpicstop -\dpicdraw (0.431918,-0.845718) - --(0.431918,-0.754282)\dpicstop -\dpicdraw (0.431918,-0.8) - --(0.75,-0.8)\dpicstop -\draw (0.777674,-0.8) node[right=-2bp]{{\tt diode(,w)}}; -\dpicdraw (0,-1) - --(0.302831,-1)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (0.302831,-1) - --(0.302831,-0.958333) - --(0.369465,-1) - --(0.302831,-1.041667) - --(0.302831,-1)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (0.354167,-1.045718) - --(0.375,-1.045718) - --(0.375,-0.954282) - --(0.395833,-0.954282)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (0.447169,-1) - --(0.447169,-0.958333) - --(0.380535,-1) - --(0.447169,-1.041667) - --(0.447169,-1)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (0.447169,-1) - --(0.75,-1)\dpicstop -\draw (0.777674,-1) node[right=-2bp]{{\tt diode(,B)}}; -\dpicdraw (0,-1.2) - --(0.302831,-1.2)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (0.302831,-1.2) - --(0.302831,-1.158333) - --(0.369465,-1.2) - --(0.302831,-1.241667) - --(0.302831,-1.2)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (0.447169,-1.2) - --(0.447169,-1.158333) - --(0.380535,-1.2) - --(0.447169,-1.241667) - --(0.447169,-1.2)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (0.447169,-1.2) - --(0.75,-1.2)\dpicstop -\draw (0.777674,-1.2) node[right=-2bp]{{\tt diode(,G)}}; -\dpicdraw (2,0) - --(2.338916,0)\dpicstop -\dpicdraw (2.338916,0) - --(2.338916,0.041667) - --(2.40555,0) - --(2.338916,-0.041667) - --(2.338916,0)\dpicstop -\dpicdraw (2.411084,-0.045718) - --(2.411084,0.045718)\dpicstop -\dpicdraw (2.411084,0) - --(2.75,0)\dpicstop -\draw (2.777674,0) node[right=-2bp]{{\tt diode(,K)}}; -\dpicdraw (2,-0.2) - --(2.338916,-0.2)\dpicstop -\dpicdraw (2.338916,-0.2) - --(2.338916,-0.158333) - --(2.40555,-0.2) - --(2.338916,-0.241667) - --(2.338916,-0.2)\dpicstop -\dpicdraw (2.390251,-0.245718) - --(2.411084,-0.245718) - --(2.411084,-0.154282) - --(2.431918,-0.154282)\dpicstop -\dpicdraw (2.411084,-0.2) - --(2.75,-0.2)\dpicstop -\draw (2.777674,-0.2) node[right=-2bp]{{\tt diode(,ZK)}}; -\dpicdraw (2,-0.4) - --(2.338916,-0.4)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (2.338916,-0.4) - --(2.338916,-0.358333) - --(2.40555,-0.4) - --(2.338916,-0.441667) - --(2.338916,-0.4)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (2.411084,-0.445718) - --(2.411084,-0.354282)\dpicstop -\dpicdraw (2.390251,-0.445718) - --(2.431918,-0.445718)\dpicstop -\dpicdraw (2.390251,-0.354282) - --(2.431918,-0.354282)\dpicstop -\dpicdraw (2.411084,-0.4) - --(2.75,-0.4)\dpicstop -\draw (2.777674,-0.4) node[right=-2bp]{{\tt diode(,CR)}}; -\dpicdraw (2,-0.6) - --(2.338916,-0.6)\dpicstop -\dpicdraw (2.338916,-0.6) - --(2.338916,-0.558333) - --(2.40555,-0.6) - --(2.338916,-0.641667) - --(2.338916,-0.6)\dpicstop -\dpicdraw (2.338916,-0.6) - --(2.411084,-0.6)\dpicstop -\dpicdraw (2.411084,-0.645718) - --(2.411084,-0.554282)\dpicstop -\dpicdraw (2.411084,-0.6) - --(2.75,-0.6)\dpicstop -\draw (2.777674,-0.6) node[right=-2bp]{{\tt diode(,L)}}; -\dpicdraw (2,-0.8) - --(2.338916,-0.8)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (2.338916,-0.8) - --(2.338916,-0.758333) - --(2.40555,-0.8) - --(2.338916,-0.8)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (2.338916,-0.8) - --(2.338916,-0.841667)\dpicstop -\dpicdraw (2.411084,-0.8) - --(2.75,-0.8)\dpicstop -\draw (2.777674,-0.8) node[right=-2bp]{{\tt diode(,F)}}; -\dpicdraw (2,-1) - --(2.338916,-1)\dpicstop -\dpicdraw (2.338916,-1) - --(2.338916,-0.958333) - --(2.40555,-1) - --(2.338916,-1)\dpicstop -\dpicdraw (2.338916,-1) - --(2.338916,-1.041667)\dpicstop -\dpicdraw (2.411084,-1.045718) - --(2.411084,-0.954282)\dpicstop -\dpicdraw (2.411084,-1) - --(2.75,-1)\dpicstop -\draw (2.777674,-1) node[right=-2bp]{{\tt diode(,Sh)}}; -\dpicdraw (2,-1.2) - --(2.338916,-1.2)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (2.338916,-1.158333) - --(2.338916,-1.116667) - --(2.40555,-1.158333) - --(2.338916,-1.2) - --(2.338916,-1.158333)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (2.411084,-1.287385) - --(2.411084,-1.112615)\dpicstop -\dpicdraw (2.338916,-1.287385) - --(2.338916,-1.112615)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (2.411084,-1.241667) - --(2.411084,-1.2) - --(2.34445,-1.241667) - --(2.411084,-1.283333) - --(2.411084,-1.241667)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (2.411084,-1.2) - --(2.75,-1.2)\dpicstop -\draw (2.777674,-1.2) node[right=-2bp]{{\tt diode(,D)}}; -\dpicdraw (4.75,0) - --(4.411084,0)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (4.411084,0) - --(4.411084,-0.041667) - --(4.34445,0) - --(4.411084,0.041667) - --(4.411084,0)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (4.359749,0.045718) - --(4.338916,0.045718) - --(4.338916,-0.045718) - --(4.318082,-0.045718)\dpicstop -\dpicdraw (4.338916,0) - --(4,0)\dpicstop -\dpicdraw (4.375,0) circle (0.068898in)\dpicstop -\draw (4.777674,0) node[right=-2bp]{{\tt diode(,Z,RE)}}; -\dpicdraw (4,-0.25) - --(4.338916,-0.25)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (4.338916,-0.25) - --(4.338916,-0.208333) - --(4.40555,-0.25) - --(4.338916,-0.291667) - --(4.338916,-0.25)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (4.390251,-0.295718) - --(4.411084,-0.295718) - --(4.411084,-0.204282) - --(4.390251,-0.204282)\dpicstop -\dpicdraw (4.411084,-0.25) - --(4.75,-0.25)\dpicstop -\draw (4.777674,-0.25) node[right=-2bp]{{\tt diode(,T)}}; -\dpicdraw (4,-0.55) - --(4.338916,-0.55)\dpicstop -\filldraw[line width=0bp](4.269213,-0.43037) - --(4.339362,-0.461236) - --(4.308496,-0.391087) --cycle\dpicstop -\dpicdraw (4.176728,-0.298602) - --(4.328524,-0.450398)\dpicstop -\filldraw[line width=0bp](4.225018,-0.474565) - --(4.295168,-0.50543) - --(4.264302,-0.435281) --cycle\dpicstop -\dpicdraw (4.132533,-0.342796) - --(4.284329,-0.494592)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (4.338916,-0.55) - --(4.338916,-0.508333) - --(4.40555,-0.55) - --(4.338916,-0.591667) - --(4.338916,-0.55)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (4.411084,-0.595718) - --(4.411084,-0.504282)\dpicstop -\dpicdraw (4.411084,-0.55) - --(4.75,-0.55)\dpicstop -\draw (4.777674,-0.55) node[right=-2bp]{{\tt diode(,P)}}; -\dpicdraw (4,-0.85) - --(4.338916,-0.85)\dpicstop -\filldraw[line width=0bp](4.202683,-0.673662) - --(4.132533,-0.642796) - --(4.163399,-0.712945) --cycle\dpicstop -\dpicdraw (4.295168,-0.80543) - --(4.143372,-0.653634)\dpicstop -\filldraw[line width=0bp](4.246877,-0.629467) - --(4.176728,-0.598602) - --(4.207593,-0.668751) --cycle\dpicstop -\dpicdraw (4.339362,-0.761236) - --(4.187566,-0.60944)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (4.338916,-0.85) - --(4.338916,-0.808333) - --(4.40555,-0.85) - --(4.338916,-0.891667) - --(4.338916,-0.85)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (4.411084,-0.895718) - --(4.411084,-0.804282)\dpicstop -\dpicdraw (4.411084,-0.85) - --(4.75,-0.85)\dpicstop -\draw (4.777674,-0.85) node[right=-2bp]{{\tt diode(,LE)}}; -\dpicdraw (4,-1) - --(4.338916,-1)\dpicstop -\filldraw[line width=0bp](4.207593,-1.181249) - --(4.176728,-1.251398) - --(4.246877,-1.220533) --cycle\dpicstop -\dpicdraw (4.339362,-1.088764) - --(4.187566,-1.24056)\dpicstop -\filldraw[line width=0bp](4.163399,-1.137055) - --(4.132533,-1.207204) - --(4.202683,-1.176338) --cycle\dpicstop -\dpicdraw (4.295168,-1.04457) - --(4.143372,-1.196366)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (4.338916,-1) - --(4.338916,-0.958333) - --(4.40555,-1) - --(4.338916,-1.041667) - --(4.338916,-1)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (4.411084,-1.045718) - --(4.411084,-0.954282)\dpicstop -\dpicdraw (4.411084,-1) - --(4.75,-1)\dpicstop -\draw (4.777674,-1) node[right=-2bp]{{\tt diode(,LER)}}; -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/DiodesMan.m4 b/Master/texmf-dist/doc/latex/circuit-macros/doc/DiodesMan.m4 index 33789fa5c76..534fcbc4122 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/DiodesMan.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/doc/DiodesMan.m4 @@ -45,9 +45,9 @@ movewid = 2pt__ { {diode(,Z,RE) ; move ; "`{\tt diode(,Z,RE)}'" ljust} move down 0.30; right_ {diode(,U) ; move ; "`{\tt diode(,U)}'" ljust} - move down 0.25; right_ + move down 0.15; right_ {diode(,T) ; move ; "`{\tt diode(,T)}'" ljust} - move down 0.20; right_ + move down 0.30; right_ {diode(,P) ; move ; "`{\tt diode(,P)}'" ljust} move down 0.30; right_ {diode(,LE) ; move ; "`{\tt diode(,LE)}'" ljust} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Emarrows.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Emarrows.tex deleted file mode 100644 index f409b62c3e2..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Emarrows.tex +++ /dev/null @@ -1,142 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\filldraw[line width=0bp](0.53583,0.053354) - --(0.465681,0.08422) - --(0.496546,0.014071) --cycle\dpicstop -\dpicdraw (0.628315,-0.078414) - --(0.476519,0.073382)\dpicstop -\filldraw[line width=0bp](0.580024,0.097549) - --(0.509875,0.128414) - --(0.540741,0.058265) --cycle\dpicstop -\dpicdraw (0.672509,-0.03422) - --(0.520713,0.117576)\dpicstop -\dpicdraw[dotted](0.465681,-0.078414) rectangle (0.672509,0.128414)\dpicstop -\dpiclw=0.4bp -\filldraw[line width=0bp](0.421111,0.086317) - --(0.487778,0.106317) - --(0.421111,0.126317) --cycle\dpicstop -\dpicdraw (0.468444,0.106317) - --(0.337778,0.106317)\dpicstop -\draw (0.337778,0.106317) node[left=-2bp]{\sl Head}; -\filldraw[line width=0bp](0.670412,-0.122984) - --(0.650412,-0.056317) - --(0.630412,-0.122984) --cycle\dpicstop -\dpicdraw (0.650412,-0.075651) - --(0.650412,-0.176317)\dpicstop -\draw (0.650412,-0.176317) node[below=-2bp]{\sl Tail}; -\draw (0.546998,0.002903) node[below left=-2bp]{\sl A1}; -\draw (0.591192,0.047097) node[above right=-2bp]{\sl A2}; -\dpiclw=0.8bp -\draw (0.569095,-0.278414) node[below=-2bp]{\tt em\_arrows(N)}; -\filldraw[line width=0bp](1.724278,0.078265) - --(1.755144,0.148414) - --(1.684995,0.117549) --cycle\dpicstop -\dpicdraw (1.592509,-0.01422) - --(1.744305,0.137576)\dpicstop -\filldraw[line width=0bp](1.768472,0.034071) - --(1.799338,0.10422) - --(1.729189,0.073354) --cycle\dpicstop -\dpicdraw (1.636704,-0.058414) - --(1.7885,0.093382)\dpicstop -\dpicdraw[fill=black](1.592509,-0.01422) circle (0.007874in)\dpicstop -\dpicdraw[fill=black](1.636704,-0.058414) circle (0.007874in)\dpicstop -\draw (1.685924,-0.078414) node[below=-2bp]{\tt em\_arrows(ND,45)}; -\dpicdraw (2.561973,-0.071092) - ..controls (2.55221,-0.080855) and (2.53638,-0.080855) - ..(2.526617,-0.071092) - ..controls (2.516854,-0.061329) and (2.516854,-0.0455) - ..(2.526617,-0.035737)\dpicstop -\dpicdraw (2.526617,-0.035737) - ..controls (2.550188,-0.012166) and (2.514832,0.023189) - ..(2.491262,-0.000381)\dpicstop -\dpicdraw (2.491262,-0.000381) - ..controls (2.481499,-0.010144) and (2.46567,-0.010144) - ..(2.455907,-0.000381) - ..controls (2.446144,0.009382) and (2.446144,0.025211) - ..(2.455907,0.034974)\dpicstop -\filldraw[line width=0bp](2.456861,0.073304) - --(2.399338,0.091543) - --(2.417577,0.03402) --cycle\dpicstop -\dpicdraw (2.455907,0.034974) - --(2.407872,0.083008)\dpicstop -\dpicdraw (2.606167,-0.026898) - ..controls (2.582597,-0.050468) and (2.547241,-0.015113) - ..(2.570812,0.008457)\dpicstop -\dpicdraw (2.570812,0.008457) - ..controls (2.580575,0.018221) and (2.580575,0.03405) - ..(2.570812,0.043813) - ..controls (2.561048,0.053576) and (2.545219,0.053576) - ..(2.535456,0.043813)\dpicstop -\dpicdraw (2.535456,0.043813) - ..controls (2.525693,0.03405) and (2.509864,0.03405) - ..(2.500101,0.043813) - ..controls (2.490338,0.053576) and (2.490338,0.069405) - ..(2.500101,0.079168)\dpicstop -\filldraw[line width=0bp](2.501055,0.117498) - --(2.443532,0.135737) - --(2.461771,0.078214) --cycle\dpicstop -\dpicdraw (2.500101,0.079168) - --(2.452066,0.127203)\dpicstop -\draw (2.502753,-0.078414) node[below=-2bp]{\tt $\ldots$(I)}; -\dpicdraw (3.368801,-0.058414) - ..controls (3.359038,-0.068177) and (3.343209,-0.068177) - ..(3.333446,-0.058414) - ..controls (3.323683,-0.048651) and (3.323683,-0.032822) - ..(3.333446,-0.023059)\dpicstop -\dpicdraw (3.333446,-0.023059) - ..controls (3.357016,0.000511) and (3.321661,0.035867) - ..(3.298091,0.012296)\dpicstop -\dpicdraw (3.298091,0.012296) - ..controls (3.288328,0.002533) and (3.272499,0.002533) - ..(3.262735,0.012296) - ..controls (3.252972,0.022059) and (3.252972,0.037889) - ..(3.262735,0.047652)\dpicstop -\filldraw[line width=0bp](3.263689,0.085981) - --(3.206167,0.10422) - --(3.224406,0.046698) --cycle\dpicstop -\dpicdraw (3.262735,0.047652) - --(3.214701,0.095686)\dpicstop -\dpicdraw (3.412996,-0.01422) - ..controls (3.389425,-0.03779) and (3.35407,-0.002435) - ..(3.37764,0.021135)\dpicstop -\dpicdraw (3.37764,0.021135) - ..controls (3.387403,0.030898) and (3.387403,0.046727) - ..(3.37764,0.05649) - ..controls (3.367877,0.066254) and (3.352048,0.066254) - ..(3.342285,0.05649)\dpicstop -\dpicdraw (3.342285,0.05649) - ..controls (3.332522,0.046727) and (3.316693,0.046727) - ..(3.30693,0.05649) - ..controls (3.297167,0.066254) and (3.297167,0.082083) - ..(3.30693,0.091846)\dpicstop -\filldraw[line width=0bp](3.307884,0.130176) - --(3.250361,0.148414) - --(3.2686,0.090892) --cycle\dpicstop -\dpicdraw (3.30693,0.091846) - --(3.258895,0.13988)\dpicstop -\dpicdraw[fill=black](3.368801,-0.058414) circle (0.007874in)\dpicstop -\dpicdraw[fill=black](3.412996,-0.01422) circle (0.007874in)\dpicstop -\draw (3.319581,-0.078414) node[below=-2bp]{\tt $\ldots$(ID)}; -\dpicdraw (4.121384,-0.078414) - --(4.032996,0.009974) - --(4.032996,-0.02931)\dpicstop -\dpicdraw (4.165578,-0.03422) - --(4.07719,0.054168) - --(4.07719,0.014884)\dpicstop -\draw (4.099287,-0.078414) node[below=-2bp]{\tt $\ldots$(E)}; -\dpicdraw (4.853966,-0.058414) - --(4.765578,0.029974) - --(4.765578,-0.00931)\dpicstop -\dpicdraw (4.898161,-0.01422) - --(4.809772,0.074168) - --(4.809772,0.034884)\dpicstop -\dpicdraw[fill=black](4.853966,-0.058414) circle (0.007874in)\dpicstop -\dpicdraw[fill=black](4.898161,-0.01422) circle (0.007874in)\dpicstop -\draw (4.841869,-0.078414) node[below=-2bp]{\tt $\ldots$(ED)}; -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/EmarrowsMan.m4 b/Master/texmf-dist/doc/latex/circuit-macros/doc/EmarrowsMan.m4 index c4b21319023..eed90cf6213 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/EmarrowsMan.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/doc/EmarrowsMan.m4 @@ -1,30 +1,28 @@ .PS -# `Emarrows.m4' +# `EmarrowsMan.m4' cct_init + hskip = 0.6 -[ - { em_arrows(N) - box dotted wid last [].wid ht last [].ht at last [].c + { A: em_arrows() + box dotted wid A.wid ht A.ht at A.c thinlines_ - arrow <- left 0.15 from last [].Head; "\sl Head" wid 0.31 rjust - arrow <- down 0.12 from last [].Tail; "\sl Tail" below - "\sl A1" rjust below at last [].A1.c - "\sl A2" ljust above at last [].A2.c + arrow <- left 0.15 from A.Head; "\sl Head" wid 0.31 rjust + arrow <- right 0.12 from A.Tail; "\sl Tail" ljust + arrow <- left 0.15 from 0.6 between A.A1.end and A.A1.start; "\sl A1" rjust + arrow <- right 0.15 up 0.07 from A.A2; "\sl A2" ljust thicklines_ - move down 0.25 from last [].s - move up 0.2 from last [].n - "\tt em\_arrows(N)" at last [].s+(0,-0.20) below } + move down 0.25 from A.s + move up 0.2 from A.n + "\tt em\_arrows(N)" at A.s+(0,-4bp__) below } { em_arrows(ND,45) with .sw at last [].se+(hskip*1.5,0) - "\tt em\_arrows(ND,45)" at last [].s below } + "\tt $\ldots$(ND,45)" at last [].s below } { em_arrows(I) with .sw at last [].se+(hskip,0) "\tt $\ldots$(I)" at last [].s below } { em_arrows(ID) with .sw at last [].se+(hskip,0) "\tt $\ldots$(ID)" at last [].s below } { em_arrows(E) with .sw at last [].se+(hskip,0) "\tt $\ldots$(E)" at last [].s below } - { em_arrows(ED) with .sw at last [].se+(hskip,0) - "\tt $\ldots$(ED)" at last [].s below } - ] -#showbox_ + { A: em_arrows(NT) with .sw at last [].se+(hskip,0) + "\tt $\ldots$(NT)" at last [].s below } .PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Fuses.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Fuses.tex deleted file mode 100644 index f0ae5f2e95a..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Fuses.tex +++ /dev/null @@ -1,174 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw (0,0) - --(0.275,0)\dpicstop -\dpicdraw (0.275,-0) - ..controls (0.275,0.027614) and (0.297386,0.05) - ..(0.325,0.05) - ..controls (0.352614,0.05) and (0.375,0.027614) - ..(0.375,0)\dpicstop -\dpicdraw (0.375,0) - ..controls (0.375,-0.027614) and (0.397386,-0.05) - ..(0.425,-0.05) - ..controls (0.452614,-0.05) and (0.475,-0.027614) - ..(0.475,0)\dpicstop -\dpicdraw (0.475,0) - --(0.75,0)\dpicstop -\draw (0.375,-0.2) node{{\tt fuse}}; -\dpicdraw (1,0) - --(1.275,0)\dpicstop -\dpicdraw (1.275,-0) - ..controls (1.275,0.027614) and (1.297386,0.05) - ..(1.325,0.05) - ..controls (1.352614,0.05) and (1.375,0.027614) - ..(1.375,0)\dpicstop -\dpicdraw[fill=white](1.275,-0) circle (0.007874in)\dpicstop -\dpicdraw (1.375,0) - ..controls (1.375,-0.027614) and (1.397386,-0.05) - ..(1.425,-0.05) - ..controls (1.452614,-0.05) and (1.475,-0.027614) - ..(1.475,0)\dpicstop -\dpicdraw (1.475,0) - --(1.75,0)\dpicstop -\dpicdraw[fill=white](1.475,0) circle (0.007874in)\dpicstop -\draw (1.375,-0.2) node{{\tt fuse(,D)}}; -\dpicdraw (2,0) - --(2.275,0)\dpicstop -\dpicdraw (2.475,0) - --(2.475,0.05) - --(2.275,0.05) - --(2.275,-0.05) - --(2.475,-0.05) - --(2.475,0)\dpicstop -\dpicdraw (2.275,0) - --(2.75,0)\dpicstop -\draw (2.375,-0.2) node{{\tt fuse(,B)}}; -\dpicdraw (3,0) - --(3.275,0)\dpicstop -\dpicdraw (3.475,0) - --(3.475,0.05) - --(3.275,0.05) - --(3.275,-0.05) - --(3.475,-0.05) - --(3.475,0)\dpicstop -\dpicdraw (3.315,-0.05) - --(3.315,0.05)\dpicstop -\dpicdraw (3.435,-0.05) - --(3.435,0.05)\dpicstop -\dpicdraw (3.475,0) - --(3.75,0)\dpicstop -\draw (3.375,-0.2) node{{\tt fuse(,C)}}; -\dpicdraw (4,0) - --(4.275,0)\dpicstop -\dpicdraw (4.475,0) - --(4.475,0.05) - --(4.275,0.05) - --(4.275,-0.05) - --(4.475,-0.05) - --(4.475,0)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (4.315,0) - --(4.315,0.05) - --(4.275,0.05) - --(4.275,-0.05) - --(4.315,-0.05) - --(4.315,0)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (4.475,0) - --(4.75,0)\dpicstop -\draw (4.375,-0.2) node{{\tt fuse(,S)}}; -\dpicdraw (5,0) - --(5.208333,0)\dpicstop -\dpicdraw (5.508333,0) - --(5.508333,0.05) - --(5.241667,0.05) - --(5.241667,-0.05) - --(5.508333,-0.05) - --(5.508333,0)\dpicstop -\dpicdraw (5.541667,0) - --(5.541667,0.083333) - --(5.208333,0.083333) - --(5.208333,-0.083333) - --(5.541667,-0.083333) - --(5.541667,0)\dpicstop -\dpicdraw (5.208333,0) - --(5.75,0)\dpicstop -\draw (5.375,-0.2) node{{\tt fuse(,HB)}}; -\dpicdraw (0,-0.5) - --(0.125,-0.5)\dpicstop -\dpicdraw (0.565,-0.5) - --(0.565,-0.41) - --(0.185,-0.41) - --(0.185,-0.59) - --(0.565,-0.59) - --(0.565,-0.5)\dpicstop -\dpicdraw (0.261,-0.41) - --(0.261,-0.59)\dpicstop -\dpicdraw (0.489,-0.41) - --(0.489,-0.59)\dpicstop -\dpicdraw (0.625,-0.5) - --(0.625,-0.35) - --(0.125,-0.35) - --(0.125,-0.65) - --(0.625,-0.65) - --(0.625,-0.5)\dpicstop -\dpicdraw (0.625,-0.5) - --(0.75,-0.5)\dpicstop -\draw (0.375,-0.75) node{{\tt (,HC,0.5,0.3)}}; -\dpicdraw (1,-0.5) - --(1.291667,-0.5)\dpicstop -\dpicdraw (1.276042,-0.46875) - ..controls (1.325521,-0.402778) and (1.424479,-0.402778) - ..(1.473958,-0.46875)\dpicstop -\dpicdraw (1.458333,-0.5) - --(1.75,-0.5)\dpicstop -\draw (1.375,-0.75) node{{\tt cbreaker}}; -\dpicdraw (2,-0.5) - --(2.291667,-0.5)\dpicstop -\dpicdraw (2.276042,-0.53125) - ..controls (2.325521,-0.597222) and (2.424479,-0.597222) - ..(2.473958,-0.53125)\dpicstop -\dpicdraw (2.458333,-0.5) - --(2.75,-0.5)\dpicstop -\draw (2.375,-0.75) node{{\tt cbreaker(,R)}}; -\dpicdraw (3,-0.5) - --(3.291667,-0.5)\dpicstop -\dpicdraw (3.276042,-0.46875) - ..controls (3.325521,-0.402778) and (3.424479,-0.402778) - ..(3.473958,-0.46875)\dpicstop -\dpicdraw (3.458333,-0.5) - --(3.75,-0.5)\dpicstop -\draw (3.375,-0.75) node{{\tt $\ldots$(,{,}D)}}; -\dpicdraw (4,-0.5) - --(4.275,-0.5)\dpicstop -\dpicdraw[line width=0.4bp](4.275,-0.5) circle (0.00109in)\dpicstop -\dpicdraw (4.275,-0.5) - ..controls (4.275,-0.46151) and (4.316667,-0.437454) - ..(4.35,-0.456699) - ..controls (4.383333,-0.475944) and (4.383333,-0.524056) - ..(4.35,-0.543301)\dpicstop -\dpicdraw[line width=0.4bp](4.475,-0.5) circle (0.00109in)\dpicstop -\dpicdraw (4.475,-0.5) - ..controls (4.475,-0.53849) and (4.433333,-0.562546) - ..(4.4,-0.543301) - ..controls (4.366667,-0.524056) and (4.366667,-0.475944) - ..(4.4,-0.456699)\dpicstop -\dpicdraw (4.475,-0.5) - --(4.75,-0.5)\dpicstop -\draw (4.375,-0.75) node{{\tt $\ldots$(,{,}T)}}; -\dpicdraw (5,-0.5) - --(5.325,-0.5) - --(5.325,-0.45) - --(5.425,-0.45) - --(5.425,-0.5) - --(5.75,-0.5)\dpicstop -\draw (5.375,-0.75) node{{\tt $\ldots$(,{,}TS)}}; -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Grounds.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Grounds.tex deleted file mode 100644 index 97ea3b7d9e7..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Grounds.tex +++ /dev/null @@ -1,91 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw (0,0) - --(0,-0.125)\dpicstop -\dpicdraw (0.083333,-0.125) - --(-0.083333,-0.125)\dpicstop -\dpicdraw (0.055556,-0.15625) - --(-0.055556,-0.15625)\dpicstop -\dpicdraw (0.035714,-0.1875) - --(-0.035714,-0.1875)\dpicstop -\dpicdraw (0.733333,0) - --(0.566667,-0)\dpicstop -\dpicdraw (0.705556,-0.03125) - --(0.594444,-0.03125)\dpicstop -\dpicdraw (0.685714,-0.0625) - --(0.614286,-0.0625)\dpicstop -\dpicdraw (1.3,0) - --(1.3,-0.125)\dpicstop -\dpicdraw (1.341667,-0.1875) - --(1.383333,-0.125) - --(1.216667,-0.125) - --(1.175,-0.1875)\dpicstop -\dpicdraw (1.3,-0.125) - --(1.258333,-0.1875)\dpicstop -\dpicdraw (1.95,0) - --(1.95,-0.125)\dpicstop -\dpicdraw[line width=1.6bp](2.005556,-0.125) - --(1.894444,-0.125)\dpicstop -\draw (0,-0.5) node{{\tt ground}}; -\draw (0.65,-0.402778) node{{\tt ground(,T)}}; -\draw (1.3,-0.5) node{{\tt (,{,}F)}}; -\draw (1.95,-0.5) node{{\tt (,{,}E)}}; -\dpicdraw (2.6,0) - --(2.6,-0.125)\dpicstop -\dpicdraw (2.6,-0.125) - --(2.683333,-0.125) - --(2.6,-0.25) - --(2.516667,-0.125) - --(2.6,-0.125)\dpicstop -\dpicdraw (3.25,-0.25) - --(3.25,-0.125)\dpicstop -\dpicdraw (3.25,-0.125) - --(3.166667,-0.125) - --(3.25,0) - --(3.333333,-0.125) - --(3.25,-0.125)\dpicstop -\dpicdraw (3.9,0) - --(3.9,-0.125)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (3.9,-0.125) - --(3.983333,-0.125) - --(3.9,-0.25) - --(3.816667,-0.125) - --(3.9,-0.125)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (4.55,0) - --(4.55,-0.125)\dpicstop -\dpicdraw (4.441747,-0.21875) - ..controls (4.393634,-0.135417) and (4.453775,-0.03125) - ..(4.55,-0.03125) - ..controls (4.646225,-0.03125) and (4.706366,-0.135417) - ..(4.658253,-0.21875)\dpicstop -\dpicdraw (4.633333,-0.125) - --(4.466667,-0.125)\dpicstop -\dpicdraw (4.605556,-0.15625) - --(4.494444,-0.15625)\dpicstop -\dpicdraw (4.585714,-0.1875) - --(4.514286,-0.1875)\dpicstop -\dpicdraw (5.2,0) - --(5.2,-0.125)\dpicstop -\dpicdraw (5.2,-0.15625) circle (0.049213in)\dpicstop -\dpicdraw (5.283333,-0.125) - --(5.116667,-0.125)\dpicstop -\dpicdraw (5.255556,-0.15625) - --(5.144444,-0.15625)\dpicstop -\dpicdraw (5.235714,-0.1875) - --(5.164286,-0.1875)\dpicstop -\draw (2.6,-0.5) node{{\tt (,{,}S)}}; -\draw (3.25,-0.5) node{{\tt (,{,}S,90)}}; -\draw (3.9,-0.5) node{{\tt (,{,}Q)}}; -\draw (4.55,-0.5) node{{\tt (,{,}L)}}; -\draw (5.2,-0.5) node{{\tt (,{,}P)}}; -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Headers.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Headers.tex deleted file mode 100644 index c5b11a87ec1..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Headers.tex +++ /dev/null @@ -1,214 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw (0.275,0) - --(0.275,0.15) - --(0.125,0.15) - --(0.125,-0.15) - --(0.275,-0.15) - --(0.275,0)\dpicstop -\dpicdraw (0.2,0.075) - --(0,0.075)\dpicstop -\fill[fill=white,line width=0bp](0.225,0.075) - --(0.225,0.1) - --(0.175,0.1) - --(0.175,0.05) - --(0.225,0.05) - --(0.225,0.075)--cycle -\dpicstop -\dpicdraw (0.225,0.075) - --(0.225,0.1) - --(0.175,0.1) - --(0.175,0.05) - --(0.225,0.05) - --(0.225,0.075)\dpicstop -\dpicdraw (0.2,-0.075) - --(0,-0.075)\dpicstop -\dpicdraw[fill=white](0.2,-0.075) circle (0.009843in)\dpicstop -\draw (0,0.075) node[left=-2bp]{\sl P1}; -\draw (0.1375,-0.28837) node{\tt Header}; -\draw (0,-0.075) node[left=-2bp]{\sl P2}; -\dpicdraw (1.464961,-0.09685) - --(1.464961,0.1) - --(1.15,0.1) - --(1.15,-0.293701) - --(1.464961,-0.293701) - --(1.464961,-0.09685)\dpicstop -\dpicdraw (1.225,0.034383) - --(1.025,0.034383)\dpicstop -\fill[fill=white,line width=0bp](1.25,0.034383) - --(1.25,0.059383) - --(1.2,0.059383) - --(1.2,0.009383) - --(1.25,0.009383) - --(1.25,0.034383)--cycle -\dpicstop -\dpicdraw (1.25,0.034383) - --(1.25,0.059383) - --(1.2,0.059383) - --(1.2,0.009383) - --(1.25,0.009383) - --(1.25,0.034383)\dpicstop -\dpicdraw (1.389961,0.034383) - --(1.589961,0.034383)\dpicstop -\dpicdraw[fill=white](1.389961,0.034383) circle (0.009843in)\dpicstop -\dpicdraw (1.225,-0.09685) - --(1.025,-0.09685)\dpicstop -\dpicdraw[fill=white](1.225,-0.09685) circle (0.009843in)\dpicstop -\dpicdraw (1.389961,-0.09685) - --(1.589961,-0.09685)\dpicstop -\dpicdraw[fill=white](1.389961,-0.09685) circle (0.009843in)\dpicstop -\dpicdraw (1.225,-0.228084) - --(1.025,-0.228084)\dpicstop -\dpicdraw[fill=white](1.225,-0.228084) circle (0.009843in)\dpicstop -\dpicdraw (1.389961,-0.228084) - --(1.589961,-0.228084)\dpicstop -\dpicdraw[fill=white](1.389961,-0.228084) circle (0.009843in)\dpicstop -\draw (1.025,0.034383) node[left=-2bp]{\sl P1}; -\draw (1.30748,-0.432071) node{\tt Header(2,3,8mm\_\_,10mm\_\_)}; -\draw (1.589961,0.034383) node[right=-2bp]{\sl P2}; -\draw (1.025,-0.228084) node[left=-2bp]{\sl P5}; -\draw (1.589961,-0.228084) node[right=-2bp]{\sl P6}; -\fill[fill=white!90!black,line width=0bp](2.464961,0.006299) - --(2.464961,-0.293701) - --(2.764961,-0.293701) - --(2.764961,0.306299) - --(2.464961,0.306299) - --(2.464961,0.006299)--cycle -\dpicstop -\dpicdraw (2.464961,0.006299) - --(2.464961,-0.293701) - --(2.764961,-0.293701) - --(2.764961,0.306299) - --(2.464961,0.306299) - --(2.464961,0.006299)\dpicstop -\dpicdraw (2.689961,-0.218701) - --(2.889961,-0.218701)\dpicstop -\fill[fill=white,line width=0bp](2.664961,-0.218701) - --(2.664961,-0.243701) - --(2.714961,-0.243701) - --(2.714961,-0.193701) - --(2.664961,-0.193701) - --(2.664961,-0.218701)--cycle -\dpicstop -\dpicdraw (2.664961,-0.218701) - --(2.664961,-0.243701) - --(2.714961,-0.243701) - --(2.714961,-0.193701) - --(2.664961,-0.193701) - --(2.664961,-0.218701)\dpicstop -\dpicdraw (2.539961,-0.218701) - --(2.339961,-0.218701)\dpicstop -\dpicdraw[fill=white](2.539961,-0.218701) circle (0.009843in)\dpicstop -\dpicdraw (2.689961,-0.068701) - --(2.889961,-0.068701)\dpicstop -\dpicdraw[fill=white](2.689961,-0.068701) circle (0.009843in)\dpicstop -\dpicdraw (2.539961,-0.068701) - --(2.339961,-0.068701)\dpicstop -\dpicdraw[fill=white](2.539961,-0.068701) circle (0.009843in)\dpicstop -\dpicdraw (2.689961,0.081299) - --(2.889961,0.081299)\dpicstop -\dpicdraw[fill=white](2.689961,0.081299) circle (0.009843in)\dpicstop -\dpicdraw (2.539961,0.081299) - --(2.339961,0.081299)\dpicstop -\dpicdraw[fill=white](2.539961,0.081299) circle (0.009843in)\dpicstop -\dpicdraw (2.689961,0.231299) - --(2.889961,0.231299)\dpicstop -\dpicdraw[fill=white](2.689961,0.231299) circle (0.009843in)\dpicstop -\dpicdraw (2.539961,0.231299) - --(2.339961,0.231299)\dpicstop -\dpicdraw[fill=white](2.539961,0.231299) circle (0.009843in)\dpicstop -\draw (2.889961,-0.218701) node[right=-2bp]{\sl P1}; -\draw (2.614961,-0.570441) node{\tt left\_; Header(2,4,{,},fill\_(0.9))}; -\draw (2.339961,0.231299) node[left=-2bp]{\sl P8}; -\dpicdraw (4.239961,-0.118701) - --(4.839961,-0.118701) - --(4.839961,0.181299) - --(3.639961,0.181299) - --(3.639961,-0.118701) - --(4.239961,-0.118701)\dpicstop -\dpicdraw (4.764961,0.106299) - --(4.764961,0.306299)\dpicstop -\fill[fill=white,line width=0bp](4.764961,0.081299) - --(4.789961,0.081299) - --(4.789961,0.131299) - --(4.739961,0.131299) - --(4.739961,0.081299) - --(4.764961,0.081299)--cycle -\dpicstop -\dpicdraw (4.764961,0.081299) - --(4.789961,0.081299) - --(4.789961,0.131299) - --(4.739961,0.131299) - --(4.739961,0.081299) - --(4.764961,0.081299)\dpicstop -\dpicdraw (4.764961,-0.043701) - --(4.764961,-0.243701)\dpicstop -\dpicdraw[fill=white](4.764961,-0.043701) circle (0.009843in)\dpicstop -\dpicdraw (4.614961,0.106299) - --(4.614961,0.306299)\dpicstop -\dpicdraw[fill=white](4.614961,0.106299) circle (0.009843in)\dpicstop -\dpicdraw (4.614961,-0.043701) - --(4.614961,-0.243701)\dpicstop -\dpicdraw[fill=white](4.614961,-0.043701) circle (0.009843in)\dpicstop -\dpicdraw (4.464961,0.106299) - --(4.464961,0.306299)\dpicstop -\dpicdraw[fill=white](4.464961,0.106299) circle (0.009843in)\dpicstop -\dpicdraw (4.464961,-0.043701) - --(4.464961,-0.243701)\dpicstop -\dpicdraw[fill=white](4.464961,-0.043701) circle (0.009843in)\dpicstop -\dpicdraw (4.314961,0.106299) - --(4.314961,0.306299)\dpicstop -\dpicdraw[fill=white](4.314961,0.106299) circle (0.009843in)\dpicstop -\dpicdraw (4.314961,-0.043701) - --(4.314961,-0.243701)\dpicstop -\dpicdraw[fill=white](4.314961,-0.043701) circle (0.009843in)\dpicstop -\dpicdraw (4.164961,0.106299) - --(4.164961,0.306299)\dpicstop -\dpicdraw[fill=white](4.164961,0.106299) circle (0.009843in)\dpicstop -\dpicdraw (4.164961,-0.043701) - --(4.164961,-0.243701)\dpicstop -\dpicdraw[fill=white](4.164961,-0.043701) circle (0.009843in)\dpicstop -\dpicdraw (4.014961,0.106299) - --(4.014961,0.306299)\dpicstop -\dpicdraw[fill=white](4.014961,0.106299) circle (0.009843in)\dpicstop -\dpicdraw (4.014961,-0.043701) - --(4.014961,-0.243701)\dpicstop -\dpicdraw[fill=white](4.014961,-0.043701) circle (0.009843in)\dpicstop -\dpicdraw (3.864961,0.106299) - --(3.864961,0.306299)\dpicstop -\dpicdraw[fill=white](3.864961,0.106299) circle (0.009843in)\dpicstop -\dpicdraw (3.864961,-0.043701) - --(3.864961,-0.243701)\dpicstop -\dpicdraw[fill=white](3.864961,-0.043701) circle (0.009843in)\dpicstop -\dpicdraw (3.714961,0.106299) - --(3.714961,0.306299)\dpicstop -\dpicdraw[fill=white](3.714961,0.106299) circle (0.009843in)\dpicstop -\dpicdraw (3.714961,-0.043701) - --(3.714961,-0.243701)\dpicstop -\dpicdraw[fill=white](3.714961,-0.043701) circle (0.009843in)\dpicstop -\draw (4.764961,0.306299) node[right=-2bp]{\sl P1}; -\draw (4.764961,-0.243701) node[right=-2bp]{\sl P2}; -\draw (4.239961,-0.382071) node{\tt down\_; Header(2,8)}; -\draw (3.714961,0.306299) node[left=-2bp]{\sl P15}; -\draw (3.714961,-0.243701) node[left=-2bp]{\sl P16}; -\dpiclw=0.4bp -\filldraw[line width=0bp](4.856627,0.126299) - --(4.789961,0.106299) - --(4.856627,0.086299) --cycle\dpicstop -\dpicdraw (4.809295,0.106299) - --(4.939961,0.106299)\dpicstop -\draw (4.939961,0.106299) node[right=-2bp]{\sl PinP1}; -\filldraw[line width=0bp](4.856627,-0.023701) - --(4.789961,-0.043701) - --(4.856627,-0.063701) --cycle\dpicstop -\dpicdraw (4.809295,-0.043701) - --(4.939961,-0.043701)\dpicstop -\draw (4.939961,-0.043701) node[right=-2bp]{\sl PinP2}; -\dpiclw=0.8bp -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Jack.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Jack.tex deleted file mode 100644 index 2a9610f47ab..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Jack.tex +++ /dev/null @@ -1,327 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw (0.127778,-0.061111) - --(0.277778,-0.061111) - --(0.277778,0.005556) - --(0.477778,0.005556)\dpicstop -\dpicdraw[fill=white](0.477778,0.005556) circle (0.007874in)\dpicstop -\dpicdraw (0.127778,0.138889) - --(0.277778,0.138889) - --(0.277778,0.072222) - --(0.427778,0.072222)\dpicstop -\draw (0.127778,-0.061111) node[left=-2bp]{\sl A}; -\draw (0.127778,0.138889) node[left=-2bp]{\sl B}; -\draw (0.427778,0.072222) node[above right=-2bp]{\sl TB}; -\draw (0.477778,0.005556) node[below right=-2bp]{\sl TA}; -\dpicdraw (0.977778,0.138889) - --(1.127778,0.138889) - --(1.127778,0.072222) - --(1.327778,0.072222)\dpicstop -\dpicdraw[fill=white](1.327778,0.072222) circle (0.007874in)\dpicstop -\dpicdraw (0.977778,-0.061111) - --(1.127778,-0.061111) - --(1.127778,0.005556) - --(1.277778,0.005556)\dpicstop -\draw (0.977778,0.138889) node[left=-2bp]{\sl A}; -\draw (0.977778,-0.061111) node[left=-2bp]{\sl B}; -\dpicdraw (1.827778,-0.061111) - --(1.977778,-0.061111) - --(1.977778,0.022222) - --(2.177778,0.022222)\dpicstop -\dpicdraw[fill=white](2.177778,0.022222) circle (0.007874in)\dpicstop -\dpicdraw (1.827778,0.063889) - --(2.127778,0.063889)\dpicstop -\dpicdraw (1.827778,0.188889) - --(1.977778,0.188889) - --(1.977778,0.105556) - --(2.127778,0.105556)\dpicstop -\draw (1.827778,-0.061111) node[left=-2bp]{\sl A}; -\draw (1.827778,0.188889) node[left=-2bp]{\sl B}; -\draw (1.827778,0.063889) node[left=-2bp]{\sl C}; -\dpicdraw (2.827778,-0.061111) - --(2.677778,-0.061111) - --(2.677778,0.022222) - --(2.477778,0.022222)\dpicstop -\dpicdraw[fill=white](2.477778,0.022222) circle (0.007874in)\dpicstop -\dpicdraw (2.827778,0.063889) - --(2.527778,0.063889)\dpicstop -\dpicdraw (2.827778,0.188889) - --(2.677778,0.188889) - --(2.677778,0.105556) - --(2.527778,0.105556)\dpicstop -\draw (2.827778,-0.061111) node[right=-2bp]{\sl A}; -\draw (2.827778,0.188889) node[right=-2bp]{\sl B}; -\draw (2.827778,0.063889) node[right=-2bp]{\sl C}; -\draw (0.312778,-0.161111) node[below=-2bp]{\tt plug}; -\draw (1.162778,-0.161111) node[below=-2bp]{\tt plug(,R)}; -\draw (1.912778,-0.161111) node[below=-2bp]{\tt plug(,3)}; -\draw (2.742778,-0.161111) node[below=-2bp]{\tt plug(L,3R)}; -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!100!black] -\dpicdraw (0.498611,-0.871242) - --(0.498611,-0.746242) - --(0.456944,-0.746242) - --(0.456944,-0.996242) - --(0.498611,-0.996242) - --(0.498611,-0.871242)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (0.427778,-0.758742) - --(0.396528,-0.789992) - --(0.365278,-0.758742) - --(0.127778,-0.758742)\dpicstop -\dpicdraw[fill=white](0.127778,-0.758742) circle (0.007874in)\dpicstop -\dpiclw=0.4bp -\draw (0.127778,-0.758742) node[left=-2bp]{\sl L}; -\filldraw[line width=0bp](0.565278,-0.851242) - --(0.498611,-0.871242) - --(0.565278,-0.891242) --cycle\dpicstop -\dpicdraw (0.517945,-0.871242) - --(0.598611,-0.871242)\dpicstop -\draw (0.598611,-0.871242) node[right=-2bp]{\sl F}; -\filldraw[line width=0bp](0.497778,-1.062909) - --(0.477778,-0.996242) - --(0.457778,-1.062909) --cycle\dpicstop -\dpicdraw (0.477778,-1.015576) - --(0.477778,-1.096242) - --(0.377778,-1.096242)\dpicstop -\draw (0.377778,-1.096242) node[left=-2bp]{\sl G}; -\dpiclw=0.8bp -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!100!black] -\dpicdraw (1.698611,-0.871242) - --(1.698611,-0.746242) - --(1.656944,-0.746242) - --(1.656944,-0.996242) - --(1.698611,-0.996242) - --(1.698611,-0.871242)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (1.627778,-0.758742) - --(1.596528,-0.789992) - --(1.565278,-0.758742) - --(1.327778,-0.758742)\dpicstop -\dpicdraw[fill=white](1.327778,-0.758742) circle (0.007874in)\dpicstop -\filldraw[line width=0bp](1.396528,-0.671242) - --(1.427778,-0.733742) - --(1.459028,-0.671242) --cycle\dpicstop -\dpicdraw (1.427778,-0.72132) - --(1.427778,-0.639992)\dpicstop -\filldraw[line width=0bp](1.459028,-0.821242) - --(1.427778,-0.758742) - --(1.396528,-0.821242) --cycle\dpicstop -\dpicdraw (1.427778,-0.771165) - --(1.427778,-0.852492)\dpicstop -\dpicdraw (1.577778,-0.983742) - --(1.546528,-0.952492) - --(1.515278,-0.983742) - --(1.327778,-0.983742)\dpicstop -\dpicdraw[fill=white](1.327778,-0.983742) circle (0.007874in)\dpicstop -\dpiclw=0.4bp -\draw (1.327778,-0.758742) node[left=-2bp]{\sl L}; -\filldraw[line width=0bp](1.361111,-0.659992) - --(1.427778,-0.639992) - --(1.361111,-0.619992) --cycle\dpicstop -\dpicdraw (1.408444,-0.639992) - --(1.177778,-0.639992)\dpicstop -\draw (1.177778,-0.639992) node[left=-2bp]{\sl LM}; -\filldraw[line width=0bp](1.361111,-0.872492) - --(1.427778,-0.852492) - --(1.361111,-0.832492) --cycle\dpicstop -\dpicdraw (1.408444,-0.852492) - --(1.177778,-0.852492)\dpicstop -\draw (1.177778,-0.852492) node[left=-2bp]{\sl LB}; -\draw (1.327778,-0.983742) node[left=-2bp]{\sl S}; -\dpiclw=0.8bp -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!100!black] -\dpicdraw (2.098611,-0.871242) - --(2.098611,-0.996242) - --(2.140278,-0.996242) - --(2.140278,-0.746242) - --(2.098611,-0.746242) - --(2.098611,-0.871242)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (2.169444,-0.758742) - --(2.200694,-0.789992) - --(2.231944,-0.758742) - --(2.469444,-0.758742)\dpicstop -\dpicdraw[fill=white](2.469444,-0.758742) circle (0.007874in)\dpicstop -\dpicdraw (2.219444,-0.983742) - --(2.250694,-0.952492) - --(2.281944,-0.983742) - --(2.469444,-0.983742)\dpicstop -\dpicdraw[fill=white](2.469444,-0.983742) circle (0.007874in)\dpicstop -\dpiclw=0.4bp -\draw (2.469444,-0.758742) node[right=-2bp]{\sl L}; -\draw (2.469444,-0.983742) node[right=-2bp]{\sl S}; -\dpiclw=0.8bp -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!100!black] -\dpicdraw (3.198611,-0.871242) - --(3.198611,-0.996242) - --(3.240278,-0.996242) - --(3.240278,-0.746242) - --(3.198611,-0.746242) - --(3.198611,-0.871242)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (3.269444,-0.758742) - --(3.300694,-0.789992) - --(3.331944,-0.758742) - --(3.569444,-0.758742)\dpicstop -\dpicdraw[fill=white](3.569444,-0.758742) circle (0.007874in)\dpicstop -\filldraw[line width=0bp](3.500694,-0.821242) - --(3.469444,-0.758742) - --(3.438194,-0.821242) --cycle\dpicstop -\dpicdraw (3.469444,-0.771165) - --(3.469444,-0.852492)\dpicstop -\dpicdraw (3.319444,-0.571242) - --(3.569444,-0.571242)\dpicstop -\dpicdraw[fill=white](3.569444,-0.571242) circle (0.007874in)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!100!black] -\dpicdraw (3.339028,-0.664992) - --(3.339028,-0.758742) - --(3.359861,-0.758742) - --(3.359861,-0.571242) - --(3.339028,-0.571242) - --(3.339028,-0.664992)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\filldraw[line width=0bp](3.438194,-0.483742) - --(3.469444,-0.546242) - --(3.500694,-0.483742) --cycle\dpicstop -\dpicdraw (3.469444,-0.53382) - --(3.469444,-0.452492)\dpicstop -\dpicdraw (3.319444,-0.383742) - --(3.569444,-0.383742)\dpicstop -\dpicdraw[fill=white](3.569444,-0.383742) circle (0.007874in)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!100!black] -\dpicdraw (3.339028,-0.477492) - --(3.339028,-0.571242) - --(3.359861,-0.571242) - --(3.359861,-0.383742) - --(3.339028,-0.383742) - --(3.339028,-0.477492)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\filldraw[line width=0bp](3.438194,-0.296242) - --(3.469444,-0.358742) - --(3.500694,-0.296242) --cycle\dpicstop -\dpicdraw (3.469444,-0.34632) - --(3.469444,-0.264992)\dpicstop -\dpicdraw (3.319444,-0.983742) - --(3.350694,-0.952492) - --(3.381944,-0.983742) - --(3.569444,-0.983742)\dpicstop -\dpicdraw[fill=white](3.569444,-0.983742) circle (0.007874in)\dpicstop -\dpiclw=0.4bp -\draw (3.569444,-0.571242) node[right=-2bp]{\sl L1}; -\filldraw[line width=0bp](3.536111,-0.432492) - --(3.469444,-0.452492) - --(3.536111,-0.472492) --cycle\dpicstop -\dpicdraw (3.488778,-0.452492) - --(3.769444,-0.452492)\dpicstop -\draw (3.769444,-0.452492) node[right=-2bp]{\sl LM1}; -\draw (3.569444,-0.383742) node[right=-2bp]{\sl L2}; -\filldraw[line width=0bp](3.536111,-0.244992) - --(3.469444,-0.264992) - --(3.536111,-0.284992) --cycle\dpicstop -\dpicdraw (3.488778,-0.264992) - --(3.769444,-0.264992)\dpicstop -\draw (3.769444,-0.264992) node[right=-2bp]{\sl LM2}; -\draw (3.569444,-0.983742) node[right=-2bp]{\sl S}; -\draw (3.569444,-0.758742) node[right=-2bp]{\sl L}; -\filldraw[line width=0bp](3.536111,-0.832492) - --(3.469444,-0.852492) - --(3.536111,-0.872492) --cycle\dpicstop -\dpicdraw (3.488778,-0.852492) - --(3.669444,-0.852492)\dpicstop -\draw (3.669444,-0.852492) node[right=-2bp]{\sl LB}; -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!100!black] -\dpicdraw (5.148611,-0.871242) - --(5.148611,-0.746242) - --(5.106944,-0.746242) - --(5.106944,-0.996242) - --(5.148611,-0.996242) - --(5.148611,-0.871242)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (5.077778,-0.983742) - --(5.046528,-0.952492) - --(5.015278,-0.983742) - --(4.777778,-0.983742)\dpicstop -\dpicdraw[fill=white](4.777778,-0.983742) circle (0.007874in)\dpicstop -\filldraw[line width=0bp](4.846528,-0.921242) - --(4.877778,-0.983742) - --(4.909028,-0.921242) --cycle\dpicstop -\dpicdraw (4.877778,-0.97132) - --(4.877778,-0.889992)\dpicstop -\dpicdraw (5.027778,-0.758742) - --(4.996528,-0.789992) - --(4.965278,-0.758742) - --(4.777778,-0.758742)\dpicstop -\dpicdraw[fill=white](4.777778,-0.758742) circle (0.007874in)\dpicstop -\filldraw[line width=0bp](4.909028,-0.821242) - --(4.877778,-0.758742) - --(4.846528,-0.821242) --cycle\dpicstop -\dpicdraw (4.877778,-0.771165) - --(4.877778,-0.852492)\dpicstop -\dpicdraw (4.977778,-0.571242) - --(4.777778,-0.571242)\dpicstop -\dpicdraw[fill=white](4.777778,-0.571242) circle (0.007874in)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!100!black] -\dpicdraw (4.958194,-0.664992) - --(4.958194,-0.571242) - --(4.937361,-0.571242) - --(4.937361,-0.758742) - --(4.958194,-0.758742) - --(4.958194,-0.664992)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\filldraw[line width=0bp](4.846528,-0.483742) - --(4.877778,-0.546242) - --(4.909028,-0.483742) --cycle\dpicstop -\dpicdraw (4.877778,-0.53382) - --(4.877778,-0.452492)\dpicstop -\draw (4.777778,-0.983742) node[left=-2bp]{\sl L}; -\draw (4.777778,-0.758742) node[left=-2bp]{\sl S}; -\draw (4.777778,-0.571242) node[left=-2bp]{\sl S1}; -\filldraw[line width=0bp](4.811111,-0.472492) - --(4.877778,-0.452492) - --(4.811111,-0.432492) --cycle\dpicstop -\dpicdraw (4.858444,-0.452492) - --(4.577778,-0.452492)\dpicstop -\draw (4.577778,-0.452492) node[left=-2bp]{\sl SM1}; -\filldraw[line width=0bp](4.811111,-0.909992) - --(4.877778,-0.889992) - --(4.811111,-0.869992) --cycle\dpicstop -\dpicdraw (4.858444,-0.889992) - ..controls (4.743111,-0.889992) and (4.577778,-0.914992) - ..(4.527778,-0.939992)\dpicstop -\draw (4.527778,-0.939992) node[left=-2bp]{\sl LB}; -\filldraw[line width=0bp](4.811111,-0.872492) - --(4.877778,-0.852492) - --(4.811111,-0.832492) --cycle\dpicstop -\dpicdraw (4.858444,-0.852492) - ..controls (4.743111,-0.852492) and (4.577778,-0.827492) - ..(4.527778,-0.802492)\dpicstop -\draw (4.527778,-0.802492) node[left=-2bp]{\sl SB}; -\dpiclw=0.8bp -\draw (0.303194,-1.146242) node[below=-2bp]{\tt jack}; -\draw (1.334306,-1.146242) node[below=-2bp]{\tt jack(,LMBS)}; -\draw (2.294028,-1.146242) node[below=-2bp]{\tt ..(L,RLS)}; -\draw (3.394028,-1.146242) node[below=-2bp]{\tt ..(L,RLBLMLMS)}; -\draw (4.953194,-1.146242) node[below=-2bp]{\tt ..(,RSBSMLB)}; -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Logic.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Logic.tex deleted file mode 100644 index fae1a4e3c03..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Logic.tex +++ /dev/null @@ -1,212 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw (0.2,0.45) - --(0,0.45) - --(0,0.75) - --(0.2,0.75)\dpicstop -\dpicdraw (0.2,0.75) - ..controls (0.4,0.75) and (0.4,0.45) - ..(0.2,0.45)\dpicstop -\draw (0.6,0.6) node[right=-2bp]{{\tt AND\_gate}}; -\dpicdraw (0.122222,0.348911) - --(0,0.348911)\dpicstop -\dpicdraw (0.004513,0.351089) - ..controls (0.050565,0.25571) and (0.050948,0.144606) - ..(0.005556,0.048911)\dpicstop -\dpicdraw (0,0.048911) - --(0.122222,0.048911)\dpicstop -\dpicdraw (0.122222,0.348911) - ..controls (0.222661,0.348911) and (0.313857,0.290284) - ..(0.355556,0.198911)\dpicstop -\dpicdraw (0.122222,0.048911) - ..controls (0.222661,0.048911) and (0.313857,0.107537) - ..(0.355556,0.198911)\dpicstop -\draw (0.6,0.2) node[right=-2bp]{{\tt OR\_gate}}; -\dpicdraw (0.175,-0.2) - --(0,-0.3) - --(0,-0.1) - --(0.175,-0.2)\dpicstop -\draw (0.6,-0.2) node[right=-2bp]{{\tt BUFFER\_gate}}; -\dpicdraw (-0,-0.451089) - ..controls (0.04503,-0.54602) and (0.04503,-0.656159) - ..(-0,-0.751089)\dpicstop -\dpicdraw (0.166667,-0.451089) - --(0.044444,-0.451089)\dpicstop -\dpicdraw (0.048957,-0.448911) - ..controls (0.095009,-0.54429) and (0.095392,-0.655394) - ..(0.05,-0.751089)\dpicstop -\dpicdraw (0.044444,-0.751089) - --(0.166667,-0.751089)\dpicstop -\dpicdraw (0.166667,-0.451089) - ..controls (0.267105,-0.451089) and (0.358302,-0.509716) - ..(0.4,-0.601089)\dpicstop -\dpicdraw (0.166667,-0.751089) - ..controls (0.267105,-0.751089) and (0.358302,-0.692463) - ..(0.4,-0.601089)\dpicstop -\draw (0.6,-0.6) node[right=-2bp]{{\tt XOR\_gate}}; -\dpicdraw (2.13718,0.45) - --(1.93718,0.45) - --(1.93718,0.75) - --(2.13718,0.75)\dpicstop -\dpicdraw (2.13718,0.75) - ..controls (2.33718,0.75) and (2.33718,0.45) - ..(2.13718,0.45)\dpicstop -\dpicdraw (2.32468,0.6) circle (0.014764in)\dpicstop -\draw (2.53718,0.6) node[right=-2bp]{{\tt NAND\_gate}}; -\dpicdraw (2.059402,0.348911) - --(1.93718,0.348911)\dpicstop -\dpicdraw (1.941693,0.351089) - ..controls (1.987745,0.25571) and (1.988128,0.144606) - ..(1.942736,0.048911)\dpicstop -\dpicdraw (1.93718,0.048911) - --(2.059402,0.048911)\dpicstop -\dpicdraw (2.059402,0.348911) - ..controls (2.159841,0.348911) and (2.251037,0.290284) - ..(2.292736,0.198911)\dpicstop -\dpicdraw (2.059402,0.048911) - ..controls (2.159841,0.048911) and (2.251037,0.107537) - ..(2.292736,0.198911)\dpicstop -\dpicdraw (2.330236,0.198911) circle (0.014764in)\dpicstop -\draw (2.53718,0.2) node[right=-2bp]{{\tt NOR\_gate(3)}}; -\dpiclw=0.4bp -\filldraw[line width=0bp](2.434402,0.218911) - --(2.367736,0.198911) - --(2.434402,0.178911) --cycle\dpicstop -\dpicdraw (2.387069,0.198911) - --(2.444069,0.198911) - ..controls (2.482069,0.198911) and (2.501069,0.223911) - ..(2.501069,0.273911) - ..controls (2.501069,0.323911) and (2.509402,0.348911) - ..(2.526069,0.348911) - --(2.551069,0.348911)\dpicstop -\draw (2.551069,0.348911) node[right=-2bp]{{\tt Out}}; -\filldraw[line width=0bp](2.350236,0.132244) - --(2.330236,0.198911) - --(2.310236,0.132244) --cycle\dpicstop -\dpicdraw (2.330236,0.179577) - --(2.330236,0.122577) - ..controls (2.330236,0.084577) and (2.369819,0.062799) - ..(2.448986,0.057244) - --(2.567736,0.048911)\dpicstop -\draw (2.567736,0.048911) node[right=-2bp]{{\tt N\_Out}}; -\filldraw[line width=0bp](1.902093,0.263339) - --(1.961918,0.298911) - --(1.892391,0.302144) --cycle\dpicstop -\dpicdraw (1.943161,0.294221) - --(1.761918,0.248911)\dpicstop -\draw (1.761918,0.268911) node[left=-2bp]{{\tt In1\/}}; -\filldraw[line width=0bp](1.916682,0.163339) - --(1.976508,0.198911) - --(1.906981,0.202144) --cycle\dpicstop -\dpicdraw (1.957751,0.194221) - --(1.776508,0.148911)\dpicstop -\draw (1.776508,0.148911) node[left=-2bp]{{\tt In2\/}}; -\filldraw[line width=0bp](1.902093,0.063339) - --(1.961918,0.098911) - --(1.892391,0.102144) --cycle\dpicstop -\dpicdraw (1.943161,0.094221) - --(1.761918,0.048911)\dpicstop -\draw (1.761918,0.028911) node[left=-2bp]{{\tt In3\/}}; -\dpiclw=0.8bp -\dpicdraw (2.11218,-0.2) - --(1.93718,-0.3) - --(1.93718,-0.1) - --(2.11218,-0.2)\dpicstop -\dpicdraw (2.14968,-0.2) circle (0.014764in)\dpicstop -\draw (2.53718,-0.2) node[right=-2bp]{{\tt NOT\_gate}}; -\dpicdraw (1.992998,-0.451089) - ..controls (2.038027,-0.54602) and (2.038027,-0.656159) - ..(1.992998,-0.751089)\dpicstop -\dpicdraw (2.159664,-0.451089) - --(2.037442,-0.451089)\dpicstop -\dpicdraw (2.041955,-0.448911) - ..controls (2.088007,-0.54429) and (2.08839,-0.655394) - ..(2.042998,-0.751089)\dpicstop -\dpicdraw (2.037442,-0.751089) - --(2.159664,-0.751089)\dpicstop -\dpicdraw (2.159664,-0.451089) - ..controls (2.260103,-0.451089) and (2.351299,-0.509716) - ..(2.392998,-0.601089)\dpicstop -\dpicdraw (2.159664,-0.751089) - ..controls (2.260103,-0.751089) and (2.351299,-0.692463) - ..(2.392998,-0.601089)\dpicstop -\dpicdraw (2.430498,-0.601089) circle (0.014764in)\dpicstop -\dpicdraw (1.97468,-0.501089) circle (0.014764in)\dpicstop -\dpicdraw (1.97468,-0.701089) circle (0.014764in)\dpicstop -\draw (2.53718,-0.6) node[right=-2bp]{{\tt NXOR\_gate(NPN)}}; -\filldraw[line width=0bp](1.834102,-0.501089) - --(1.93718,-0.501089) - --(1.846229,-0.452582) --cycle\dpicstop -\dpicdraw (1.914958,-0.495534) - --(1.73718,-0.451089)\dpicstop -\draw (1.73718,-0.431089) node[left=-2bp]{{\tt In1\/}}; -\filldraw[line width=0bp](1.923692,-0.601089) - --(2.02677,-0.601089) - --(1.935819,-0.552582) --cycle\dpicstop -\dpicdraw (2.004548,-0.595534) - --(1.82677,-0.551089)\dpicstop -\draw (1.82677,-0.551089) node[left=-2bp]{{\tt In2\/}}; -\filldraw[line width=0bp](1.834102,-0.701089) - --(1.93718,-0.701089) - --(1.846229,-0.652582) --cycle\dpicstop -\dpicdraw (1.914958,-0.695534) - --(1.73718,-0.651089)\dpicstop -\draw (1.73718,-0.671089) node[left=-2bp]{{\tt In3\/}}; -\dpicdraw (3.87436,0.6) - --(3.87436,0.775) - --(4.22436,0.775) - --(4.22436,0.425) - --(3.87436,0.425) - --(3.87436,0.6)\dpicstop -\draw (4.04936,0.705815) node{{\scriptsize$ \& $}}; -\draw (4.47436,0.6) node[right=-2bp]{{\tt NAND\_gate(,B)}}; -\dpicdraw (3.87436,0.2) - --(3.87436,0.375) - --(4.22436,0.375) - --(4.22436,0.025) - --(3.87436,0.025) - --(3.87436,0.2)\dpicstop -\draw (4.04936,0.305815) node{{\scriptsize$ \geq 1 $}}; -\dpicdraw (3.83686,0.316667) circle (0.014764in)\dpicstop -\dpicdraw (3.83686,0.2) circle (0.014764in)\dpicstop -\dpicdraw (3.83686,0.083333) circle (0.014764in)\dpicstop -\dpicdraw (4.26186,0.2) circle (0.014764in)\dpicstop -\draw (4.47436,0.2) node[right=-2bp]{{\tt NOR\_gate(3,NB)}}; -\dpicdraw (3.87436,-0.2) - --(3.87436,-0.025) - --(4.22436,-0.025) - --(4.22436,-0.375) - --(3.87436,-0.375) - --(3.87436,-0.2)\dpicstop -\draw (4.04936,-0.094185) node{{\scriptsize$ =1 $}}; -\dpicdraw (3.83686,-0.2875) circle (0.014764in)\dpicstop -\dpicdraw (4.26186,-0.2) circle (0.014764in)\dpicstop -\draw (4.47436,-0.2) node[right=-2bp]{{\tt BOX\_gate(PN,N,{,},=1)}}; -\dpicdraw (3.87436,-0.1125) - --(3.72436,-0.1125)\dpicstop -\dpicdraw (3.79936,-0.2875) - --(3.72436,-0.2875)\dpicstop -\dpicdraw (4.29936,-0.2) - --(4.44936,-0.2)\dpicstop -\dpicdraw (3.87436,-0.6) - --(3.87436,-0.425) - --(4.22436,-0.425) - --(4.22436,-0.775) - --(3.87436,-0.775) - --(3.87436,-0.6)\dpicstop -\draw (4.04936,-0.494185) node{{\scriptsize$ = $}}; -\dpicdraw (4.26186,-0.6) circle (0.014764in)\dpicstop -\draw (4.47436,-0.6) node[right=-2bp]{{\tt BOX\_gate(PP,N,{,},=)}}; -\dpicdraw (3.87436,-0.5125) - --(3.72436,-0.5125)\dpicstop -\dpicdraw (3.87436,-0.6875) - --(3.72436,-0.6875)\dpicstop -\dpicdraw (4.29936,-0.6) - --(4.44936,-0.6)\dpicstop -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Multiplexer.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Multiplexer.tex deleted file mode 100644 index a8a09d6e1cd..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Multiplexer.tex +++ /dev/null @@ -1,148 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -{\sf -\dpicdraw (0.2,0.075) - --(0.2,0.525) - --(0.6,0.425) - --(0.6,-0.275) - --(0.2,-0.375) - --(0.2,0.075)\dpicstop -\draw (0.4,0.075) node{\scriptsize M1}; -\dpicdraw (0.6,0.075) - --(0.8,0.075)\dpicstop -\dpicdraw (0.4,-0.325) - --(0.4,-0.525)\dpicstop -\draw (0.2,0.4125) node[right=-2bp]{{\scriptsize 0}}; -\dpicdraw (0.2,0.4125) - --(0,0.4125)\dpicstop -\draw (0.2,0.1875) node[right=-2bp]{{\scriptsize 1}}; -\dpicdraw (0.2,0.1875) - --(0,0.1875)\dpicstop -\draw (0.2,-0.0375) node[right=-2bp]{{\scriptsize 2}}; -\dpicdraw (0.2,-0.0375) - --(0,-0.0375)\dpicstop -\draw (0.2,-0.2625) node[right=-2bp]{{\scriptsize 3}}; -\dpicdraw (0.2,-0.2625) - --(0,-0.2625)\dpicstop -\draw (0.4,-0.525) node[below=-2bp]{\tt Mux(4,M1)}; -\draw (0,0.4125) node[left=-2bp]{\sl In0}; -\draw (0,0.1875) node[left=-2bp]{\sl In1}; -\draw (0,-0.0375) node[left=-2bp]{\sl In2}; -\draw (0,-0.2625) node[left=-2bp]{\sl In3}; -\draw (0.8,0.075) node[above=-2bp]{\sl Out}; -\draw (0.4,-0.525) node[above right=-2bp]{\sl Sel}; -\dpicdraw (1.5,-0.075) - --(1.5,-0.525) - --(1.1,-0.425) - --(1.1,0.275) - --(1.5,0.375) - --(1.5,-0.075)\dpicstop -\dpicdraw (1.1,-0.075) - --(0.9,-0.075)\dpicstop -\dpicdraw (1.3,0.325) - --(1.3,0.525)\dpicstop -\draw (1.5,0.285) node[left=-2bp]{{\scriptsize 0}}; -\dpicdraw (1.5,0.285) - --(1.7,0.285)\dpicstop -\draw (1.5,0.105) node[left=-2bp]{{\scriptsize 1}}; -\dpicdraw (1.5,0.105) - --(1.7,0.105)\dpicstop -\draw (1.5,-0.075) node[left=-2bp]{{\scriptsize 2}}; -\dpicdraw (1.5,-0.075) - --(1.7,-0.075)\dpicstop -\draw (1.5,-0.255) node[left=-2bp]{{\scriptsize 3}}; -\dpicdraw (1.5,-0.255) - --(1.7,-0.255)\dpicstop -\draw (1.5,-0.435) node[left=-2bp]{{\scriptsize $\overline{\hbox{OE}}$}}; -\dpicdraw (1.5375,-0.435) circle (0.014764in)\dpicstop -\dpicdraw (1.575,-0.435) - --(1.7,-0.435)\dpicstop -\draw (1.3,-0.802778) node{\tt left\_; Mux(4,{,}LNOE)}; -\draw (1.7,0.285) node[above=-2bp]{\sl In0}; -\draw (1.755556,-0.435) node[below=-2bp]{\sl NOE}; -\draw (0.9,-0.075) node[below=-2bp]{\sl Out}; -\draw (1.3,0.525) node[below left=-2bp]{\sl Sel}; -\dpicdraw (2.5,-0.0875) - --(2.5,0.3625) - --(2.9,0.2625) - --(2.9,-0.4375) - --(2.5,-0.5375) - --(2.5,-0.0875)\dpicstop -\dpicdraw (2.9,-0.0875) - --(3.1,-0.0875)\dpicstop -\dpicdraw (2.6,0.3375) - --(2.6,0.5375)\dpicstop -\dpicdraw (2.8,0.2875) - --(2.8,0.4875)\dpicstop -\draw (2.5,0.2725) node[right=-2bp]{{\scriptsize 00}}; -\dpicdraw (2.5,0.2725) - --(2.3,0.2725)\dpicstop -\draw (2.5,0.0925) node[right=-2bp]{{\scriptsize 01}}; -\dpicdraw (2.5,0.0925) - --(2.3,0.0925)\dpicstop -\draw (2.5,-0.0875) node[right=-2bp]{{\scriptsize 10}}; -\dpicdraw (2.5,-0.0875) - --(2.3,-0.0875)\dpicstop -\draw (2.5,-0.2675) node[right=-2bp]{{\scriptsize 11}}; -\dpicdraw (2.5,-0.2675) - --(2.3,-0.2675)\dpicstop -\draw (2.5,-0.4475) node[right=-2bp]{{\scriptsize OE}}; -\dpicdraw (2.5,-0.4475) - --(2.3,-0.4475)\dpicstop -\draw (2.7,-0.5375) node[below=-2bp]{\tt Mux(4,{,}OEBN2)}; -\draw (2.6,0.5375) node[left=-2bp]{\sl Sel0}; -\draw (2.8,0.4875) node[right=-2bp]{\sl Sel1}; -\draw (2.3,0.2725) node[left=-2bp]{\sl In0}; -\draw (2.3,-0.2675) node[left=-2bp]{\sl In3}; -\draw (2.3,-0.4475) node[left=-2bp]{\sl OE}; -\dpicdraw (4.491667,0.2) - --(5.191667,0.2) - --(5.091667,-0.2) - --(3.891667,-0.2) - --(3.791667,0.2) - --(4.491667,0.2)\dpicstop -\dpicdraw (4.491667,-0.2) - --(4.491667,-0.4)\dpicstop -\dpicdraw (3.808333,0.133333) - --(3.608333,0.133333)\dpicstop -\dpicdraw (3.841667,0) - --(3.641667,0)\dpicstop -\dpicdraw (3.875,-0.133333) - --(3.675,-0.133333)\dpicstop -\draw (3.879167,0.2) node[below=-2bp]{{\scriptsize 0}}; -\dpicdraw (3.879167,0.2) - --(3.879167,0.4)\dpicstop -\draw (4.054167,0.2) node[below=-2bp]{{\scriptsize 1}}; -\dpicdraw (4.054167,0.2) - --(4.054167,0.4)\dpicstop -\draw (4.229167,0.2) node[below=-2bp]{{\scriptsize 2}}; -\dpicdraw (4.229167,0.2) - --(4.229167,0.4)\dpicstop -\draw (4.404167,0.2) node[below=-2bp]{{\scriptsize 3}}; -\dpicdraw (4.404167,0.2) - --(4.404167,0.4)\dpicstop -\draw (4.579167,0.2) node[below=-2bp]{{\scriptsize 4}}; -\dpicdraw (4.579167,0.2) - --(4.579167,0.4)\dpicstop -\draw (4.754167,0.2) node[below=-2bp]{{\scriptsize 5}}; -\dpicdraw (4.754167,0.2) - --(4.754167,0.4)\dpicstop -\draw (4.929167,0.2) node[below=-2bp]{{\scriptsize 6}}; -\dpicdraw (4.929167,0.2) - --(4.929167,0.4)\dpicstop -\draw (5.104167,0.2) node[below=-2bp]{{\scriptsize 7}}; -\dpicdraw (5.104167,0.2) - --(5.104167,0.4)\dpicstop -\draw (4.4,-0.4) node[below=-2bp]{\tt down\_; Mux(8,{,}L3,{,}28*L\_unit)}; -\draw (3.608333,0.133333) node[left=-2bp]{\sl Sel0}; -\draw (3.675,-0.133333) node[below left=-2bp]{\sl Sel2}; -\draw (3.879167,0.4) node[left=-2bp]{\sl In0}; -\draw (5.104167,0.4) node[right=-2bp]{\sl In7}; -} -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/NLG.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/NLG.tex deleted file mode 100644 index ba14d3cb042..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/NLG.tex +++ /dev/null @@ -1,93 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw (0.145,-0.25) rectangle (0.895,0.25)\dpicstop -\draw (0.145,0) node[right=-2bp]{${}0$}; -\draw (0.895,0) node[left=-2bp]{$\infty$}; -\dpicdraw (0.145,0.125) - --(0.02,0.125)\dpicstop -\dpicdraw[fill=black](0.02,0.125) circle (0.007874in)\dpicstop -\dpicdraw (0.145,-0.125) - --(0.02,-0.125)\dpicstop -\dpicdraw[fill=black](0.02,-0.125) circle (0.007874in)\dpicstop -\dpicdraw (0.895,0.125) - --(1.02,0.125)\dpicstop -\dpicdraw[fill=black](1.02,0.125) circle (0.007874in)\dpicstop -\dpicdraw (0.895,-0.125) - --(1.02,-0.125)\dpicstop -\dpicdraw[fill=black](1.02,-0.125) circle (0.007874in)\dpicstop -\draw (0.52,-0.291511) node[below=-2bp]{\tt nullor}; -\dpicdraw (1.685,-0.25) rectangle (2.185,0.25)\dpicstop -\dpicdraw (1.685,0.125) - --(1.56,0.125)\dpicstop -\dpicdraw[fill=black](1.56,0.125) circle (0.007874in)\dpicstop -\dpicdraw (1.685,-0.125) - --(1.56,-0.125)\dpicstop -\dpicdraw[fill=black](1.56,-0.125) circle (0.007874in)\dpicstop -\dpicdraw (2.185,0.125) - --(2.31,0.125)\dpicstop -\dpicdraw[fill=black](2.31,0.125) circle (0.007874in)\dpicstop -\dpicdraw (2.185,-0.125) - --(2.31,-0.125)\dpicstop -\dpicdraw[fill=black](2.31,-0.125) circle (0.007874in)\dpicstop -\dpicdraw (1.685,0.125) - --(1.81,0.125) - --(1.81,-0.125) - --(1.685,-0.125)\dpicstop -\dpicdraw (1.81,-0.083333) - ..controls (1.856024,-0.083333) and (1.893333,-0.046024) - ..(1.893333,0) - ..controls (1.893333,0.046024) and (1.856024,0.083333) - ..(1.81,0.083333)\dpicstop -\dpicdraw (2.185,0.125) - --(2.06,0.125) - --(2.06,-0.125) - --(2.185,-0.125)\dpicstop -\dpicdraw (2.06,0.083333) - ..controls (2.013976,0.083333) and (1.976667,0.046024) - ..(1.976667,0) - ..controls (1.976667,-0.046024) and (2.013976,-0.083333) - ..(2.06,-0.083333)\dpicstop -\draw (1.935,-0.291511) node[below=-2bp]{\tt gyrator}; -\dpicdraw (2.83,0.125) - --(3.0175,0.125) - --(3.0175,-0.125) - --(2.83,-0.125)\dpicstop -\dpicdraw (3.0175,-0.083333) - ..controls (3.063524,-0.083333) and (3.100833,-0.046024) - ..(3.100833,0) - ..controls (3.100833,0.046024) and (3.063524,0.083333) - ..(3.0175,0.083333)\dpicstop -\dpicdraw (3.58,0.125) - --(3.3925,0.125) - --(3.3925,-0.125) - --(3.58,-0.125)\dpicstop -\dpicdraw (3.3925,0.083333) - ..controls (3.346476,0.083333) and (3.309167,0.046024) - ..(3.309167,0) - ..controls (3.309167,-0.046024) and (3.346476,-0.083333) - ..(3.3925,-0.083333)\dpicstop -\draw (3.205,-0.25) node{\tt gyrator(invis,{,}0,N)}; -\dpicdraw (4.705,-0.25) - --(4.705,-0.125) - --(4.955,-0.125) - --(4.955,-0.25)\dpicstop -\dpicdraw (4.913333,-0.125) - ..controls (4.913333,-0.078976) and (4.876024,-0.041667) - ..(4.83,-0.041667) - ..controls (4.783976,-0.041667) and (4.746667,-0.078976) - ..(4.746667,-0.125)\dpicstop -\dpicdraw (4.705,0.25) - --(4.705,0.125) - --(4.955,0.125) - --(4.955,0.25)\dpicstop -\dpicdraw (4.746667,0.125) - ..controls (4.746667,0.013889) and (4.913333,0.013889) - ..(4.913333,0.125)\dpicstop -\draw (4.83,-0.291511) node[below=-2bp]{\tt gyrator(invis wid boxht,{,}0,NV)}; -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/NPDT.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/NPDT.tex deleted file mode 100644 index 3cad25c409e..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/NPDT.tex +++ /dev/null @@ -1,121 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw[fill=white](0.024,-0.061976) circle (0.009449in)\dpicstop -\dpicdraw (0.224,-0.061976) - --(0.224,-0.061976)\dpicstop -\dpicdraw (0.224,-0.061976) - --(0.374,0.088024)\dpicstop -\dpicdraw (0.424,-0.061976) - --(0.424,-0.061976)\dpicstop -\dpicdraw[fill=white](0.224,-0.061976) circle (0.009449in)\dpicstop -\dpicdraw[fill=white](0.424,-0.061976) circle (0.009449in)\dpicstop -\draw (0.424,-0.085976) node[below=-2bp]{\sl R}; -\draw (0.224,-0.085976) node[below=-2bp]{\sl T}; -\draw (0.024,-0.085976) node[below=-2bp]{\sl L}; -\draw (0.224,-0.308024) node{\tt NPDT}; -\dpicdraw[fill=white](1.174,-0.061976) circle (0.009449in)\dpicstop -\dpicdraw (1.174,0.138024) - --(1.174,0.138024)\dpicstop -\dpicdraw (1.174,0.138024) - --(1.024,0.288024)\dpicstop -\dpicdraw (1.174,0.338024) - --(1.174,0.338024)\dpicstop -\dpicdraw[fill=white](1.174,0.138024) circle (0.009449in)\dpicstop -\dpicdraw[fill=white](1.174,0.338024) circle (0.009449in)\dpicstop -\draw (1.198,0.338024) node[right=-2bp]{\sl R}; -\draw (1.198,0.138024) node[right=-2bp]{\sl T}; -\draw (1.198,-0.061976) node[right=-2bp]{\sl L}; -\draw (1.212024,-0.235976) node{\tt up\_; NPDT\strut}; -\dpicdraw[fill=white](1.924,-0.061976) circle (0.009449in)\dpicstop -\dpicdraw (2.124,-0.061976) - --(2.124,-0.061976)\dpicstop -\dpicdraw (2.124,-0.061976) - --(2.274,0.088024)\dpicstop -\dpicdraw (2.324,-0.061976) - --(2.324,-0.061976)\dpicstop -\dpicdraw[fill=white](2.124,-0.061976) circle (0.009449in)\dpicstop -\dpicdraw[fill=white](2.324,-0.061976) circle (0.009449in)\dpicstop -\dpicdraw[fill=white](1.924,0.238024) circle (0.009449in)\dpicstop -\dpicdraw (2.124,0.238024) - --(2.124,0.238024)\dpicstop -\dpicdraw (2.124,0.238024) - --(2.274,0.388024)\dpicstop -\dpicdraw (2.324,0.238024) - --(2.324,0.238024)\dpicstop -\dpicdraw[fill=white](2.124,0.238024) circle (0.009449in)\dpicstop -\dpicdraw[fill=white](2.324,0.238024) circle (0.009449in)\dpicstop -\dpicdraw[dash pattern=on 0.05in off 0.05in](2.224,-0.001976) - --(2.224,0.373024)\dpicstop -\draw (2.348,-0.061976) node[right=-2bp]{\sl R1}; -\draw (1.9,-0.061976) node[left=-2bp]{\sl L1}; -\draw (2.348,0.238024) node[right=-2bp]{\sl R2}; -\draw (1.9,0.238024) node[left=-2bp]{\sl L2}; -\draw (2.124,-0.238024) node{\tt NPDT(2)\strut}; -\dpicdraw[fill=white](3.074,0.538024) circle (0.009449in)\dpicstop -\dpicdraw (3.274,0.538024) - --(3.274,0.538024)\dpicstop -\dpicdraw (3.274,0.538024) - --(3.424,0.388024)\dpicstop -\dpicdraw (3.474,0.538024) - --(3.474,0.538024)\dpicstop -\dpicdraw[fill=white](3.274,0.538024) circle (0.009449in)\dpicstop -\dpicdraw[fill=white](3.474,0.538024) circle (0.009449in)\dpicstop -\dpicdraw[fill=white](3.074,0.238024) circle (0.009449in)\dpicstop -\dpicdraw (3.274,0.238024) - --(3.274,0.238024)\dpicstop -\dpicdraw (3.274,0.238024) - --(3.424,0.088024)\dpicstop -\dpicdraw (3.474,0.238024) - --(3.474,0.238024)\dpicstop -\dpicdraw[fill=white](3.274,0.238024) circle (0.009449in)\dpicstop -\dpicdraw[fill=white](3.474,0.238024) circle (0.009449in)\dpicstop -\dpicdraw[fill=white](3.074,-0.061976) circle (0.009449in)\dpicstop -\dpicdraw (3.274,-0.061976) - --(3.274,-0.061976)\dpicstop -\dpicdraw (3.274,-0.061976) - --(3.424,-0.211976)\dpicstop -\dpicdraw (3.474,-0.061976) - --(3.474,-0.061976)\dpicstop -\dpicdraw[fill=white](3.274,-0.061976) circle (0.009449in)\dpicstop -\dpicdraw[fill=white](3.474,-0.061976) circle (0.009449in)\dpicstop -\dpicdraw[dash pattern=on 0.05in off 0.05in](3.374,0.478024) - --(3.374,-0.196976)\dpicstop -\draw (3.498,0.538024) node[right=-2bp]{\sl R1}; -\draw (3.05,0.538024) node[left=-2bp]{\sl L1}; -\draw (3.498,0.238024) node[right=-2bp]{\sl R2}; -\draw (3.05,0.238024) node[left=-2bp]{\sl L2}; -\draw (3.498,-0.061976) node[right=-2bp]{\sl R3}; -\draw (3.05,-0.061976) node[left=-2bp]{\sl L3}; -\draw (3.274,-0.211976) node[below=-2bp]{\tt NPDT(3,R)\strut}; -\dpicdraw[fill=white](4.624,-0.061976) circle (0.009449in)\dpicstop -\dpicdraw (4.424,-0.061976) - --(4.424,-0.061976)\dpicstop -\dpicdraw (4.424,-0.061976) - --(4.274,0.088024)\dpicstop -\dpicdraw (4.224,-0.061976) - --(4.224,-0.061976)\dpicstop -\dpicdraw[fill=white](4.424,-0.061976) circle (0.009449in)\dpicstop -\dpicdraw[fill=white](4.224,-0.061976) circle (0.009449in)\dpicstop -\dpicdraw[fill=white](4.624,0.238024) circle (0.009449in)\dpicstop -\dpicdraw (4.424,0.238024) - --(4.424,0.238024)\dpicstop -\dpicdraw (4.424,0.238024) - --(4.274,0.388024)\dpicstop -\dpicdraw (4.224,0.238024) - --(4.224,0.238024)\dpicstop -\dpicdraw[fill=white](4.424,0.238024) circle (0.009449in)\dpicstop -\dpicdraw[fill=white](4.224,0.238024) circle (0.009449in)\dpicstop -\dpicdraw[dash pattern=on 0.05in off 0.05in](4.324,-0.001976) - --(4.324,0.373024)\dpicstop -\draw (4.2,-0.061976) node[left=-2bp]{\sl R1}; -\draw (4.648,-0.061976) node[right=-2bp]{\sl L1}; -\draw (4.2,0.238024) node[left=-2bp]{\sl R2}; -\draw (4.648,0.238024) node[right=-2bp]{\sl L2}; -\draw (4.424,-0.238024) node{\tt left\_; NPDT(2,R)\strut}; -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Nport.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Nport.tex deleted file mode 100644 index e473f19b8d0..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Nport.tex +++ /dev/null @@ -1,116 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw (0.145,-0.25) rectangle (0.895,0.25)\dpicstop -\dpicdraw (0.145,0.125) - --(0.02,0.125)\dpicstop -\dpicdraw[fill=black](0.02,0.125) circle (0.007874in)\dpicstop -\dpicdraw (0.145,-0.125) - --(0.02,-0.125)\dpicstop -\dpicdraw[fill=black](0.02,-0.125) circle (0.007874in)\dpicstop -\dpicdraw (0.895,0.125) - --(1.02,0.125)\dpicstop -\dpicdraw[fill=black](1.02,0.125) circle (0.007874in)\dpicstop -\dpicdraw (0.895,-0.125) - --(1.02,-0.125)\dpicstop -\dpicdraw[fill=black](1.02,-0.125) circle (0.007874in)\dpicstop -\draw (0.02,0.125) node[above left=1bp]{\sl W1a}; -\draw (0.02,-0.125) node[below left=1bp]{\sl W1b}; -\draw (1.02,0.125) node[above right=1bp]{\sl E1a}; -\draw (1.02,-0.125) node[below right=1bp]{\sl E1b}; -\dpicdraw[fill=white!90!black](1.895,-0.5) rectangle (3.895,0.5)\dpicstop -\draw (2.895,0) node{n-port}; -\dpicdraw (1.895,0.25) - --(1.77,0.25)\dpicstop -\dpicdraw[fill=black](1.77,0.25) circle (0.007874in)\dpicstop -\dpicdraw (1.895,-0.25) - --(1.77,-0.25)\dpicstop -\dpicdraw[fill=black](1.77,-0.25) circle (0.007874in)\dpicstop -\dpicdraw (2.180714,0.5) - --(2.180714,0.625)\dpicstop -\dpicdraw[fill=black](2.180714,0.625) circle (0.007874in)\dpicstop -\dpicdraw (2.752143,0.5) - --(2.752143,0.625)\dpicstop -\dpicdraw[fill=black](2.752143,0.625) circle (0.007874in)\dpicstop -\dpicdraw (3.037857,0.5) - --(3.037857,0.625)\dpicstop -\dpicdraw[fill=black](3.037857,0.625) circle (0.007874in)\dpicstop -\dpicdraw (3.609286,0.5) - --(3.609286,0.625)\dpicstop -\dpicdraw[fill=black](3.609286,0.625) circle (0.007874in)\dpicstop -\dpicdraw (3.895,0.4) - --(4.02,0.4)\dpicstop -\dpicdraw[fill=black](4.02,0.4) circle (0.007874in)\dpicstop -\dpicdraw (3.895,0.2) - --(4.02,0.2)\dpicstop -\dpicdraw[fill=black](4.02,0.2) circle (0.007874in)\dpicstop -\dpicdraw (3.895,0.1) - --(4.02,0.1)\dpicstop -\dpicdraw[fill=black](4.02,0.1) circle (0.007874in)\dpicstop -\dpicdraw (3.895,-0.1) - --(4.02,-0.1)\dpicstop -\dpicdraw[fill=black](4.02,-0.1) circle (0.007874in)\dpicstop -\dpicdraw (3.895,-0.2) - --(4.02,-0.2)\dpicstop -\dpicdraw[fill=black](4.02,-0.2) circle (0.007874in)\dpicstop -\dpicdraw (3.895,-0.4) - --(4.02,-0.4)\dpicstop -\dpicdraw[fill=black](4.02,-0.4) circle (0.007874in)\dpicstop -\dpicdraw (2.048846,-0.5) - --(2.048846,-0.625)\dpicstop -\dpicdraw[fill=black](2.048846,-0.625) circle (0.007874in)\dpicstop -\dpicdraw (2.356538,-0.5) - --(2.356538,-0.625)\dpicstop -\dpicdraw[fill=black](2.356538,-0.625) circle (0.007874in)\dpicstop -\dpicdraw (2.510385,-0.5) - --(2.510385,-0.625)\dpicstop -\dpicdraw[fill=black](2.510385,-0.625) circle (0.007874in)\dpicstop -\dpicdraw (2.818077,-0.5) - --(2.818077,-0.625)\dpicstop -\dpicdraw[fill=black](2.818077,-0.625) circle (0.007874in)\dpicstop -\dpicdraw (2.971923,-0.5) - --(2.971923,-0.625)\dpicstop -\dpicdraw[fill=black](2.971923,-0.625) circle (0.007874in)\dpicstop -\dpicdraw (3.279615,-0.5) - --(3.279615,-0.625)\dpicstop -\dpicdraw[fill=black](3.279615,-0.625) circle (0.007874in)\dpicstop -\dpicdraw (3.433462,-0.5) - --(3.433462,-0.625)\dpicstop -\dpicdraw[fill=black](3.433462,-0.625) circle (0.007874in)\dpicstop -\dpicdraw (3.741154,-0.5) - --(3.741154,-0.625)\dpicstop -\dpicdraw[fill=black](3.741154,-0.625) circle (0.007874in)\dpicstop -\draw (1.77,0.25) node[left=1bp]{\sl W1a}; -\draw (1.77,-0.25) node[left=1bp]{\sl W1b}; -\draw (4.02,0.4) node[right=1bp]{\sl E1a}; -\draw (4.02,-0.4) node[right=1bp]{\sl E3b}; -\draw (2.180714,0.625) node[above=1bp]{\sl N1a}; -\draw (2.752143,0.625) node[above=1bp]{\sl N1b$\;\;$}; -\draw (3.037857,0.625) node[above=1bp]{\sl $\;\;$N2a}; -\draw (3.609286,0.625) node[above=1bp]{\sl N2b}; -\draw (2.048846,-0.625) node[below=1bp]{\sl S1a}; -\draw (3.741154,-0.625) node[below=1bp]{\sl S4b}; -\draw (2.895,-0.725) node{$\cdots$}; -\draw (4.17,0.05) node{$\vdots$}; -\dpicdraw (4.895,-0.166667) rectangle (5.395,0.166667)\dpicstop -\dpicdraw (4.895,0) - --(4.77,0)\dpicstop -\dpicdraw[fill=black](4.77,0) circle (0.007874in)\dpicstop -\dpicdraw (5.395,0) - --(5.52,0)\dpicstop -\dpicdraw[fill=black](5.52,0) circle (0.007874in)\dpicstop -\dpicdraw (5.145,-0.166667) - --(5.145,-0.291667)\dpicstop -\dpicdraw[fill=black](5.145,-0.291667) circle (0.007874in)\dpicstop -\draw (4.77,0) node[left=1bp]{\sl W1}; -\draw (5.52,0) node[right=1bp]{\sl E1}; -\draw (5.145,-0.291667) node[below=1bp]{\sl S1}; -\draw (0.52,-0.55) node{\tt nport}; -\draw (2.895,-0.895) node{\tt nport(wid 2.0 ht 1 fill\_(0.9) "n-port",1,2,3,4)}; -\draw (5.145,-0.611667) node{\tt nterm}; -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Pconn.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Pconn.tex deleted file mode 100644 index 0bc608cbd9e..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Pconn.tex +++ /dev/null @@ -1,462 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw (0.598611,0.013889) - --(0.598611,0.263889) - --(0.098611,0.263889) - --(0.098611,-0.236111) - --(0.598611,-0.236111) - --(0.598611,0.013889)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (0.469444,0.088889) - --(0.469444,0.163889) - --(0.427778,0.163889) - --(0.427778,0.013889) - --(0.469444,0.013889) - --(0.469444,0.088889)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (0.269444,0.088889) - --(0.269444,0.151389) - --(0.227778,0.151389) - --(0.227778,0.026389) - --(0.269444,0.026389) - --(0.269444,0.088889)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\fill[fill=black,line width=0bp](0.390278,-0.111111) - ..controls (0.390278,-0.088099) and (0.371623,-0.069444) - ..(0.348611,-0.069444) - ..controls (0.325599,-0.069444) and (0.306944,-0.088099) - ..(0.306944,-0.111111)--cycle -\dpicstop -\dpicdraw (0.390278,-0.111111) - ..controls (0.390278,-0.088099) and (0.371623,-0.069444) - ..(0.348611,-0.069444) - ..controls (0.325599,-0.069444) and (0.306944,-0.088099) - ..(0.306944,-0.111111)\dpicstop -\fill[fill=black,line width=0bp](0.306944,-0.111111) - --(0.306944,-0.152778) - --(0.390278,-0.152778) - --(0.390278,-0.111111)--cycle -\dpicstop -\dpicdraw (0.306944,-0.111111) - --(0.306944,-0.152778) - --(0.390278,-0.152778) - --(0.390278,-0.111111)\dpicstop -\dpiclw=0.4bp -\filldraw[line width=0bp](0.161111,0.068889) - --(0.227778,0.088889) - --(0.161111,0.108889) --cycle\dpicstop -\dpicdraw (0.218111,0.088889) - --(0.027778,0.088889)\dpicstop -\draw (0.027778,0.088889) node[left=-2bp]{\sl H}; -\dpiclw=0.8bp -\draw (0.348611,-0.236111) node[below=-2bp]{\tt pconnex(,A)}; -\dpicdraw (1.398611,0.013889) - --(1.398611,0.263889) - --(0.898611,0.263889) - --(0.898611,-0.236111) - --(1.398611,-0.236111) - --(1.398611,0.013889)\dpicstop -\dpicdraw (1.069444,0.088889) - --(1.069444,0.163889) - --(1.027778,0.163889) - --(1.027778,0.013889) - --(1.069444,0.013889) - --(1.069444,0.088889)\dpicstop -\dpicdraw (1.269444,0.088889) - --(1.269444,0.151389) - --(1.227778,0.151389) - --(1.227778,0.026389) - --(1.269444,0.026389) - --(1.269444,0.088889)\dpicstop -\dpicdraw (1.190278,-0.111111) - ..controls (1.190278,-0.088099) and (1.171623,-0.069444) - ..(1.148611,-0.069444) - ..controls (1.125599,-0.069444) and (1.106944,-0.088099) - ..(1.106944,-0.111111)\dpicstop -\dpicdraw (1.106944,-0.111111) - --(1.106944,-0.152778) - --(1.190278,-0.152778) - --(1.190278,-0.111111)\dpicstop -\dpiclw=0.4bp -\filldraw[line width=0bp](1.320129,0.136592) - --(1.269444,0.088889) - --(1.338017,0.100815) --cycle\dpicstop -\dpicdraw (1.278091,0.093212) - --(1.469444,0.188889)\dpicstop -\draw (1.469444,0.188889) node[right=-2bp]{\sl H}; -\draw (0.748611,0.188889) node{\sl N}; -\filldraw[line width=0bp](0.520518,0.136175) - --(0.469444,0.088889) - --(0.538113,0.100252) --cycle\dpicstop -\dpicdraw (0.673611,0.188889) - --(0.478126,0.093141)\dpicstop -\filldraw[line width=0bp](0.95911,0.100252) - --(1.027778,0.088889) - --(0.976704,0.136175) --cycle\dpicstop -\dpicdraw (0.823611,0.188889) - --(1.019096,0.093141)\dpicstop -\draw (0.748611,-0.061111) node{\sl G}; -\filldraw[line width=0bp](0.452454,-0.07983) - --(0.390278,-0.111111) - --(0.459406,-0.119221) --cycle\dpicstop -\dpicdraw (0.673611,-0.061111) - --(0.399798,-0.109431)\dpicstop -\filldraw[line width=0bp](1.037817,-0.119221) - --(1.106944,-0.111111) - --(1.044768,-0.07983) --cycle\dpicstop -\dpicdraw (0.823611,-0.061111) - --(1.097425,-0.109431)\dpicstop -\draw (1.148611,-0.236111) node[below=-2bp]{\tt (,AF)}; -\dpicdraw (1.848611,0.013889) circle (0.098425in)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (1.969444,0.088889) - --(1.969444,0.163889) - --(1.927778,0.163889) - --(1.927778,0.013889) - --(1.969444,0.013889) - --(1.969444,0.088889)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (1.769444,0.088889) - --(1.769444,0.151389) - --(1.727778,0.151389) - --(1.727778,0.026389) - --(1.769444,0.026389) - --(1.769444,0.088889)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\fill[fill=black,line width=0bp](1.890278,-0.111111) - ..controls (1.890278,-0.088099) and (1.871623,-0.069444) - ..(1.848611,-0.069444) - ..controls (1.825599,-0.069444) and (1.806944,-0.088099) - ..(1.806944,-0.111111)--cycle -\dpicstop -\dpicdraw (1.890278,-0.111111) - ..controls (1.890278,-0.088099) and (1.871623,-0.069444) - ..(1.848611,-0.069444) - ..controls (1.825599,-0.069444) and (1.806944,-0.088099) - ..(1.806944,-0.111111)\dpicstop -\fill[fill=black,line width=0bp](1.806944,-0.111111) - --(1.806944,-0.152778) - --(1.890278,-0.152778) - --(1.890278,-0.111111)--cycle -\dpicstop -\dpicdraw (1.806944,-0.111111) - --(1.806944,-0.152778) - --(1.890278,-0.152778) - --(1.890278,-0.111111)\dpicstop -\draw (1.848611,-0.236111) node[below=-2bp]{\tt (,AC)}; -\dpicdraw (2.548611,0.013889) circle (0.098425in)\dpicstop -\dpicdraw (2.469444,0.088889) - --(2.469444,0.163889) - --(2.427778,0.163889) - --(2.427778,0.013889) - --(2.469444,0.013889) - --(2.469444,0.088889)\dpicstop -\dpicdraw (2.669444,0.088889) - --(2.669444,0.151389) - --(2.627778,0.151389) - --(2.627778,0.026389) - --(2.669444,0.026389) - --(2.669444,0.088889)\dpicstop -\dpicdraw (2.590278,-0.111111) - ..controls (2.590278,-0.088099) and (2.571623,-0.069444) - ..(2.548611,-0.069444) - ..controls (2.525599,-0.069444) and (2.506944,-0.088099) - ..(2.506944,-0.111111)\dpicstop -\dpicdraw (2.506944,-0.111111) - --(2.506944,-0.152778) - --(2.590278,-0.152778) - --(2.590278,-0.111111)\dpicstop -\draw (2.548611,-0.236111) node[below=-2bp]{\tt (,ACF)}; -\dpicdraw (3.298611,-0.136111) - --(3.298611,0.163889)\dpicstop -\dpicdraw (3.298611,0.163889) - ..controls (3.298611,0.246732) and (3.231454,0.313889) - ..(3.148611,0.313889) - ..controls (3.065768,0.313889) and (2.998611,0.246732) - ..(2.998611,0.163889)\dpicstop -\dpicdraw (2.998611,0.163889) - --(2.998611,-0.136111)\dpicstop -\dpicdraw (2.998611,-0.136111) - ..controls (2.998611,-0.336111) and (3.298611,-0.336111) - ..(3.298611,-0.136111)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (3.148611,0.163889) circle (0.016404in)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (3.148611,-0.136111) circle (0.016404in)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\draw (3.148611,-0.286111) node[below=-2bp]{\tt (U,D)}; -\dpicdraw (3.798611,-0.136111) - --(3.798611,0.163889)\dpicstop -\dpicdraw (3.798611,0.163889) - ..controls (3.798611,0.246732) and (3.731454,0.313889) - ..(3.648611,0.313889) - ..controls (3.565768,0.313889) and (3.498611,0.246732) - ..(3.498611,0.163889)\dpicstop -\dpicdraw (3.498611,0.163889) - --(3.498611,-0.136111)\dpicstop -\dpicdraw (3.498611,-0.136111) - ..controls (3.498611,-0.336111) and (3.798611,-0.336111) - ..(3.798611,-0.136111)\dpicstop -\dpicdraw (3.648611,0.163889) circle (0.016404in)\dpicstop -\dpicdraw (3.648611,-0.136111) circle (0.016404in)\dpicstop -\draw (3.648611,-0.286111) node[below=-2bp]{\tt (U,DF)}; -\dpicdraw (4.248611,0.013889) - --(4.248611,0.263889) - --(3.998611,0.263889) - --(3.998611,-0.236111) - --(4.248611,-0.236111) - --(4.248611,0.013889)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (4.123611,0.159722) - --(4.061111,0.159722) - --(4.061111,0.118056) - --(4.186111,0.118056) - --(4.186111,0.159722) - --(4.123611,0.159722)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (4.123611,-0.090278) - --(4.061111,-0.090278) - --(4.061111,-0.131944) - --(4.186111,-0.131944) - --(4.186111,-0.090278) - --(4.123611,-0.090278)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\draw (4.123611,-0.236111) node[below=-2bp]{\tt (U,J)}; -\dpicdraw (4.698611,0.013889) - --(4.698611,0.263889) - --(4.448611,0.263889) - --(4.448611,-0.236111) - --(4.698611,-0.236111) - --(4.698611,0.013889)\dpicstop -\dpicdraw (4.573611,0.159722) - --(4.511111,0.159722) - --(4.511111,0.118056) - --(4.636111,0.118056) - --(4.636111,0.159722) - --(4.573611,0.159722)\dpicstop -\dpicdraw (4.573611,-0.090278) - --(4.511111,-0.090278) - --(4.511111,-0.131944) - --(4.636111,-0.131944) - --(4.636111,-0.090278) - --(4.573611,-0.090278)\dpicstop -\draw (4.573611,-0.236111) node[below=-2bp]{\tt (U,JF)}; -\dpiclw=0.8bp -\dpicdraw (0.348611,-0.623611) - --(0.098611,-0.623611) - --(0.098611,-0.873611) - --(0.223611,-0.998611) - --(0.473611,-0.998611) - --(0.598611,-0.873611) - --(0.598611,-0.623611) - --(0.348611,-0.623611)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (0.469444,-0.736111) - --(0.469444,-0.673611) - --(0.427778,-0.673611) - --(0.427778,-0.798611) - --(0.469444,-0.798611) - --(0.469444,-0.736111)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (0.269444,-0.736111) - --(0.269444,-0.673611) - --(0.227778,-0.673611) - --(0.227778,-0.798611) - --(0.269444,-0.798611) - --(0.269444,-0.736111)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (0.369444,-0.886111) - --(0.369444,-0.836111) - --(0.327778,-0.836111) - --(0.327778,-0.936111) - --(0.369444,-0.936111) - --(0.369444,-0.886111)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\draw (0.348611,-0.998611) node[below=-2bp]{\tt (,P)}; -\dpicdraw (1.048611,-0.623611) - --(0.798611,-0.623611) - --(0.798611,-0.873611) - --(0.923611,-0.998611) - --(1.173611,-0.998611) - --(1.298611,-0.873611) - --(1.298611,-0.623611) - --(1.048611,-0.623611)\dpicstop -\dpicdraw (0.969444,-0.736111) - --(0.969444,-0.673611) - --(0.927778,-0.673611) - --(0.927778,-0.798611) - --(0.969444,-0.798611) - --(0.969444,-0.736111)\dpicstop -\dpicdraw (1.169444,-0.736111) - --(1.169444,-0.673611) - --(1.127778,-0.673611) - --(1.127778,-0.798611) - --(1.169444,-0.798611) - --(1.169444,-0.736111)\dpicstop -\dpicdraw (1.069444,-0.886111) - --(1.069444,-0.836111) - --(1.027778,-0.836111) - --(1.027778,-0.936111) - --(1.069444,-0.936111) - --(1.069444,-0.886111)\dpicstop -\draw (1.048611,-0.998611) node[below=-2bp]{\tt (,PF)}; -\dpicdraw (1.823611,-0.511111) - --(2.148611,-0.511111) - --(2.148611,-0.691111) - --(1.913611,-1.111111) - --(1.733611,-1.111111) - --(1.498611,-0.691111) - --(1.498611,-0.511111) - --(1.823611,-0.511111)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (1.719444,-0.661111) - --(1.719444,-0.629861) - --(1.594444,-0.629861) - --(1.594444,-0.692361) - --(1.719444,-0.692361) - --(1.719444,-0.661111)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (2.052778,-0.661111) - --(2.052778,-0.629861) - --(1.927778,-0.629861) - --(1.927778,-0.692361) - --(2.052778,-0.692361) - --(2.052778,-0.661111)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (1.854861,-0.977778) - --(1.854861,-0.915278) - --(1.792361,-0.915278) - --(1.792361,-1.040278) - --(1.854861,-1.040278) - --(1.854861,-0.977778)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\draw (1.823611,-1.111111) node[below=-2bp]{\tt (,G)}; -\dpicdraw (2.673611,-0.511111) - --(2.998611,-0.511111) - --(2.998611,-0.691111) - --(2.763611,-1.111111) - --(2.583611,-1.111111) - --(2.348611,-0.691111) - --(2.348611,-0.511111) - --(2.673611,-0.511111)\dpicstop -\dpicdraw (2.569444,-0.661111) - --(2.569444,-0.629861) - --(2.444444,-0.629861) - --(2.444444,-0.692361) - --(2.569444,-0.692361) - --(2.569444,-0.661111)\dpicstop -\dpicdraw (2.902778,-0.661111) - --(2.902778,-0.629861) - --(2.777778,-0.629861) - --(2.777778,-0.692361) - --(2.902778,-0.692361) - --(2.902778,-0.661111)\dpicstop -\dpicdraw (2.704861,-0.977778) - --(2.704861,-0.915278) - --(2.642361,-0.915278) - --(2.642361,-1.040278) - --(2.704861,-1.040278) - --(2.704861,-0.977778)\dpicstop -\draw (2.673611,-1.111111) node[below=-2bp]{\tt (,GF)}; -\dpicdraw (3.523611,-1.111111) - --(3.198611,-1.111111) - --(3.198611,-0.931111) - --(3.433611,-0.511111) - --(3.613611,-0.511111) - --(3.848611,-0.931111) - --(3.848611,-1.111111) - --(3.523611,-1.111111)\dpicstop -\dpicdraw (3.627778,-0.961111) - --(3.627778,-0.992361) - --(3.752778,-0.992361) - --(3.752778,-0.929861) - --(3.627778,-0.929861) - --(3.627778,-0.961111)\dpicstop -\dpicdraw (3.294444,-0.961111) - --(3.294444,-0.992361) - --(3.419444,-0.992361) - --(3.419444,-0.929861) - --(3.294444,-0.929861) - --(3.294444,-0.961111)\dpicstop -\dpicdraw (3.492361,-0.644444) - --(3.492361,-0.706944) - --(3.554861,-0.706944) - --(3.554861,-0.581944) - --(3.492361,-0.581944) - --(3.492361,-0.644444)\dpicstop -\draw (3.523611,-1.111111) node[below=-2bp]{\tt (L,GF)}; -\dpicdraw (4.373611,-0.811111) circle (0.127953in)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (4.269444,-0.661111) - --(4.269444,-0.629861) - --(4.144444,-0.629861) - --(4.144444,-0.692361) - --(4.269444,-0.692361) - --(4.269444,-0.661111)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (4.602778,-0.661111) - --(4.602778,-0.629861) - --(4.477778,-0.629861) - --(4.477778,-0.692361) - --(4.602778,-0.692361) - --(4.602778,-0.661111)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (4.404861,-0.977778) - --(4.404861,-0.915278) - --(4.342361,-0.915278) - --(4.342361,-1.040278) - --(4.404861,-1.040278) - --(4.404861,-0.977778)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\draw (4.373611,-1.136111) node[below=-2bp]{\tt (,GC)}; -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Relay.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Relay.tex deleted file mode 100644 index fca7a507b07..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Relay.tex +++ /dev/null @@ -1,198 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw (0.291667,-0.227083) - --(0.291667,-0.102083) - --(0.166667,-0.102083) - --(0.166667,-0.352083) - --(0.291667,-0.352083) - --(0.291667,-0.227083)\dpicstop -\dpicdraw (0.166667,-0.227083) - --(0,-0.227083)\dpicstop -\dpicdraw (0.291667,-0.227083) - --(0.458333,-0.227083)\dpicstop -\dpicdraw[fill=white](0.108333,0.185417) circle (0.007874in)\dpicstop -\dpicdraw (0.128333,0.185417) - --(0.358333,0.185417)\dpicstop -\filldraw[line width=0bp](0.275,0.26875) - --(0.316667,0.185417) - --(0.358333,0.26875) --cycle\dpicstop -\dpicdraw (0.316667,0.197839) - --(0.316667,0.310417) - --(0.416667,0.310417)\dpicstop -\filldraw[line width=0bp](0.358333,0.039583) - --(0.316667,0.122917) - --(0.275,0.039583) --cycle\dpicstop -\dpicdraw (0.316667,0.110494) - --(0.316667,-0.002083) - --(0.416667,-0.002083)\dpicstop -\draw (0,-0.227083) node[left=-2bp]{\sl V1}; -\draw (0.458333,-0.227083) node[right=-2bp]{\sl V2}; -\draw (0.088333,0.185417) node[left=-2bp]{\sl P1}; -\draw (0.416667,-0.002083) node[right=-2bp]{\sl O1}; -\draw (0.416667,0.310417) node[right=-2bp]{\sl C1}; -\draw (0.229167,-0.552083) node(S){\tt relay}; -\dpicdraw (1.391667,-0.227083) - --(1.391667,-0.102083) - --(1.266667,-0.102083) - --(1.266667,-0.352083) - --(1.391667,-0.352083) - --(1.391667,-0.227083)\dpicstop -\dpicdraw (1.266667,-0.227083) - --(1.1,-0.227083)\dpicstop -\dpicdraw (1.391667,-0.227083) - --(1.558333,-0.227083)\dpicstop -\dpicdraw (1.304167,-0.14375) - --(1.304167,-0.202083) - --(1.354167,-0.202083) - --(1.354167,-0.252083) - --(1.304167,-0.252083) - --(1.304167,-0.310417)\dpicstop -\dpicdraw[fill=white](1.208333,-0.002083) circle (0.007874in)\dpicstop -\dpicdraw (1.228333,-0.002083) - --(1.458333,-0.002083)\dpicstop -\filldraw[line width=0bp](1.375,0.08125) - --(1.416667,-0.002083) - --(1.458333,0.08125) --cycle\dpicstop -\dpicdraw (1.416667,0.010339) - --(1.416667,0.122917) - --(1.516667,0.122917)\dpicstop -\dpicdraw[fill=white](1.208333,0.247917) circle (0.007874in)\dpicstop -\dpicdraw (1.228333,0.247917) - --(1.458333,0.247917)\dpicstop -\filldraw[line width=0bp](1.375,0.33125) - --(1.416667,0.247917) - --(1.458333,0.33125) --cycle\dpicstop -\dpicdraw (1.416667,0.260339) - --(1.416667,0.372917) - --(1.516667,0.372917)\dpicstop -\dpicdraw[dash pattern=on 0.05in off 0.05in](1.343333,-0.052083) - --(1.343333,0.297917)\dpicstop -\draw (1.188333,-0.002083) node[left=-2bp]{\sl P1}; -\draw (1.516667,0.122917) node[right=-2bp]{\sl C1}; -\draw (1.188333,0.247917) node[left=-2bp]{\sl P2}; -\draw (1.516667,0.372917) node[right=-2bp]{\sl C2}; -\draw (1.329167,-0.552083) node{\tt (2,CTh)}; -\dpicdraw (2.491667,-0.227083) - --(2.491667,-0.102083) - --(2.366667,-0.102083) - --(2.366667,-0.352083) - --(2.491667,-0.352083) - --(2.491667,-0.227083)\dpicstop -\dpicdraw (2.366667,-0.227083) - --(2.2,-0.227083)\dpicstop -\dpicdraw (2.491667,-0.227083) - --(2.658333,-0.227083)\dpicstop -\dpicdraw[fill=white](2.308333,0.185417) circle (0.007874in)\dpicstop -\dpicdraw (2.328333,0.185417) - --(2.558333,0.185417)\dpicstop -\filldraw[line width=0bp](2.558333,0.039583) - --(2.516667,0.122917) - --(2.475,0.039583) --cycle\dpicstop -\dpicdraw (2.516667,0.110494) - --(2.516667,-0.002083) - --(2.616667,-0.002083)\dpicstop -\dpicdraw[fill=white](2.308333,0.497917) circle (0.007874in)\dpicstop -\dpicdraw (2.328333,0.497917) - --(2.558333,0.497917)\dpicstop -\filldraw[line width=0bp](2.558333,0.352083) - --(2.516667,0.435417) - --(2.475,0.352083) --cycle\dpicstop -\dpicdraw (2.516667,0.422994) - --(2.516667,0.310417) - --(2.616667,0.310417)\dpicstop -\dpicdraw[dash pattern=on 0.05in off 0.05in](2.443333,0.135417) - --(2.443333,0.547917)\dpicstop -\draw (2.288333,0.185417) node[left=-2bp]{\sl P1}; -\draw (2.616667,-0.002083) node[right=-2bp]{\sl O1}; -\draw (2.288333,0.185417) node[left=-2bp]{\sl P1}; -\draw (2.616667,0.310417) node[right=-2bp]{\sl O2}; -\draw (2.429167,-0.552083) node{\tt (2,O)}; -\dpicdraw (3.591667,-0.227083) - --(3.591667,-0.102083) - --(3.466667,-0.102083) - --(3.466667,-0.352083) - --(3.591667,-0.352083) - --(3.591667,-0.227083)\dpicstop -\dpicdraw (3.466667,-0.164583) - --(3.3,-0.164583)\dpicstop -\dpicdraw (3.466667,-0.289583) - --(3.3,-0.289583)\dpicstop -\dpicdraw[fill=white](3.408333,0.105972) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](3.616667,0.214028) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](3.616667,-0.002083) circle (0.007874in)\dpicstop -\dpicdraw (3.428333,0.105972) - --(3.658333,0.105972)\dpicstop -\dpicdraw[fill=white](3.408333,0.447083) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](3.616667,0.555139) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](3.616667,0.339028) circle (0.007874in)\dpicstop -\dpicdraw (3.428333,0.447083) - --(3.658333,0.447083)\dpicstop -\dpicdraw[dash pattern=on 0.05in off 0.05in](3.543333,0.055972) - --(3.543333,0.497083)\dpicstop -\draw (3.3,-0.164583) node[left=-2bp]{\sl V1}; -\draw (3.3,-0.289583) node[left=-2bp]{\sl V2}; -\draw (3.388333,0.105972) node[left=-2bp]{\sl P1}; -\draw (3.636667,-0.002083) node[right=-2bp]{\sl O1}; -\draw (3.636667,0.186354) node[right=-2bp]{\sl C1}; -\draw (3.388333,0.447083) node[left=-2bp]{\sl P2}; -\draw (3.636667,0.339028) node[right=-2bp]{\sl O2}; -\draw (3.636667,0.527465) node[right=-2bp]{\sl C2}; -\draw (3.479167,-0.552083) node{\tt (2,PIAX)}; -\dpicdraw (4.691667,0.664583) - --(4.691667,0.789583) - --(4.566667,0.789583) - --(4.566667,0.539583) - --(4.691667,0.539583) - --(4.691667,0.664583)\dpicstop -\dpicdraw (4.566667,0.664583) - --(4.4,0.664583)\dpicstop -\dpicdraw (4.691667,0.664583) - --(4.858333,0.664583)\dpicstop -\dpicdraw[fill=white](4.508333,0.252083) circle (0.007874in)\dpicstop -\dpicdraw (4.528333,0.252083) - --(4.758333,0.252083)\dpicstop -\filldraw[line width=0bp](4.758333,0.16875) - --(4.716667,0.252083) - --(4.675,0.16875) --cycle\dpicstop -\dpicdraw (4.716667,0.239661) - --(4.716667,0.127083) - --(4.816667,0.127083)\dpicstop -\filldraw[line width=0bp](4.675,0.397917) - --(4.716667,0.314583) - --(4.758333,0.397917) --cycle\dpicstop -\dpicdraw (4.716667,0.327006) - --(4.716667,0.439583) - --(4.816667,0.439583)\dpicstop -\dpicdraw[fill=white](4.508333,-0.185417) circle (0.007874in)\dpicstop -\dpicdraw (4.528333,-0.185417) - --(4.758333,-0.185417)\dpicstop -\filldraw[line width=0bp](4.758333,-0.26875) - --(4.716667,-0.185417) - --(4.675,-0.26875) --cycle\dpicstop -\dpicdraw (4.716667,-0.197839) - --(4.716667,-0.310417) - --(4.816667,-0.310417)\dpicstop -\filldraw[line width=0bp](4.675,-0.039583) - --(4.716667,-0.122917) - --(4.758333,-0.039583) --cycle\dpicstop -\dpicdraw (4.716667,-0.110494) - --(4.716667,0.002083) - --(4.816667,0.002083)\dpicstop -\dpicdraw[dash pattern=on 0.05in off 0.05in](4.643333,0.302083) - --(4.643333,-0.235417)\dpicstop -\draw (4.4,0.664583) node[left=-2bp]{\sl V1}; -\draw (4.858333,0.664583) node[right=-2bp]{\sl V2}; -\draw (4.488333,0.252083) node[left=-2bp]{\sl P1}; -\draw (4.816667,0.439583) node[right=-2bp]{\sl O1}; -\draw (4.816667,0.127083) node[right=-2bp]{\sl C1}; -\draw (4.488333,-0.185417) node[left=-2bp]{\sl P2}; -\draw (4.816667,0.002083) node[right=-2bp]{\sl O2}; -\draw (4.816667,-0.310417) node[right=-2bp]{\sl C2}; -\draw (4.629167,-0.552083) node{\tt relay(2,R)}; -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/SLDs.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/SLDs.tex deleted file mode 100644 index b7e43a7c7ca..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/SLDs.tex +++ /dev/null @@ -1,1208 +0,0 @@ -% SLDs.m4 -% -\global\newcommand{\SLDTransformers}{% -\begin{tikzpicture}[scale=2.54]% -% dpic version 2021.11.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -{\sf -\dpicdraw (0.673611,-0.739236) - --(0.673611,-0.504861)\dpicstop -\dpicdraw (0.673611,-0.504861) - --(0.673611,-0.504861)\dpicstop -\dpicdraw (0.673611,-0.411111) - --(0.626736,-0.411111) - --(0.626736,-0.504861) - --(0.720486,-0.504861) - --(0.720486,-0.411111) - --(0.673611,-0.411111)\dpicstop -\dpicdraw (0.673611,-0.411111) - --(0.673611,-0.411111)\dpicstop -\dpicdraw (0.673611,-0.411111) - --(0.673611,-0.270486)\dpicstop -\dpicdraw (0.673611,-0.270486) - --(0.673611,-0.270486)\dpicstop -\dpicdraw (0.511111,-0.270486) - --(0.511111,-0.270486)\dpicstop -\dpicdraw (0.511111,-0.270486) - --(0.511111,-0.276042)\dpicstop -\dpicdraw (0.511111,-0.270486) - ..controls (0.511111,-0.24805) and (0.5293,-0.229861) - ..(0.551736,-0.229861) - ..controls (0.574173,-0.229861) and (0.592361,-0.24805) - ..(0.592361,-0.270486)\dpicstop -\dpicdraw (0.592361,-0.270486) - --(0.592361,-0.276042)\dpicstop -\dpicdraw (0.592361,-0.270486) - ..controls (0.592361,-0.24805) and (0.61055,-0.229861) - ..(0.632986,-0.229861) - ..controls (0.655423,-0.229861) and (0.673611,-0.24805) - ..(0.673611,-0.270486)\dpicstop -\dpicdraw (0.673611,-0.270486) - --(0.673611,-0.276042)\dpicstop -\dpicdraw (0.673611,-0.270486) - ..controls (0.673611,-0.24805) and (0.6918,-0.229861) - ..(0.714236,-0.229861) - ..controls (0.736673,-0.229861) and (0.754861,-0.24805) - ..(0.754861,-0.270486)\dpicstop -\dpicdraw (0.754861,-0.270486) - --(0.754861,-0.276042)\dpicstop -\dpicdraw (0.754861,-0.270486) - ..controls (0.754861,-0.24805) and (0.77305,-0.229861) - ..(0.795486,-0.229861) - ..controls (0.817923,-0.229861) and (0.836111,-0.24805) - ..(0.836111,-0.270486)\dpicstop -\dpicdraw (0.836111,-0.270486) - --(0.836111,-0.276042)\dpicstop -\dpicdraw (0.836111,-0.270486) - --(0.836111,-0.270486)\dpicstop -\dpicdraw (0.836111,-0.135069) - --(0.836111,-0.135069)\dpicstop -\dpicdraw (0.836111,-0.135069) - --(0.836111,-0.129514)\dpicstop -\dpicdraw (0.836111,-0.135069) - ..controls (0.836111,-0.157506) and (0.817923,-0.175694) - ..(0.795486,-0.175694) - ..controls (0.77305,-0.175694) and (0.754861,-0.157506) - ..(0.754861,-0.135069)\dpicstop -\dpicdraw (0.754861,-0.135069) - --(0.754861,-0.129514)\dpicstop -\dpicdraw (0.754861,-0.135069) - ..controls (0.754861,-0.189236) and (0.673611,-0.189236) - ..(0.673611,-0.135069)\dpicstop -\dpicdraw (0.673611,-0.135069) - --(0.673611,-0.129514)\dpicstop -\dpicdraw (0.673611,-0.135069) - ..controls (0.673611,-0.189236) and (0.592361,-0.189236) - ..(0.592361,-0.135069)\dpicstop -\dpicdraw (0.592361,-0.135069) - --(0.592361,-0.129514)\dpicstop -\dpicdraw (0.592361,-0.135069) - ..controls (0.592361,-0.189236) and (0.511111,-0.189236) - ..(0.511111,-0.135069)\dpicstop -\dpicdraw (0.511111,-0.135069) - --(0.511111,-0.129514)\dpicstop -\dpicdraw (0.511111,-0.135069) - --(0.511111,-0.135069)\dpicstop -\dpicdraw (0.673611,-0.135069) - --(0.673611,-0.135069)\dpicstop -\dpicdraw (0.673611,-0.135069) - --(0.673611,0.005556)\dpicstop -\dpicdraw (0.673611,0.005556) - --(0.673611,0.005556)\dpicstop -\dpicdraw (0.673611,0.099306) - --(0.626736,0.099306) - --(0.626736,0.005556) - --(0.720486,0.005556) - --(0.720486,0.099306) - --(0.673611,0.099306)\dpicstop -\dpicdraw (0.673611,0.099306) - --(0.673611,0.099306)\dpicstop -\dpicdraw (0.673611,0.099306) - --(0.673611,0.333681)\dpicstop -\draw (0.673611,-0.739236) node[below=-2bp]{sl\_transformer(,,C,C)}; -\dpiclw=0.4bp -\filldraw[line width=0bp](0.565454,0.132304) - --(0.626736,0.099306) - --(0.593738,0.160588) --cycle\dpicstop -\dpicdraw (0.619901,0.106141) - --(0.460069,0.265972)\dpicstop -\draw (0.460069,0.265972) node[left=-2bp]{\sl BrO}; -\filldraw[line width=0bp](0.781769,-0.537859) - --(0.720486,-0.504861) - --(0.753484,-0.566144) --cycle\dpicstop -\dpicdraw (0.727322,-0.511697) - --(0.887153,-0.671528)\dpicstop -\draw (0.887153,-0.671528) node[right=-2bp]{\sl BrI}; -\dpiclw=0.8bp -\dpicdraw (1.273611,-0.739236) - --(1.273611,-0.504861)\dpicstop -\dpicdraw (1.273611,-0.504861) - --(1.273611,-0.504861)\dpicstop -\fill[fill=black,line width=0bp](1.273611,-0.411111) - --(1.226736,-0.411111) - --(1.226736,-0.504861) - --(1.320486,-0.504861) - --(1.320486,-0.411111) - --(1.273611,-0.411111)--cycle -\dpicstop -\dpicdraw (1.273611,-0.411111) - --(1.226736,-0.411111) - --(1.226736,-0.504861) - --(1.320486,-0.504861) - --(1.320486,-0.411111) - --(1.273611,-0.411111)\dpicstop -\dpicdraw (1.273611,-0.411111) - --(1.273611,-0.411111)\dpicstop -\dpicdraw (1.273611,-0.411111) - --(1.273611,-0.270486)\dpicstop -\dpicdraw (1.273611,-0.270486) - --(1.273611,-0.270486)\dpicstop -\dpicdraw (1.273611,-0.107986) circle (0.063976in)\dpicstop -\dpicdraw (1.273611,0.135764) circle (0.063976in)\dpicstop -\dpicdraw (1.273611,0.298264) - --(1.273611,0.298264)\dpicstop -\dpicdraw (1.273611,0.298264) - --(1.273611,0.438889)\dpicstop -\dpicdraw (1.273611,0.438889) - --(1.273611,0.438889)\dpicstop -\fill[fill=black,line width=0bp](1.273611,0.532639) - --(1.226736,0.532639) - --(1.226736,0.438889) - --(1.320486,0.438889) - --(1.320486,0.532639) - --(1.273611,0.532639)--cycle -\dpicstop -\dpicdraw (1.273611,0.532639) - --(1.226736,0.532639) - --(1.226736,0.438889) - --(1.320486,0.438889) - --(1.320486,0.532639) - --(1.273611,0.532639)\dpicstop -\dpicdraw (1.273611,0.532639) - --(1.273611,0.532639)\dpicstop -\dpicdraw (1.273611,0.532639) - --(1.273611,0.767014)\dpicstop -\draw (1.273611,-0.739236) node[below=-2bp]{.{.}.(,type=S,O,O)}; -\dpiclw=0.4bp -\filldraw[line width=0bp](0.763661,-0.06047) - --(0.754861,-0.129514) - --(0.800213,-0.076716) --cycle\dpicstop -\dpicdraw (0.758787,-0.12068) - --(0.921528,0.245486)\dpicstop -\draw (0.921528,0.245486) node[above=-2bp]{Body}; -\filldraw[line width=0bp](1.053407,0.052807) - --(1.111111,0.013889) - --(1.084359,0.078144) --cycle\dpicstop -\dpicdraw (0.921528,0.245486) - --(1.104988,0.021369)\dpicstop -\filldraw[line width=0bp](1.193738,-0.566144) - --(1.226736,-0.504861) - --(1.165454,-0.537859) --cycle\dpicstop -\dpicdraw (1.219901,-0.511697) - --(1.126736,-0.604861)\dpicstop -\dpiclw=0.8bp -\dpicdraw (2.173611,-0.739236) - --(2.173611,-0.504861)\dpicstop -\dpicdraw (2.173611,-0.504861) - --(2.173611,-0.504861)\dpicstop -\dpicdraw (2.173611,-0.411111) - --(2.126736,-0.411111) - --(2.126736,-0.504861) - --(2.220486,-0.504861) - --(2.220486,-0.411111) - --(2.173611,-0.411111)\dpicstop -\dpicdraw (2.173611,-0.411111) - --(2.173611,-0.411111)\dpicstop -\dpicdraw (2.173611,-0.411111) - --(2.173611,-0.270486)\dpicstop -\dpicdraw (2.173611,-0.270486) - --(2.173611,-0.270486)\dpicstop -\dpicdraw (2.173611,-0.107986) circle (0.063976in)\dpicstop -\dpicdraw (2.173611,0.135764) circle (0.063976in)\dpicstop -\dpicdraw (2.173611,0.298264) - --(2.173611,0.298264)\dpicstop -\dpicdraw (2.173611,-0.183042) - --(2.173611,-0.107986)\dpicstop -\dpicdraw (2.108611,-0.070458) - --(2.173611,-0.107986) - --(2.238611,-0.070458)\dpicstop -\dpicdraw (2.173611,-0.107986) - --(2.417361,-0.107986)\dpicstop -\dpicdraw (2.411806,-0.107986) - --(2.422917,-0.107986)\dpicstop -\dpicdraw (2.417361,-0.107986) - --(2.417361,-0.232986)\dpicstop -\dpicdraw (2.500694,-0.232986) - --(2.334028,-0.232986)\dpicstop -\dpicdraw (2.472917,-0.264236) - --(2.361806,-0.264236)\dpicstop -\dpicdraw (2.453075,-0.295486) - --(2.381647,-0.295486)\dpicstop -\dpicdraw (2.173611,0.210819) - --(2.173611,0.135764)\dpicstop -\dpicdraw (2.238611,0.098236) - --(2.173611,0.135764) - --(2.108611,0.098236)\dpicstop -\dpicdraw (2.173611,0.135764) - --(2.417361,0.135764)\dpicstop -\dpicdraw (2.411806,0.135764) - --(2.422917,0.135764)\dpicstop -\dpicdraw (2.417361,0.135764) - --(2.417361,0.010764)\dpicstop -\dpicdraw (2.500694,0.010764) - --(2.334028,0.010764)\dpicstop -\dpicdraw (2.472917,-0.020486) - --(2.361806,-0.020486)\dpicstop -\dpicdraw (2.453075,-0.051736) - --(2.381647,-0.051736)\dpicstop -\dpicdraw (2.173611,0.298264) - --(2.173611,0.438889)\dpicstop -\dpicdraw (2.173611,0.438889) - --(2.173611,0.438889)\dpicstop -\dpicdraw (2.173611,0.532639) - --(2.126736,0.532639) - --(2.126736,0.438889) - --(2.220486,0.438889) - --(2.220486,0.532639) - --(2.173611,0.532639)\dpicstop -\dpicdraw (2.173611,0.532639) - --(2.173611,0.532639)\dpicstop -\dpicdraw (2.173611,0.532639) - --(2.173611,0.767014)\dpicstop -\draw (2.173611,-0.739236) node[below=-2bp]{.{.}.(,,C,C,YN,YN)}; -\dpicdraw (3.073611,-0.739236) - --(3.073611,-0.504861)\dpicstop -\dpicdraw (3.073611,-0.504861) - --(3.073611,-0.504861)\dpicstop -\dpicdraw (3.073611,-0.411111) - --(3.026736,-0.411111) - --(3.026736,-0.504861) - --(3.120486,-0.504861) - --(3.120486,-0.411111) - --(3.073611,-0.411111)\dpicstop -\dpicdraw (3.073611,-0.411111) - --(3.073611,-0.411111)\dpicstop -\dpicdraw (3.073611,-0.411111) - --(3.073611,-0.270486)\dpicstop -\dpicdraw (3.073611,-0.270486) - --(3.073611,-0.270486)\dpicstop -\dpicdraw (3.073611,-0.107986) circle (0.063976in)\dpicstop -\dpicdraw (3.073611,0.135764) circle (0.063976in)\dpicstop -\dpicdraw (3.073611,0.298264) - --(3.073611,0.298264)\dpicstop -\dpicdraw (3.073611,-0.078778) - --(3.138611,-0.078778) - --(3.073611,-0.191361) - --(3.008611,-0.078778) - --(3.073611,-0.078778)\dpicstop -\dpicdraw (3.073611,0.210819) - --(3.073611,0.135764)\dpicstop -\dpicdraw (3.138611,0.098236) - --(3.073611,0.135764) - --(3.008611,0.098236)\dpicstop -\dpicdraw (3.073611,0.298264) - --(3.073611,0.438889)\dpicstop -\dpicdraw (3.073611,0.438889) - --(3.073611,0.438889)\dpicstop -\fill[fill=black,line width=0bp](3.073611,0.532639) - --(3.026736,0.532639) - --(3.026736,0.438889) - --(3.120486,0.438889) - --(3.120486,0.532639) - --(3.073611,0.532639)--cycle -\dpicstop -\dpicdraw (3.073611,0.532639) - --(3.026736,0.532639) - --(3.026736,0.438889) - --(3.120486,0.438889) - --(3.120486,0.532639) - --(3.073611,0.532639)\dpicstop -\dpicdraw (3.073611,0.532639) - --(3.073611,0.532639)\dpicstop -\dpicdraw (3.073611,0.532639) - --(3.073611,0.767014)\dpicstop -\draw (3.073611,-0.739236) node[below=-2bp]{.{.}.(,type=S,C,O,Delta,Y)}; -\dpicdraw (3.973611,-0.739236) - --(3.973611,-0.648611)\dpicstop -\dpicdraw (3.973611,-0.486111) circle (0.063976in)\dpicstop -\dpicdraw (3.973611,-0.242361) circle (0.063976in)\dpicstop -\dpicdraw (3.973611,-0.079861) - --(3.973611,0.010764)\dpicstop -\dpicdraw (3.973611,-0.561167) - --(3.973611,-0.486111)\dpicstop -\dpicdraw (3.908611,-0.448583) - --(3.973611,-0.486111) - --(4.038611,-0.448583)\dpicstop -\dpicdraw (3.973611,-0.271569) - --(3.908611,-0.271569) - --(3.973611,-0.158986) - --(4.038611,-0.271569) - --(3.973611,-0.271569)\dpicstop -\draw (3.973611,-0.739236) node[below=-2bp]{.{.}.(,type=S,{,},Y,Delta)}; -\dpicdraw (4.873611,-0.739236) - --(4.873611,-0.504861)\dpicstop -\dpicdraw (4.873611,-0.504861) - --(4.873611,-0.504861)\dpicstop -\dpicdraw (4.873611,-0.411111) - --(4.826736,-0.411111) - --(4.826736,-0.504861) - --(4.920486,-0.504861) - --(4.920486,-0.411111) - --(4.873611,-0.411111)\dpicstop -\dpicdraw (4.873611,-0.411111) - --(4.873611,-0.411111)\dpicstop -\dpicdraw (4.873611,-0.411111) - --(4.873611,-0.270486)\dpicstop -\dpicdraw (4.873611,-0.270486) - --(4.873611,-0.270486)\dpicstop -\dpicdraw[line width=0.4bp](4.873611,-0.270486) circle (0.00109in)\dpicstop -\dpicdraw (4.873611,0.054514) circle (0.063976in)\dpicstop -\dpicdraw (4.873611,-0.270486) - ..controls (4.771315,-0.193764) and (4.711111,-0.073356) - ..(4.711111,0.054514)\dpicstop -\dpicdraw (4.873611,0.217014) - --(4.873611,0.217014)\dpicstop -\dpicdraw (4.873611,0.217014) - --(4.873611,0.357639)\dpicstop -\dpicdraw (4.873611,0.357639) - --(4.873611,0.357639)\dpicstop -\dpicdraw (4.873611,0.451389) - --(4.826736,0.451389) - --(4.826736,0.357639) - --(4.920486,0.357639) - --(4.920486,0.451389) - --(4.873611,0.451389)\dpicstop -\dpicdraw (4.873611,0.451389) - --(4.873611,0.451389)\dpicstop -\dpicdraw (4.873611,0.451389) - --(4.873611,0.685764)\dpicstop -\draw (4.873611,-0.739236) node[below=-2bp]{.{.}.(,type=A,C,C)}; -}% -\end{tikzpicture}% -} -\global\newcommand{\SLDTwoTerms}{% -\begin{tikzpicture}[scale=2.54]% -% dpic version 2021.11.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -{\sf -\dpicdraw (0,0.671523) - --(0.234375,0.671523)\dpicstop -\dpicdraw (0.234375,0.671523) - --(0.234375,0.671523)\dpicstop -\fill[fill=green,line width=0bp](0.328125,0.671523) - --(0.328125,0.718398) - --(0.234375,0.718398) - --(0.234375,0.624648) - --(0.328125,0.624648) - --(0.328125,0.671523)--cycle -\dpicstop -\dpicdraw (0.328125,0.671523) - --(0.328125,0.718398) - --(0.234375,0.718398) - --(0.234375,0.624648) - --(0.328125,0.624648) - --(0.328125,0.671523)\dpicstop -\dpicdraw (0.328125,0.671523) - --(0.328125,0.671523)\dpicstop -\dpicdraw (0.328125,0.671523) - --(0.46875,0.671523)\dpicstop -\dpicdraw (0.46875,0.671523) - --(0.46875,0.671523)\dpicstop -\dpicdraw (0.84375,0.671523) - --(0.84375,0.859023) - --(0.46875,0.859023) - --(0.46875,0.484023) - --(0.84375,0.484023) - --(0.84375,0.671523)\dpicstop -\dpicdraw (0.84375,0.671523) - --(0.84375,0.671523)\dpicstop -\dpicdraw (0.84375,0.671523) - --(0.984375,0.671523)\dpicstop -\dpicdraw (0.984375,0.671523) - --(0.984375,0.671523)\dpicstop -\fill[fill=red,line width=0bp](1.078125,0.671523) - --(1.078125,0.718398) - --(0.984375,0.718398) - --(0.984375,0.624648) - --(1.078125,0.624648) - --(1.078125,0.671523)--cycle -\dpicstop -\dpicdraw (1.078125,0.671523) - --(1.078125,0.718398) - --(0.984375,0.718398) - --(0.984375,0.624648) - --(1.078125,0.624648) - --(1.078125,0.671523)\dpicstop -\dpicdraw (1.078125,0.671523) - --(1.078125,0.671523)\dpicstop -\dpicdraw (1.078125,0.671523) - --(1.3125,0.671523)\dpicstop -\draw (1.451389,0.671523) node[right=-2bp]{sl\_ttbox(,,box=shaded "green",box=shaded "red")}; -\dpicdraw (0,0.171523) - --(0.1875,0.171523)\dpicstop -\dpicdraw (0.5625,0.171523) - --(0.5625,0.359023) - --(0.1875,0.359023) - --(0.1875,-0.015977) - --(0.5625,-0.015977) - --(0.5625,0.171523)\dpicstop -\dpicdraw (0.5625,0.171523) - --(0.75,0.171523)\dpicstop -\dpicdraw (0.5625,0.359023) - --(0.1875,-0.015977)\dpicstop -\dpicdraw (0.229167,0.265273) - ..controls (0.23052,0.268098) and (0.232917,0.273065) - ..(0.234514,0.276354) - ..controls (0.236111,0.279643) and (0.238748,0.284911) - ..(0.240397,0.288106) - ..controls (0.242046,0.291302) and (0.244953,0.296489) - ..(0.246883,0.299679) - ..controls (0.248813,0.302868) and (0.251926,0.307403) - ..(0.253828,0.309795) - ..controls (0.25573,0.312188) and (0.2588,0.31533) - ..(0.260677,0.316804) - ..controls (0.262554,0.318279) and (0.265593,0.31988) - ..(0.267456,0.320378) - ..controls (0.26932,0.320875) and (0.272347,0.320875) - ..(0.27421,0.320378) - ..controls (0.276074,0.31988) and (0.279112,0.318279) - ..(0.28099,0.316804) - ..controls (0.282867,0.31533) and (0.285937,0.312188) - ..(0.287839,0.309795) - ..controls (0.289741,0.307403) and (0.292853,0.302868) - ..(0.294783,0.299679) - ..controls (0.296713,0.296489) and (0.299869,0.290821) - ..(0.301823,0.287034) - ..controls (0.303777,0.283246) and (0.306964,0.276831) - ..(0.308932,0.272721) - ..controls (0.310901,0.268611) and (0.314099,0.261934) - ..(0.316068,0.257824) - ..controls (0.318036,0.253714) and (0.321223,0.247299) - ..(0.323177,0.243511) - ..controls (0.325131,0.239724) and (0.328287,0.234056) - ..(0.330217,0.230867) - ..controls (0.332147,0.227677) and (0.335259,0.223142) - ..(0.337161,0.22075) - ..controls (0.339063,0.218357) and (0.342133,0.215216) - ..(0.34401,0.213741) - ..controls (0.345888,0.212266) and (0.348926,0.210665) - ..(0.35079,0.210168) - ..controls (0.352653,0.20967) and (0.35568,0.20967) - ..(0.357544,0.210168) - ..controls (0.359407,0.210665) and (0.362446,0.212266) - ..(0.364323,0.213741) - ..controls (0.3662,0.215216) and (0.36927,0.218357) - ..(0.371172,0.22075) - ..controls (0.373074,0.223142) and (0.376187,0.227677) - ..(0.378117,0.230867) - ..controls (0.380047,0.234056) and (0.382954,0.239243) - ..(0.384603,0.242439) - ..controls (0.386252,0.245634) and (0.388889,0.250902) - ..(0.390486,0.254191) - ..controls (0.392083,0.25748) and (0.39448,0.262447) - ..(0.395833,0.265273)\dpicstop -\dpicdraw (0.354167,0.061106) - --(0.520833,0.061106)\dpicstop -\dpicdraw (0.354167,0.094439) - --(0.395833,0.094439)\dpicstop -\dpicdraw (0.416667,0.094439) - --(0.458333,0.094439)\dpicstop -\dpicdraw (0.479167,0.094439) - --(0.520833,0.094439)\dpicstop -\dpicdraw (0.888889,0.171523) - --(1.076389,0.171523)\dpicstop -\dpicdraw (1.451389,0.171523) - --(1.451389,0.359023) - --(1.076389,0.359023) - --(1.076389,-0.015977) - --(1.451389,-0.015977) - --(1.451389,0.171523)\dpicstop -\dpicdraw (1.451389,0.171523) - --(1.638889,0.171523)\dpicstop -\dpicdraw (1.451389,0.359023) - --(1.076389,-0.015977)\dpicstop -\dpicdraw (1.118056,0.248606) - --(1.284722,0.248606)\dpicstop -\dpicdraw (1.118056,0.281939) - --(1.159722,0.281939)\dpicstop -\dpicdraw (1.180556,0.281939) - --(1.222222,0.281939)\dpicstop -\dpicdraw (1.243056,0.281939) - --(1.284722,0.281939)\dpicstop -\dpicdraw (1.243056,0.077773) - ..controls (1.244409,0.080598) and (1.246806,0.085565) - ..(1.248403,0.088854) - ..controls (1.25,0.092143) and (1.252637,0.097411) - ..(1.254286,0.100606) - ..controls (1.255935,0.103802) and (1.258842,0.108989) - ..(1.260772,0.112179) - ..controls (1.262702,0.115368) and (1.265815,0.119903) - ..(1.267717,0.122295) - ..controls (1.269619,0.124688) and (1.272688,0.12783) - ..(1.274566,0.129304) - ..controls (1.276443,0.130779) and (1.279482,0.13238) - ..(1.281345,0.132878) - ..controls (1.283209,0.133375) and (1.286236,0.133375) - ..(1.288099,0.132878) - ..controls (1.289962,0.13238) and (1.293001,0.130779) - ..(1.294879,0.129304) - ..controls (1.296756,0.12783) and (1.299826,0.124688) - ..(1.301728,0.122295) - ..controls (1.30363,0.119903) and (1.306742,0.115368) - ..(1.308672,0.112179) - ..controls (1.310602,0.108989) and (1.313757,0.103321) - ..(1.315712,0.099534) - ..controls (1.317666,0.095746) and (1.320853,0.089331) - ..(1.322821,0.085221) - ..controls (1.32479,0.081111) and (1.327988,0.074434) - ..(1.329956,0.070324) - ..controls (1.331925,0.066214) and (1.335111,0.059799) - ..(1.337066,0.056011) - ..controls (1.33902,0.052224) and (1.342176,0.046556) - ..(1.344106,0.043367) - ..controls (1.346036,0.040177) and (1.349148,0.035642) - ..(1.35105,0.03325) - ..controls (1.352952,0.030857) and (1.356022,0.027716) - ..(1.357899,0.026241) - ..controls (1.359777,0.024766) and (1.362815,0.023165) - ..(1.364679,0.022668) - ..controls (1.366542,0.02217) and (1.369569,0.02217) - ..(1.371432,0.022668) - ..controls (1.373296,0.023165) and (1.376334,0.024766) - ..(1.378212,0.026241) - ..controls (1.380089,0.027716) and (1.383159,0.030857) - ..(1.385061,0.03325) - ..controls (1.386963,0.035642) and (1.390075,0.040177) - ..(1.392005,0.043367) - ..controls (1.393935,0.046556) and (1.396843,0.051743) - ..(1.398492,0.054939) - ..controls (1.400141,0.058134) and (1.402778,0.063402) - ..(1.404375,0.066691) - ..controls (1.405972,0.06998) and (1.408369,0.074947) - ..(1.409722,0.077773)\dpicstop -\draw (1.777778,0.171523) node[right=-2bp]{sl\_rectifier, sl\_inverter}; -\dpicdraw (0,-0.245144) - --(0.328125,-0.245144)\dpicstop -\dpicdraw (0.421875,-0.245144) - --(0.421875,-0.198269) - --(0.328125,-0.198269) - --(0.328125,-0.292019) - --(0.421875,-0.292019) - --(0.421875,-0.245144)\dpicstop -\dpicdraw (0.421875,-0.245144) - --(0.75,-0.245144)\dpicstop -\dpicdraw (0.888889,-0.245144) - --(1.180556,-0.245144)\dpicstop -\dpicdraw (1.164931,-0.213894) - ..controls (1.21441,-0.147922) and (1.313368,-0.147922) - ..(1.362847,-0.213894)\dpicstop -\dpicdraw (1.347222,-0.245144) - --(1.638889,-0.245144)\dpicstop -\dpicdraw (2.105903,-0.245144) - --(2.230903,-0.245144)\dpicstop -\dpicdraw (2.324653,-0.245144) - --(2.324653,-0.198269) - --(2.230903,-0.198269) - --(2.230903,-0.292019) - --(2.324653,-0.292019) - --(2.324653,-0.245144)\dpicstop -\dpicdraw (2.324653,-0.245144) - --(2.449653,-0.245144)\dpicstop -\dpicdraw (2.105903,-0.245144) - --(2.043403,-0.245144)\dpicstop -\dpicdraw (2.105903,-0.307644) - --(2.043403,-0.245144) - --(2.105903,-0.182644)\dpicstop -\dpicdraw (2.043403,-0.307644) - --(1.980903,-0.245144) - --(2.043403,-0.182644)\dpicstop -\dpicdraw (1.980903,-0.245144) - --(1.777778,-0.245144)\dpicstop -\dpicdraw (2.449653,-0.245144) - --(2.512153,-0.245144)\dpicstop -\dpicdraw (2.449653,-0.182644) - --(2.512153,-0.245144) - --(2.449653,-0.307644)\dpicstop -\dpicdraw (2.512153,-0.182644) - --(2.574653,-0.245144) - --(2.512153,-0.307644)\dpicstop -\dpicdraw (2.574653,-0.245144) - --(2.777778,-0.245144)\dpicstop -\draw (2.277778,-0.198269) node[above=-2bp]{D}; -\draw (2.916667,-0.245144) node{\shortstack{\rlap{\hbox to 2bp{}sl\_breaker, sl\_breaker(,type=C)}\\% -\rlap{\hbox to 2bp{}sl\_breaker(,type=D;name=B3) ; llabel(,"D",{,},B3)}}}; -\dpicdraw (0,-0.745144) - --(0.234375,-0.745144)\dpicstop -\dpicdraw (0.234375,-0.745144) - --(0.234375,-0.745144)\dpicstop -\dpicdraw (0.328125,-0.745144) - --(0.328125,-0.698269) - --(0.234375,-0.698269) - --(0.234375,-0.792019) - --(0.328125,-0.792019) - --(0.328125,-0.745144)\dpicstop -\dpicdraw (0.328125,-0.745144) - --(0.328125,-0.745144)\dpicstop -\dpicdraw (0.328125,-0.745144) - --(0.46875,-0.745144)\dpicstop -\dpicdraw (0.46875,-0.745144) - --(0.579861,-0.745144) - --(0.579861,-0.856255)\dpicstop -\dpicdraw[line width=0.4bp](0.579861,-0.856255) circle (0.00109in)\dpicstop -\dpicdraw (0.579861,-0.856255) - ..controls (0.480872,-0.856255) and (0.431298,-0.736573) - ..(0.501294,-0.666577) - ..controls (0.57129,-0.596581) and (0.690972,-0.646155) - ..(0.690972,-0.745144)\dpicstop -\dpicdraw[line width=0.4bp](0.690972,-0.745144) circle (0.00109in)\dpicstop -\dpicdraw (0.690972,-0.745144) - --(0.690972,-0.745144)\dpicstop -\dpicdraw (0.690972,-0.745144) - --(0.831597,-0.745144)\dpicstop -\dpicdraw (0.831597,-0.745144) - --(0.831597,-0.745144)\dpicstop -\dpicdraw (0.925347,-0.745144) - --(0.925347,-0.698269) - --(0.831597,-0.698269) - --(0.831597,-0.792019) - --(0.925347,-0.792019) - --(0.925347,-0.745144)\dpicstop -\dpicdraw (0.925347,-0.745144) - --(0.925347,-0.745144)\dpicstop -\dpicdraw (0.925347,-0.745144) - --(1.159722,-0.745144)\dpicstop -\draw (1.298611,-0.745144) node[right=-2bp]{sl\_reactor(,,C,C)}; -\dpicdraw (3,-0.745144) - --(3.375,-0.745144)\dpicstop -\dpicdraw (3.3125,-0.682644) - --(3.375,-0.745144) - --(3.3125,-0.807644)\dpicstop -\dpicdraw (3.375,-0.682644) - --(3.4375,-0.745144) - --(3.375,-0.807644)\dpicstop -\dpicdraw (3.4375,-0.745144) - --(3.75,-0.745144)\dpicstop -\draw (3.888889,-0.745144) node[right=-2bp]{sl\_drawout}; -}% -\end{tikzpicture}% -} -\global\newcommand{\SLDOneTerms}{% -\begin{tikzpicture}[scale=2.54]% -% dpic version 2021.11.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -{\sf -\dpicdraw (0.2,0.288889) circle (0.07874in)\dpicstop -\dpicdraw (0.2,0.088889) - --(0.2,-0.511111)\dpicstop -\draw (0.2,-0.511111) node[below=-2bp]{sl\_disk}; -\dpicdraw (0.8,-0.511111) - --(0.8,-0.192361)\dpicstop -\dpicdraw (0.8,-0.192361) - --(0.8,-0.192361)\dpicstop -\dpicdraw (0.8,-0.079861) - --(0.74375,-0.079861) - --(0.74375,-0.192361) - --(0.85625,-0.192361) - --(0.85625,-0.079861) - --(0.8,-0.079861)\dpicstop -\dpicdraw (0.8,-0.079861) - --(0.8,-0.079861)\dpicstop -\dpicdraw (0.8,0.088889) - --(0.8,-0.079861)\dpicstop -\dpicdraw (0.8,0.488889) - --(0.6,0.488889) - --(0.6,0.088889) - --(1,0.088889) - --(1,0.488889) - --(0.8,0.488889)\dpicstop -\draw (0.8,-0.511111) node[below=-2bp]{sl\_box(,,C)}; -\dpiclw=0.4bp -\filldraw[line width=0bp](0.917533,-0.169109) - --(0.85625,-0.136111) - --(0.889248,-0.197394) --cycle\dpicstop -\dpicdraw (0.863086,-0.142947) - --(1.00625,-0.286111)\dpicstop -\draw (1.00625,-0.286111) node[right=-2bp]{\sl Br}; -\filldraw[line width=0bp](0.402704,0.114469) - --(0.341421,0.147468) - --(0.37442,0.086185) --cycle\dpicstop -\dpicdraw (0.348257,0.140632) - --(0.491421,-0.002532)\dpicstop -\draw (0.491421,-0.002532) node[below=-2bp]{\sl Head}; -\filldraw[line width=0bp](0.565263,0.039695) - --(0.6,0.100009) - --(0.537799,0.068776) --cycle\dpicstop -\dpicdraw (0.491421,-0.002532) - --(0.592972,0.093372)\dpicstop -\dpiclw=0.8bp -\dpicdraw (1.4,0.088889) - --(1.4,-0.511111)\dpicstop -\dpicdraw (1.4,0.488889) - --(1.2,0.488889) - --(1.2,0.088889) - --(1.6,0.088889) - --(1.6,0.488889) - --(1.4,0.488889)\dpicstop -\dpicdraw (1.4,0.088889) - --(1.2,0.288889)\dpicstop -\dpicdraw (1.2,0.288889) - --(1.4,0.488889)\dpicstop -\dpicdraw (1.4,0.088889) - --(1.6,0.288889)\dpicstop -\dpicdraw (1.6,0.288889) - --(1.4,0.488889)\dpicstop -\dpicdraw (1.2,0.088889) - --(1.6,0.488889)\dpicstop -\dpicdraw (1.6,0.088889) - --(1.2,0.488889)\dpicstop -\draw (1.4,-0.511111) node[below=-2bp]{sl\_grid}; -\dpicdraw (2,-0.511111) - --(2,-0.192361)\dpicstop -\dpicdraw (2,-0.192361) - --(2,-0.192361)\dpicstop -\fill[fill=black,line width=0bp](2,-0.079861) - --(1.94375,-0.079861) - --(1.94375,-0.192361) - --(2.05625,-0.192361) - --(2.05625,-0.079861) - --(2,-0.079861)--cycle -\dpicstop -\dpicdraw (2,-0.079861) - --(1.94375,-0.079861) - --(1.94375,-0.192361) - --(2.05625,-0.192361) - --(2.05625,-0.079861) - --(2,-0.079861)\dpicstop -\dpicdraw (2,-0.079861) - --(2,-0.079861)\dpicstop -\dpicdraw (2,0.088889) - --(2,-0.079861)\dpicstop -\dpicdraw (2,0.088889) - --(1.904,0.088889) - --(2,0.358889) - --(2.096,0.088889) - --(2,0.088889)\dpicstop -\draw (2,-0.511111) node[below=-2bp]{sl\_load(,,O)}; -\dpicdraw (2.6,0.088889) - --(2.6,-0.511111)\dpicstop -\dpicdraw (2.6,0.538889) - --(2.375,0.538889) - --(2.375,0.088889) - --(2.825,0.088889) - --(2.825,0.538889) - --(2.6,0.538889)\dpicstop -\dpicdraw (2.375,0.448889) - --(2.825,0.448889)\dpicstop -\draw (2.6,-0.511111) node[below=-2bp]{sl\_meterbox}; -\dpicdraw (3.2,0.288889) circle (0.07874in)\dpicstop -\dpicdraw (3.2,0.088889) - --(3.2,-0.511111)\dpicstop -\filldraw[line width=0bp](3.30019,0.401009) - --(3.289805,0.389387) - ..controls (3.304441,0.383072) and (3.317977,0.374465) - ..(3.329904,0.363889) - ..controls (3.326373,0.381145) and (3.31983,0.397644) - ..(3.310575,0.41263) - --(3.30019,0.401009)\dpicstop -\filldraw[line width=0bp](3.09981,0.401009) - --(3.110195,0.389387) - ..controls (3.095559,0.383072) and (3.082023,0.374465) - ..(3.070096,0.363889) - ..controls (3.073627,0.381145) and (3.08017,0.397644) - ..(3.089425,0.41263) - --(3.09981,0.401009)\dpicstop -\dpicdraw (3.30918,0.391746) - ..controls (3.249964,0.454603) and (3.150036,0.454603) - ..(3.09082,0.391746)\dpicstop -\dpicdraw (3.2,0.438889) - --(3.2,0.213889)\dpicstop -\draw (3.2,-0.511111) node[below=-2bp]{sl\_syncmeter}; -\dpicdraw (3.8,0.288889) circle (0.07874in)\dpicstop -\dpicdraw (3.8,0.088889) - --(3.8,-0.511111)\dpicstop -\dpicdraw (3.941421,0.43031) - --(3.658579,0.147468)\dpicstop -\dpicdraw (3.658579,0.43031) - --(3.941421,0.147468)\dpicstop -\draw (3.8,-0.511111) node[below=-2bp]{sl\_lamp}; -}% -\end{tikzpicture}% -} -\global\newcommand{\SLDGenerators}{% -\begin{tikzpicture}[scale=2.54]% -% dpic version 2021.11.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -{\sf -\dpicdraw (0.2,0.313889) circle (0.07874in)\dpicstop -\dpicdraw (0.2,0.113889) - --(0.2,-0.486111)\dpicstop -\dpicdraw (0.1,0.313889) - ..controls (0.101633,0.317298) and (0.104524,0.323288) - ..(0.10645,0.327254) - ..controls (0.108376,0.331221) and (0.111555,0.337567) - ..(0.113542,0.341414) - ..controls (0.115528,0.34526) and (0.119026,0.351491) - ..(0.121345,0.355316) - ..controls (0.123665,0.359141) and (0.1274,0.364567) - ..(0.129679,0.367423) - ..controls (0.131958,0.370279) and (0.135631,0.374023) - ..(0.137875,0.375776) - ..controls (0.140119,0.377529) and (0.143747,0.379432) - ..(0.145971,0.380021) - ..controls (0.148194,0.380611) and (0.151806,0.380611) - ..(0.154029,0.380021) - ..controls (0.156253,0.379432) and (0.159881,0.377529) - ..(0.162125,0.375776) - ..controls (0.164369,0.374023) and (0.168042,0.370279) - ..(0.170321,0.367423) - ..controls (0.1726,0.364567) and (0.176335,0.359141) - ..(0.178655,0.355316) - ..controls (0.180974,0.351491) and (0.184771,0.344682) - ..(0.187125,0.340123) - ..controls (0.18948,0.335564) and (0.193321,0.327833) - ..(0.195696,0.322875) - ..controls (0.198071,0.317916) and (0.201929,0.309861) - ..(0.204304,0.304903) - ..controls (0.206679,0.299945) and (0.21052,0.292214) - ..(0.212875,0.287655) - ..controls (0.215229,0.283096) and (0.219026,0.276286) - ..(0.221345,0.272462) - ..controls (0.223665,0.268637) and (0.2274,0.263211) - ..(0.229679,0.260355) - ..controls (0.231958,0.257499) and (0.235631,0.253755) - ..(0.237875,0.252002) - ..controls (0.240119,0.250249) and (0.243747,0.248346) - ..(0.245971,0.247757) - ..controls (0.248194,0.247167) and (0.251806,0.247167) - ..(0.254029,0.247757) - ..controls (0.256253,0.248346) and (0.259881,0.250249) - ..(0.262125,0.252002) - ..controls (0.264369,0.253755) and (0.268042,0.257499) - ..(0.270321,0.260355) - ..controls (0.2726,0.263211) and (0.276335,0.268637) - ..(0.278655,0.272462) - ..controls (0.280974,0.276286) and (0.284472,0.282518) - ..(0.286458,0.286364) - ..controls (0.288445,0.290211) and (0.291624,0.296557) - ..(0.29355,0.300523) - ..controls (0.295476,0.304489) and (0.298367,0.31048) - ..(0.3,0.313889)\dpicstop -\draw (0.2,-0.486111) node[below=-2bp]{sl\_generator}; -\dpicdraw (0.92,0.313889) circle (0.07874in)\dpicstop -\dpicdraw (0.92,0.113889) - --(0.92,-0.486111)\dpicstop -\dpicdraw[fill=black,draw=black](0.92,0.313889) circle (0.003937in)\dpicstop -\fill[fill=black,line width=0bp](0.958641,0.326961) - ..controls (0.948548,0.320361) and (0.938016,0.315861) - ..(0.935235,0.316961) - ..controls (0.932455,0.318062) and (0.929846,0.322431) - ..(0.929439,0.326671) - ..controls (0.929031,0.330911) and (0.933085,0.337672) - ..(0.938448,0.341695) - ..controls (0.94381,0.345719) and (0.949873,0.349869) - ..(0.951922,0.350918) - ..controls (0.95397,0.351967) and (0.956702,0.353539) - ..(0.957992,0.354412) - ..controls (0.959283,0.355285) and (0.984674,0.36683) - ..(1.014418,0.380068) - ..controls (1.044162,0.393307) and (1.070453,0.404315) - ..(1.072843,0.404531) - ..controls (1.075233,0.404747) and (1.076797,0.403238) - ..(1.076318,0.401177) - ..controls (1.075839,0.399117) and (1.022884,0.365719) - ..(0.958641,0.326961) --cycle\dpicstop -\dpicdraw[line width=0.2bp,draw=black](0.958641,0.326961) - ..controls (0.948548,0.320361) and (0.938016,0.315861) - ..(0.935235,0.316961) - ..controls (0.932455,0.318062) and (0.929846,0.322431) - ..(0.929439,0.326671) - ..controls (0.929031,0.330911) and (0.933085,0.337672) - ..(0.938448,0.341695) - ..controls (0.94381,0.345719) and (0.949873,0.349869) - ..(0.951922,0.350918) - ..controls (0.95397,0.351967) and (0.956702,0.353539) - ..(0.957992,0.354412) - ..controls (0.959283,0.355285) and (0.984674,0.36683) - ..(1.014418,0.380068) - ..controls (1.044162,0.393307) and (1.070453,0.404315) - ..(1.072843,0.404531) - ..controls (1.075233,0.404747) and (1.076797,0.403238) - ..(1.076318,0.401177) - ..controls (1.075839,0.399117) and (1.022884,0.365719) - ..(0.958641,0.326961)\dpicstop -\fill[fill=black,line width=0bp](0.889359,0.340817) - ..controls (0.900121,0.335377) and (0.909284,0.328505) - ..(0.909722,0.325547) - ..controls (0.910159,0.322589) and (0.907679,0.318145) - ..(0.904211,0.315672) - ..controls (0.900743,0.313199) and (0.892861,0.31333) - ..(0.886695,0.315962) - ..controls (0.88053,0.318594) and (0.873904,0.32177) - ..(0.871971,0.323019) - ..controls (0.870038,0.324268) and (0.867311,0.325848) - ..(0.86591,0.326529) - ..controls (0.864509,0.327211) and (0.841814,0.343428) - ..(0.815478,0.362568) - ..controls (0.789141,0.381707) and (0.766462,0.398972) - ..(0.76508,0.400934) - ..controls (0.763698,0.402896) and (0.764223,0.405004) - ..(0.766247,0.40562) - ..controls (0.768271,0.406235) and (0.823671,0.377074) - ..(0.889359,0.340817) --cycle\dpicstop -\dpicdraw[line width=0.2bp,draw=black](0.889359,0.340817) - ..controls (0.900121,0.335377) and (0.909284,0.328505) - ..(0.909722,0.325547) - ..controls (0.910159,0.322589) and (0.907679,0.318145) - ..(0.904211,0.315672) - ..controls (0.900743,0.313199) and (0.892861,0.31333) - ..(0.886695,0.315962) - ..controls (0.88053,0.318594) and (0.873904,0.32177) - ..(0.871971,0.323019) - ..controls (0.870038,0.324268) and (0.867311,0.325848) - ..(0.86591,0.326529) - ..controls (0.864509,0.327211) and (0.841814,0.343428) - ..(0.815478,0.362568) - ..controls (0.789141,0.381707) and (0.766462,0.398972) - ..(0.76508,0.400934) - ..controls (0.763698,0.402896) and (0.764223,0.405004) - ..(0.766247,0.40562) - ..controls (0.768271,0.406235) and (0.823671,0.377074) - ..(0.889359,0.340817)\dpicstop -\fill[fill=black,line width=0bp](0.912,0.273889) - ..controls (0.911331,0.28593) and (0.9127,0.297301) - ..(0.915043,0.299159) - ..controls (0.917386,0.301017) and (0.922474,0.301091) - ..(0.92635,0.299324) - ..controls (0.930226,0.297557) and (0.934054,0.290665) - ..(0.934857,0.28401) - ..controls (0.93566,0.277354) and (0.936223,0.270028) - ..(0.936107,0.267729) - ..controls (0.935992,0.265431) and (0.935988,0.262279) - ..(0.936098,0.260725) - ..controls (0.936209,0.259171) and (0.933511,0.231409) - ..(0.930104,0.199031) - ..controls (0.926697,0.166653) and (0.923085,0.13838) - ..(0.922077,0.136202) - ..controls (0.921069,0.134024) and (0.91898,0.133424) - ..(0.917435,0.134869) - ..controls (0.91589,0.136314) and (0.913444,0.198873) - ..(0.912,0.273889) --cycle\dpicstop -\dpicdraw[line width=0.2bp,draw=black](0.912,0.273889) - ..controls (0.911331,0.28593) and (0.9127,0.297301) - ..(0.915043,0.299159) - ..controls (0.917386,0.301017) and (0.922474,0.301091) - ..(0.92635,0.299324) - ..controls (0.930226,0.297557) and (0.934054,0.290665) - ..(0.934857,0.28401) - ..controls (0.93566,0.277354) and (0.936223,0.270028) - ..(0.936107,0.267729) - ..controls (0.935992,0.265431) and (0.935988,0.262279) - ..(0.936098,0.260725) - ..controls (0.936209,0.259171) and (0.933511,0.231409) - ..(0.930104,0.199031) - ..controls (0.926697,0.166653) and (0.923085,0.13838) - ..(0.922077,0.136202) - ..controls (0.921069,0.134024) and (0.91898,0.133424) - ..(0.917435,0.134869) - ..controls (0.91589,0.136314) and (0.913444,0.198873) - ..(0.912,0.273889)\dpicstop -\draw (0.92,-0.486111) node[below=-2bp]{.{.}.(,type=WT)}; -\dpicdraw (1.64,0.313889) circle (0.07874in)\dpicstop -\dpicdraw (1.64,0.113889) - --(1.64,-0.486111)\dpicstop -\dpicdraw (1.64,0.163889) - --(1.64,0.288889)\dpicstop -\dpicdraw (1.565,0.288889) - --(1.715,0.288889)\dpicstop -\dpicdraw (1.49,0.338889) - --(1.79,0.338889)\dpicstop -\dpicdraw (1.64,0.338889) - --(1.64,0.463889)\dpicstop -\dpicdraw (1.74,0.360556) - --(1.74,0.427222)\dpicstop -\dpicdraw (1.706667,0.393889) - --(1.773333,0.393889)\dpicstop -\dpicdraw (1.706667,0.247222) - --(1.773333,0.247222)\dpicstop -\draw (1.64,-0.486111) node[below=-2bp]{.{.}.(,type=BS)}; -\dpicdraw (2.36,0.113889) - --(2.36,-0.486111)\dpicstop -\dpicdraw (2.36,0.513889) - --(2.24,0.513889) - --(2.24,0.113889) - --(2.48,0.113889) - --(2.48,0.513889) - --(2.36,0.513889)\dpicstop -\dpicdraw (2.27,0.113889) - --(2.36,0.213889) - --(2.45,0.113889)\dpicstop -\draw (2.36,-0.486111) node[below=-2bp]{.{.}.(,type=PV)}; -\dpicdraw (3.08,0.313889) circle (0.07874in)\dpicstop -\dpicdraw (3.08,0.113889) - --(3.08,-0.486111)\dpicstop -\dpicdraw (3.013333,0.313889) - --(3.022265,0.313889)\dpicstop -\dpicdraw (3.022265,0.380556) - --(3.022265,0.447222) - --(3.1322,0.380556) - --(3.022265,0.313889) - --(3.022265,0.380556)\dpicstop -\dpicdraw (3.137735,0.176504) - --(3.137735,0.451274)\dpicstop -\dpicdraw (3.022265,0.176504) - --(3.022265,0.451274)\dpicstop -\dpicdraw (3.137735,0.247222) - --(3.137735,0.313889) - --(3.0278,0.247222) - --(3.137735,0.180556) - --(3.137735,0.247222)\dpicstop -\dpicdraw (3.137735,0.313889) - --(3.146667,0.313889)\dpicstop -\draw (3.08,-0.486111) node[below=-2bp]{.{.}.(,type=StatG)}; -\dpicdraw (3.8,0.313889) circle (0.07874in)\dpicstop -\draw (3.8,0.313889) node{SG}; -\dpicdraw (3.8,0.113889) - --(3.8,-0.486111)\dpicstop -\draw (3.8,-0.486111) node[below=-2bp]{sl\_disk(,text="SG")}; -}% -\end{tikzpicture}% -} -\global\newcommand{\SLDComposite}{% -\begin{tikzpicture}[scale=2.54]% -% dpic version 2021.11.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -{\sf -\dpicdraw (0.02,0.516) - --(0.610551,0.516)\dpicstop -\dpicdraw (0.225276,0.5655) - --(0.225276,0.5655)\dpicstop -\dpicdraw (0.225276,0.5655) - --(0.225276,0.559944)\dpicstop -\dpicdraw (0.225276,0.5655) - ..controls (0.225276,0.590353) and (0.245423,0.6105) - ..(0.270276,0.6105) - ..controls (0.295128,0.6105) and (0.315276,0.590353) - ..(0.315276,0.5655)\dpicstop -\dpicdraw (0.315276,0.5655) - --(0.315276,0.559944)\dpicstop -\dpicdraw (0.315276,0.5655) - ..controls (0.315276,0.590353) and (0.335423,0.6105) - ..(0.360276,0.6105) - ..controls (0.385128,0.6105) and (0.405276,0.590353) - ..(0.405276,0.5655)\dpicstop -\dpicdraw (0.405276,0.5655) - --(0.405276,0.559944)\dpicstop -\dpicdraw (0.405276,0.5655) - --(0.405276,0.5655)\dpicstop -\dpicdraw (0.225276,0.5655) - --(0.225276,0.4215)\dpicstop -\dpicdraw (0.405276,0.5655) - --(0.405276,0.4215)\dpicstop -\dpicdraw (0.315276,0.5655) - --(0.315276,0.4215)\dpicstop -\draw (0.315276,0.004833) node(CTLt){sl\_ct(type=L)}; -\dpiclw=0.4bp -\filldraw[line width=0bp](0.203429,0.355415) - --(0.225276,0.4215) - --(0.17066,0.378354) --cycle\dpicstop -\dpicdraw (0.219732,0.413581) - --(0.128053,0.282611)\dpicstop -\draw (0.128053,0.282611) node[below left=-2bp]{\sl Tstart}; -\filldraw[line width=0bp](0.459891,0.378354) - --(0.405276,0.4215) - --(0.427122,0.355415) --cycle\dpicstop -\dpicdraw (0.410819,0.413581) - --(0.502498,0.282611)\dpicstop -\draw (0.502498,0.282611) node[below right=-2bp]{\sl Tend}; -\filldraw[line width=0bp](0.347962,0.36005) - --(0.315276,0.4215) - --(0.308738,0.352206) --cycle\dpicstop -\dpicdraw (0.317171,0.412021) - --(0.343053,0.282611)\dpicstop -\draw (0.343053,0.282611) node[below=-2bp]{\sl Tc}; -\dpiclw=0.8bp -\dpicdraw (1.810551,0.516) - --(1.954551,0.516)\dpicstop -\dpicdraw[line width=0.4bp](1.954551,0.516) circle (0.00109in)\dpicstop -\dpicdraw (1.954551,0.516) - ..controls (1.954551,0.622039) and (2.040513,0.708) - ..(2.146551,0.708) - ..controls (2.25259,0.708) and (2.338551,0.622039) - ..(2.338551,0.516)\dpicstop -\dpicdraw[line width=0.4bp](2.338551,0.516) circle (0.00109in)\dpicstop -\dpicdraw (2.338551,0.516) - --(2.482551,0.516)\dpicstop -\dpicdraw (2.146551,0.516) circle (0.037795in)\dpicstop -\dpicdraw (2.146551,0.42) - --(2.146551,0.276)\dpicstop -\draw (2.146551,0.004833) node{sl\_ct(type=C)}; -\dpiclw=0.4bp -\filldraw[line width=0bp](1.788705,0.449915) - --(1.810551,0.516) - --(1.755936,0.472854) --cycle\dpicstop -\dpicdraw (1.805008,0.508081) - --(1.713329,0.377111)\dpicstop -\draw (1.713329,0.377111) node[below left=-2bp]{\sl Tstart}; -\filldraw[line width=0bp](2.537167,0.472854) - --(2.482551,0.516) - --(2.504397,0.449915) --cycle\dpicstop -\dpicdraw (2.488095,0.508081) - --(2.579773,0.377111)\dpicstop -\draw (2.579773,0.377111) node[below right=-2bp]{\sl Tend}; -\draw (2.146551,0.276) node[right=-2bp]{\sl Tc}; -\dpiclw=0.8bp -\dpicdraw[fill=black](0.14,-0.684) circle (0.009449in)\dpicstop -\dpicdraw[fill=black](0.74,-0.684) circle (0.009449in)\dpicstop -\dpicdraw[fill=black](1.34,-0.684) circle (0.009449in)\dpicstop -\dpicdraw[fill=black](1.94,-0.684) circle (0.009449in)\dpicstop -\dpicdraw[line width=1.6bp](0.02,-0.684) - --(2.06,-0.684)\dpicstop -\draw (2.66,-0.684) node[right=-2bp]{sl\_busbar(right\_ 3{\tt*}dimen\_,4,port=D)}; -\dpiclw=0.4bp -\filldraw[line width=0bp](0.162659,-0.593961) - --(0.150733,-0.662534) - --(0.198436,-0.61185) --cycle\dpicstop -\dpicdraw (0.155056,-0.653887) - --(0.229267,-0.505466)\dpicstop -\draw (0.229267,-0.505466) node[right=-2bp]{\sl P1}; -\filldraw[line width=0bp](0.762659,-0.593961) - --(0.750733,-0.662534) - --(0.798436,-0.61185) --cycle\dpicstop -\dpicdraw (0.755056,-0.653887) - --(0.829267,-0.505466)\dpicstop -\draw (0.829267,-0.505466) node[right=-2bp]{\sl P2}; -\filldraw[line width=0bp](1.362659,-0.593961) - --(1.350733,-0.662534) - --(1.398436,-0.61185) --cycle\dpicstop -\dpicdraw (1.355056,-0.653887) - --(1.429267,-0.505466)\dpicstop -\draw (1.429267,-0.505466) node[right=-2bp]{\sl P3}; -\filldraw[line width=0bp](1.962659,-0.593961) - --(1.950733,-0.662534) - --(1.998436,-0.61185) --cycle\dpicstop -\dpicdraw (1.955056,-0.653887) - --(2.029267,-0.505466)\dpicstop -\draw (2.029267,-0.505466) node[right=-2bp]{\sl P4}; -\filldraw[line width=0bp](2.126667,-0.664) - --(2.06,-0.684) - --(2.126667,-0.704) --cycle\dpicstop -\dpicdraw (2.069667,-0.684) - --(2.164833,-0.684) - ..controls (2.228278,-0.684) and (2.276667,-0.650667) - ..(2.31,-0.584) - --(2.36,-0.484)\dpicstop -\draw (2.36,-0.484) node[above right=-2bp]{\sl End}; -\filldraw[line width=0bp](0,-0.617333) - --(0.02,-0.684) - --(0.04,-0.617333) --cycle\dpicstop -\dpicdraw (0.02,-0.674333) - --(0.02,-0.629167) - ..controls (0.02,-0.599056) and (0.036667,-0.550667) - ..(0.07,-0.484) - --(0.12,-0.384)\dpicstop -\draw (0.12,-0.384) node[above=-2bp]{\sl Start}; -\dpiclw=0.8bp -}% -\end{tikzpicture}% -} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/ShiftR.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/ShiftR.tex deleted file mode 100644 index d6e49ca1bc9..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/ShiftR.tex +++ /dev/null @@ -1,285 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp - {\sf -\dpicdraw (0.15,-0.45) rectangle (0.65,0.45)\dpicstop -\draw (0.15,0.3) node[right=-3bp]{{\scriptsize S}}; -\dpicdraw (0.15,0.3) - --(0,0.3)\dpicstop -\dpicdraw (0.15,-0.0375) - --(0.214952,0) - --(0.15,0.0375)\dpicstop -\draw (0.214952,0) node[right=-3bp]{{\scriptsize CK}}; -\dpicdraw (0.1125,0) circle (0.014764in)\dpicstop -\dpicdraw (0.075,0) - --(0,0)\dpicstop -\draw (0.15,-0.3) node[right=-3bp]{{\scriptsize R}}; -\dpicdraw (0.15,-0.3) - --(0,-0.3)\dpicstop -\draw (0.4,0.45) node[below=-3bp]{{\scriptsize PR}}; -\dpicdraw (0.4,0.4875) circle (0.014764in)\dpicstop -\dpicdraw (0.4,0.525) - --(0.4,0.6)\dpicstop -\draw (0.65,0.3) node[left=-3bp]{{\scriptsize Q}}; -\dpicdraw (0.65,0.3) - --(0.8,0.3)\dpicstop -\draw (0.65,-0.3) node[left=-3bp]{{\scriptsize $\overline{\hbox{Q}}$}}; -\dpicdraw (0.65,-0.3) - --(0.8,-0.3)\dpicstop -\draw (0.4,-0.45) node[above=-3bp]{{\scriptsize CLR}}; -\dpicdraw (0.4,-0.4875) circle (0.014764in)\dpicstop -\dpicdraw (0.4,-0.525) - --(0.4,-0.6)\dpicstop -\dpicdraw (0,0.3) - --(-0.175,0.2) - --(-0.175,0.4) - --(0,0.3)\dpicstop -\dpicdraw (-0.2125,0.3) circle (0.014764in)\dpicstop -\dpicdraw (-0.25,0.3) - --(-0.35,0.3)\dpicstop -\dpicdraw[fill=black](-0.35,0.3) circle (0.007874in)\dpicstop -\dpicdraw (-0.483333,0.3) - --(-0.658333,0.2) - --(-0.658333,0.4) - --(-0.483333,0.3)\dpicstop -\dpicdraw (-0.445833,0.3) circle (0.014764in)\dpicstop -\dpicdraw (-0.85,0.3) - --(-0.658333,0.3)\dpicstop -\dpicdraw (-0.408333,0.3) - --(-0.35,0.3)\dpicstop -\draw (-0.85,0.3) node(Serial)[left=-3bp]{\scriptsize\shortstack[r]{SERIAL\\ INPUT}}; -\dpicdraw (-0.35,0.3) - --(-0.35,-0.3) - --(0,-0.3)\dpicstop -\dpicdraw (-0.483333,-0.6) - --(-0.658333,-0.7) - --(-0.658333,-0.5) - --(-0.483333,-0.6)\dpicstop -\dpicdraw (-0.695833,-0.6) circle (0.014764in)\dpicstop -\dpicdraw (-0.445833,-0.6) circle (0.014764in)\dpicstop -\dpicdraw (-0.85,-0.6) - --(-0.733333,-0.6)\dpicstop -\dpicdraw (-0.408333,-0.6) - --(-0.35,-0.6)\dpicstop -\draw (-0.85,-0.6) node[left=-3bp]{$\overline{\hbox{\scriptsize CLEAR}}$}; -\dpicdraw (-0.483333,-0.9) - --(-0.658333,-1) - --(-0.658333,-0.8) - --(-0.483333,-0.9)\dpicstop -\dpicdraw (-0.445833,-0.9) circle (0.014764in)\dpicstop -\dpicdraw (-0.85,-0.9) - --(-0.658333,-0.9)\dpicstop -\dpicdraw (-0.408333,-0.9) - --(-0.35,-0.9)\dpicstop -\draw (-0.85,-0.9) node[left=-3bp]{\scriptsize CLOCK}; -\dpicdraw (0.95,-0.45) rectangle (1.45,0.45)\dpicstop -\draw (0.95,0.3) node[right=-3bp]{{\scriptsize S}}; -\dpicdraw (0.95,0.3) - --(0.8,0.3)\dpicstop -\dpicdraw (0.95,-0.0375) - --(1.014952,0) - --(0.95,0.0375)\dpicstop -\draw (1.014952,0) node[right=-3bp]{{\scriptsize CK}}; -\dpicdraw (0.9125,0) circle (0.014764in)\dpicstop -\dpicdraw (0.875,0) - --(0.8,0)\dpicstop -\draw (0.95,-0.3) node[right=-3bp]{{\scriptsize R}}; -\dpicdraw (0.95,-0.3) - --(0.8,-0.3)\dpicstop -\draw (1.2,0.45) node[below=-3bp]{{\scriptsize PR}}; -\dpicdraw (1.2,0.4875) circle (0.014764in)\dpicstop -\dpicdraw (1.2,0.525) - --(1.2,0.6)\dpicstop -\draw (1.45,0.3) node[left=-3bp]{{\scriptsize Q}}; -\dpicdraw (1.45,0.3) - --(1.6,0.3)\dpicstop -\draw (1.45,-0.3) node[left=-3bp]{{\scriptsize $\overline{\hbox{Q}}$}}; -\dpicdraw (1.45,-0.3) - --(1.6,-0.3)\dpicstop -\draw (1.2,-0.45) node[above=-3bp]{{\scriptsize CLR}}; -\dpicdraw (1.2,-0.4875) circle (0.014764in)\dpicstop -\dpicdraw (1.2,-0.525) - --(1.2,-0.6)\dpicstop -\dpicdraw (1.75,-0.45) rectangle (2.25,0.45)\dpicstop -\draw (1.75,0.3) node[right=-3bp]{{\scriptsize S}}; -\dpicdraw (1.75,0.3) - --(1.6,0.3)\dpicstop -\dpicdraw (1.75,-0.0375) - --(1.814952,0) - --(1.75,0.0375)\dpicstop -\draw (1.814952,0) node[right=-3bp]{{\scriptsize CK}}; -\dpicdraw (1.7125,0) circle (0.014764in)\dpicstop -\dpicdraw (1.675,0) - --(1.6,0)\dpicstop -\draw (1.75,-0.3) node[right=-3bp]{{\scriptsize R}}; -\dpicdraw (1.75,-0.3) - --(1.6,-0.3)\dpicstop -\draw (2,0.45) node[below=-3bp]{{\scriptsize PR}}; -\dpicdraw (2,0.4875) circle (0.014764in)\dpicstop -\dpicdraw (2,0.525) - --(2,0.6)\dpicstop -\draw (2.25,0.3) node[left=-3bp]{{\scriptsize Q}}; -\dpicdraw (2.25,0.3) - --(2.4,0.3)\dpicstop -\draw (2.25,-0.3) node[left=-3bp]{{\scriptsize $\overline{\hbox{Q}}$}}; -\dpicdraw (2.25,-0.3) - --(2.4,-0.3)\dpicstop -\draw (2,-0.45) node[above=-3bp]{{\scriptsize CLR}}; -\dpicdraw (2,-0.4875) circle (0.014764in)\dpicstop -\dpicdraw (2,-0.525) - --(2,-0.6)\dpicstop -\dpicdraw (2.55,-0.45) rectangle (3.05,0.45)\dpicstop -\draw (2.55,0.3) node[right=-3bp]{{\scriptsize S}}; -\dpicdraw (2.55,0.3) - --(2.4,0.3)\dpicstop -\dpicdraw (2.55,-0.0375) - --(2.614952,0) - --(2.55,0.0375)\dpicstop -\draw (2.614952,0) node[right=-3bp]{{\scriptsize CK}}; -\dpicdraw (2.5125,0) circle (0.014764in)\dpicstop -\dpicdraw (2.475,0) - --(2.4,0)\dpicstop -\draw (2.55,-0.3) node[right=-3bp]{{\scriptsize R}}; -\dpicdraw (2.55,-0.3) - --(2.4,-0.3)\dpicstop -\draw (2.8,0.45) node[below=-3bp]{{\scriptsize PR}}; -\dpicdraw (2.8,0.4875) circle (0.014764in)\dpicstop -\dpicdraw (2.8,0.525) - --(2.8,0.6)\dpicstop -\draw (3.05,0.3) node[left=-3bp]{{\scriptsize Q}}; -\dpicdraw (3.05,0.3) - --(3.2,0.3)\dpicstop -\draw (3.05,-0.3) node[left=-3bp]{{\scriptsize $\overline{\hbox{Q}}$}}; -\dpicdraw (3.05,-0.3) - --(3.2,-0.3)\dpicstop -\draw (2.8,-0.45) node[above=-3bp]{{\scriptsize CLR}}; -\dpicdraw (2.8,-0.4875) circle (0.014764in)\dpicstop -\dpicdraw (2.8,-0.525) - --(2.8,-0.6)\dpicstop -\dpicdraw (3.35,-0.45) rectangle (3.85,0.45)\dpicstop -\draw (3.35,0.3) node[right=-3bp]{{\scriptsize S}}; -\dpicdraw (3.35,0.3) - --(3.2,0.3)\dpicstop -\dpicdraw (3.35,-0.0375) - --(3.414952,0) - --(3.35,0.0375)\dpicstop -\draw (3.414952,0) node[right=-3bp]{{\scriptsize CK}}; -\dpicdraw (3.3125,0) circle (0.014764in)\dpicstop -\dpicdraw (3.275,0) - --(3.2,0)\dpicstop -\draw (3.35,-0.3) node[right=-3bp]{{\scriptsize R}}; -\dpicdraw (3.35,-0.3) - --(3.2,-0.3)\dpicstop -\draw (3.6,0.45) node[below=-3bp]{{\scriptsize PR}}; -\dpicdraw (3.6,0.4875) circle (0.014764in)\dpicstop -\dpicdraw (3.6,0.525) - --(3.6,0.6)\dpicstop -\draw (3.85,0.3) node[left=-3bp]{{\scriptsize Q}}; -\dpicdraw (3.85,0.3) - --(4,0.3)\dpicstop -\draw (3.6,-0.45) node[above=-3bp]{{\scriptsize CLR}}; -\dpicdraw (3.6,-0.4875) circle (0.014764in)\dpicstop -\dpicdraw (3.6,-0.525) - --(3.6,-0.6)\dpicstop -\draw (4,0.3) node[right=-3bp]{\scriptsize OUTPUT}; -\dpicdraw (-0.35,-0.6) - --(3.6,-0.6)\dpicstop -\dpicdraw (0,0) - --(0,-0.9)\dpicstop -\dpicdraw[fill=black](0,-0.9) circle (0.007874in)\dpicstop -\dpicdraw (0.25,0.825) - --(0.25,1.025) - --(0.55,1.025) - --(0.55,0.825)\dpicstop -\dpicdraw (0.55,0.825) - ..controls (0.55,0.625) and (0.25,0.625) - ..(0.25,0.825)\dpicstop -\dpicdraw (0.4,0.6375) circle (0.014764in)\dpicstop -\dpicdraw (0.325,1.025) - --(0.325,1.125)\dpicstop -\dpicdraw (0.475,1.025) - --(0.475,1.325)\dpicstop -\draw (0.475,1.325) node[left=-3bp]{\scriptsize PR4}; -\dpicdraw[fill=black](0.325,1.125) circle (0.007874in)\dpicstop -\dpicdraw[fill=black](0.4,-0.6) circle (0.007874in)\dpicstop -\dpicdraw (0.8,0) - --(0.8,-0.9)\dpicstop -\dpicdraw[fill=black](0.8,-0.9) circle (0.007874in)\dpicstop -\dpicdraw (1.05,0.825) - --(1.05,1.025) - --(1.35,1.025) - --(1.35,0.825)\dpicstop -\dpicdraw (1.35,0.825) - ..controls (1.35,0.625) and (1.05,0.625) - ..(1.05,0.825)\dpicstop -\dpicdraw (1.2,0.6375) circle (0.014764in)\dpicstop -\dpicdraw (1.125,1.025) - --(1.125,1.125)\dpicstop -\dpicdraw (1.275,1.025) - --(1.275,1.325)\dpicstop -\draw (1.275,1.325) node[left=-3bp]{\scriptsize PR3}; -\dpicdraw[fill=black](1.125,1.125) circle (0.007874in)\dpicstop -\dpicdraw[fill=black](1.2,-0.6) circle (0.007874in)\dpicstop -\dpicdraw (1.6,0) - --(1.6,-0.9)\dpicstop -\dpicdraw[fill=black](1.6,-0.9) circle (0.007874in)\dpicstop -\dpicdraw (1.85,0.825) - --(1.85,1.025) - --(2.15,1.025) - --(2.15,0.825)\dpicstop -\dpicdraw (2.15,0.825) - ..controls (2.15,0.625) and (1.85,0.625) - ..(1.85,0.825)\dpicstop -\dpicdraw (2,0.6375) circle (0.014764in)\dpicstop -\dpicdraw (1.925,1.025) - --(1.925,1.125)\dpicstop -\dpicdraw (2.075,1.025) - --(2.075,1.325)\dpicstop -\draw (2.075,1.325) node[left=-3bp]{\scriptsize PR2}; -\dpicdraw[fill=black](1.925,1.125) circle (0.007874in)\dpicstop -\dpicdraw[fill=black](2,-0.6) circle (0.007874in)\dpicstop -\dpicdraw (2.4,0) - --(2.4,-0.9)\dpicstop -\dpicdraw[fill=black](2.4,-0.9) circle (0.007874in)\dpicstop -\dpicdraw (2.65,0.825) - --(2.65,1.025) - --(2.95,1.025) - --(2.95,0.825)\dpicstop -\dpicdraw (2.95,0.825) - ..controls (2.95,0.625) and (2.65,0.625) - ..(2.65,0.825)\dpicstop -\dpicdraw (2.8,0.6375) circle (0.014764in)\dpicstop -\dpicdraw (2.725,1.025) - --(2.725,1.125)\dpicstop -\dpicdraw (2.875,1.025) - --(2.875,1.325)\dpicstop -\draw (2.875,1.325) node[left=-3bp]{\scriptsize PR1}; -\dpicdraw[fill=black](2.725,1.125) circle (0.007874in)\dpicstop -\dpicdraw[fill=black](2.8,-0.6) circle (0.007874in)\dpicstop -\dpicdraw (3.2,0) - --(3.2,-0.9)\dpicstop -\dpicdraw (3.2,-0.9) - --(-0.35,-0.9)\dpicstop -\dpicdraw (3.45,0.825) - --(3.45,1.025) - --(3.75,1.025) - --(3.75,0.825)\dpicstop -\dpicdraw (3.75,0.825) - ..controls (3.75,0.625) and (3.45,0.625) - ..(3.45,0.825)\dpicstop -\dpicdraw (3.6,0.6375) circle (0.014764in)\dpicstop -\dpicdraw (3.525,1.025) - --(3.525,1.125)\dpicstop -\dpicdraw (3.675,1.025) - --(3.675,1.325)\dpicstop -\draw (3.675,1.325) node[left=-3bp]{\scriptsize PR0}; -\dpicdraw (3.525,1.125) - --(-0.85,1.125)\dpicstop -\draw (-0.85,1.125) node[left=-3bp]{\scriptsize\shortstack[r]{PRESET\\ ENABLE}}; - } -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Sources.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Sources.tex deleted file mode 100644 index 55e57cbaf4c..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Sources.tex +++ /dev/null @@ -1,466 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp - {\sf -\dpicdraw (0,0) - --(0.25,0)\dpicstop -\dpicdraw (0.375,0) circle (0.049213in)\dpicstop -\dpicdraw (0.5,0) - --(0.75,0)\dpicstop -\draw (0.777674,0) node[right=-2bp]{source}; -\dpicdraw (0,-0.275) - --(0.25,-0.275)\dpicstop -\dpicdraw (0.375,-0.275) circle (0.049213in)\dpicstop -\filldraw[line width=0bp](0.36875,-0.3) - --(0.46875,-0.275) - --(0.36875,-0.25) --cycle\dpicstop -\dpicdraw (0.28125,-0.275) - --(0.445844,-0.275)\dpicstop -\dpicdraw (0.5,-0.275) - --(0.75,-0.275)\dpicstop -\draw (0.777674,-0.275) node[right=-2bp]{source(,I)}; -\dpicdraw (0,-0.55) - --(0.25,-0.55)\dpicstop -\dpicdraw (0.375,-0.55) circle (0.049213in)\dpicstop -\dpicdraw (0.375,-0.675) - --(0.375,-0.425)\dpicstop -\dpicdraw (0.5,-0.55) - --(0.75,-0.55)\dpicstop -\draw (0.777674,-0.55) node[right=-2bp]{source(,i)}; -\dpicdraw (0,-0.825) - --(0.25,-0.825)\dpicstop -\dpicdraw (0.375,-0.825) circle (0.049213in)\dpicstop -\draw (0.3125,-0.825) node{$_-$}; -\draw (0.4375,-0.825) node{$_+$}; -\dpicdraw (0.5,-0.825) - --(0.75,-0.825)\dpicstop -\draw (0.777674,-0.825) node[right=-2bp]{source(,V)}; -\dpicdraw (0,-1.1) - --(0.25,-1.1)\dpicstop -\dpicdraw (0.375,-1.1) circle (0.049213in)\dpicstop -\dpicdraw (0.25,-1.1) - --(0.5,-1.1)\dpicstop -\dpicdraw (0.5,-1.1) - --(0.75,-1.1)\dpicstop -\draw (0.777674,-1.1) node[right=-2bp]{source(,v)}; -\dpicdraw (0,-1.375) - --(0.25,-1.375)\dpicstop -\dpicdraw (0.375,-1.375) circle (0.049213in)\dpicstop -\dpicdraw (0.25,-1.375) - ..controls (0.319036,-1.375) and (0.375,-1.319036) - ..(0.375,-1.25)\dpicstop -\dpicdraw (0.5,-1.375) - --(0.75,-1.375)\dpicstop -\draw (0.777674,-1.375) node[right=-2bp]{source(,SC)}; -\dpicdraw (0,-1.65) - --(0.25,-1.65)\dpicstop -\dpicdraw (0.375,-1.65) circle (0.049213in)\dpicstop -\dpicdraw (0.375,-1.65) - ..controls (0.375,-1.626988) and (0.356345,-1.608333) - ..(0.333333,-1.608333) - ..controls (0.310321,-1.608333) and (0.291667,-1.626988) - ..(0.291667,-1.65)\dpicstop -\dpicdraw (0.375,-1.65) - ..controls (0.375,-1.673012) and (0.393655,-1.691667) - ..(0.416667,-1.691667) - ..controls (0.439679,-1.691667) and (0.458333,-1.673012) - ..(0.458333,-1.65)\dpicstop -\dpicdraw (0.583333,-1.65) - --(0.833333,-1.65)\dpicstop -\draw (0.777674,-1.65) node[right=-2bp]{source(,AC)}; -\dpicdraw (0,-1.925) - --(0.25,-1.925)\dpicstop -\dpicdraw (0.375,-1.925) circle (0.049213in)\dpicstop -\dpicdraw (0.286612,-1.836612) - --(0.463388,-2.013388)\dpicstop -\dpicdraw (0.286612,-2.013388) - --(0.463388,-1.836612)\dpicstop -\dpicdraw (0.5,-1.925) - --(0.75,-1.925)\dpicstop -\draw (0.777674,-1.925) node[right=-2bp]{source(,X)}; -\dpicdraw (0,-2.2) - --(0.25,-2.2)\dpicstop -\dpicdraw (0.375,-2.2) circle (0.049213in)\dpicstop -\dpicdraw (0.25,-2.2) - --(0.3125,-2.2)\dpicstop -\dpicdraw (0.3125,-2.2625) - --(0.3125,-2.1375)\dpicstop -\dpicdraw (0.4375,-2.2625) - --(0.4375,-2.1375)\dpicstop -\dpicdraw (0.5,-2.2) - --(0.4375,-2.2)\dpicstop -\dpicdraw (0.5,-2.2) - --(0.75,-2.2)\dpicstop -\draw (0.777674,-2.2) node[right=-2bp]{source(,F)}; -\dpicdraw (0,-2.475) - --(0.1875,-2.475)\dpicstop -\dpicdraw (0.3125,-2.475) circle (0.049213in)\dpicstop -\dpicdraw (0.4375,-2.475) circle (0.049213in)\dpicstop -\dpicdraw (0.5625,-2.475) - --(0.75,-2.475)\dpicstop -\draw (0.777674,-2.475) node[right=-2bp]{source(,G)}; -\dpicdraw (0,-2.75) - --(0.1875,-2.75)\dpicstop -\dpicdraw (0.3125,-2.75) circle (0.049213in)\dpicstop -\dpicdraw (0.375,-2.858253) - ..controls (0.458333,-2.906366) and (0.5625,-2.846225) - ..(0.5625,-2.75) - ..controls (0.5625,-2.653775) and (0.458333,-2.593634) - ..(0.375,-2.641747)\dpicstop -\dpicdraw (0.5625,-2.75) - --(0.75,-2.75)\dpicstop -\draw (0.777674,-2.75) node[right=-2bp]{source(,Q)}; -\dpicdraw (2,0) - --(2.175,0)\dpicstop -\dpicdraw (2.375,0) circle (0.07874in)\dpicstop -\dpicdraw (2.575,0) - --(2.75,0)\dpicstop -\draw (2.777674,0) node[right=-2bp]{source(,{,}0.4)}; -\dpicdraw (2,-0.35) - --(2.25,-0.35)\dpicstop -\dpicdraw (2.375,-0.35) circle (0.049213in)\dpicstop -\dpicdraw (2.3125,-0.38125) - --(2.34375,-0.38125) - --(2.34375,-0.31875) - --(2.40625,-0.31875) - --(2.40625,-0.38125) - --(2.4375,-0.38125)\dpicstop -\dpicdraw (2.5,-0.35) - --(2.75,-0.35)\dpicstop -\draw (2.777674,-0.35) node[right=-2bp]{source(,P)}; -\dpicdraw (2,-0.625) - --(2.25,-0.625)\dpicstop -\dpicdraw (2.375,-0.625) circle (0.049213in)\dpicstop -\dpicdraw (2.3125,-0.625) - --(2.3125,-0.583333) - --(2.375,-0.583333) - --(2.375,-0.666667) - --(2.4375,-0.666667) - --(2.4375,-0.625)\dpicstop -\dpicdraw (2.5,-0.625) - --(2.75,-0.625)\dpicstop -\draw (2.777674,-0.625) node[right=-2bp]{source(,U)}; -\dpicdraw (2,-0.9) - --(2.25,-0.9)\dpicstop -\dpicdraw (2.375,-0.9) circle (0.049213in)\dpicstop -\dpicdraw (2.3125,-0.941667) - --(2.375,-0.941667) - --(2.375,-0.858333) - --(2.4375,-0.858333)\dpicstop -\dpicdraw (2.5,-0.9) - --(2.75,-0.9)\dpicstop -\draw (2.777674,-0.9) node[right=-2bp]{source(,H)}; -\dpicdraw (2,-1.175) - --(2.25,-1.175)\dpicstop -\dpicdraw (2.375,-1.175) circle (0.049213in)\dpicstop -\dpicdraw (2.291667,-1.216667) - --(2.416667,-1.1125) - --(2.416667,-1.216667)\dpicstop -\dpicdraw (2.5,-1.175) - --(2.75,-1.175)\dpicstop -\draw (2.777674,-1.175) node[right=-2bp]{source(,R)}; -\dpicdraw (2,-1.45) - --(2.25,-1.45)\dpicstop -\dpicdraw (2.375,-1.45) circle (0.049213in)\dpicstop -\dpicdraw (2.291667,-1.45) - ..controls (2.29302,-1.447174) and (2.295417,-1.442207) - ..(2.297014,-1.438918) - ..controls (2.298611,-1.435629) and (2.301248,-1.430362) - ..(2.302897,-1.427166) - ..controls (2.304546,-1.423971) and (2.307453,-1.418784) - ..(2.309383,-1.415594) - ..controls (2.311313,-1.412404) and (2.314426,-1.40787) - ..(2.316328,-1.405477) - ..controls (2.31823,-1.403084) and (2.3213,-1.399943) - ..(2.323177,-1.398468) - ..controls (2.325054,-1.396994) and (2.328093,-1.395392) - ..(2.329956,-1.394895) - ..controls (2.33182,-1.394398) and (2.334847,-1.394398) - ..(2.33671,-1.394895) - ..controls (2.338574,-1.395392) and (2.341612,-1.396994) - ..(2.34349,-1.398468) - ..controls (2.345367,-1.399943) and (2.348437,-1.403084) - ..(2.350339,-1.405477) - ..controls (2.352241,-1.40787) and (2.355353,-1.412404) - ..(2.357283,-1.415594) - ..controls (2.359213,-1.418784) and (2.362369,-1.424451) - ..(2.364323,-1.428239) - ..controls (2.366277,-1.432026) and (2.369464,-1.438441) - ..(2.371432,-1.442551) - ..controls (2.373401,-1.446661) and (2.376599,-1.453339) - ..(2.378568,-1.457449) - ..controls (2.380536,-1.461559) and (2.383723,-1.467974) - ..(2.385677,-1.471761) - ..controls (2.387631,-1.475549) and (2.390787,-1.481216) - ..(2.392717,-1.484406) - ..controls (2.394647,-1.487596) and (2.397759,-1.49213) - ..(2.399661,-1.494523) - ..controls (2.401563,-1.496916) and (2.404633,-1.500057) - ..(2.40651,-1.501532) - ..controls (2.408388,-1.503006) and (2.411426,-1.504608) - ..(2.41329,-1.505105) - ..controls (2.415153,-1.505602) and (2.41818,-1.505602) - ..(2.420044,-1.505105) - ..controls (2.421907,-1.504608) and (2.424946,-1.503006) - ..(2.426823,-1.501532) - ..controls (2.4287,-1.500057) and (2.43177,-1.496916) - ..(2.433672,-1.494523) - ..controls (2.435574,-1.49213) and (2.438687,-1.487596) - ..(2.440617,-1.484406) - ..controls (2.442547,-1.481216) and (2.445454,-1.476029) - ..(2.447103,-1.472834) - ..controls (2.448752,-1.469638) and (2.451389,-1.464371) - ..(2.452986,-1.461082) - ..controls (2.454583,-1.457793) and (2.45698,-1.452826) - ..(2.458333,-1.45)\dpicstop -\dpicdraw (2.583333,-1.45) - --(2.833333,-1.45)\dpicstop -\draw (2.777674,-1.45) node[right=-2bp]{source(,S)}; -\dpicdraw (2,-1.725) - --(2.25,-1.725)\dpicstop -\dpicdraw (2.375,-1.725) circle (0.049213in)\dpicstop -\dpicdraw (2.25,-1.725) - ..controls (2.319036,-1.725) and (2.375,-1.780964) - ..(2.375,-1.85)\dpicstop -\dpicdraw (2.5,-1.725) - --(2.75,-1.725)\dpicstop -\draw (2.777674,-1.725) node[right=-2bp]{source(,SCr)}; -\dpicdraw (2,-2) - --(2.25,-2)\dpicstop -\dpicdraw (2.375,-2) circle (0.049213in)\dpicstop -\dpicdraw (2.28125,-2.03125) - --(2.34375,-1.96875) - --(2.40625,-2.03125) - --(2.46875,-1.96875)\dpicstop -\dpicdraw (2.5,-2) - --(2.75,-2)\dpicstop -\draw (2.777674,-2) node[right=-2bp]{source(,T)}; -\dpicdraw (2,-2.275) - --(2.25,-2.275)\dpicstop -\dpicdraw (2.375,-2.275) circle (0.049213in)\dpicstop -\dpicdraw (2.25,-2.275) - --(2.34375,-2.275)\dpicstop -\dpicdraw[line width=0.4bp](2.34375,-2.275) circle (0.00109in)\dpicstop -\dpicdraw (2.34375,-2.275) - --(2.348958,-2.233333) - ..controls (2.352431,-2.205556) and (2.361111,-2.191667) - ..(2.375,-2.191667) - ..controls (2.388889,-2.191667) and (2.397569,-2.205556) - ..(2.401042,-2.233333) - --(2.40625,-2.275)\dpicstop -\dpicdraw[line width=0.4bp](2.40625,-2.275) circle (0.00109in)\dpicstop -\dpicdraw (2.40625,-2.275) - --(2.5,-2.275)\dpicstop -\dpicdraw (2.5,-2.275) - --(2.75,-2.275)\dpicstop -\draw (2.777674,-2.275) node[right=-2bp]{source(,L)}; -\dpicdraw (2,-2.55) - --(2.25,-2.55)\dpicstop -\dpicdraw (2.375,-2.55) circle (0.049213in)\dpicstop -\dpicdraw (2.25,-2.55) - --(2.291667,-2.55)\dpicstop -\dpicdraw[line width=0.4bp](2.291667,-2.55) circle (0.00109in)\dpicstop -\dpicdraw (2.291667,-2.55) - ..controls (2.291667,-2.584518) and (2.319649,-2.6125) - ..(2.354167,-2.6125) - ..controls (2.388684,-2.6125) and (2.416667,-2.584518) - ..(2.416667,-2.55)\dpicstop -\dpicdraw (2.416667,-2.55) - ..controls (2.416667,-2.526988) and (2.398012,-2.508333) - ..(2.375,-2.508333) - ..controls (2.351988,-2.508333) and (2.333333,-2.526988) - ..(2.333333,-2.55)\dpicstop -\dpicdraw (2.333333,-2.55) - ..controls (2.333333,-2.584518) and (2.361316,-2.6125) - ..(2.395833,-2.6125) - ..controls (2.430351,-2.6125) and (2.458333,-2.584518) - ..(2.458333,-2.55)\dpicstop -\dpicdraw[line width=0.4bp](2.458333,-2.55) circle (0.00109in)\dpicstop -\dpicdraw (2.458333,-2.55) - --(2.5,-2.55)\dpicstop -\dpicdraw (2.5,-2.55) - --(2.75,-2.55)\dpicstop -\draw (2.777674,-2.55) node[right=-2bp]{source(,B)}; -\dpicdraw (2,-2.77) - --(2.25,-2.77)\dpicstop -\dpicdraw (2.375,-2.7075) - ..controls (2.39675,-2.7075) and (2.430875,-2.714063) - ..(2.45625,-2.723125) - ..controls (2.481625,-2.732188) and (2.5,-2.751875) - ..(2.5,-2.77) - ..controls (2.5,-2.788125) and (2.481625,-2.807813) - ..(2.45625,-2.816875) - ..controls (2.430875,-2.825938) and (2.39675,-2.8325) - ..(2.375,-2.8325) - ..controls (2.35325,-2.8325) and (2.319125,-2.825938) - ..(2.29375,-2.816875) - ..controls (2.268375,-2.807813) and (2.25,-2.788125) - ..(2.25,-2.77) - ..controls (2.25,-2.751875) and (2.268375,-2.732188) - ..(2.29375,-2.723125) - ..controls (2.319125,-2.714063) and (2.35325,-2.7075) - ..(2.375,-2.7075)\dpicstop -\dpicdraw (2.5,-2.77) - --(2.75,-2.77)\dpicstop -\draw (2.777674,-2.77) node[right=-2bp]{nullator}; -\dpicdraw (2,-2.935) - --(2.25,-2.935)\dpicstop -\dpicdraw (2.375,-2.935) - --(2.34375,-2.90375) - ..controls (2.322917,-2.882917) and (2.302083,-2.8725) - ..(2.28125,-2.8725) - ..controls (2.260417,-2.8725) and (2.25,-2.893333) - ..(2.25,-2.935) - ..controls (2.25,-2.976667) and (2.260417,-2.9975) - ..(2.28125,-2.9975) - ..controls (2.302083,-2.9975) and (2.322917,-2.987083) - ..(2.34375,-2.96625) - --(2.375,-2.935)\dpicstop -\dpicdraw (2.375,-2.935) - --(2.40625,-2.90375) - ..controls (2.427083,-2.882917) and (2.447917,-2.8725) - ..(2.46875,-2.8725) - ..controls (2.489583,-2.8725) and (2.5,-2.893333) - ..(2.5,-2.935) - ..controls (2.5,-2.976667) and (2.489583,-2.9975) - ..(2.46875,-2.9975) - ..controls (2.447917,-2.9975) and (2.427083,-2.987083) - ..(2.40625,-2.96625) - --(2.375,-2.935)\dpicstop -\dpicdraw (2.5,-2.935) - --(2.75,-2.935)\dpicstop -\draw (2.777674,-2.935) node[right=-2bp]{norator}; -\dpicdraw (4,0) - --(4.25,0)\dpicstop -\dpicdraw (4.375,0) circle (0.049213in)\dpicstop -\dpicdraw (4.25,0) - --(4.3125,0)\dpicstop -\dpicdraw (4.396376,-0.058731) - --(4.396376,0.058731)\dpicstop -\dpicdraw[line width=0.4bp](4.396376,0.058731) circle (0.00109in)\dpicstop -\dpicdraw (4.396376,0.058731) - ..controls (4.451208,0.038774) and (4.451208,-0.038774) - ..(4.396376,-0.058731)\dpicstop -\dpicdraw[line width=0.4bp](4.396376,-0.058731) circle (0.00109in)\dpicstop -\dpicdraw (4.353624,0.058731) - --(4.353624,-0.058731)\dpicstop -\dpicdraw[line width=0.4bp](4.353624,-0.058731) circle (0.00109in)\dpicstop -\dpicdraw (4.353624,-0.058731) - ..controls (4.298792,-0.038774) and (4.298792,0.038774) - ..(4.353624,0.058731)\dpicstop -\dpicdraw[line width=0.4bp](4.353624,0.058731) circle (0.00109in)\dpicstop -\dpicdraw (4.4375,0) - --(4.5,0)\dpicstop -\dpicdraw (4.5,0) - --(4.75,0)\dpicstop -\draw (4.777674,0) node[right=-2bp]{source(,N)}; -\dpicdraw (4,-0.275) - --(4.25,-0.275)\dpicstop -\dpicdraw (4.375,-0.275) circle (0.049213in)\dpicstop -\draw (4.375,-0.275) node{\rm mA}; -\dpicdraw (4.5,-0.275) - --(4.75,-0.275)\dpicstop -\draw (4.777674,-0.275) node[right=-2bp]{source(,"mA")}; -\dpicdraw (4,-0.585) - --(4.225,-0.585)\dpicstop -\dpicdraw (4.225,-0.585) - --(4.375,-0.435) - --(4.525,-0.585) - --(4.375,-0.735) - --(4.225,-0.585)\dpicstop -\dpicdraw (4.525,-0.585) - --(4.75,-0.585)\dpicstop -\draw (4.777674,-0.585) node[right=-2bp]{consource}; -\dpicdraw (4,-0.905) - --(4.225,-0.905)\dpicstop -\dpicdraw (4.225,-0.905) - --(4.375,-0.755) - --(4.525,-0.905) - --(4.375,-1.055) - --(4.225,-0.905)\dpicstop -\filldraw[line width=0bp](4.3875,-0.93) - --(4.4875,-0.905) - --(4.3875,-0.88) --cycle\dpicstop -\dpicdraw (4.2625,-0.905) - --(4.464594,-0.905)\dpicstop -\dpicdraw (4.525,-0.905) - --(4.75,-0.905)\dpicstop -\draw (4.777674,-0.905) node[right=-2bp]{consource(,I)}; -\dpicdraw (4,-1.225) - --(4.225,-1.225)\dpicstop -\dpicdraw (4.225,-1.225) - --(4.375,-1.075) - --(4.525,-1.225) - --(4.375,-1.375) - --(4.225,-1.225)\dpicstop -\dpicdraw (4.375,-1.075) - --(4.375,-1.375)\dpicstop -\dpicdraw (4.525,-1.225) - --(4.75,-1.225)\dpicstop -\draw (4.777674,-1.225) node[right=-2bp]{consource(,i)}; -\dpicdraw (4,-1.545) - --(4.25,-1.545)\dpicstop -\dpicdraw (4.375,-1.545) circle (0.049213in)\dpicstop -\dpicdraw (4.26275,-1.49) - ..controls (4.332238,-1.53) and (4.417762,-1.53) - ..(4.48725,-1.49)\dpicstop -\dpicdraw (4.5,-1.545) - --(4.75,-1.545)\dpicstop -\draw (4.777674,-1.545) node[right=-2bp]{source(,SE)}; -\dpicdraw (4,-1.82) - --(4.225,-1.82)\dpicstop -\dpicdraw (4.225,-1.82) - --(4.375,-1.67) - --(4.525,-1.82) - --(4.375,-1.97) - --(4.225,-1.82)\dpicstop -\draw (4.3,-1.82) node{$-$}; -\draw (4.45,-1.82) node{$+$}; -\dpicdraw (4.525,-1.82) - --(4.75,-1.82)\dpicstop -\draw (4.777674,-1.82) node[right=-2bp]{consource(,V)}; -\dpicdraw (4,-2.14) - --(4.225,-2.14)\dpicstop -\dpicdraw (4.225,-2.14) - --(4.375,-1.99) - --(4.525,-2.14) - --(4.375,-2.29) - --(4.225,-2.14)\dpicstop -\dpicdraw (4.225,-2.14) - --(4.525,-2.14)\dpicstop -\dpicdraw (4.525,-2.14) - --(4.75,-2.14)\dpicstop -\draw (4.777674,-2.14) node[right=-2bp]{consource(,v)}; -\dpicdraw (4,-2.44) - --(4.354167,-2.44)\dpicstop -\dpicdraw (4.354167,-2.3775) - --(4.354167,-2.5025)\dpicstop -\dpicdraw (4.395833,-2.315) - --(4.395833,-2.565)\dpicstop -\dpicdraw (4.395833,-2.44) - --(4.75,-2.44)\dpicstop -\draw (4.777674,-2.44) node[right=-2bp]{battery}; -\dpicdraw (4.75,-2.715) - --(4.479167,-2.715)\dpicstop -\dpicdraw (4.479167,-2.7775) - --(4.479167,-2.6525)\dpicstop -\dpicdraw (4.4375,-2.84) - --(4.4375,-2.59)\dpicstop -\dpicdraw (4.395833,-2.7775) - --(4.395833,-2.6525)\dpicstop -\dpicdraw (4.354167,-2.84) - --(4.354167,-2.59)\dpicstop -\dpicdraw (4.3125,-2.7775) - --(4.3125,-2.6525)\dpicstop -\dpicdraw (4.270833,-2.84) - --(4.270833,-2.59)\dpicstop -\dpicdraw (4.270833,-2.715) - --(4,-2.715)\dpicstop -\draw (4.777674,-2.715) node[right=-2bp]{battery(,3,R)}; - } -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Switches.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Switches.tex deleted file mode 100644 index 3f6e0b08e11..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Switches.tex +++ /dev/null @@ -1,596 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw (0,0) - --(0.291667,0)\dpicstop -\dpicdraw (0.291667,0) - --(0.416667,0.125)\dpicstop -\dpicdraw (0.458333,0) - --(0.75,0)\dpicstop -\draw (0.375,-0.160595) node{\tt ls{}witch}; -\dpicdraw (1,0) - --(1.291667,0)\dpicstop -\dpicdraw (1.291667,0) - --(1.416667,0.125)\dpicstop -\filldraw[line width=0bp](1.362125,0.086087) - --(1.349366,0.074969) - ..controls (1.342662,0.09113) and (1.33416,0.106484) - ..(1.324019,0.120741) - ..controls (1.34186,0.114971) and (1.358938,0.107068) - ..(1.374885,0.097205) - --(1.362125,0.086087)\dpicstop -\dpicdraw (1.414768,-0.021706) - ..controls (1.405742,0.02367) and (1.383411,0.065332) - ..(1.350622,0.097972)\dpicstop -\dpicdraw (1.458333,0) - --(1.75,0)\dpicstop -\draw (1.375,-0.160595) node{\tt (,,O)}; -\dpicdraw (2,0) - --(2.291667,0)\dpicstop -\dpicdraw (2.291667,0) - --(2.416667,0.125)\dpicstop -\filldraw[line width=0bp](2.403732,0.018447) - --(2.387471,0.01371) - ..controls (2.397462,-0.000674) and (2.405825,-0.016123) - ..(2.412407,-0.032352) - ..controls (2.417126,-0.014206) and (2.419673,0.004436) - ..(2.419994,0.023183) - --(2.403732,0.018447)\dpicstop -\dpicdraw (2.407539,0.002327) - ..controls (2.399025,0.041593) and (2.380658,0.078046) - ..(2.354167,0.108253)\dpicstop -\dpicdraw (2.458333,0) - --(2.75,0)\dpicstop -\draw (2.375,-0.160595) node{\tt (,,C)}; -\dpicdraw (3,0) - --(3.291667,0)\dpicstop -\filldraw[line width=0bp](3.391447,0.074795) - --(3.416667,0.125) - --(3.366462,0.09978) --cycle\dpicstop -\dpicdraw (3.291667,0) - --(3.404174,0.112507)\dpicstop -\dpicdraw (3.458333,0) - --(3.75,0)\dpicstop -\dpicdraw[fill=white](3.291667,0) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](3.458333,0) circle (0.007874in)\dpicstop -\draw (3.375,-0.160595) node{\tt (,,DA)}; -\dpicdraw (4,0) - --(4.291667,0)\dpicstop -\dpicdraw (4.291667,0) - --(4.416667,0.125)\dpicstop -\filldraw[line width=0bp](4.362125,0.086087) - --(4.349366,0.074969) - ..controls (4.342662,0.09113) and (4.33416,0.106484) - ..(4.324019,0.120741) - ..controls (4.34186,0.114971) and (4.358938,0.107068) - ..(4.374885,0.097205) - --(4.362125,0.086087)\dpicstop -\dpicdraw (4.414768,-0.021706) - ..controls (4.405742,0.02367) and (4.383411,0.065332) - ..(4.350622,0.097972)\dpicstop -\dpicdraw (4.458333,0) - --(4.75,0)\dpicstop -\dpicdraw[fill=white](4.291667,0) circle (0.007874in)\dpicstop -\draw (4.375,-0.160595) node{\tt (,,dDO)}; -\dpicdraw (5,0) - --(5.291667,0)\dpicstop -\dpicdraw (5.291667,0) - --(5.416667,0.125)\dpicstop -\filldraw[line width=0bp](5.403732,0.018447) - --(5.387471,0.01371) - ..controls (5.397462,-0.000674) and (5.405825,-0.016123) - ..(5.412407,-0.032352) - ..controls (5.417126,-0.014206) and (5.419673,0.004436) - ..(5.419994,0.023183) - --(5.403732,0.018447)\dpicstop -\dpicdraw (5.407539,0.002327) - ..controls (5.399025,0.041593) and (5.380658,0.078046) - ..(5.354167,0.108253)\dpicstop -\dpicdraw (5.458333,0) - --(5.75,0)\dpicstop -\dpicdraw[fill=white](5.458333,0) circle (0.007874in)\dpicstop -\draw (5.375,-0.160595) node{\tt (,,uDC)}; -\dpicdraw (0,-0.5) - --(0.291667,-0.5)\dpicstop -\dpicdraw (0.291667,-0.5) - --(0.475789,-0.477745)\dpicstop -\dpicdraw (0.458333,-0.5) - --(0.458333,-0.48)\dpicstop -\dpicdraw (0.458333,-0.5) - --(0.75,-0.5)\dpicstop -\draw (0.375,-0.660595) node{\tt (,,K)}; -\dpicdraw (1,-0.5) - --(1.291667,-0.5)\dpicstop -\dpicdraw (1.291667,-0.5) - --(1.475789,-0.477745)\dpicstop -\dpicdraw (1.458333,-0.5) - --(1.458333,-0.48)\dpicstop -\dpicdraw (1.458333,-0.5) - --(1.75,-0.5)\dpicstop -\dpicdraw[fill=white](1.291667,-0.5) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](1.458333,-0.5) circle (0.007874in)\dpicstop -\draw (1.375,-0.660595) node{\tt (,,KD)}; -\dpicdraw (2,-0.5) - --(2.291667,-0.5)\dpicstop -\dpicdraw (2.291667,-0.5) - --(2.475789,-0.477745)\dpicstop -\dpicdraw (2.458333,-0.5) - --(2.458333,-0.48)\dpicstop -\filldraw[line width=0bp](2.362125,-0.413913) - --(2.349366,-0.425031) - ..controls (2.342662,-0.40887) and (2.33416,-0.393516) - ..(2.324019,-0.379259) - ..controls (2.34186,-0.385029) and (2.358938,-0.392932) - ..(2.374885,-0.402795) - --(2.362125,-0.413913)\dpicstop -\dpicdraw (2.414768,-0.521706) - ..controls (2.405742,-0.47633) and (2.383411,-0.434668) - ..(2.350622,-0.402028)\dpicstop -\dpicdraw (2.458333,-0.5) - --(2.75,-0.5)\dpicstop -\dpicdraw[fill=white](2.291667,-0.5) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](2.458333,-0.5) circle (0.007874in)\dpicstop -\draw (2.375,-0.660595) node{\tt (,,KOD)}; -\dpicdraw (3,-0.5) - --(3.291667,-0.5)\dpicstop -\dpicdraw (3.291667,-0.5) - --(3.475789,-0.477745)\dpicstop -\dpicdraw (3.458333,-0.5) - --(3.458333,-0.48)\dpicstop -\filldraw[line width=0bp](3.402903,-0.501361) - --(3.386185,-0.503989) - ..controls (3.394255,-0.519512) and (3.400552,-0.535895) - ..(3.404955,-0.552827) - ..controls (3.412003,-0.535452) and (3.416927,-0.517289) - ..(3.419621,-0.498733) - --(3.402903,-0.501361)\dpicstop -\dpicdraw (3.404613,-0.517813) - ..controls (3.400687,-0.471714) and (3.383125,-0.427828) - ..(3.354167,-0.391747)\dpicstop -\dpicdraw (3.458333,-0.5) - --(3.75,-0.5)\dpicstop -\dpicdraw[fill=white](3.291667,-0.5) circle (0.007874in)\dpicstop -\dpicdraw[fill=white](3.458333,-0.5) circle (0.007874in)\dpicstop -\draw (3.375,-0.660595) node{\tt (,,KCD)}; -\dpicdraw (4,-0.5) - --(4.257074,-0.5)\dpicstop -\dpicdraw (4.291667,-0.5) circle (0.013619in)\dpicstop -\dpicdraw (4.458333,-0.5) circle (0.013619in)\dpicstop -\dpicdraw (4.257074,-0.413517) - --(4.492926,-0.413517)\dpicstop -\dpicdraw (4.375,-0.413517) - --(4.375,-0.344332)\dpicstop -\dpicdraw (4.492926,-0.5) - --(4.75,-0.5)\dpicstop -\draw (4.375,-0.660595) node{\tt bswitch}; -\dpicdraw (5,-0.5) - --(5.257074,-0.5)\dpicstop -\dpicdraw (5.291667,-0.5) circle (0.013619in)\dpicstop -\dpicdraw (5.458333,-0.5) circle (0.013619in)\dpicstop -\dpicdraw (5.257074,-0.534593) - --(5.492926,-0.534593)\dpicstop -\dpicdraw (5.375,-0.534593) - --(5.375,-0.396221)\dpicstop -\dpicdraw (5.492926,-0.5) - --(5.75,-0.5)\dpicstop -\draw (5.375,-0.660595) node{\tt (,,C)}; -\dpicdraw (0,-1) - --(0.291667,-1)\dpicstop -\dpicdraw (0.458333,-1) - --(0.75,-1)\dpicstop -\dpicdraw (0.291667,-1) - --(0.479167,-0.90625)\dpicstop -\draw (0.385417,-1.140032) node{\tt ds{}witch(,{},)}; -\dpiclw=0.4bp -\filldraw[line width=0bp](0.1675,-0.933333) - --(0.1875,-1) - --(0.2075,-0.933333) --cycle\dpicstop -\dpicdraw (0.1875,-0.980666) - --(0.1875,-0.940333) - ..controls (0.1875,-0.913444) and (0.170833,-0.891667) - ..(0.1375,-0.875) - --(0.0875,-0.85)\dpicstop -\draw (0.0875,-0.85) node[left=-2bp]{\tt W}; -\filldraw[line width=0bp](0.355,-0.891667) - --(0.375,-0.958333) - --(0.395,-0.891667) --cycle\dpicstop -\dpicdraw (0.375,-0.938999) - --(0.375,-0.898666) - ..controls (0.375,-0.871778) and (0.358333,-0.85) - ..(0.325,-0.833333) - --(0.275,-0.808333)\dpicstop -\draw (0.275,-0.808333) node[left=-2bp]{\tt B}; -\dpiclw=0.8bp -\dpicdraw (1,-1) - --(1.291667,-1)\dpicstop -\dpicdraw (1.458333,-1) - --(1.75,-1)\dpicstop -\dpicdraw (1.291667,-1) - --(1.479167,-1.09375)\dpicstop -\dpicdraw (1.458333,-1) - --(1.458333,-1.104167)\dpicstop -\draw (1.385417,-1.195588) node{\tt (,,WdBK)}; -\dpiclw=0.4bp -\filldraw[line width=0bp](1.355,-0.975) - --(1.375,-1.041667) - --(1.395,-0.975) --cycle\dpicstop -\dpicdraw (1.375,-1.022333) - --(1.375,-0.982) - ..controls (1.375,-0.955111) and (1.358333,-0.925) - ..(1.325,-0.891667) - --(1.275,-0.841667)\dpicstop -\draw (1.275,-0.841667) node[left=-2bp]{\tt dB}; -\filldraw[line width=0bp](1.525,-1.021667) - --(1.458333,-1.041667) - --(1.525,-1.061667) --cycle\dpicstop -\dpicdraw (1.477667,-1.041667) - --(1.518,-1.041667) - ..controls (1.544889,-1.041667) and (1.566667,-1.016667) - ..(1.583333,-0.966667) - --(1.608333,-0.891667)\dpicstop -\draw (1.608333,-0.891667) node[above=-2bp]{\tt K}; -\dpiclw=0.8bp -\dpicdraw (2,-1) - --(2.291667,-1)\dpicstop -\dpicdraw (2.458333,-1) - --(2.75,-1)\dpicstop -\dpicdraw (2.291667,-1) - --(2.479167,-0.90625)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (2.502459,-0.894604) circle (0.010253in)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw[fill=white](2.291667,-1) circle (0.007874in)\dpicstop -\dpicdraw (2.458333,-1) - --(2.458333,-0.895833)\dpicstop -\draw (2.385417,-1.140032) node{\tt (,,WBmdDK)}; -\dpicdraw (3,-1) - --(3.291667,-1)\dpicstop -\dpicdraw (3.458333,-1) - --(3.75,-1)\dpicstop -\dpicdraw (3.291667,-1) - --(3.479167,-0.90625)\dpicstop -\dpicdraw (3.458333,-1) - --(3.458333,-0.895833)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (3.401823,-0.915625) - --(3.390104,-0.892188) - --(3.343229,-0.915625) - --(3.366667,-0.9625) - --(3.413542,-0.939063) - --(3.401823,-0.915625)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\draw (3.385417,-1.140032) node{\tt (,,WBKTr)}; -\dpicdraw (4,-1) - --(4.291667,-1)\dpicstop -\dpicdraw (4.458333,-1) - --(4.75,-1)\dpicstop -\dpicdraw (4.291667,-1) - --(4.479167,-1.09375)\dpicstop -\dpicdraw (4.35026,-1.029297) - --(4.39974,-1.10612) - --(4.420573,-1.064453)\dpicstop -\draw (4.385417,-1.195588) node{\tt (,,WdBL)}; -\dpicdraw (5,-1) - --(5.291667,-1)\dpicstop -\dpicdraw (5.458333,-1) - --(5.75,-1)\dpicstop -\dpicdraw (5.291667,-1) - --(5.479167,-0.90625)\dpicstop -\dpicdraw (5.458333,-1) - ..controls (5.458333,-0.944444) and (5.541667,-0.944444) - ..(5.541667,-1)\dpicstop -\draw (5.385417,-1.140032) node{\tt (,,WBCo)}; -\dpicdraw (0,-1.5) - --(0.291667,-1.5)\dpicstop -\dpicdraw (0.458333,-1.5) - --(0.75,-1.5)\dpicstop -\dpicdraw (0.291667,-1.5) - --(0.479167,-1.40625)\dpicstop -\dpicdraw (0.458333,-1.5) - ..controls (0.458333,-1.476988) and (0.476988,-1.458333) - ..(0.5,-1.458333) - ..controls (0.523012,-1.458333) and (0.541667,-1.476988) - ..(0.541667,-1.5)\dpicstop -\dpicdraw (0.458333,-1.5) - --(0.458333,-1.395833)\dpicstop -\draw (0.385417,-1.640032) node{\tt (,,WBKCo)}; -\dpicdraw (1,-1.5) - --(1.291667,-1.5)\dpicstop -\dpicdraw (1.458333,-1.5) - --(1.75,-1.5)\dpicstop -\dpicdraw (1.291667,-1.5) - --(1.479167,-1.40625)\dpicstop -\dpicdraw (1.416667,-1.541667) - --(1.5,-1.458333)\dpicstop -\dpicdraw (1.416667,-1.458333) - --(1.5,-1.541667)\dpicstop -\draw (1.375,-1.640032) node{\tt (,,WBCb)}; -\dpicdraw (2,-1.5) - --(2.291667,-1.5)\dpicstop -\dpicdraw (2.458333,-1.5) - --(2.75,-1.5)\dpicstop -\dpicdraw (2.291667,-1.5) - --(2.479167,-1.40625)\dpicstop -\dpicdraw (2.458333,-1.458333) - --(2.458333,-1.541667)\dpicstop -\draw (2.375,-1.640032) node{\tt (,,WBDI)}; -\dpicdraw (3,-1.5) - --(3.291667,-1.5)\dpicstop -\dpicdraw (3.458333,-1.5) - --(3.75,-1.5)\dpicstop -\dpicdraw (3.291667,-1.5) - --(3.479167,-1.40625)\dpicstop -\dpicdraw[fill=white](3.458333,-1.5) circle (0.012303in)\dpicstop -\dpicdraw (3.489583,-1.458333) - --(3.489583,-1.541667)\dpicstop -\draw (3.375,-1.640032) node{\tt (,,WBSd)}; -\dpicdraw (4,-1.5) - --(4.291667,-1.5)\dpicstop -\dpicdraw (4.458333,-1.5) - --(4.75,-1.5)\dpicstop -\dpicdraw (4.291667,-1.5) - --(4.479167,-1.40625)\dpicstop -\dpicdraw (4.458333,-1.458333) - --(4.458333,-1.541667)\dpicstop -\dpicdraw (4.315104,-1.488281) - --(4.304688,-1.467448) - --(4.398438,-1.420573) - --(4.419271,-1.46224) - --(4.325521,-1.509115) - --(4.315104,-1.488281)\dpicstop -\draw (4.375,-1.640032) node{\tt (,,WBFDI)}; -\dpicdraw (5,-1.5) - --(5.291667,-1.5)\dpicstop -\dpicdraw (5.458333,-1.5) - --(5.75,-1.5)\dpicstop -\dpicdraw (5.291667,-1.5) - --(5.479167,-1.40625)\dpicstop -\dpicdraw (5.315104,-1.488281) - --(5.304688,-1.467448) - --(5.398438,-1.420573) - --(5.419271,-1.46224) - --(5.325521,-1.509115) - --(5.315104,-1.488281)\dpicstop -\dpicdraw[fill=white](5.458333,-1.5) circle (0.012303in)\dpicstop -\dpicdraw (5.489583,-1.458333) - --(5.489583,-1.541667)\dpicstop -\draw (5.375,-1.640032) node{\tt (,,WBFSd)}; -\dpicdraw (0,-2.125) - --(0.291667,-2.125)\dpicstop -\dpicdraw (0.458333,-2.125) - --(0.75,-2.125)\dpicstop -\dpicdraw (0.291667,-2.125) - --(0.479167,-2.03125)\dpicstop -\dpicdraw (0.385417,-2.078125) - --(0.385417,-1.984375) - --(0.447917,-1.984375) - --(0.447917,-1.921875) - --(0.385417,-1.921875) - --(0.385417,-1.828125)\dpicstop -\draw (0.380208,-2.26398) node{\tt (,,WBTh)}; -\dpicdraw (1,-2.125) - --(1.291667,-2.125)\dpicstop -\dpicdraw (1.458333,-2.125) - --(1.75,-2.125)\dpicstop -\dpicdraw (1.291667,-2.125) - --(1.479167,-2.03125)\dpicstop -\dpicdraw (1.458333,-2.125) - --(1.458333,-2.020833)\dpicstop -\dpicdraw[dash pattern=on 0.05in off 0.05in](1.385417,-2.078125) - --(1.385417,-1.828125)\dpicstop -\draw (1.380208,-2.26398) node{\tt (,,WBKC)}; -\dpicdraw (2,-2.125) - --(2.291667,-2.125)\dpicstop -\dpicdraw (2.458333,-2.125) - --(2.75,-2.125)\dpicstop -\dpicdraw (2.291667,-2.125) - --(2.479167,-2.03125)\dpicstop -\dpicdraw[dash pattern=on 0.03125in off 0.03125in](2.385417,-2.078125) - --(2.385417,-1.984375)\dpicstop -\dpicdraw (2.385417,-1.984375) - --(2.322917,-1.953125) - --(2.385417,-1.921875)\dpicstop -\dpicdraw[dash pattern=on 0.03125in off 0.03125in](2.385417,-1.921875) - --(2.385417,-1.828125)\dpicstop -\draw (2.380208,-2.26398) node{\tt (,,WBM)}; -\dpicdraw (3,-2.125) - --(3.291667,-2.125)\dpicstop -\dpicdraw (3.458333,-2.125) - --(3.75,-2.125)\dpicstop -\dpicdraw (3.291667,-2.125) - --(3.479167,-2.03125)\dpicstop -\dpicdraw[dash pattern=on 0.05in off 0.05in](3.385417,-2.078125) - --(3.385417,-1.828125)\dpicstop -\dpicdraw (3.333333,-1.828125) - --(3.4375,-1.828125)\dpicstop -\draw (3.380208,-2.26398) node{\tt (,,WBCO)}; -\dpicdraw (4,-2.125) - --(4.291667,-2.125)\dpicstop -\dpicdraw (4.458333,-2.125) - --(4.75,-2.125)\dpicstop -\dpicdraw (4.291667,-2.125) - --(4.479167,-2.03125)\dpicstop -\dpicdraw[dash pattern=on 0.03125in off 0.03125in](4.385417,-2.078125) - --(4.385417,-1.984375)\dpicstop -\dpicdraw (4.385417,-1.984375) - --(4.322917,-1.953125) - --(4.385417,-1.921875)\dpicstop -\dpicdraw[dash pattern=on 0.03125in off 0.03125in](4.385417,-1.921875) - --(4.385417,-1.828125)\dpicstop -\dpicdraw (4.333333,-1.880208) - --(4.333333,-1.828125) - --(4.4375,-1.828125) - --(4.4375,-1.880208)\dpicstop -\draw (4.380208,-2.26398) node{\tt (,,WBMP)}; -\dpicdraw (5,-2.125) - --(5.291667,-2.125)\dpicstop -\dpicdraw (5.458333,-2.125) - --(5.75,-2.125)\dpicstop -\dpicdraw (5.291667,-2.125) - --(5.458333,-1.968634)\dpicstop -\dpicdraw (5.458333,-2.125) - --(5.458333,-2.020833)\dpicstop -\dpicdraw[dash pattern=on 0.05in off 0.05in](5.375,-2.046817) - --(5.375,-1.796817)\dpicstop -\dpicdraw (5.322917,-1.8489) - --(5.322917,-1.796817) - --(5.427083,-1.796817) - --(5.427083,-1.8489)\dpicstop -\draw (5.375,-2.26398) node{\tt (,,WBoKCP)}; -\dpicdraw (0,-2.75) - --(0.291667,-2.75)\dpicstop -\dpicdraw (0.458333,-2.75) - --(0.75,-2.75)\dpicstop -\dpicdraw (0.291667,-2.75) - --(0.479167,-2.65625)\dpicstop -\dpicdraw[dash pattern=on 0.05in off 0.05in](0.385417,-2.703125) - --(0.385417,-2.453125)\dpicstop -\dpicdraw (0.333333,-2.401042) - --(0.333333,-2.453125) - --(0.4375,-2.453125) - --(0.4375,-2.401042)\dpicstop -\draw (0.380208,-2.88898) node{\tt (,,WBCY)}; -\dpicdraw (1,-2.75) - --(1.291667,-2.75)\dpicstop -\dpicdraw (1.458333,-2.75) - --(1.75,-2.75)\dpicstop -\dpicdraw (1.291667,-2.75) - --(1.479167,-2.65625)\dpicstop -\dpicdraw[dash pattern=on 0.05in off 0.05in](1.385417,-2.703125) - --(1.385417,-2.453125)\dpicstop -\dpicdraw (1.333333,-2.505208) - --(1.333333,-2.453125) - --(1.4375,-2.453125) - --(1.4375,-2.401042)\dpicstop -\draw (1.380208,-2.88898) node{\tt (,,WBCZ)}; -\dpicdraw (2,-2.75) - --(2.291667,-2.75)\dpicstop -\dpicdraw (2.458333,-2.75) - --(2.75,-2.75)\dpicstop -\dpicdraw (2.291667,-2.75) - --(2.479167,-2.65625)\dpicstop -\dpicdraw[dash pattern=on 0.05in off 0.05in](2.385417,-2.703125) - --(2.385417,-2.453125)\dpicstop -\dpicdraw (2.333333,-2.453125) - --(2.4375,-2.453125)\dpicstop -\dpicdraw (2.4375,-2.453125) - ..controls (2.413909,-2.413806) and (2.356925,-2.413806) - ..(2.333333,-2.453125)\dpicstop -\draw (2.380208,-2.88898) node{\tt (,,WBCE)}; -\dpicdraw (3,-2.75) - --(3.291667,-2.75)\dpicstop -\dpicdraw (3.458333,-2.75) - --(3.75,-2.75)\dpicstop -\dpicdraw (3.291667,-2.75) - --(3.479167,-2.65625)\dpicstop -\dpicdraw (3.369792,-2.710938) - --(3.369792,-2.460938)\dpicstop -\dpicdraw (3.401042,-2.695313) - --(3.401042,-2.463355)\dpicstop -\dpicdraw (3.447917,-2.430896) - ..controls (3.415391,-2.469927) and (3.355443,-2.469927) - ..(3.322917,-2.430896)\dpicstop -\draw (3.380208,-2.88898) node{\tt (,,WBRH)}; -\dpicdraw (4,-2.75) - --(4.291667,-2.75)\dpicstop -\dpicdraw (4.458333,-2.75) - --(4.75,-2.75)\dpicstop -\dpicdraw (4.291667,-2.75) - --(4.479167,-2.65625)\dpicstop -\dpicdraw (4.369792,-2.710938) - --(4.369792,-2.460938)\dpicstop -\dpicdraw (4.401042,-2.695313) - --(4.401042,-2.463355)\dpicstop -\dpicdraw (4.447917,-2.493396) - ..controls (4.415391,-2.454365) and (4.355443,-2.454365) - ..(4.322917,-2.493396)\dpicstop -\draw (4.380208,-2.88898) node{\tt (,,WBRdH)}; -\dpicdraw (5,-2.75) - --(5.291667,-2.75)\dpicstop -\dpicdraw (5.458333,-2.75) - --(5.75,-2.75)\dpicstop -\dpicdraw (5.291667,-2.75) - --(5.479167,-2.65625)\dpicstop -\dpicdraw (5.369792,-2.710938) - --(5.369792,-2.460938)\dpicstop -\dpicdraw (5.401042,-2.695313) - --(5.401042,-2.463355)\dpicstop -\dpicdraw (5.447917,-2.430896) - ..controls (5.415391,-2.469927) and (5.355443,-2.469927) - ..(5.322917,-2.430896)\dpicstop -\dpicdraw (5.447917,-2.493396) - ..controls (5.415391,-2.454365) and (5.355443,-2.454365) - ..(5.322917,-2.493396)\dpicstop -\draw (5.380208,-2.88898) node{\tt (,,WBRHH)}; -\dpicdraw (0,-3.25) - --(0.291667,-3.25)\dpicstop -\dpicdraw (0.458333,-3.25) - --(0.75,-3.25)\dpicstop -\dpicdraw (0.291667,-3.25) - --(0.479167,-3.15625)\dpicstop -\dpicdraw (0.5,-3.225833) - --(0.458333,-3.25) - --(0.5,-3.274167)\dpicstop -\draw (0.385417,-3.390032) node(S){\tt (,,WBMMR)}; -\dpicdraw (1,-3.25) - --(1.291667,-3.25)\dpicstop -\dpicdraw (1.458333,-3.25) - --(1.75,-3.25)\dpicstop -\dpicdraw (1.291667,-3.25) - --(1.479167,-3.15625)\dpicstop -\dpicdraw (1.479167,-3.25) - --(1.458333,-3.25) - --(1.5,-3.225833)\dpicstop -\draw (1.385417,-3.390032) node{\tt (,,WBMM)}; -\dpicdraw (2,-3.25) - --(2.291667,-3.25)\dpicstop -\dpicdraw (2.458333,-3.25) - --(2.75,-3.25)\dpicstop -\dpicdraw (2.291667,-3.25) - --(2.479167,-3.15625)\dpicstop -\dpicdraw (2.479167,-3.25) - --(2.458333,-3.25) - --(2.5,-3.274167)\dpicstop -\draw (2.385417,-3.390032) node{\tt (,,WBMR)}; -\dpicdraw (3,-3.25) - --(3.291667,-3.25)\dpicstop -\dpicdraw (3.458333,-3.25) - --(3.75,-3.25)\dpicstop -\dpicdraw (3.291667,-3.25) - --(3.479167,-3.15625)\dpicstop -\dpicdraw (3.477292,-3.157188) - --(3.479167,-3.15625) - --(3.502459,-3.202835)\dpicstop -\draw (3.385417,-3.390032) node{\tt (,,WBEL)}; -\dpicdraw (4,-3.25) - --(4.291667,-3.25)\dpicstop -\dpicdraw (4.458333,-3.25) - --(4.75,-3.25)\dpicstop -\dpicdraw (4.291667,-3.25) - --(4.479167,-3.15625)\dpicstop -\dpicdraw (4.477292,-3.157188) - --(4.479167,-3.15625) - --(4.455874,-3.109665)\dpicstop -\draw (4.385417,-3.390032) node{\tt (,,WBLE)}; -\dpicdraw (5,-3.25) - --(5.291667,-3.25)\dpicstop -\dpicdraw (5.458333,-3.25) - --(5.75,-3.25)\dpicstop -\dpicdraw (5.291667,-3.25) - --(5.458333,-3.093634)\dpicstop -\dpicdraw (5.456667,-3.095198) - --(5.458333,-3.093634) - --(5.493969,-3.131618)\dpicstop -\dpicdraw (5.458333,-3.25) - --(5.458333,-3.145833)\dpicstop -\draw (5.375,-3.390032) node{\tt (,,WBoKEL)}; -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Tgate.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Tgate.tex deleted file mode 100644 index 3dfb1c06b9a..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Tgate.tex +++ /dev/null @@ -1,117 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw (0.927778,0.231958) - --(1.230609,0.231958)\dpicstop -\dpicdraw (1.230609,0.231958) - --(1.230609,0.273624) - --(1.297243,0.231958) - --(1.230609,0.190291) - --(1.230609,0.231958)\dpicstop -\dpicdraw (1.374947,0.231958) - --(1.374947,0.273624) - --(1.308313,0.231958) - --(1.374947,0.190291) - --(1.374947,0.231958)\dpicstop -\dpicdraw (1.374947,0.231958) - --(1.677778,0.231958)\dpicstop -\dpicdraw[line width=0.4bp](1.302778,0.256014) circle (0.007103in)\dpicstop -\dpicdraw (1.302778,0.274056) - --(1.302778,0.340211)\dpicstop -\dpicdraw (1.302778,0.231958) - --(1.302778,0.159789)\dpicstop -\draw (0.927778,0.231958) node[left=-2bp]{$A$}; -\draw (1.677778,0.231958) node[right=-2bp]{$B$}; -\draw (1.302778,0.159789) node[below right=-2bp]{$G$}; -\draw (1.302778,0.340211) node[above right=-2bp]{$Gb$}; -\draw (0.677778,0.231958) node[left=-2bp]{\tt tgate}; -\dpicdraw (0.927778,-0.231958) - --(1.230609,-0.231958)\dpicstop -\dpicdraw (1.230609,-0.231958) - --(1.230609,-0.190291) - --(1.297243,-0.231958) - --(1.230609,-0.273624) - --(1.230609,-0.231958)\dpicstop -\dpicdraw (1.374947,-0.231958) - --(1.374947,-0.190291) - --(1.308313,-0.231958) - --(1.374947,-0.273624) - --(1.374947,-0.231958)\dpicstop -\dpicdraw (1.374947,-0.231958) - --(1.677778,-0.231958)\dpicstop -\dpicdraw[line width=0.4bp](1.302778,-0.256014) circle (0.007103in)\dpicstop -\dpicdraw (1.302778,-0.274056) - --(1.302778,-0.340211)\dpicstop -\dpicdraw (1.302778,-0.231958) - --(1.302778,-0.159789)\dpicstop -\draw (0.927778,-0.231958) node[left=-2bp]{$A$}; -\draw (1.677778,-0.231958) node[right=-2bp]{$B$}; -\draw (1.302778,-0.159789) node[above right=-2bp]{$G$}; -\draw (1.302778,-0.340211) node[below right=-2bp]{$Gb$}; -\draw (0.677778,-0.231958) node[left=-2bp]{\tt tgate(,L)}; -\dpicdraw (2.177778,0.018042) - --(2.427778,0.018042)\dpicstop -\dpicdraw (2.677778,0.018042) - --(2.677778,0.068042) - --(2.427778,0.068042) - --(2.427778,-0.031958) - --(2.677778,-0.031958) - --(2.677778,0.018042)\dpicstop -\dpicdraw (2.677778,0.018042) - --(2.927778,0.018042)\dpicstop -\dpicdraw (2.552778,-0.031958) - --(2.552778,-0.131958)\dpicstop -\draw (2.177778,0.018042) node[left=-2bp]{$A$}; -\draw (2.927778,0.018042) node[right=-2bp]{$B$}; -\draw (2.552778,-0.131958) node[right=-2bp]{$G$}; -\draw (2.552778,-0.270847) node[below=-2bp]{\tt tgate(,B)}; -\dpicdraw (3.455556,0.284789) - --(3.747222,0.284789)\dpicstop -\dpicdraw (3.747222,0.284789) - --(3.913889,0.368122) - --(3.913889,0.201456) - --(3.747222,0.284789)\dpicstop -\dpicdraw (3.913889,0.284789) - --(3.747222,0.368122) - --(3.747222,0.201456) - --(3.913889,0.284789)\dpicstop -\dpicdraw[line width=0.4bp](3.830556,0.354233) circle (0.008202in)\dpicstop -\dpicdraw (3.830556,0.375067) - --(3.830556,0.451456)\dpicstop -\dpicdraw (3.830556,0.243122) - --(3.830556,0.159789)\dpicstop -\dpicdraw (3.913889,0.284789) - --(4.205556,0.284789)\dpicstop -\draw (3.455556,0.284789) node[left=-2bp]{$A$}; -\draw (4.205556,0.284789) node[right=-2bp]{$B$}; -\draw (3.830556,0.159789) node[below left=-2bp]{$G$}; -\draw (3.830556,0.451456) node[left=-2bp]{$Gb$}; -\draw (4.455556,0.284789) node[right=-2bp]{\tt ptrans}; -\dpicdraw (3.455556,-0.173544) - --(3.747222,-0.173544)\dpicstop -\dpicdraw (3.747222,-0.173544) - --(3.913889,-0.090211) - --(3.913889,-0.256878) - --(3.747222,-0.173544)\dpicstop -\dpicdraw (3.913889,-0.173544) - --(3.747222,-0.090211) - --(3.747222,-0.256878) - --(3.913889,-0.173544)\dpicstop -\dpicdraw[line width=0.4bp](3.830556,-0.242989) circle (0.008202in)\dpicstop -\dpicdraw (3.830556,-0.263822) - --(3.830556,-0.340211)\dpicstop -\dpicdraw (3.830556,-0.131878) - --(3.830556,-0.048544)\dpicstop -\dpicdraw (3.913889,-0.173544) - --(4.205556,-0.173544)\dpicstop -\draw (3.455556,-0.173544) node[left=-2bp]{$A$}; -\draw (4.205556,-0.173544) node[right=-2bp]{$B$}; -\draw (3.830556,-0.048544) node[above right=-2bp]{$G$}; -\draw (3.830556,-0.340211) node[below right=-2bp]{$Gb$}; -\draw (4.455556,-0.173544) node[right=-2bp]{\tt ptrans(,L)}; -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Variable.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Variable.tex deleted file mode 100644 index 585087d5e03..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Variable.tex +++ /dev/null @@ -1,306 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw (-1.01349,0) - --(-1.01349,-0.225)\dpicstop -\dpicdraw (-1.096823,-0.225) - --(-0.930157,-0.225)\dpicstop -\dpicdraw (-1.096823,-0.275) - --(-0.930157,-0.275)\dpicstop -\dpicdraw (-1.01349,-0.275) - --(-1.01349,-0.5)\dpicstop -\filldraw[line width=0bp](-0.925102,-0.196967) - --(-0.872069,-0.108579) - --(-0.960457,-0.161612) --cycle\dpicstop -\dpicdraw (-1.154911,-0.391421) - --(-0.888266,-0.124776)\dpicstop -\dpicdraw (-0.51349,0) - --(-0.51349,-0.125) - --(-0.471823,-0.145833) - --(-0.555157,-0.1875) - --(-0.471823,-0.229167) - --(-0.555157,-0.270833) - --(-0.471823,-0.3125) - --(-0.555157,-0.354167) - --(-0.51349,-0.375) - --(-0.51349,-0.5)\dpicstop -\dpicdraw (-0.654911,-0.391421) - --(-0.372069,-0.108579)\dpicstop -\dpicdraw (-0.372069,-0.108579) - --(-0.372069,-0.025245)\dpicstop -\dpicdraw (-0.01349,0) - --(-0.01349,-0.225)\dpicstop -\dpicdraw (-0.07599,-0.225) - --(0.04901,-0.225)\dpicstop -\dpicdraw (-0.07599,-0.275) - ..controls (-0.037315,-0.252671) and (0.010335,-0.252671) - ..(0.04901,-0.275)\dpicstop -\dpicdraw (-0.01349,-0.258253) - --(-0.01349,-0.5)\dpicstop -\filldraw[line width=0bp](0.074898,-0.196967) - --(0.127931,-0.108579) - --(0.039543,-0.161612) --cycle\dpicstop -\dpicdraw (-0.154911,-0.391421) - --(0.111734,-0.124776)\dpicstop -\dpicdraw (0.48651,0) - --(0.48651,-0.125)\dpicstop -\dpicdraw (0.48651,-0.125) - --(0.480955,-0.125)\dpicstop -\dpicdraw (0.48651,-0.125) - ..controls (0.503769,-0.125) and (0.51776,-0.138991) - ..(0.51776,-0.15625) - ..controls (0.51776,-0.173509) and (0.503769,-0.1875) - ..(0.48651,-0.1875)\dpicstop -\dpicdraw (0.48651,-0.1875) - --(0.480955,-0.1875)\dpicstop -\dpicdraw (0.48651,-0.1875) - ..controls (0.503769,-0.1875) and (0.51776,-0.201491) - ..(0.51776,-0.21875) - ..controls (0.51776,-0.236009) and (0.503769,-0.25) - ..(0.48651,-0.25)\dpicstop -\dpicdraw (0.48651,-0.25) - --(0.480955,-0.25)\dpicstop -\dpicdraw (0.48651,-0.25) - ..controls (0.503769,-0.25) and (0.51776,-0.263991) - ..(0.51776,-0.28125) - ..controls (0.51776,-0.298509) and (0.503769,-0.3125) - ..(0.48651,-0.3125)\dpicstop -\dpicdraw (0.48651,-0.3125) - --(0.480955,-0.3125)\dpicstop -\dpicdraw (0.48651,-0.3125) - ..controls (0.503769,-0.3125) and (0.51776,-0.326491) - ..(0.51776,-0.34375) - ..controls (0.51776,-0.361009) and (0.503769,-0.375) - ..(0.48651,-0.375)\dpicstop -\dpicdraw (0.48651,-0.375) - --(0.480955,-0.375)\dpicstop -\dpicdraw (0.48651,-0.375) - --(0.48651,-0.5)\dpicstop -\filldraw[line width=0bp](0.590523,-0.196967) - --(0.643556,-0.108579) - --(0.555168,-0.161612) --cycle\dpicstop -\dpicdraw (0.360714,-0.391421) - --(0.627359,-0.124776)\dpicstop -\dpicdraw (0.98651,0) - --(0.98651,-0.108266)\dpicstop -\dpicdraw[line width=0.4bp](0.98651,-0.108266) circle (0.00109in)\dpicstop -\dpicdraw (0.98651,-0.108266) - ..controls (1.024082,-0.090746) and (1.065429,-0.123931) - ..(1.056456,-0.164404) - ..controls (1.047483,-0.204877) and (0.995986,-0.217478) - ..(0.969339,-0.185721)\dpicstop -\dpicdraw[line width=0.4bp](0.969339,-0.185721) circle (0.00109in)\dpicstop -\dpicdraw (0.969339,-0.185721) - ..controls (0.999344,-0.149962) and (1.057641,-0.17118) - ..(1.057641,-0.217861) - ..controls (1.057641,-0.264541) and (0.999344,-0.285759) - ..(0.969339,-0.25)\dpicstop -\dpicdraw[line width=0.4bp](0.969339,-0.25) circle (0.00109in)\dpicstop -\dpicdraw (0.969339,-0.25) - ..controls (0.999344,-0.214241) and (1.057641,-0.235459) - ..(1.057641,-0.282139) - ..controls (1.057641,-0.32882) and (0.999344,-0.350038) - ..(0.969339,-0.314279)\dpicstop -\dpicdraw[line width=0.4bp](0.969339,-0.314279) circle (0.00109in)\dpicstop -\dpicdraw (0.969339,-0.314279) - ..controls (0.995986,-0.282522) and (1.047483,-0.295123) - ..(1.056456,-0.335596) - ..controls (1.065429,-0.376069) and (1.024082,-0.409254) - ..(0.98651,-0.391734)\dpicstop -\dpicdraw[line width=0.4bp](0.98651,-0.391734) circle (0.00109in)\dpicstop -\dpicdraw (0.98651,-0.391734) - --(0.98651,-0.5)\dpicstop -\filldraw[line width=0bp](1.101878,-0.196967) - --(1.154911,-0.108579) - --(1.066523,-0.161612) --cycle\dpicstop -\dpicdraw (0.872069,-0.391421) - --(1.138714,-0.124776)\dpicstop -\draw (2.804911,0.520711) node{\tt C}; -\draw (3.554911,0.520711) node{\tt S}; -\draw (1.679911,0.320711) node{\tt A}; -\dpicdraw (1.804911,0.320711) - --(2.029911,0.320711)\dpicstop -\dpicdraw (2.029911,0.258211) - --(2.029911,0.383211)\dpicstop -\dpicdraw (2.079911,0.258211) - ..controls (2.057582,0.296886) and (2.057582,0.344536) - ..(2.079911,0.383211)\dpicstop -\dpicdraw (2.063164,0.320711) - --(2.304911,0.320711)\dpicstop -\filldraw[line width=0bp](2.1433,0.373744) - --(2.196333,0.462132) - --(2.107944,0.409099) --cycle\dpicstop -\dpicdraw (1.91349,0.179289) - --(2.180136,0.445935)\dpicstop -\dpicdraw (2.554911,0.320711) - --(2.779911,0.320711)\dpicstop -\dpicdraw (2.779911,0.258211) - --(2.779911,0.383211)\dpicstop -\dpicdraw (2.829911,0.258211) - ..controls (2.807582,0.296886) and (2.807582,0.344536) - ..(2.829911,0.383211)\dpicstop -\dpicdraw (2.813164,0.320711) - --(3.054911,0.320711)\dpicstop -\filldraw[line width=0bp](2.8933,0.373744) - --(2.946333,0.462132) - --(2.857944,0.409099) --cycle\dpicstop -\dpicdraw (2.66349,0.179289) - --(2.930136,0.445935)\dpicstop -\dpicdraw (2.996333,0.432132) - --(3.055258,0.491058)\dpicstop -\dpicdraw (3.304911,0.320711) - --(3.529911,0.320711)\dpicstop -\dpicdraw (3.529911,0.258211) - --(3.529911,0.383211)\dpicstop -\dpicdraw (3.579911,0.258211) - ..controls (3.557582,0.296886) and (3.557582,0.344536) - ..(3.579911,0.383211)\dpicstop -\dpicdraw (3.563164,0.320711) - --(3.804911,0.320711)\dpicstop -\filldraw[line width=0bp](3.6433,0.373744) - --(3.696333,0.462132) - --(3.607944,0.409099) --cycle\dpicstop -\dpicdraw (3.41349,0.179289) - --(3.680136,0.445935)\dpicstop -\dpicdraw (3.746333,0.402132) - --(3.746333,0.432132) - --(3.806333,0.432132) - --(3.806333,0.462132)\dpicstop -\draw (1.679911,-0.079289) node{\tt P}; -\dpicdraw (1.804911,-0.079289) - --(2.029911,-0.079289)\dpicstop -\dpicdraw (2.029911,-0.141789) - --(2.029911,-0.016789)\dpicstop -\dpicdraw (2.079911,-0.141789) - ..controls (2.057582,-0.103114) and (2.057582,-0.055464) - ..(2.079911,-0.016789)\dpicstop -\dpicdraw (2.063164,-0.079289) - --(2.304911,-0.079289)\dpicstop -\dpicdraw (1.91349,-0.220711) - --(2.196333,0.062132)\dpicstop -\dpicdraw (2.16687,0.091595) - --(2.225795,0.032669)\dpicstop -\dpicdraw (2.554911,-0.079289) - --(2.779911,-0.079289)\dpicstop -\dpicdraw (2.779911,-0.141789) - --(2.779911,-0.016789)\dpicstop -\dpicdraw (2.829911,-0.141789) - ..controls (2.807582,-0.103114) and (2.807582,-0.055464) - ..(2.829911,-0.016789)\dpicstop -\dpicdraw (2.813164,-0.079289) - --(3.054911,-0.079289)\dpicstop -\dpicdraw (2.66349,-0.220711) - --(2.946333,0.062132)\dpicstop -\dpicdraw (2.91687,0.091595) - --(2.975795,0.032669)\dpicstop -\dpicdraw (2.996333,0.032132) - --(3.055258,0.091058)\dpicstop -\dpicdraw (3.304911,-0.079289) - --(3.529911,-0.079289)\dpicstop -\dpicdraw (3.529911,-0.141789) - --(3.529911,-0.016789)\dpicstop -\dpicdraw (3.579911,-0.141789) - ..controls (3.557582,-0.103114) and (3.557582,-0.055464) - ..(3.579911,-0.016789)\dpicstop -\dpicdraw (3.563164,-0.079289) - --(3.804911,-0.079289)\dpicstop -\dpicdraw (3.41349,-0.220711) - --(3.696333,0.062132)\dpicstop -\dpicdraw (3.66687,0.091595) - --(3.725795,0.032669)\dpicstop -\dpicdraw (3.746333,0.002132) - --(3.746333,0.032132) - --(3.806333,0.032132) - --(3.806333,0.062132)\dpicstop -\draw (1.679911,-0.479289) node{\tt L}; -\dpicdraw (1.804911,-0.479289) - --(2.029911,-0.479289)\dpicstop -\dpicdraw (2.029911,-0.541789) - --(2.029911,-0.416789)\dpicstop -\dpicdraw (2.079911,-0.541789) - ..controls (2.057582,-0.503114) and (2.057582,-0.455464) - ..(2.079911,-0.416789)\dpicstop -\dpicdraw (2.063164,-0.479289) - --(2.304911,-0.479289)\dpicstop -\dpicdraw (1.91349,-0.620711) - --(2.196333,-0.337868)\dpicstop -\dpicdraw (2.554911,-0.479289) - --(2.779911,-0.479289)\dpicstop -\dpicdraw (2.779911,-0.541789) - --(2.779911,-0.416789)\dpicstop -\dpicdraw (2.829911,-0.541789) - ..controls (2.807582,-0.503114) and (2.807582,-0.455464) - ..(2.829911,-0.416789)\dpicstop -\dpicdraw (2.813164,-0.479289) - --(3.054911,-0.479289)\dpicstop -\dpicdraw (2.66349,-0.620711) - --(2.946333,-0.337868)\dpicstop -\dpicdraw (2.996333,-0.367868) - --(3.055258,-0.308942)\dpicstop -\dpicdraw (3.304911,-0.479289) - --(3.529911,-0.479289)\dpicstop -\dpicdraw (3.529911,-0.541789) - --(3.529911,-0.416789)\dpicstop -\dpicdraw (3.579911,-0.541789) - ..controls (3.557582,-0.503114) and (3.557582,-0.455464) - ..(3.579911,-0.416789)\dpicstop -\dpicdraw (3.563164,-0.479289) - --(3.804911,-0.479289)\dpicstop -\dpicdraw (3.41349,-0.620711) - --(3.696333,-0.337868)\dpicstop -\dpicdraw (3.746333,-0.397868) - --(3.746333,-0.367868) - --(3.806333,-0.367868) - --(3.806333,-0.337868)\dpicstop -\draw (1.679911,-0.879289) node{\tt N}; -\dpicdraw (1.804911,-0.879289) - --(2.029911,-0.879289)\dpicstop -\dpicdraw (2.029911,-0.941789) - --(2.029911,-0.816789)\dpicstop -\dpicdraw (2.079911,-0.941789) - ..controls (2.057582,-0.903114) and (2.057582,-0.855464) - ..(2.079911,-0.816789)\dpicstop -\dpicdraw (2.063164,-0.879289) - --(2.304911,-0.879289)\dpicstop -\dpicdraw (1.91349,-1.020711) - --(2.196333,-0.737868)\dpicstop -\dpicdraw (1.91349,-1.020711) - --(1.830157,-1.020711)\dpicstop -\dpicdraw (2.554911,-0.879289) - --(2.779911,-0.879289)\dpicstop -\dpicdraw (2.779911,-0.941789) - --(2.779911,-0.816789)\dpicstop -\dpicdraw (2.829911,-0.941789) - ..controls (2.807582,-0.903114) and (2.807582,-0.855464) - ..(2.829911,-0.816789)\dpicstop -\dpicdraw (2.813164,-0.879289) - --(3.054911,-0.879289)\dpicstop -\dpicdraw (2.66349,-1.020711) - --(2.946333,-0.737868)\dpicstop -\dpicdraw (2.66349,-1.020711) - --(2.580157,-1.020711)\dpicstop -\dpicdraw (2.996333,-0.767868) - --(3.055258,-0.708942)\dpicstop -\dpicdraw (3.304911,-0.879289) - --(3.529911,-0.879289)\dpicstop -\dpicdraw (3.529911,-0.941789) - --(3.529911,-0.816789)\dpicstop -\dpicdraw (3.579911,-0.941789) - ..controls (3.557582,-0.903114) and (3.557582,-0.855464) - ..(3.579911,-0.816789)\dpicstop -\dpicdraw (3.563164,-0.879289) - --(3.804911,-0.879289)\dpicstop -\dpicdraw (3.41349,-1.020711) - --(3.696333,-0.737868)\dpicstop -\dpicdraw (3.41349,-1.020711) - --(3.330157,-1.020711)\dpicstop -\dpicdraw (3.746333,-0.797868) - --(3.746333,-0.767868) - --(3.806333,-0.767868) - --(3.806333,-0.737868)\dpicstop -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Version.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Version.tex index c0b5abb2fd6..e5132166625 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Version.tex +++ b/Master/texmf-dist/doc/latex/circuit-macros/doc/Version.tex @@ -1 +1 @@ -Version 10.0 +Version 10.1 diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/Xform.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/Xform.tex deleted file mode 100644 index 6c527c38cc2..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/Xform.tex +++ /dev/null @@ -1,648 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw (-0.104167,-0) - --(-0.104167,-0.041667)\dpicstop -\dpicdraw (-0.104167,-0.041667) - --(-0.109722,-0.041667)\dpicstop -\dpicdraw (-0.104167,-0.041667) - ..controls (-0.086908,-0.041667) and (-0.072917,-0.055658) - ..(-0.072917,-0.072917) - ..controls (-0.072917,-0.090176) and (-0.086908,-0.104167) - ..(-0.104167,-0.104167)\dpicstop -\dpicdraw (-0.104167,-0.104167) - --(-0.109722,-0.104167)\dpicstop -\dpicdraw (-0.104167,-0.104167) - ..controls (-0.086908,-0.104167) and (-0.072917,-0.118158) - ..(-0.072917,-0.135417) - ..controls (-0.072917,-0.152676) and (-0.086908,-0.166667) - ..(-0.104167,-0.166667)\dpicstop -\dpicdraw (-0.104167,-0.166667) - --(-0.109722,-0.166667)\dpicstop -\dpicdraw (-0.104167,-0.166667) - ..controls (-0.086908,-0.166667) and (-0.072917,-0.180658) - ..(-0.072917,-0.197917) - ..controls (-0.072917,-0.215176) and (-0.086908,-0.229167) - ..(-0.104167,-0.229167)\dpicstop -\dpicdraw (-0.104167,-0.229167) - --(-0.109722,-0.229167)\dpicstop -\dpicdraw (-0.104167,-0.229167) - ..controls (-0.0625,-0.229167) and (-0.0625,-0.291667) - ..(-0.104167,-0.291667)\dpicstop -\dpicdraw (-0.104167,-0.291667) - --(-0.109722,-0.291667)\dpicstop -\dpicdraw (-0.104167,-0.291667) - --(-0.104167,-0.333333)\dpicstop -\dpicdraw (-0.03125,-0.041667) - --(-0.03125,-0.291667)\dpicstop -\dpicdraw (0.03125,-0.041667) - --(0.03125,-0.291667)\dpicstop -\dpicdraw (0.104167,-0.333333) - --(0.104167,-0.291667)\dpicstop -\dpicdraw (0.104167,-0.291667) - --(0.109722,-0.291667)\dpicstop -\dpicdraw (0.104167,-0.291667) - ..controls (0.0625,-0.291667) and (0.0625,-0.229167) - ..(0.104167,-0.229167)\dpicstop -\dpicdraw (0.104167,-0.229167) - --(0.109722,-0.229167)\dpicstop -\dpicdraw (0.104167,-0.229167) - ..controls (0.0625,-0.229167) and (0.0625,-0.166667) - ..(0.104167,-0.166667)\dpicstop -\dpicdraw (0.104167,-0.166667) - --(0.109722,-0.166667)\dpicstop -\dpicdraw (0.104167,-0.166667) - ..controls (0.0625,-0.166667) and (0.0625,-0.104167) - ..(0.104167,-0.104167)\dpicstop -\dpicdraw (0.104167,-0.104167) - --(0.109722,-0.104167)\dpicstop -\dpicdraw (0.104167,-0.104167) - ..controls (0.0625,-0.104167) and (0.0625,-0.041667) - ..(0.104167,-0.041667)\dpicstop -\dpicdraw (0.104167,-0.041667) - --(0.109722,-0.041667)\dpicstop -\dpicdraw (0.104167,-0.041667) - --(0.104167,0)\dpicstop -\dpiclw=0.4bp -\filldraw[line width=0bp](-0.183488,0.024269) - --(-0.116032,0.007119) - --(-0.162908,0.058569) --cycle\dpicstop -\dpicdraw (-0.13261,0.017066) - --(-0.212302,0.064881)\dpicstop -\draw (-0.212302,0.064881) node[left=-2bp]{\sl P1}; -\filldraw[line width=0bp](-0.162908,-0.391902) - --(-0.116032,-0.340452) - --(-0.183488,-0.357602) --cycle\dpicstop -\dpicdraw (-0.13261,-0.3504) - --(-0.212302,-0.398214)\dpicstop -\draw (-0.212302,-0.398214) node[left=-2bp]{\sl P2}; -\filldraw[line width=0bp](-0.18467,-0.186667) - --(-0.118004,-0.166667) - --(-0.18467,-0.146667) --cycle\dpicstop -\dpicdraw (-0.137338,-0.166667) - --(-0.21033,-0.166667)\dpicstop -\draw (-0.21033,-0.166667) node[left=-2bp]{\sl TP}; -\filldraw[line width=0bp](0.162908,0.058569) - --(0.116032,0.007119) - --(0.183488,0.024269) --cycle\dpicstop -\dpicdraw (0.13261,0.017066) - --(0.212302,0.064881)\dpicstop -\draw (0.212302,0.064881) node[right=-2bp]{\sl S1}; -\filldraw[line width=0bp](0.183488,-0.357602) - --(0.116032,-0.340452) - --(0.162908,-0.391902) --cycle\dpicstop -\dpicdraw (0.13261,-0.3504) - --(0.212302,-0.398214)\dpicstop -\draw (0.212302,-0.398214) node[right=-2bp]{\sl S2}; -\filldraw[line width=0bp](0.18467,-0.146667) - --(0.118004,-0.166667) - --(0.18467,-0.186667) --cycle\dpicstop -\dpicdraw (0.137338,-0.166667) - --(0.21033,-0.166667)\dpicstop -\draw (0.21033,-0.166667) node[right=-2bp]{\sl TS}; -\draw (0,-0.633333) node{\tt transformer}; -\dpiclw=0.8bp -\dpicdraw (1.115278,0.133333) - --(1.115278,-0.104167)\dpicstop -\dpicdraw (1.115278,-0.104167) - --(1.109722,-0.104167)\dpicstop -\dpicdraw (1.115278,-0.104167) - ..controls (1.132537,-0.104167) and (1.146528,-0.118158) - ..(1.146528,-0.135417) - ..controls (1.146528,-0.152676) and (1.132537,-0.166667) - ..(1.115278,-0.166667)\dpicstop -\dpicdraw (1.115278,-0.166667) - --(1.109722,-0.166667)\dpicstop -\dpicdraw (1.115278,-0.166667) - ..controls (1.132537,-0.166667) and (1.146528,-0.180658) - ..(1.146528,-0.197917) - ..controls (1.146528,-0.215176) and (1.132537,-0.229167) - ..(1.115278,-0.229167)\dpicstop -\dpicdraw (1.115278,-0.229167) - --(1.109722,-0.229167)\dpicstop -\dpicdraw (1.115278,-0.229167) - --(1.115278,-0.466667)\dpicstop -\dpicdraw[dash pattern=on 0.025in off 0.025in](1.188194,0.083333) - --(1.188194,-0.416667)\dpicstop -\dpicdraw[dash pattern=on 0.025in off 0.025in](1.250694,0.083333) - --(1.250694,-0.416667)\dpicstop -\dpicdraw (1.323611,-0.416667) - --(1.323611,-0.416667)\dpicstop -\dpicdraw (1.323611,-0.416667) - --(1.329167,-0.416667)\dpicstop -\dpicdraw (1.323611,-0.416667) - ..controls (1.306352,-0.416667) and (1.292361,-0.402676) - ..(1.292361,-0.385417) - ..controls (1.292361,-0.368158) and (1.306352,-0.354167) - ..(1.323611,-0.354167)\dpicstop -\dpicdraw (1.323611,-0.354167) - --(1.329167,-0.354167)\dpicstop -\dpicdraw (1.323611,-0.354167) - ..controls (1.306352,-0.354167) and (1.292361,-0.340176) - ..(1.292361,-0.322917) - ..controls (1.292361,-0.305658) and (1.306352,-0.291667) - ..(1.323611,-0.291667)\dpicstop -\dpicdraw (1.323611,-0.291667) - --(1.329167,-0.291667)\dpicstop -\dpicdraw (1.323611,-0.291667) - ..controls (1.306352,-0.291667) and (1.292361,-0.277676) - ..(1.292361,-0.260417) - ..controls (1.292361,-0.243158) and (1.306352,-0.229167) - ..(1.323611,-0.229167)\dpicstop -\dpicdraw (1.323611,-0.229167) - --(1.329167,-0.229167)\dpicstop -\dpicdraw (1.323611,-0.229167) - ..controls (1.306352,-0.229167) and (1.292361,-0.215176) - ..(1.292361,-0.197917) - ..controls (1.292361,-0.180658) and (1.306352,-0.166667) - ..(1.323611,-0.166667)\dpicstop -\dpicdraw (1.323611,-0.166667) - --(1.329167,-0.166667)\dpicstop -\dpicdraw (1.323611,-0.166667) - ..controls (1.306352,-0.166667) and (1.292361,-0.152676) - ..(1.292361,-0.135417) - ..controls (1.292361,-0.118158) and (1.306352,-0.104167) - ..(1.323611,-0.104167)\dpicstop -\dpicdraw (1.323611,-0.104167) - --(1.329167,-0.104167)\dpicstop -\dpicdraw (1.323611,-0.104167) - ..controls (1.306352,-0.104167) and (1.292361,-0.090176) - ..(1.292361,-0.072917) - ..controls (1.292361,-0.055658) and (1.306352,-0.041667) - ..(1.323611,-0.041667)\dpicstop -\dpicdraw (1.323611,-0.041667) - --(1.329167,-0.041667)\dpicstop -\dpicdraw (1.323611,-0.041667) - ..controls (1.306352,-0.041667) and (1.292361,-0.027676) - ..(1.292361,-0.010417) - ..controls (1.292361,0.006842) and (1.306352,0.020833) - ..(1.323611,0.020833)\dpicstop -\dpicdraw (1.323611,0.020833) - --(1.329167,0.020833)\dpicstop -\dpicdraw (1.323611,0.020833) - ..controls (1.306352,0.020833) and (1.292361,0.034824) - ..(1.292361,0.052083) - ..controls (1.292361,0.069342) and (1.306352,0.083333) - ..(1.323611,0.083333)\dpicstop -\dpicdraw (1.323611,0.083333) - --(1.329167,0.083333)\dpicstop -\dpicdraw (1.323611,0.083333) - --(1.323611,0.083333)\dpicstop -\dpiclw=0.4bp -\filldraw[line width=0bp](1.035957,0.157602) - --(1.103413,0.140452) - --(1.056536,0.191902) --cycle\dpicstop -\dpicdraw (1.086834,0.1504) - --(1.007143,0.198214)\dpicstop -\draw (1.007143,0.198214) node[left=-2bp]{\sl P1}; -\filldraw[line width=0bp](1.056536,-0.525235) - --(1.103413,-0.473786) - --(1.035957,-0.490936) --cycle\dpicstop -\dpicdraw (1.086834,-0.483733) - --(1.007143,-0.531548)\dpicstop -\draw (1.007143,-0.531548) node[left=-2bp]{\sl P2}; -\filldraw[line width=0bp](1.034774,-0.186667) - --(1.101441,-0.166667) - --(1.034774,-0.146667) --cycle\dpicstop -\dpicdraw (1.082107,-0.166667) - --(1.009115,-0.166667)\dpicstop -\draw (1.009115,-0.166667) node[left=-2bp]{\sl TP}; -\filldraw[line width=0bp](1.382353,0.141902) - --(1.335476,0.090452) - --(1.402932,0.107602) --cycle\dpicstop -\dpicdraw (1.352055,0.1004) - --(1.431746,0.148214)\dpicstop -\draw (1.431746,0.148214) node[right=-2bp]{\sl S1}; -\filldraw[line width=0bp](1.402932,-0.440936) - --(1.335476,-0.423786) - --(1.382353,-0.475235) --cycle\dpicstop -\dpicdraw (1.352055,-0.433733) - --(1.431746,-0.481548)\dpicstop -\draw (1.431746,-0.481548) node[right=-2bp]{\sl S2}; -\filldraw[line width=0bp](1.404115,-0.146667) - --(1.337448,-0.166667) - --(1.404115,-0.186667) --cycle\dpicstop -\dpicdraw (1.356782,-0.166667) - --(1.429774,-0.166667)\dpicstop -\draw (1.429774,-0.166667) node[right=-2bp]{\sl TS}; -\draw (1.219444,-0.766667) node{\tt ...(down\_ 0.6,,2,P,8)}; -\dpiclw=0.8bp -\dpicdraw (2.349105,0.086124) - --(2.349105,0.086124)\dpicstop -\dpicdraw[line width=0.4bp](2.349105,0.086124) circle (0.00109in)\dpicstop -\dpicdraw (2.349105,0.086124) - ..controls (2.386677,0.103644) and (2.428024,0.07046) - ..(2.419051,0.029987) - ..controls (2.410078,-0.010486) and (2.358581,-0.023088) - ..(2.331934,0.00867)\dpicstop -\dpicdraw[line width=0.4bp](2.331934,0.00867) circle (0.00109in)\dpicstop -\dpicdraw (2.331934,0.00867) - ..controls (2.36194,0.044429) and (2.420236,0.023211) - ..(2.420236,-0.02347) - ..controls (2.420236,-0.07015) and (2.36194,-0.091368) - ..(2.331934,-0.055609)\dpicstop -\dpicdraw[line width=0.4bp](2.331934,-0.055609) circle (0.00109in)\dpicstop -\dpicdraw (2.331934,-0.055609) - ..controls (2.36194,-0.01985) and (2.420236,-0.041068) - ..(2.420236,-0.087749) - ..controls (2.420236,-0.134429) and (2.36194,-0.155647) - ..(2.331934,-0.119888)\dpicstop -\dpicdraw[line width=0.4bp](2.331934,-0.119888) circle (0.00109in)\dpicstop -\dpicdraw (2.331934,-0.119888) - ..controls (2.36194,-0.084129) and (2.420236,-0.105347) - ..(2.420236,-0.152027) - ..controls (2.420236,-0.198708) and (2.36194,-0.219926) - ..(2.331934,-0.184167)\dpicstop -\dpicdraw[line width=0.4bp](2.331934,-0.184167) circle (0.00109in)\dpicstop -\dpicdraw (2.331934,-0.184167) - ..controls (2.36194,-0.148407) and (2.420236,-0.169626) - ..(2.420236,-0.216306) - ..controls (2.420236,-0.262987) and (2.36194,-0.284205) - ..(2.331934,-0.248445)\dpicstop -\dpicdraw[line width=0.4bp](2.331934,-0.248445) circle (0.00109in)\dpicstop -\dpicdraw (2.331934,-0.248445) - ..controls (2.36194,-0.212686) and (2.420236,-0.233904) - ..(2.420236,-0.280585) - ..controls (2.420236,-0.327265) and (2.36194,-0.348484) - ..(2.331934,-0.312724)\dpicstop -\dpicdraw[line width=0.4bp](2.331934,-0.312724) circle (0.00109in)\dpicstop -\dpicdraw (2.331934,-0.312724) - ..controls (2.36194,-0.276965) and (2.420236,-0.298183) - ..(2.420236,-0.344864) - ..controls (2.420236,-0.391544) and (2.36194,-0.412762) - ..(2.331934,-0.377003)\dpicstop -\dpicdraw[line width=0.4bp](2.331934,-0.377003) circle (0.00109in)\dpicstop -\dpicdraw (2.331934,-0.377003) - ..controls (2.358581,-0.345246) and (2.410078,-0.357847) - ..(2.419051,-0.39832) - ..controls (2.428024,-0.438794) and (2.386677,-0.471978) - ..(2.349105,-0.454458)\dpicstop -\dpicdraw[line width=0.4bp](2.349105,-0.454458) circle (0.00109in)\dpicstop -\dpicdraw (2.349105,-0.454458) - --(2.349105,-0.454458)\dpicstop -\dpicdraw (2.461903,0.090809) - --(2.461903,-0.459142)\dpicstop -\dpicdraw (2.524403,0.090809) - --(2.524403,-0.459142)\dpicstop -\dpicdraw (2.637201,-0.330585) - --(2.637201,-0.3259)\dpicstop -\dpicdraw[line width=0.4bp](2.637201,-0.3259) circle (0.00109in)\dpicstop -\dpicdraw (2.637201,-0.3259) - ..controls (2.599629,-0.34342) and (2.558282,-0.310236) - ..(2.567255,-0.269763) - ..controls (2.576228,-0.22929) and (2.627724,-0.216688) - ..(2.654372,-0.248445)\dpicstop -\dpicdraw[line width=0.4bp](2.654372,-0.248445) circle (0.00109in)\dpicstop -\dpicdraw (2.654372,-0.248445) - ..controls (2.624366,-0.284205) and (2.56607,-0.262987) - ..(2.56607,-0.216306) - ..controls (2.56607,-0.169626) and (2.624366,-0.148407) - ..(2.654372,-0.184167)\dpicstop -\dpicdraw[line width=0.4bp](2.654372,-0.184167) circle (0.00109in)\dpicstop -\dpicdraw (2.654372,-0.184167) - ..controls (2.624366,-0.219926) and (2.56607,-0.198708) - ..(2.56607,-0.152027) - ..controls (2.56607,-0.105347) and (2.624366,-0.084129) - ..(2.654372,-0.119888)\dpicstop -\dpicdraw[line width=0.4bp](2.654372,-0.119888) circle (0.00109in)\dpicstop -\dpicdraw (2.654372,-0.119888) - ..controls (2.627724,-0.151645) and (2.576228,-0.139044) - ..(2.567255,-0.098571) - ..controls (2.558282,-0.058097) and (2.599629,-0.024913) - ..(2.637201,-0.042433)\dpicstop -\dpicdraw[line width=0.4bp](2.637201,-0.042433) circle (0.00109in)\dpicstop -\dpicdraw (2.637201,-0.042433) - --(2.637201,-0.037749)\dpicstop -\dpicdraw[fill=black](2.380355,0.115809) circle (0.003937in)\dpicstop -\dpicdraw[fill=black](2.605951,-0.355585) circle (0.003937in)\dpicstop -\dpiclw=0.4bp -\filldraw[line width=0bp](2.269784,0.110393) - --(2.33724,0.093243) - --(2.290364,0.144693) --cycle\dpicstop -\dpicdraw (2.320662,0.103191) - --(2.240971,0.151005)\dpicstop -\draw (2.240971,0.151005) node[left=-2bp]{\sl P1}; -\filldraw[line width=0bp](2.290364,-0.513026) - --(2.33724,-0.461577) - --(2.269784,-0.478727) --cycle\dpicstop -\dpicdraw (2.320662,-0.471524) - --(2.240971,-0.519339)\dpicstop -\draw (2.240971,-0.519339) node[left=-2bp]{\sl P2}; -\filldraw[line width=0bp](2.268602,-0.204167) - --(2.335268,-0.184167) - --(2.268602,-0.164167) --cycle\dpicstop -\dpicdraw (2.315934,-0.184167) - --(2.242942,-0.184167)\dpicstop -\draw (2.242942,-0.184167) node[left=-2bp]{\sl TP}; -\filldraw[line width=0bp](2.695942,0.02082) - --(2.649066,-0.030629) - --(2.716522,-0.01348) --cycle\dpicstop -\dpicdraw (2.665644,-0.020682) - --(2.745335,0.027132)\dpicstop -\draw (2.745335,0.027132) node[right=-2bp]{\sl S1}; -\filldraw[line width=0bp](2.716522,-0.354854) - --(2.649066,-0.337704) - --(2.695942,-0.389153) --cycle\dpicstop -\dpicdraw (2.665644,-0.347651) - --(2.745335,-0.395466)\dpicstop -\draw (2.745335,-0.395466) node[right=-2bp]{\sl S2}; -\filldraw[line width=0bp](2.717704,-0.164167) - --(2.651038,-0.184167) - --(2.717704,-0.204167) --cycle\dpicstop -\dpicdraw (2.670371,-0.184167) - --(2.743364,-0.184167)\dpicstop -\draw (2.743364,-0.184167) node[right=-2bp]{\sl TS}; -\draw (2.493153,-0.669142) node{\tt ...(,,8,WD12,4)}; -\dpiclw=0.8bp -\dpicdraw (3.682139,0.103358) - --(3.682139,0.072108)\dpicstop -\dpicdraw[line width=0.4bp](3.682139,0.072108) circle (0.00109in)\dpicstop -\dpicdraw (3.682139,0.072108) - ..controls (3.716514,0.072108) and (3.744639,0.057483) - ..(3.744639,0.039608) - ..controls (3.744639,0.021733) and (3.724952,0.007108) - ..(3.700889,0.007108) - ..controls (3.676827,0.007108) and (3.657139,0.013858) - ..(3.657139,0.022108) - ..controls (3.657139,0.030358) and (3.676827,0.037108) - ..(3.700889,0.037108) - ..controls (3.724952,0.037108) and (3.744639,0.019108) - ..(3.744639,-0.002892) - ..controls (3.744639,-0.024892) and (3.724952,-0.042892) - ..(3.700889,-0.042892) - ..controls (3.676827,-0.042892) and (3.657139,-0.036142) - ..(3.657139,-0.027892) - ..controls (3.657139,-0.019642) and (3.676827,-0.012892) - ..(3.700889,-0.012892) - ..controls (3.724952,-0.012892) and (3.744639,-0.030892) - ..(3.744639,-0.052892) - ..controls (3.744639,-0.074892) and (3.724952,-0.092892) - ..(3.700889,-0.092892) - ..controls (3.676827,-0.092892) and (3.657139,-0.086142) - ..(3.657139,-0.077892) - ..controls (3.657139,-0.069642) and (3.676827,-0.062892) - ..(3.700889,-0.062892) - ..controls (3.724952,-0.062892) and (3.744639,-0.080892) - ..(3.744639,-0.102892) - ..controls (3.744639,-0.124892) and (3.724952,-0.142892) - ..(3.700889,-0.142892) - ..controls (3.676827,-0.142892) and (3.657139,-0.136142) - ..(3.657139,-0.127892) - ..controls (3.657139,-0.119642) and (3.676827,-0.112892) - ..(3.700889,-0.112892) - ..controls (3.724952,-0.112892) and (3.744639,-0.130892) - ..(3.744639,-0.152892) - ..controls (3.744639,-0.174892) and (3.724952,-0.192892) - ..(3.700889,-0.192892) - ..controls (3.676827,-0.192892) and (3.657139,-0.186142) - ..(3.657139,-0.177892) - ..controls (3.657139,-0.169642) and (3.676827,-0.162892) - ..(3.700889,-0.162892) - ..controls (3.724952,-0.162892) and (3.744639,-0.180892) - ..(3.744639,-0.202892) - ..controls (3.744639,-0.224892) and (3.724952,-0.242892) - ..(3.700889,-0.242892) - ..controls (3.676827,-0.242892) and (3.657139,-0.236142) - ..(3.657139,-0.227892) - ..controls (3.657139,-0.219642) and (3.676827,-0.212892) - ..(3.700889,-0.212892) - ..controls (3.724952,-0.212892) and (3.744639,-0.230892) - ..(3.744639,-0.252892) - ..controls (3.744639,-0.274892) and (3.724952,-0.292892) - ..(3.700889,-0.292892) - ..controls (3.676827,-0.292892) and (3.657139,-0.286142) - ..(3.657139,-0.277892) - ..controls (3.657139,-0.269642) and (3.676827,-0.262892) - ..(3.700889,-0.262892) - ..controls (3.724952,-0.262892) and (3.744639,-0.280892) - ..(3.744639,-0.302892) - ..controls (3.744639,-0.324892) and (3.724952,-0.342892) - ..(3.700889,-0.342892) - ..controls (3.676827,-0.342892) and (3.657139,-0.336142) - ..(3.657139,-0.327892) - ..controls (3.657139,-0.319642) and (3.676827,-0.312892) - ..(3.700889,-0.312892) - ..controls (3.724952,-0.312892) and (3.744639,-0.330892) - ..(3.744639,-0.352892) - ..controls (3.744639,-0.374892) and (3.724952,-0.392892) - ..(3.700889,-0.392892) - ..controls (3.676827,-0.392892) and (3.657139,-0.386142) - ..(3.657139,-0.377892) - ..controls (3.657139,-0.369642) and (3.676827,-0.362892) - ..(3.700889,-0.362892) - ..controls (3.724952,-0.362892) and (3.744639,-0.377517) - ..(3.744639,-0.395392) - ..controls (3.744639,-0.413267) and (3.716514,-0.427892) - ..(3.682139,-0.427892)\dpicstop -\dpicdraw[line width=0.4bp](3.682139,-0.427892) circle (0.00109in)\dpicstop -\dpicdraw (3.682139,-0.427892) - --(3.682139,-0.459142)\dpicstop -\dpicdraw (3.869639,-0.459142) - --(3.869639,-0.302892)\dpicstop -\dpicdraw[line width=0.4bp](3.869639,-0.302892) circle (0.00109in)\dpicstop -\dpicdraw (3.869639,-0.302892) - ..controls (3.835264,-0.302892) and (3.807139,-0.288267) - ..(3.807139,-0.270392) - ..controls (3.807139,-0.252517) and (3.826827,-0.237892) - ..(3.850889,-0.237892) - ..controls (3.874952,-0.237892) and (3.894639,-0.244642) - ..(3.894639,-0.252892) - ..controls (3.894639,-0.261142) and (3.874952,-0.267892) - ..(3.850889,-0.267892) - ..controls (3.826827,-0.267892) and (3.807139,-0.249892) - ..(3.807139,-0.227892) - ..controls (3.807139,-0.205892) and (3.826827,-0.187892) - ..(3.850889,-0.187892) - ..controls (3.874952,-0.187892) and (3.894639,-0.194642) - ..(3.894639,-0.202892) - ..controls (3.894639,-0.211142) and (3.874952,-0.217892) - ..(3.850889,-0.217892) - ..controls (3.826827,-0.217892) and (3.807139,-0.199892) - ..(3.807139,-0.177892) - ..controls (3.807139,-0.155892) and (3.826827,-0.137892) - ..(3.850889,-0.137892) - ..controls (3.874952,-0.137892) and (3.894639,-0.144642) - ..(3.894639,-0.152892) - ..controls (3.894639,-0.161142) and (3.874952,-0.167892) - ..(3.850889,-0.167892) - ..controls (3.826827,-0.167892) and (3.807139,-0.149892) - ..(3.807139,-0.127892) - ..controls (3.807139,-0.105892) and (3.826827,-0.087892) - ..(3.850889,-0.087892) - ..controls (3.874952,-0.087892) and (3.894639,-0.094642) - ..(3.894639,-0.102892) - ..controls (3.894639,-0.111142) and (3.874952,-0.117892) - ..(3.850889,-0.117892) - ..controls (3.826827,-0.117892) and (3.807139,-0.103267) - ..(3.807139,-0.085392) - ..controls (3.807139,-0.067517) and (3.835264,-0.052892) - ..(3.869639,-0.052892)\dpicstop -\dpicdraw[line width=0.4bp](3.869639,-0.052892) circle (0.00109in)\dpicstop -\dpicdraw (3.869639,-0.052892) - --(3.869639,0.103358)\dpicstop -\dpiclw=0.4bp -\filldraw[line width=0bp](3.602818,0.127627) - --(3.670274,0.110477) - --(3.623398,0.161926) --cycle\dpicstop -\dpicdraw (3.653695,0.120424) - --(3.574004,0.168239)\dpicstop -\draw (3.574004,0.168239) node[left=-2bp]{\sl P1}; -\filldraw[line width=0bp](3.623398,-0.517711) - --(3.670274,-0.466261) - --(3.602818,-0.483411) --cycle\dpicstop -\dpicdraw (3.653695,-0.476209) - --(3.574004,-0.524023)\dpicstop -\draw (3.574004,-0.524023) node[left=-2bp]{\sl P2}; -\filldraw[line width=0bp](3.601636,-0.197892) - --(3.668302,-0.177892) - --(3.601636,-0.157892) --cycle\dpicstop -\dpicdraw (3.648968,-0.177892) - --(3.575976,-0.177892)\dpicstop -\draw (3.575976,-0.177892) node[left=-2bp]{\sl TP}; -\filldraw[line width=0bp](3.928381,0.161926) - --(3.881504,0.110477) - --(3.94896,0.127627) --cycle\dpicstop -\dpicdraw (3.898083,0.120424) - --(3.977774,0.168239)\dpicstop -\draw (3.977774,0.168239) node[right=-2bp]{\sl S1}; -\filldraw[line width=0bp](3.94896,-0.483411) - --(3.881504,-0.466261) - --(3.928381,-0.517711) --cycle\dpicstop -\dpicdraw (3.898083,-0.476209) - --(3.977774,-0.524023)\dpicstop -\draw (3.977774,-0.524023) node[right=-2bp]{\sl S2}; -\filldraw[line width=0bp](3.950143,-0.157892) - --(3.883476,-0.177892) - --(3.950143,-0.197892) --cycle\dpicstop -\dpicdraw (3.90281,-0.177892) - --(3.975802,-0.177892)\dpicstop -\draw (3.975802,-0.177892) node[right=-2bp]{\sl TS}; -\draw (3.775889,-0.759142) node{\tt ...(,,9,AL)}; -\dpiclw=0.8bp -\dpicdraw (5.127971,-0.454458) - --(5.127971,-0.454458)\dpicstop -\dpicdraw[line width=0.4bp](5.127971,-0.454458) circle (0.00109in)\dpicstop -\dpicdraw (5.127971,-0.454458) - ..controls (5.090399,-0.471978) and (5.049052,-0.438794) - ..(5.058025,-0.39832) - ..controls (5.066998,-0.357847) and (5.118495,-0.345246) - ..(5.145142,-0.377003)\dpicstop -\dpicdraw[line width=0.4bp](5.145142,-0.377003) circle (0.00109in)\dpicstop -\dpicdraw (5.145142,-0.377003) - ..controls (5.115136,-0.412762) and (5.05684,-0.391544) - ..(5.05684,-0.344864) - ..controls (5.05684,-0.298183) and (5.115136,-0.276965) - ..(5.145142,-0.312724)\dpicstop -\dpicdraw[line width=0.4bp](5.145142,-0.312724) circle (0.00109in)\dpicstop -\dpicdraw (5.145142,-0.312724) - ..controls (5.115136,-0.348484) and (5.05684,-0.327265) - ..(5.05684,-0.280585) - ..controls (5.05684,-0.233904) and (5.115136,-0.212686) - ..(5.145142,-0.248445)\dpicstop -\dpicdraw[line width=0.4bp](5.145142,-0.248445) circle (0.00109in)\dpicstop -\dpicdraw (5.145142,-0.248445) - ..controls (5.115136,-0.284205) and (5.05684,-0.262987) - ..(5.05684,-0.216306) - ..controls (5.05684,-0.169626) and (5.115136,-0.148407) - ..(5.145142,-0.184167)\dpicstop -\dpicdraw[line width=0.4bp](5.145142,-0.184167) circle (0.00109in)\dpicstop -\dpicdraw (5.145142,-0.184167) - ..controls (5.115136,-0.219926) and (5.05684,-0.198708) - ..(5.05684,-0.152027) - ..controls (5.05684,-0.105347) and (5.115136,-0.084129) - ..(5.145142,-0.119888)\dpicstop -\dpicdraw[line width=0.4bp](5.145142,-0.119888) circle (0.00109in)\dpicstop -\dpicdraw (5.145142,-0.119888) - ..controls (5.115136,-0.155647) and (5.05684,-0.134429) - ..(5.05684,-0.087749) - ..controls (5.05684,-0.041068) and (5.115136,-0.01985) - ..(5.145142,-0.055609)\dpicstop -\dpicdraw[line width=0.4bp](5.145142,-0.055609) circle (0.00109in)\dpicstop -\dpicdraw (5.145142,-0.055609) - ..controls (5.115136,-0.091368) and (5.05684,-0.07015) - ..(5.05684,-0.02347) - ..controls (5.05684,0.023211) and (5.115136,0.044429) - ..(5.145142,0.00867)\dpicstop -\dpicdraw[line width=0.4bp](5.145142,0.00867) circle (0.00109in)\dpicstop -\dpicdraw (5.145142,0.00867) - ..controls (5.118495,-0.023088) and (5.066998,-0.010486) - ..(5.058025,0.029987) - ..controls (5.049052,0.07046) and (5.090399,0.103644) - ..(5.127971,0.086124)\dpicstop -\dpicdraw[line width=0.4bp](5.127971,0.086124) circle (0.00109in)\dpicstop -\dpicdraw (5.127971,0.086124) - --(5.127971,0.086124)\dpicstop -\dpicdraw (4.914578,0.086124) - --(4.914578,-0.042433)\dpicstop -\dpicdraw[line width=0.4bp](4.914578,-0.042433) circle (0.00109in)\dpicstop -\dpicdraw (4.914578,-0.042433) - ..controls (4.95215,-0.024913) and (4.993496,-0.058097) - ..(4.984524,-0.098571) - ..controls (4.975551,-0.139044) and (4.924054,-0.151645) - ..(4.897407,-0.119888)\dpicstop -\dpicdraw[line width=0.4bp](4.897407,-0.119888) circle (0.00109in)\dpicstop -\dpicdraw (4.897407,-0.119888) - ..controls (4.927412,-0.084129) and (4.985709,-0.105347) - ..(4.985709,-0.152027) - ..controls (4.985709,-0.198708) and (4.927412,-0.219926) - ..(4.897407,-0.184167)\dpicstop -\dpicdraw[line width=0.4bp](4.897407,-0.184167) circle (0.00109in)\dpicstop -\dpicdraw (4.897407,-0.184167) - ..controls (4.927412,-0.148407) and (4.985709,-0.169626) - ..(4.985709,-0.216306) - ..controls (4.985709,-0.262987) and (4.927412,-0.284205) - ..(4.897407,-0.248445)\dpicstop -\dpicdraw[line width=0.4bp](4.897407,-0.248445) circle (0.00109in)\dpicstop -\dpicdraw (4.897407,-0.248445) - ..controls (4.924054,-0.216688) and (4.975551,-0.22929) - ..(4.984524,-0.269763) - ..controls (4.993496,-0.310236) and (4.95215,-0.34342) - ..(4.914578,-0.3259)\dpicstop -\dpicdraw[line width=0.4bp](4.914578,-0.3259) circle (0.00109in)\dpicstop -\dpicdraw (4.914578,-0.3259) - --(4.914578,-0.454458)\dpicstop -\dpiclw=0.4bp -\filldraw[line width=0bp](5.186712,0.144693) - --(5.139836,0.093243) - --(5.207292,0.110393) --cycle\dpicstop -\dpicdraw (5.156415,0.103191) - --(5.236106,0.151005)\dpicstop -\draw (5.236106,0.151005) node[right=-2bp]{\sl P1}; -\filldraw[line width=0bp](5.207292,-0.478727) - --(5.139836,-0.461577) - --(5.186712,-0.513026) --cycle\dpicstop -\dpicdraw (5.156415,-0.471524) - --(5.236106,-0.519339)\dpicstop -\draw (5.236106,-0.519339) node[right=-2bp]{\sl P2}; -\filldraw[line width=0bp](5.208474,-0.164167) - --(5.141808,-0.184167) - --(5.208474,-0.204167) --cycle\dpicstop -\dpicdraw (5.161142,-0.184167) - --(5.234134,-0.184167)\dpicstop -\draw (5.234134,-0.184167) node[right=-2bp]{\sl TP}; -\filldraw[line width=0bp](4.835257,0.110393) - --(4.902713,0.093243) - --(4.855837,0.144693) --cycle\dpicstop -\dpicdraw (4.886134,0.103191) - --(4.806443,0.151005)\dpicstop -\draw (4.806443,0.151005) node[left=-2bp]{\sl S1}; -\filldraw[line width=0bp](4.855837,-0.513026) - --(4.902713,-0.461577) - --(4.835257,-0.478727) --cycle\dpicstop -\dpicdraw (4.886134,-0.471524) - --(4.806443,-0.519339)\dpicstop -\draw (4.806443,-0.519339) node[left=-2bp]{\sl S2}; -\filldraw[line width=0bp](4.834074,-0.204167) - --(4.900741,-0.184167) - --(4.834074,-0.164167) --cycle\dpicstop -\dpicdraw (4.881407,-0.184167) - --(4.808415,-0.184167)\dpicstop -\draw (4.808415,-0.184167) node[left=-2bp]{\sl TS}; -\draw (5.021274,-0.759142) node{\tt ...(,R,8,AW)}; -\dpiclw=0.8bp -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/body.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/body.tex index dc0738769f0..934e7813d74 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/body.tex +++ b/Master/texmf-dist/doc/latex/circuit-macros/doc/body.tex @@ -61,19 +61,20 @@ other diagrams in \latex and web documents. The diagrams are defined in the simple \pic drawing language~\cite{KRpic} augmented with \Mfour macros~\cite{KRm4}, and are processed by \Mfour and a \pic processor to -convert them to \TPGF, \PSTricks, other \latex-compatible code, or \SVG. -In its basic form, the method has the advantages and disadvantages of +convert them to \TPGF, \PSTricks, other \latex-compatible code, \SVG, +or other formats. +In its basic usage, the method has the advantages and disadvantages of \tex itself, since it is macro-based and non-WYSIWYG, with ordinary text input. The book from which the above quotation is taken correctly points out that the payoff can be in quality of -diagrams at the price of the time spent in learning how to draw them. +diagrams at the price of the time spent in drawing them. A collection of basic components, most based on IEC and IEEE standards~\cite{IECstd,IEEEstd}, and conventions for their internal structure are described. Macros such as these are only a starting point, since it is often convenient to customize elements or to package -combinations of them for particular drawings, +combinations of them for particular drawings or contexts, a process for which \Mfour\ and \pic\ are well suited. \xection{Using the macros\label{Using:}} @@ -205,7 +206,7 @@ produce {\sl file}{\tt.ps}, which can be printed or viewed using {\tt gsview}, for example. For \TPGF, Invoking PDFlatex on the source produces {\tt .pdf} output directly. -The essential line is \verb|\input quick| whether or not the figure +The essential line is \verb|\input quick| whether or not the {\tt figure} environment is used. The effect of the \Mfour command above is shown in \FR{ConfigA}. @@ -255,10 +256,12 @@ The macros can be processed by \latex-specific project software and by graphic applications such as Pycirkuit~\cite{Mas2019}. % Cirkuit~\cite{KDEApps2009}. -Alternatively when many files are to be processed, a facility such as -Unix ``make,'' which is also available in PC and Mac versions, can be employed -to automate the required commands. On systems without such -facilities, a scripting language can be used. +Alternatively when many files are to be processed, +% a facility such as +Unix ``make,'' which is also available in PC and Mac versions, +%can be employed to automate the required commands. +is a simple and powerful tool for automating the required commands. +On systems without such facilities, a scripting language can be used. \item The \Mfour commands illustrated above can be shortened to @@ -445,8 +448,11 @@ a more complete manual~\cite{Raymond95} can be found in the GNU \groff\ package, and both are available on the web~\cite{KRpic,Raymond95}. Reading either will give you competence with \pic in an hour or two. Explicit mention of {\tt *roff} string and font constructs in these manuals should be replaced by -their equivalents in the \latex context. A man-page language summary is -appended to the \dpic manual~\cite{Aplevich2011}. +their equivalents in the \latex context. +%A man-page language summary is +%appended to the \dpic manual~\cite{Aplevich2022}. +The \dpic manual~\cite{Aplevich2022} includes a man-page lanuage +summary in an appendix. A web search will yield good discussions of ``little languages''; for \pic in particular, see Chapter~9 of~\cite{Bentley88}. @@ -1037,7 +1043,8 @@ and switches with numerous controls in \FR{Switches}. and other macros. \begin{figure}[h!t] \input EmarrowsMan - \caption{Radiation arrows: {\tt em\_arrows({\sl type, angle, length})}} + \caption{Radiation arrows: {\tt em\_arrows({\sl type}|{\sl keys,% + angle, length})}} \label{Emarrows} \end{figure} The arrow stems are named {\sl A1}, {\sl A2}, @@ -2531,6 +2538,11 @@ There are at least three kinds of graphical elements to be considered: {\tt scale} at the beginning of the diagram. To change default sizes, redefine the appropriate parameters explicitly. +\item \Dpic\ implements a {\tt scaled} attribute for objects, so you can + enclose the entire diagram (or part of it) in {\tt [ ]} brackets, thus: + {\tt [} \ldots {\sl drawing commands} {\tt ] scaled} $x$ where $x$ is a + scale factor. + \item The {\tt .PS} line can be used to scale the entire drawing, regardless of its interior. Thus, for example, the line {\tt.PS 100/25.4} scales the entire drawing to a width of 100$\,$mm. diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/defines.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/defines.tex index 7ac3cbaed42..c2b800e5093 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/defines.tex +++ b/Master/texmf-dist/doc/latex/circuit-macros/doc/defines.tex @@ -442,9 +442,11 @@ {\sl phase} )} {gen} {function $a\times\cos(\omega t + \phi)$ } -\macrodef{cross}{cross}{(at {\sl location})} +\macrodef{cross}{cross}{(at {\sl location, size}|{\sl keys})} {gen} - {plots a small cross} + {Plots a small cross. The possible key-value pairs are: + {\tt size={\sl expr};}, + {\tt line={\sl attributes};} } \macrodef{cross3D}{cross3D}{({\sl x1,y1,z1,x2,y2,z2})} {3D} {cross product of two triples} @@ -693,9 +695,12 @@ B|b|CR|D|G|L|LE[R]|P[R]|S|Sh|T|U|V|v|w|Z|chars,% %\macrodef{dnm\_}{dnm_}{} % {cct} % {similar to dna\_} -\macrodef{dot}{dot}{(at {\sl location},{\sl radius},{\sl fill})} +\macrodef{dot}{dot}{(at {\sl location},{\sl radius}|{\sl keys},{\sl fill})} {gen} - {filled circle (third arg= gray value: 0=black, 1=white)} + {Filled circle (third arg= gray value: 0=black, 1=white). The possible + key-value pairs are: + {\tt rad={\sl expr};} and + {\tt circle={\sl attributes};} } \macrodef{dot3D}{dot3D}{({\sl x1,y1,z1,x2,y2,z2})} {3D} {dot product of two triples} @@ -792,10 +797,15 @@ B|b|CR|D|G|L|LE[R]|P[R]|S|Sh|T|U|V|v|w|Z|chars,% \macrodef{elen\_}{elen_}{} {cct} {default element length} -\macrodef{em\_arrows}{em_arrows}{([N|I|E][D],{\sl angle,length})} - {cct} - {radiation arrows, N=nonionizing, I=ionizing, E=simple; - D=dot\seesect{Twoterminal:}} +\macrodef{em\_arrows}{em_arrows}{({\sl type}|{\sl keys,angle,length})} + {cct} + { Radiation arrows: {\sl type} {\tt N|I|E [D|T]} + {\tt N}=nonionizing, {\tt I}=ionizing, {\tt E}=simple; + {\tt D}=dot on arrow stem; {\tt T}=anchor tail; + {\sl keys:} {\tt type=}{\sl chars} as above; + {\tt lgth}={\sl expr}; + {\tt sep}={\sl expr}; arrow separation + {\tt angle}={\sl degrees}; absolute direction\seesect{Twoterminal:}} \macrodef{endshade}{endshade}{} {gen} {end gray shading, see {\tt beginshade}} @@ -1863,7 +1873,9 @@ justification})} with text label and a size-adjustment parameter } \macrodef{shade}{shade}{({\sl gray value},{\sl closed line specs})} {gen} - {Fill arbitrary closed curve} + {Fill arbitrary closed curve. Note: when producing pdf via pdflatex, line + thickness changes within this macro must be made via the {\tt linethick} + environment variable rather than by the {\tt thickness} line attribute} \macrodef{shadebox}{shadebox}{(box {\sl attributes, shade width})} {gen} {Box with edge shading. Arg2 is in points. See also {\tt shaded} } diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/fet.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/fet.tex deleted file mode 100644 index 7fbd593d5a9..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/fet.tex +++ /dev/null @@ -1,513 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw (0,-0.175) - --(0.15,-0.175) - --(0.15,-0.16393)\dpicstop -\dpicdraw (0.5,-0.175) - --(0.35,-0.175) - --(0.35,-0.16393)\dpicstop -\dpicdraw (0.35,-0.175) - --(0.35,0)\dpicstop -\dpicdraw (0.125,0) - --(0.375,0)\dpicstop -\filldraw[line width=0bp](0.122222,0.083333) - --(0.15,0) - --(0.177778,0.083333) --cycle\dpicstop -\dpicdraw (0.15,0.175) - --(0.15,0.017568)\dpicstop -\dpicdraw (0.15,-0.175) - --(0.15,0)\dpicstop -\dpicdraw (0.25,0) circle (0.07874in)\dpicstop -\draw (0.875,-0.5) node{{\tt j\_fet(right\_ dimen\_,{,},E)}}; -\draw (0.15,0.175) node[above left=-2bp]{$G$}; -\draw (0,-0.175) node[left=-2bp]{$S$}; -\draw (0.5,-0.175) node[right=-2bp]{$D$}; -\dpicdraw (1.127778,-0.175) - --(1.127778,0)\dpicstop -\dpicdraw (0.902778,0) - --(1.152778,0)\dpicstop -\dpicdraw (0.927778,0) - --(0.927778,0.175)\dpicstop -\filldraw[line width=0bp](0.955556,0.066667) - --(0.927778,0.15) - --(0.9,0.066667) --cycle\dpicstop -\dpicdraw (0.927778,0.066667) - --(0.927778,0.132432)\dpicstop -\dpicdraw (0.927778,-0.175) - --(0.927778,0)\dpicstop -\draw (1.026389,-0.225) node[below=-2bp]{{\tt j\_fet(,{,}P,)}}; -\draw (0.927778,0.175) node[left=-2bp]{$G$}; -\draw (0.927778,-0.175) node[left=-2bp]{$S$}; -\draw (1.127778,-0.175) node[right=-2bp]{$D$}; -\dpicdraw (1.925,0.175) - --(1.925,0)\dpicstop -\filldraw[line width=0bp](1.897222,0.129167) - --(1.925,0.045833) - --(1.952778,0.129167) --cycle\dpicstop -\dpicdraw (1.925,0.129167) - --(1.925,0.063402)\dpicstop -\dpicdraw (2.025,0.175) - --(2.025,0)\dpicstop -\dpicdraw (1.8,0) - --(1.875,0)\dpicstop -\dpicdraw (1.9,0) - --(1.95,0)\dpicstop -\dpicdraw (1.975,0) - --(2.05,0)\dpicstop -\dpicdraw (2.025,-0.05) - --(1.825,-0.05) - --(1.825,-0.175)\dpicstop -\dpicdraw (1.925,0.16393) - --(1.925,0.175) - --(1.825,0.175) - --(1.825,0.16393)\dpicstop -\dpicdraw (1.825,0.175) - --(1.825,0)\dpicstop -\draw (1.925,-0.225) node[below=-2bp]{{\tt e\_fet(,R,{,})}}; -\draw (1.825,-0.175) node[left=-2bp]{$G$}; -\draw (1.825,0.175) node[left=-2bp]{$S$}; -\draw (2.025,0.175) node[right=-2bp]{$D$}; -\dpicdraw (1.925,-1.175) - --(1.925,-1)\dpicstop -\filldraw[line width=0bp](1.897222,-1.045833) - --(1.925,-1.129167) - --(1.952778,-1.045833) --cycle\dpicstop -\dpicdraw (1.925,-1.111598) - --(1.925,-1.045833)\dpicstop -\dpicdraw (2.025,-1.175) - --(2.025,-1)\dpicstop -\dpicdraw (1.8,-1) - --(1.875,-1)\dpicstop -\dpicdraw (1.9,-1) - --(1.95,-1)\dpicstop -\dpicdraw (1.975,-1) - --(2.05,-1)\dpicstop -\dpicdraw (2.025,-0.95) - --(1.825,-0.95) - --(1.825,-0.825)\dpicstop -\dpicdraw (1.925,-1.16393) - --(1.925,-1.175) - --(1.825,-1.175) - --(1.825,-1.16393)\dpicstop -\dpicdraw (1.825,-1.175) - --(1.825,-1)\dpicstop -\draw (2.025,-1.375) node[below=-2bp]{{\tt e\_fet(,{,}P)}}; -\dpicdraw (2.825,-0.175) - --(2.825,0)\dpicstop -\filldraw[line width=0bp](2.852778,-0.129167) - --(2.825,-0.045833) - --(2.797222,-0.129167) --cycle\dpicstop -\dpicdraw (2.825,-0.129167) - --(2.825,-0.063402)\dpicstop -\dpicdraw (2.925,-0.175) - --(2.925,0)\dpicstop -\dpicdraw (2.7,0) - --(2.95,0)\dpicstop -\dpicdraw (2.925,0.05) - --(2.725,0.05) - --(2.725,0.175)\dpicstop -\dpicdraw (2.825,-0.16393) - --(2.825,-0.175) - --(2.725,-0.175) - --(2.725,-0.16393)\dpicstop -\dpicdraw (2.725,-0.175) - --(2.725,0)\dpicstop -\draw (2.825,-0.225) node[below=-2bp]{{\tt d\_fet(,{,},)}}; -\dpicdraw (2.825,-1.175) - --(2.825,-1)\dpicstop -\filldraw[line width=0bp](2.797222,-1.045833) - --(2.825,-1.129167) - --(2.852778,-1.045833) --cycle\dpicstop -\dpicdraw (2.825,-1.111598) - --(2.825,-1.045833)\dpicstop -\dpicdraw (2.925,-1.175) - --(2.925,-1)\dpicstop -\dpicdraw (2.7,-1) - --(2.95,-1)\dpicstop -\dpicdraw (2.925,-0.95) - --(2.725,-0.95) - --(2.725,-0.825)\dpicstop -\dpicdraw (2.825,-1.16393) - --(2.825,-1.175) - --(2.725,-1.175) - --(2.725,-1.16393)\dpicstop -\dpicdraw (2.725,-1.175) - --(2.725,-1)\dpicstop -\draw (2.825,-1.225) node[below=-2bp]{{\tt d\_fet(,{,}P)}}; -\dpicdraw (3.827778,-0.1875) - --(3.827778,-0.0125)\dpicstop -\dpicdraw (3.602778,-0.0125) - --(3.852778,-0.0125)\dpicstop -\dpicdraw (3.627778,-0.1875) - --(3.627778,-0.0125)\dpicstop -\filldraw[line width=0bp](3.6,-0.058333) - --(3.627778,-0.141667) - --(3.655556,-0.058333) --cycle\dpicstop -\dpicdraw (3.627778,-0.124098) - --(3.627778,-0.058333)\dpicstop -\dpicdraw (3.627778,0.0375) - --(3.827778,0.0375)\dpicstop -\dpicdraw (3.727778,0.0375) - --(3.727778,0.1875)\dpicstop -\draw (3.726389,-0.2375) node[below=-2bp]{{\tt e\_fet(,{,},S)}}; -\dpicdraw (3.827778,-1.1875) - --(3.827778,-1.0125)\dpicstop -\dpicdraw (3.602778,-1.0125) - --(3.852778,-1.0125)\dpicstop -\dpicdraw (3.627778,-1.1875) - --(3.627778,-1.0125)\dpicstop -\filldraw[line width=0bp](3.655556,-1.141667) - --(3.627778,-1.058333) - --(3.6,-1.141667) --cycle\dpicstop -\dpicdraw (3.627778,-1.141667) - --(3.627778,-1.075902)\dpicstop -\dpicdraw (3.627778,-0.9625) - --(3.827778,-0.9625)\dpicstop -\dpicdraw (3.727778,-0.9625) - --(3.727778,-0.8125)\dpicstop -\draw (3.726389,-1.3875) node[below=-2bp]{{\tt e\_fet(,{,}P,S)}}; -\dpicdraw (4.727778,-0.1875) - --(4.727778,-0.0125)\dpicstop -\dpicdraw (4.502778,-0.0125) - --(4.752778,-0.0125)\dpicstop -\dpicdraw[line width=1.6bp](4.527778,-0.029104) - --(4.727778,-0.029104)\dpicstop -\dpicdraw (4.527778,-0.1875) - --(4.527778,-0.0125)\dpicstop -\filldraw[line width=0bp](4.5,-0.058333) - --(4.527778,-0.141667) - --(4.555556,-0.058333) --cycle\dpicstop -\dpicdraw (4.527778,-0.124098) - --(4.527778,-0.058333)\dpicstop -\dpicdraw (4.527778,0.0375) - --(4.727778,0.0375)\dpicstop -\dpicdraw (4.627778,0.0375) - --(4.627778,0.1875)\dpicstop -\draw (4.626389,-0.3875) node[below=-2bp]{{\tt d\_fet(,{,},S)}}; -\dpicdraw (4.727778,-1.1875) - --(4.727778,-1.0125)\dpicstop -\dpicdraw (4.502778,-1.0125) - --(4.752778,-1.0125)\dpicstop -\dpicdraw[line width=1.6bp](4.527778,-1.029104) - --(4.727778,-1.029104)\dpicstop -\dpicdraw (4.527778,-1.1875) - --(4.527778,-1.0125)\dpicstop -\filldraw[line width=0bp](4.555556,-1.141667) - --(4.527778,-1.058333) - --(4.5,-1.141667) --cycle\dpicstop -\dpicdraw (4.527778,-1.141667) - --(4.527778,-1.075902)\dpicstop -\dpicdraw (4.527778,-0.9625) - --(4.727778,-0.9625)\dpicstop -\dpicdraw (4.627778,-0.9625) - --(4.627778,-0.8125)\dpicstop -\draw (4.626389,-1.2375) node[below=-2bp]{{\tt d\_fet(,{,}P,S)}}; -\dpicdraw (5.6,-0.1625) - --(5.6,-0.0375)\dpicstop -\dpicdraw (5.4,-0.0375) - --(5.6,-0.0375)\dpicstop -\dpicdraw (5.4,-0.1625) - --(5.4,-0.0375)\dpicstop -\dpicdraw (5.4,0.0125) - --(5.6,0.0125)\dpicstop -\dpicdraw (5.5,0.0125) - --(5.5,0.1625)\dpicstop -\draw (5.5,-0.2125) node[below=-2bp]{{\tt c\_fet(,{,},)}}; -\dpicdraw (5.6,-1.1625) - --(5.6,-1.0375)\dpicstop -\dpicdraw (5.4,-1.0375) - --(5.6,-1.0375)\dpicstop -\dpicdraw (5.4,-1.1625) - --(5.4,-1.0375)\dpicstop -\dpicdraw (5.4,-0.9875) - --(5.6,-0.9875)\dpicstop -\dpicdraw (5.5,-0.954167) circle (0.013123in)\dpicstop -\dpicdraw (5.5,-0.920833) - --(5.5,-0.8375)\dpicstop -\draw (5.5,-1.3625) node[below=-2bp]{{\tt c\_fet(,{,}P)}}; -\dpicdraw (0.473333,-2.127778) - --(0.473333,-1.917778)\dpicstop -\dpicdraw (0.203333,-1.917778) - --(0.503333,-1.917778)\dpicstop -\filldraw[line width=0bp](0.2,-1.817778) - --(0.233333,-1.917778) - --(0.266667,-1.817778) --cycle\dpicstop -\dpicdraw (0.233333,-1.707778) - --(0.233333,-1.90021)\dpicstop -\dpicdraw (0.233333,-2.127778) - --(0.233333,-1.917778)\dpicstop -\draw (0.625,-2.227778) node{\tt mosfet(,{,}dGSDF,)}; -\dpiclw=0.4bp -\filldraw[line width=0bp](0.176412,-1.797833) - --(0.233333,-1.757778) - --(0.163763,-1.759886) --cycle\dpicstop -\dpicdraw (0.214992,-1.763892) - --(0.083333,-1.807778)\dpicstop -\draw (0.083333,-1.807778) node[left=-2bp]{\tt dG}; -\filldraw[line width=0bp](0.296412,-1.957833) - --(0.353333,-1.917778) - --(0.283763,-1.919886) --cycle\dpicstop -\dpicdraw (0.334992,-1.923892) - --(0.053333,-2.017778)\dpicstop -\draw (0.053333,-2.017778) node[left=-2bp]{\tt F}; -\filldraw[line width=0bp](0.176412,-2.117833) - --(0.233333,-2.077778) - --(0.163763,-2.079886) --cycle\dpicstop -\dpicdraw (0.214992,-2.083892) - --(0.083333,-2.127778)\dpicstop -\draw (0.083333,-2.127778) node[left=-2bp]{\tt S}; -\filldraw[line width=0bp](0.542903,-2.079886) - --(0.473333,-2.077778) - --(0.530254,-2.117833) --cycle\dpicstop -\dpicdraw (0.491675,-2.083892) - --(0.623333,-2.127778)\dpicstop -\draw (0.623333,-2.127778) node[right=-2bp]{\tt D}; -\dpiclw=0.8bp -\dpicdraw (1.523333,-2.142778) - --(1.523333,-1.932778)\dpicstop -\dpicdraw (1.253333,-1.932778) - --(1.553333,-1.932778)\dpicstop -\dpicdraw (1.403333,-1.932778) - --(1.403333,-1.692778)\dpicstop -\filldraw[line width=0bp](1.436667,-1.852778) - --(1.403333,-1.752778) - --(1.37,-1.852778) --cycle\dpicstop -\dpicdraw (1.403333,-1.852778) - --(1.403333,-1.770346)\dpicstop -\dpicdraw (1.283333,-2.142778) - --(1.283333,-1.932778)\dpicstop -\draw (1.403333,-2.292778) node[below=-2bp]{\tt $\ldots$(,{,}uHSDF,)}; -\dpiclw=0.4bp -\filldraw[line width=0bp](1.346412,-1.782833) - --(1.403333,-1.742778) - --(1.333763,-1.744886) --cycle\dpicstop -\dpicdraw (1.384992,-1.748892) - --(1.253333,-1.792778)\dpicstop -\draw (1.253333,-1.792778) node[left=-2bp]{\tt uH}; -\dpiclw=0.8bp -\dpicdraw (2.453333,-2.127778) - --(2.453333,-1.917778)\dpicstop -\filldraw[line width=0bp](2.486667,-2.072778) - --(2.453333,-1.972778) - --(2.42,-2.072778) --cycle\dpicstop -\dpicdraw (2.453333,-2.072778) - --(2.453333,-1.990346)\dpicstop -\dpicdraw (2.573333,-2.127778) - --(2.573333,-1.917778)\dpicstop -\dpicdraw (2.303333,-1.917778) - --(2.393333,-1.917778)\dpicstop -\dpicdraw (2.423333,-1.917778) - --(2.483333,-1.917778)\dpicstop -\dpicdraw (2.513333,-1.917778) - --(2.603333,-1.917778)\dpicstop -\dpicdraw (2.573333,-1.857778) - --(2.333333,-1.857778) - --(2.333333,-1.707778)\dpicstop -\dpicdraw (2.453333,-2.116708) - --(2.453333,-2.127778) - --(2.333333,-2.127778) - --(2.333333,-2.116708)\dpicstop -\dpicdraw (2.333333,-2.127778) - --(2.333333,-1.917778)\dpicstop -\draw (2.453333,-2.177778) node[below=-2bp]{\tt $\ldots$(,{,}dMEDSQuB,)}; -\dpiclw=0.4bp -\filldraw[line width=0bp](2.276412,-1.797833) - --(2.333333,-1.757778) - --(2.263763,-1.759886) --cycle\dpicstop -\dpicdraw (2.314992,-1.763892) - --(2.183333,-1.807778)\dpicstop -\draw (2.183333,-1.807778) node[left=-2bp]{\tt dM}; -\filldraw[line width=0bp](2.370115,-1.962636) - --(2.423333,-1.917778) - --(2.354211,-1.925934) --cycle\dpicstop -\dpicdraw (2.405593,-1.925465) - --(2.123333,-2.047778)\dpicstop -\draw (2.123333,-2.047778) node[left=-2bp]{\tt E}; -\filldraw[line width=0bp](2.342649,-2.175481) - --(2.393333,-2.127778) - --(2.324761,-2.139703) --cycle\dpicstop -\dpicdraw (2.376041,-2.136424) - --(2.293333,-2.177778)\dpicstop -\draw (2.293333,-2.177778) node[left=-2bp]{\tt Q}; -\filldraw[line width=0bp](2.522903,-1.954886) - --(2.453333,-1.952778) - --(2.510254,-1.992833) --cycle\dpicstop -\dpicdraw (2.471675,-1.958892) - --(2.693333,-2.032778)\dpicstop -\draw (2.693333,-2.032778) node[right=-2bp]{\tt uB}; -\dpiclw=0.8bp -\dpicdraw (3.503333,-2.127778) - --(3.503333,-1.917778)\dpicstop -\filldraw[line width=0bp](3.536667,-2.072778) - --(3.503333,-1.972778) - --(3.47,-2.072778) --cycle\dpicstop -\dpicdraw (3.503333,-2.072778) - --(3.503333,-1.990346)\dpicstop -\dpicdraw (3.623333,-2.127778) - --(3.623333,-1.917778)\dpicstop -\dpicdraw (3.353333,-1.917778) - --(3.443333,-1.917778)\dpicstop -\dpicdraw (3.473333,-1.917778) - --(3.533333,-1.917778)\dpicstop -\dpicdraw (3.563333,-1.917778) - --(3.653333,-1.917778)\dpicstop -\dpicdraw (3.383333,-1.857778) - --(3.623333,-1.857778) - --(3.623333,-1.707778)\dpicstop -\dpicdraw (3.383333,-2.127778) - --(3.383333,-1.917778)\dpicstop -\draw (3.503333,-2.277778) node[below=-2bp]{{\tt $\ldots$(,{,}uMEDSuB)}}; -\draw (3.623333,-1.707778) node[left=-2bp]{$G$}; -\draw (3.383333,-2.127778) node[left=-2bp]{$S$}; -\draw (3.623333,-2.127778) node[right=-2bp]{$D$}; -\draw (3.503333,-2.127778) node[below=-2bp]{$B$}; -\dpicdraw (4.643333,-2.112778) - --(4.643333,-1.962778)\dpicstop -\dpicdraw (4.403333,-1.962778) - --(4.643333,-1.962778)\dpicstop -\dpicdraw (4.403333,-2.112778) - --(4.403333,-1.962778)\dpicstop -\dpicdraw (4.403333,-1.902778) - --(4.643333,-1.902778)\dpicstop -\dpicdraw (4.523333,-1.862778) circle (0.015748in)\dpicstop -\dpicdraw (4.523333,-1.822778) - --(4.523333,-1.722778)\dpicstop -\draw (4.523333,-2.162778) node[below=-2bp]{\tt $\ldots$(,{,}ZSDFdT,)}; -\dpiclw=0.4bp -\filldraw[line width=0bp](4.370335,-2.05406) - --(4.403333,-1.992778) - --(4.342051,-2.025776) --cycle\dpicstop -\dpicdraw (4.389662,-2.006449) - --(4.323333,-2.072778)\dpicstop -\draw (4.323333,-2.072778) node[left=-2bp]{\tt Z}; -\filldraw[line width=0bp](4.520367,-2.007933) - --(4.573333,-1.962778) - --(4.504258,-1.971321) --cycle\dpicstop -\dpicdraw (4.323333,-2.072778) - --(4.555637,-1.970564)\dpicstop -\filldraw[line width=0bp](4.577324,-2.08485) - --(4.643333,-2.062778) - --(4.576074,-2.04487) --cycle\dpicstop -\dpicdraw (4.323333,-2.072778) - --(4.624009,-2.063382)\dpicstop -\filldraw[line width=0bp](4.592903,-1.744886) - --(4.523333,-1.742778) - --(4.580254,-1.782833) --cycle\dpicstop -\dpicdraw (4.541675,-1.748892) - --(4.763333,-1.822778)\dpicstop -\draw (4.763333,-1.822778) node[right=-2bp]{\tt dT}; -\dpiclw=0.8bp -\dpicdraw (5.483333,-1.917778) - --(5.273333,-1.917778)\dpicstop -\filldraw[line width=0bp](5.328333,-1.951111) - --(5.428333,-1.917778) - --(5.328333,-1.884444) --cycle\dpicstop -\dpicdraw (5.410765,-1.917778) - --(5.328333,-1.917778)\dpicstop -\dpicdraw (5.483333,-1.797778) - --(5.273333,-1.797778)\dpicstop -\dpicdraw (5.273333,-2.067778) - --(5.273333,-1.977778)\dpicstop -\dpicdraw (5.273333,-1.947778) - --(5.273333,-1.887778)\dpicstop -\dpicdraw (5.273333,-1.857778) - --(5.273333,-1.767778)\dpicstop -\dpicdraw (5.213333,-1.797778) - --(5.213333,-2.037778) - --(5.063333,-2.037778)\dpicstop -\dpicdraw (5.603333,-1.797778) - --(5.603333,-1.874477)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (5.603333,-1.874477) - --(5.653333,-1.874477) - --(5.603333,-1.955544) - --(5.553333,-1.874477) - --(5.603333,-1.874477)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (5.549282,-1.936079) - --(5.549282,-1.961079) - --(5.657385,-1.961079) - --(5.657385,-1.986079)\dpicstop -\dpicdraw (5.603333,-1.961079) - --(5.603333,-2.037778)\dpicstop -\dpicdraw (5.483333,-2.037778) - --(5.603333,-2.037778) - --(5.603333,-1.797778) - --(5.483333,-1.797778)\dpicstop -\dpicdraw (5.472264,-1.917778) - --(5.483333,-1.917778) - --(5.483333,-2.037778) - --(5.472264,-2.037778)\dpicstop -\dpicdraw (5.483333,-2.037778) - --(5.273333,-2.037778)\dpicstop -\dpicdraw (5.603333,-2.037778) - --(5.603333,-2.157778)\dpicstop -\dpicdraw (5.603333,-1.797778) - --(5.603333,-1.677778)\dpicstop -\dpicdraw (5.423333,-1.917778) circle (0.11811in)\dpicstop -\draw (5.393333,-2.367778) node[below=-2bp]{\tt IRF4905}; -\draw (5.063333,-2.037778) node[left=-2bp]{$G$}; -\draw (5.603333,-1.677778) node[above right=-2bp]{$D$}; -\draw (5.603333,-2.157778) node[below right=-2bp]{$S$}; -\dpicdraw (0.2,-1.175) - --(0.2,-1)\dpicstop -\filldraw[line width=0bp](0.172222,-1.045833) - --(0.2,-1.129167) - --(0.227778,-1.045833) --cycle\dpicstop -\dpicdraw (0.2,-1.111598) - --(0.2,-1.045833)\dpicstop -\dpicdraw (0.3,-1.175) - --(0.3,-1)\dpicstop -\dpicdraw (0.075,-1) - --(0.325,-1)\dpicstop -\dpicdraw (0.075,-0.843875) - --(0.075,-0.95) - --(0.158333,-0.95)\dpicstop -\dpicdraw (0.241667,-0.804388) - --(0.241667,-0.95) - --(0.325,-0.95)\dpicstop -\dpicdraw (0.2,-1.16393) - --(0.2,-1.175) - --(0.1,-1.175) - --(0.1,-1.16393)\dpicstop -\dpicdraw (0.1,-1.175) - --(0.1,-1)\dpicstop -\dpicdraw (0.2,-1) circle (0.07874in)\dpicstop -\draw (0.075,-0.843875) node[above left=-2bp]{$G0$}; -\draw (0.241667,-0.804388) node[above right=-2bp]{$G1$}; -\draw (0.725,-1.48) node{\tt mosfet(,{,}dBSDFQM1,E)}; -\dpicdraw (1.025,-1.175) - --(1.025,-1)\dpicstop -\filldraw[line width=0bp](0.997222,-1.045833) - --(1.025,-1.129167) - --(1.052778,-1.045833) --cycle\dpicstop -\dpicdraw (1.025,-1.111598) - --(1.025,-1.045833)\dpicstop -\dpicdraw (1.125,-1.175) - --(1.125,-1)\dpicstop -\dpicdraw (0.9,-1) - --(1.15,-1)\dpicstop -\dpicdraw (1.15,-0.8) - --(1.15,-0.95) - --(1.066667,-0.95)\dpicstop -\dpicdraw (0.983333,-0.8) - --(0.983333,-0.95) - --(0.9,-0.95)\dpicstop -\dpicdraw (1.025,-1.16393) - --(1.025,-1.175) - --(0.925,-1.175) - --(0.925,-1.16393)\dpicstop -\dpicdraw (0.925,-1.175) - --(0.925,-1)\dpicstop -\draw (1.15,-0.8) node[above right=-2bp]{$G0$}; -\draw (0.983333,-0.8) node[above left=-2bp]{$G1$}; -\draw (1.025,-1.275) node{\tt ...(,{,}dBSDFQuM1)}; -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/test.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/test.tex deleted file mode 100644 index 44d486d0c53..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/test.tex +++ /dev/null @@ -1 +0,0 @@ -\centering diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/thyristor.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/thyristor.tex deleted file mode 100644 index 33b2c5261ce..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/thyristor.tex +++ /dev/null @@ -1,561 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw (-2.38478,-0.179985) - --(-2.38478,-0.3189)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (-2.38478,-0.3189) - --(-2.343113,-0.3189) - --(-2.38478,-0.385534) - --(-2.426446,-0.3189) - --(-2.38478,-0.3189)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (-2.430498,-0.391069) - --(-2.339061,-0.391069)\dpicstop -\dpicdraw (-2.363946,-0.391069) - --(-2.32228,-0.463238)\dpicstop -\dpicdraw (-2.38478,-0.391069) - --(-2.38478,-0.529985)\dpicstop -\draw (-2.38478,-0.179985) node[above=-2bp]{\sl A}; -\draw (-2.38478,-0.529985) node[below=-2bp]{\sl K}; -\draw (-2.32228,-0.463238) node[right=-2bp]{\sl G}; -\draw (-2.376389,-0.779985) node{\tt thyristor}; -\dpicdraw (-1.876389,-0.179985) - --(-1.876389,-0.3189)\dpicstop -\dpicdraw (-1.876389,-0.3189) - --(-1.813889,-0.427154)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (-1.834722,-0.3189) - --(-1.793056,-0.3189) - --(-1.834722,-0.385534) - --(-1.876389,-0.3189) - --(-1.834722,-0.3189)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (-1.963774,-0.391069) - --(-1.789004,-0.391069)\dpicstop -\dpicdraw (-1.963774,-0.3189) - --(-1.789004,-0.3189)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (-1.918056,-0.391069) - --(-1.876389,-0.391069) - --(-1.918056,-0.324435) - --(-1.959722,-0.391069) - --(-1.918056,-0.391069)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (-1.876389,-0.391069) - --(-1.876389,-0.529985)\dpicstop -\draw (-1.876389,-0.179985) node[above=-2bp]{\sl T1}; -\draw (-1.876389,-0.529985) node[below=-2bp]{\sl T2}; -\draw (-1.813889,-0.427154) node[below right=-2bp]{\sl G}; -\draw (-1.876389,-0.879985) node{\tt ...(,B)}; -\dpicdraw (-1.376389,-0.179985) - --(-1.376389,-0.3439)\dpicstop -\dpicdraw (-1.376389,-0.3439) - --(-1.438889,-0.452154)\dpicstop -\dpicdraw (-1.418056,-0.3439) - --(-1.376389,-0.3439) - --(-1.418056,-0.410534) - --(-1.459722,-0.3439) - --(-1.418056,-0.3439)\dpicstop -\dpicdraw (-1.463774,-0.416069) - --(-1.289004,-0.416069)\dpicstop -\dpicdraw (-1.463774,-0.3439) - --(-1.289004,-0.3439)\dpicstop -\dpicdraw (-1.334722,-0.416069) - --(-1.293056,-0.416069) - --(-1.334722,-0.349435) - --(-1.376389,-0.416069) - --(-1.334722,-0.416069)\dpicstop -\dpicdraw (-1.376389,-0.416069) - --(-1.376389,-0.579985)\dpicstop -\draw (-1.376389,-0.179985) node[above=-2bp]{\sl T1}; -\draw (-1.376389,-0.579985) node[below=-2bp]{\sl T2}; -\draw (-1.438889,-0.452154) node[below left=-2bp]{\sl G}; -\draw (-1.376389,-0.799985) node{\tt ...(,BRK)}; -\dpicdraw (-0.776389,-0.179985) - --(-0.776389,-0.3189)\dpicstop -\dpicdraw (-0.776389,-0.3189) - --(-0.693056,-0.463238) - --(-0.637945,-0.463238)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (-0.734722,-0.3189) - --(-0.693056,-0.3189) - --(-0.734722,-0.385534) - --(-0.776389,-0.3189) - --(-0.734722,-0.3189)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (-0.863774,-0.391069) - --(-0.689004,-0.391069)\dpicstop -\dpicdraw (-0.863774,-0.3189) - --(-0.689004,-0.3189)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (-0.818056,-0.391069) - --(-0.776389,-0.391069) - --(-0.818056,-0.324435) - --(-0.859722,-0.391069) - --(-0.818056,-0.391069)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (-0.776389,-0.391069) - --(-0.776389,-0.529985)\dpicstop -\dpicdraw (-0.776389,-0.354985) circle (0.068898in)\dpicstop -\draw (-0.776389,-0.179985) node[above=-2bp]{\sl T1}; -\draw (-0.776389,-0.529985) node[below=-2bp]{\sl T2}; -\draw (-0.637945,-0.463238) node[below right=-2bp]{\sl G}; -\draw (-0.776389,-0.879985) node{\tt ...(,BE)}; -\dpicdraw (-0.28478,-0.179985) - --(-0.28478,-0.3189)\dpicstop -\dpicdraw (-0.28478,-0.3189) - --(-0.243113,-0.3189) - --(-0.28478,-0.385534) - --(-0.326446,-0.3189) - --(-0.28478,-0.3189)\dpicstop -\dpicdraw (-0.330498,-0.391069) - --(-0.239061,-0.391069)\dpicstop -\dpicdraw (-0.263946,-0.391069) - --(-0.22228,-0.463238)\dpicstop -\dpicdraw (-0.28478,-0.391069) - --(-0.28478,-0.529985)\dpicstop -\draw (-0.28478,-0.179985) node[above=-2bp]{\sl A}; -\draw (-0.28478,-0.529985) node[below=-2bp]{\sl K}; -\draw (-0.22228,-0.463238) node[right=-2bp]{\sl G}; -\draw (-0.276389,-0.879985) node{\tt ...(,A)}; -\dpicdraw (0.21522,-0.179985) - --(0.21522,-0.3189)\dpicstop -\dpicdraw (0.21522,-0.3189) - --(0.256887,-0.3189) - --(0.21522,-0.385534) - --(0.21522,-0.3189)\dpicstop -\dpicdraw (0.21522,-0.3189) - --(0.173554,-0.3189)\dpicstop -\dpicdraw (0.169502,-0.391069) - --(0.260939,-0.391069)\dpicstop -\dpicdraw (0.236054,-0.391069) - --(0.27772,-0.463238)\dpicstop -\dpicdraw (0.21522,-0.391069) - --(0.21522,-0.529985)\dpicstop -\draw (0.21522,-0.179985) node[above=-2bp]{\sl A}; -\draw (0.21522,-0.529985) node[below=-2bp]{\sl K}; -\draw (0.27772,-0.463238) node[right=-2bp]{\sl G}; -\draw (0.223611,-0.749985) node{\tt ...(,F)}; -\dpicdraw (0.873611,-0.179985) - --(0.873611,-0.3189)\dpicstop -\dpicdraw (0.873611,-0.3189) - --(0.790278,-0.463238) - --(0.735167,-0.463238)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (0.831944,-0.3189) - --(0.873611,-0.3189) - --(0.831944,-0.385534) - --(0.790278,-0.3189) - --(0.831944,-0.3189)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (0.786226,-0.391069) - --(0.960996,-0.391069)\dpicstop -\dpicdraw (0.786226,-0.3189) - --(0.960996,-0.3189)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (0.915278,-0.391069) - --(0.956944,-0.391069) - --(0.915278,-0.324435) - --(0.873611,-0.391069) - --(0.915278,-0.391069)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (0.873611,-0.391069) - --(0.873611,-0.529985)\dpicstop -\dpicdraw (0.873611,-0.354985) circle (0.068898in)\dpicstop -\draw (0.873611,-0.179985) node[above=-2bp]{\sl T1}; -\draw (0.873611,-0.529985) node[below=-2bp]{\sl T2}; -\draw (0.735167,-0.463238) node[below left=-2bp]{\sl G}; -\draw (0.873611,-0.879985) node{\tt ...(,BRE)}; -\dpicdraw (1.623611,-0.179985) - --(1.623611,-0.3189)\dpicstop -\dpicdraw (1.623611,-0.3189) - --(1.665278,-0.3189) - --(1.623611,-0.385534) - --(1.581944,-0.3189) - --(1.623611,-0.3189)\dpicstop -\dpicdraw (1.623611,-0.3189) - --(1.623611,-0.391069)\dpicstop -\dpicdraw (1.577893,-0.391069) - --(1.66933,-0.391069)\dpicstop -\dpicdraw (1.602778,-0.391069) - --(1.561111,-0.463238) - --(1.486111,-0.463238)\dpicstop -\dpicdraw (1.623611,-0.391069) - --(1.623611,-0.529985)\dpicstop -\dpicdraw (1.623611,-0.354985) circle (0.068898in)\dpicstop -\draw (1.623611,-0.179985) node[above=-2bp]{\sl A}; -\draw (1.623611,-0.529985) node[below=-2bp]{\sl K}; -\draw (1.486111,-0.463238) node[below left=-2bp]{\sl G}; -\draw (1.623611,-0.749985) node{\tt ...(,UARE)}; -\dpicdraw (2.123611,-0.179985) - --(2.123611,-0.3189)\dpicstop -\dpicdraw (2.123611,-0.3189) - --(2.165278,-0.3189) - --(2.123611,-0.385534) - --(2.081944,-0.3189) - --(2.123611,-0.3189)\dpicstop -\dpicdraw (2.077893,-0.354985) - --(2.16933,-0.354985)\dpicstop -\dpicdraw (2.077893,-0.391069) - --(2.16933,-0.391069)\dpicstop -\dpicdraw (2.123611,-0.391069) - --(2.123611,-0.529985)\dpicstop -\dpiclw=0.4bp -\filldraw[line width=0bp](2.135537,-0.286412) - --(2.123611,-0.354985) - --(2.171314,-0.304301) --cycle\dpicstop -\dpicdraw (2.223611,-0.254985) - --(2.198611,-0.254985) - ..controls (2.181944,-0.254985) and (2.166719,-0.268769) - ..(2.152934,-0.296338) - --(2.132257,-0.337692)\dpicstop -\dpiclw=0.8bp -\draw (2.123611,-0.179985) node[above=-2bp]{\sl A}; -\draw (2.123611,-0.529985) node[below=-2bp]{\sl K}; -\draw (2.223611,-0.254985) node[right=-2bp]{\sl G}; -\draw (2.123611,-0.879985) node{\tt ...(,AV)}; -\dpicdraw (2.523611,-0.229985) - --(2.523611,-0.429985)\dpicstop -\dpicdraw (2.723611,-0.179985) - --(2.523611,-0.269985)\dpicstop -\filldraw[line width=0bp](2.638206,-0.187957) - --(2.573611,-0.247485) - --(2.661004,-0.238619) --cycle\dpicstop -\dpicdraw (2.673611,-0.202485) - --(2.589632,-0.240275)\dpicstop -\dpicdraw (2.723611,-0.479985) - --(2.523611,-0.389985)\dpicstop -\filldraw[line width=0bp](2.586219,-0.448619) - --(2.673611,-0.457485) - --(2.609017,-0.397957) --cycle\dpicstop -\dpicdraw (2.65759,-0.450275) - --(2.573611,-0.412485)\dpicstop -\dpicdraw (2.523611,-0.329985) - --(2.597685,-0.363318)\dpicstop -\draw (2.723611,-0.179985) node[above right=-2bp]{\sl A}; -\draw (2.723611,-0.479985) node[below right=-2bp]{\sl K}; -\draw (2.597685,-0.363318) node[right=-2bp]{\sl G}; -\draw (2.623611,-0.699985) node{\tt ...(,IEC)}; -\dpicdraw (-2.457639,-1.336073) - --(-2.457639,-1.474989)\dpicstop -\dpicdraw (-2.457639,-1.474989) - --(-2.415972,-1.474989) - --(-2.457639,-1.541623) - --(-2.499306,-1.474989) - --(-2.457639,-1.474989)\dpicstop -\dpicdraw (-2.457639,-1.474989) - --(-2.457639,-1.547157)\dpicstop -\dpicdraw (-2.436806,-1.511073) - --(-2.34942,-1.511073)\dpicstop -\dpicdraw (-2.503357,-1.547157) - --(-2.41192,-1.547157)\dpicstop -\dpicdraw (-2.457639,-1.547157) - --(-2.457639,-1.686073)\dpicstop -\draw (-2.457639,-1.336073) node[above left=-2bp]{\sl A}; -\draw (-2.457639,-1.686073) node[below left=-2bp]{\sl K}; -\draw (-2.34942,-1.511073) node[right=-2bp]{\sl G}; -\draw (-2.426389,-2.036073) node{\tt ...(,UAH)}; -\dpicdraw (-1.867998,-1.336073) - --(-1.867998,-1.474989)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (-1.867998,-1.474989) - --(-1.826331,-1.474989) - --(-1.867998,-1.541623) - --(-1.909665,-1.474989) - --(-1.867998,-1.474989)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (-1.913717,-1.547157) - --(-1.82228,-1.547157)\dpicstop -\dpicdraw (-1.888831,-1.474989) - --(-1.930498,-1.40282)\dpicstop -\dpicdraw (-1.867998,-1.547157) - --(-1.867998,-1.686073)\dpicstop -\draw (-1.867998,-1.336073) node[above=-2bp]{\sl A}; -\draw (-1.867998,-1.686073) node[below=-2bp]{\sl K}; -\draw (-1.930498,-1.40282) node[left=-2bp]{\sl Ga}; -\draw (-1.876389,-1.906073) node{\tt ...(,N)}; -\dpicdraw (-1.326389,-1.336073) - --(-1.326389,-1.474989)\dpicstop -\dpicdraw (-1.326389,-1.474989) - --(-1.284722,-1.474989) - --(-1.326389,-1.541623) - --(-1.368056,-1.474989) - --(-1.326389,-1.474989)\dpicstop -\dpicdraw (-1.326389,-1.474989) - --(-1.326389,-1.547157)\dpicstop -\dpicdraw (-1.372107,-1.547157) - --(-1.28067,-1.547157)\dpicstop -\dpicdraw (-1.305556,-1.474989) - --(-1.263889,-1.40282) - --(-1.188889,-1.40282)\dpicstop -\dpicdraw (-1.326389,-1.547157) - --(-1.326389,-1.686073)\dpicstop -\dpicdraw (-1.326389,-1.511073) circle (0.068898in)\dpicstop -\draw (-1.326389,-1.336073) node[above=-2bp]{\sl A}; -\draw (-1.326389,-1.686073) node[below=-2bp]{\sl K}; -\draw (-1.188889,-1.40282) node[above right=-2bp]{\sl Ga}; -\draw (-1.326389,-2.036073) node{\tt ...(,UANRE)}; -\dpicdraw (-0.78478,-1.336073) - --(-0.78478,-1.474989)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (-0.78478,-1.474989) - --(-0.743113,-1.474989) - --(-0.78478,-1.541623) - --(-0.826446,-1.474989) - --(-0.78478,-1.474989)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (-0.830498,-1.547157) - --(-0.739061,-1.547157)\dpicstop -\dpicdraw (-0.763946,-1.547157) - --(-0.72228,-1.619326)\dpicstop -\dpicdraw (-0.78478,-1.547157) - --(-0.78478,-1.686073)\dpicstop -\draw (-0.78478,-1.336073) node[above=-2bp]{\sl A}; -\draw (-0.78478,-1.686073) node[below left=-2bp]{\sl K}; -\draw (-0.72228,-1.619326) node[below right=-2bp]{\sl G}; -\draw (-0.776389,-1.906073) node{\tt ...(,SCR)}; -\dpicdraw (-0.226389,-1.336073) - --(-0.226389,-1.474989)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (-0.226389,-1.474989) - --(-0.184722,-1.474989) - --(-0.226389,-1.541623) - --(-0.268056,-1.474989) - --(-0.226389,-1.474989)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (-0.272107,-1.547157) - --(-0.18067,-1.547157)\dpicstop -\dpicdraw (-0.205556,-1.547157) - --(-0.163889,-1.619326) - --(-0.088889,-1.619326)\dpicstop -\dpicdraw (-0.226389,-1.547157) - --(-0.226389,-1.686073)\dpicstop -\dpicdraw (-0.226389,-1.511073) circle (0.068898in)\dpicstop -\draw (-0.226389,-1.336073) node[above=-2bp]{\sl A}; -\draw (-0.226389,-1.686073) node[below=-2bp]{\sl K}; -\draw (-0.088889,-1.619326) node[below right=-2bp]{\sl G}; -\draw (-0.226389,-2.036073) node{\tt ...(SCRE)}; -\dpicdraw (0.423611,-1.336073) - --(0.423611,-1.474989)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (0.423611,-1.474989) - --(0.465278,-1.474989) - --(0.423611,-1.541623) - --(0.381944,-1.474989) - --(0.423611,-1.474989)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (0.377893,-1.547157) - --(0.46933,-1.547157)\dpicstop -\dpicdraw (0.402778,-1.547157) - --(0.361111,-1.619326) - --(0.286111,-1.619326)\dpicstop -\dpicdraw (0.423611,-1.547157) - --(0.423611,-1.686073)\dpicstop -\dpicdraw (0.423611,-1.511073) circle (0.068898in)\dpicstop -\draw (0.423611,-1.336073) node[above=-2bp]{\sl A}; -\draw (0.423611,-1.686073) node[below=-2bp]{\sl K}; -\draw (0.286111,-1.619326) node[below left=-2bp]{\sl G}; -\draw (0.423611,-1.906073) node{\tt ...(SCRRE)}; -\dpicdraw (0.973611,-1.336073) - --(0.973611,-1.474989)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (0.973611,-1.474989) - --(1.015278,-1.474989) - --(0.973611,-1.541623) - --(0.931944,-1.474989) - --(0.973611,-1.474989)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (0.927893,-1.547157) - --(1.01933,-1.547157)\dpicstop -\dpicdraw (0.952778,-1.474989) - --(0.911111,-1.40282)\dpicstop -\dpicdraw (0.994444,-1.547157) - --(1.036111,-1.619326)\dpicstop -\dpicdraw (0.973611,-1.547157) - --(0.973611,-1.686073)\dpicstop -\draw (0.973611,-1.336073) node[above=-2bp]{\sl A}; -\draw (0.973611,-1.686073) node[below=-2bp]{\sl K}; -\draw (1.036111,-1.619326) node[right=-2bp]{\sl G}; -\draw (0.973611,-2.036073) node{\tt ...(SCS)}; -\draw (0.911111,-1.40282) node[above left=-2bp]{\sl Ga}; -\dpicdraw (1.523611,-1.336073) - --(1.523611,-1.474989)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (1.523611,-1.474989) - --(1.565278,-1.474989) - --(1.523611,-1.541623) - --(1.481944,-1.474989) - --(1.523611,-1.474989)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (1.477893,-1.547157) - --(1.56933,-1.547157)\dpicstop -\dpicdraw (1.502778,-1.474989) - --(1.461111,-1.40282) - --(1.386111,-1.40282)\dpicstop -\dpicdraw (1.544444,-1.547157) - --(1.586111,-1.619326) - --(1.661111,-1.619326)\dpicstop -\dpicdraw (1.523611,-1.547157) - --(1.523611,-1.686073)\dpicstop -\dpicdraw (1.523611,-1.511073) circle (0.068898in)\dpicstop -\draw (1.523611,-1.336073) node[above=-2bp]{\sl A}; -\draw (1.523611,-1.686073) node[below=-2bp]{\sl K}; -\draw (1.661111,-1.619326) node[below right=-2bp]{\sl G}; -\draw (1.523611,-1.906073) node{\tt ...(SCSE)}; -\draw (1.386111,-1.40282) node[above left=-2bp]{\sl Ga}; -\dpicdraw (2.173611,-1.336073) - --(2.173611,-1.474989)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (2.173611,-1.474989) - --(2.215278,-1.474989) - --(2.173611,-1.541623) - --(2.173611,-1.474989)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (2.173611,-1.474989) - --(2.002372,-1.474989)\dpicstop -\dpicdraw (2.173611,-1.547157) - --(2.173611,-1.686073)\dpicstop -\dpicdraw (2.173611,-1.511073) circle (0.068898in)\dpicstop -\draw (2.173611,-1.336073) node[above=-2bp]{\sl A}; -\draw (2.173611,-1.686073) node[below=-2bp]{\sl K}; -\draw (2.002372,-1.474989) node[left=-2bp]{\sl G}; -\draw (2.173611,-2.036073) node{\tt ...(SUSE)}; -\dpicdraw (2.823611,-1.336073) - --(2.823611,-1.438904)\dpicstop -\dpicdraw (2.781944,-1.438904) - --(2.823611,-1.438904)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (2.823611,-1.438904) - --(2.865278,-1.438904) - --(2.823611,-1.583242) - --(2.781944,-1.583242) - --(2.823611,-1.438904)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (2.865278,-1.583242) - --(2.823611,-1.583242)\dpicstop -\dpicdraw (2.865278,-1.511073) - --(2.648611,-1.511073)\dpicstop -\dpicdraw (2.823611,-1.583242) - --(2.823611,-1.686073)\dpicstop -\dpicdraw (2.823611,-1.511073) circle (0.068898in)\dpicstop -\draw (2.823611,-1.336073) node[above=-2bp]{\sl T1}; -\draw (2.823611,-1.686073) node[below=-2bp]{\sl T2}; -\draw (2.648611,-1.511073) node[left=-2bp]{\sl G}; -\draw (2.823611,-1.906073) node{\tt ...(SBSE)}; -\dpicdraw (-2.751389,-2.402454) - --(-2.412473,-2.402454)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (-2.412473,-2.402454) - --(-2.412473,-2.360788) - --(-2.345839,-2.402454) - --(-2.412473,-2.444121) - --(-2.412473,-2.402454)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (-2.340304,-2.448173) - --(-2.340304,-2.356736)\dpicstop -\dpicdraw (-2.340304,-2.381621) - --(-2.268136,-2.339954)\dpicstop -\dpicdraw (-2.340304,-2.402454) - --(-2.001389,-2.402454)\dpicstop -\draw (-2.001389,-2.394064) node[right=-2bp]{\tt scr(,{,}Q)}; -\draw (-2.268136,-2.339954) node[above=-2bp]{\sl Q.G}; -\dpicdraw (-2.751389,-2.802454) - --(-2.412473,-2.802454)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (-2.412473,-2.802454) - --(-2.412473,-2.760788) - --(-2.345839,-2.802454) - --(-2.412473,-2.844121) - --(-2.412473,-2.802454)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (-2.340304,-2.848173) - --(-2.340304,-2.756736)\dpicstop -\dpicdraw (-2.412473,-2.823288) - --(-2.484642,-2.864954)\dpicstop -\dpicdraw (-2.340304,-2.781621) - --(-2.268136,-2.739954)\dpicstop -\dpicdraw (-2.340304,-2.802454) - --(-2.001389,-2.802454)\dpicstop -\draw (-2.001389,-2.802454) node[right=-2bp]{\tt scs(,{,}Q2)}; -\draw (-2.268136,-2.739954) node[above=-2bp]{\sl Q2.G}; -\draw (-2.484642,-2.864954) node[below=-2bp]{\sl Q2.Ga}; -\dpicdraw (-0.973611,-2.600574) - --(-0.634696,-2.600574)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (-0.634696,-2.600574) - --(-0.634696,-2.642241) - --(-0.568062,-2.600574) - --(-0.634696,-2.600574)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (-0.634696,-2.600574) - --(-0.634696,-2.429335)\dpicstop -\dpicdraw (-0.562527,-2.600574) - --(-0.223611,-2.600574)\dpicstop -\dpicdraw (-0.598611,-2.600574) circle (0.068898in)\dpicstop -\draw (-0.223611,-2.600574) node[right=-2bp]{\tt sus(,RE,Q3)}; -\draw (-0.634696,-2.429335) node[above=-2bp]{\sl Q3.G}; -\dpicdraw (0.976389,-2.600574) - --(1.27922,-2.600574)\dpicstop -\dpicdraw (1.27922,-2.642241) - --(1.27922,-2.600574)\dpicstop -\global\let\dpicshdraw=\dpicdraw\global\def\dpicdraw{} -\global\def\dpicstop{--} -\dpicshdraw[fill=white!0!black] -\dpicdraw (1.27922,-2.600574) - --(1.27922,-2.558907) - --(1.423558,-2.600574) - --(1.423558,-2.642241) - --(1.27922,-2.600574)\dpicstop -cycle; \global\let\dpicdraw=\dpicshdraw\global\def\dpicstop{;} -\dpicdraw (1.423558,-2.558907) - --(1.423558,-2.600574)\dpicstop -\dpicdraw (1.351389,-2.558907) - --(1.351389,-2.775574)\dpicstop -\dpicdraw (1.423558,-2.600574) - --(1.726389,-2.600574)\dpicstop -\dpicdraw (1.351389,-2.600574) circle (0.068898in)\dpicstop -\draw (1.726389,-2.600574) node[right=-2bp]{\tt sbs(,E,Q4)}; -\draw (1.351389,-2.775574) node[below=-2bp]{\sl Q4.G}; -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/doc/ujt.tex b/Master/texmf-dist/doc/latex/circuit-macros/doc/ujt.tex deleted file mode 100644 index 46a8566fe64..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/doc/ujt.tex +++ /dev/null @@ -1,81 +0,0 @@ -\begin{tikzpicture}[scale=2.54] -% dpic version 2020.03.01 option -g for TikZ and PGF 1.01 -\ifx\dpiclw\undefined\newdimen\dpiclw\fi -\global\def\dpicdraw{\draw[line width=\dpiclw]} -\global\def\dpicstop{;} -\dpiclw=0.8bp -\dpiclw=0.8bp -\dpicdraw (0.9,-0.15) - --(0.9,0)\dpicstop -\dpicdraw (0.9,0) - --(0.725,0)\dpicstop -\dpicdraw (0.725,-0.025) - --(0.725,0.225)\dpicstop -\dpicdraw (0.725,0.2) - --(0.9,0.2) - --(0.9,0.35)\dpicstop -\dpicdraw (0.55,0.2) - --(0.725,0.1)\dpicstop -\filldraw[line width=0bp](0.61699,0.129727) - --(0.703125,0.1125) - --(0.644553,0.177963) --cycle\dpicstop -\dpicdraw (0.55,0.2) - --(0.687872,0.121216)\dpicstop -\dpicdraw (0.725,0.1) circle (0.07874in)\dpicstop -\draw (0.9,-0.15) node[right=-2bp]{\sl B1}; -\draw (0.4625,0.25) node{{\sl E}}; -\draw (0.9,0.35) node[right=-2bp]{\sl B2}; -\draw (0.725,-0.3) node{{\tt ujt(up\_ dimen\_,{,},E)}}; -\dpicdraw (2.125,0) - --(1.95,0)\dpicstop -\dpicdraw (1.95,-0.025) - --(1.95,0.225)\dpicstop -\dpicdraw (1.95,0.2) - --(2.125,0.2)\dpicstop -\dpicdraw (1.775,0.2) - --(1.95,0.1)\dpicstop -\filldraw[line width=0bp](1.88301,0.170273) - --(1.796875,0.1875) - --(1.855447,0.122037) --cycle\dpicstop -\dpicdraw (1.95,0.1) - --(1.812128,0.178784)\dpicstop -\draw (2.125,0) node[below=-2bp]{\sl B1}; -\draw (1.6875,0.25) node{{\sl E}}; -\draw (2.125,0.2) node[above=-2bp]{\sl B2}; -\draw (2.05,-0.175) node[below=-2bp]{{\tt ujt(,{,}P,)}}; -\dpicdraw (2.925,0) - --(3.1,0)\dpicstop -\dpicdraw (3.1,-0.025) - --(3.1,0.225)\dpicstop -\dpicdraw (3.1,0.2) - --(2.925,0.2)\dpicstop -\dpicdraw (3.275,0.2) - --(3.1,0.1)\dpicstop -\filldraw[line width=0bp](3.180447,0.177963) - --(3.121875,0.1125) - --(3.20801,0.129727) --cycle\dpicstop -\dpicdraw (3.275,0.2) - --(3.137128,0.121216)\dpicstop -\draw (2.925,0) node[below=-2bp]{\sl B1}; -\draw (3.3625,0.25) node{{\sl E}}; -\draw (2.925,0.2) node[above=-2bp]{\sl B2}; -\draw (3.1,-0.175) node[below=-2bp]{{\tt ujt(,R,{,})}}; -\dpicdraw (4.075,0) - --(4.25,0)\dpicstop -\dpicdraw (4.25,-0.025) - --(4.25,0.225)\dpicstop -\dpicdraw (4.25,0.2) - --(4.075,0.2)\dpicstop -\dpicdraw (4.425,0.2) - --(4.25,0.1)\dpicstop -\filldraw[line width=0bp](4.344553,0.122037) - --(4.403125,0.1875) - --(4.31699,0.170273) --cycle\dpicstop -\dpicdraw (4.25,0.1) - --(4.387872,0.178784)\dpicstop -\draw (4.075,0) node[below=-2bp]{\sl B1}; -\draw (4.5125,0.25) node{{\sl E}}; -\draw (4.075,0.2) node[above=-2bp]{\sl B2}; -\draw (4.25,-0.175) node[below=-2bp]{{\tt ujt(,R,P,)}}; -\end{tikzpicture} -\vspace*{-0.5\baselineskip} diff --git a/Master/texmf-dist/doc/latex/circuit-macros/dpictools.pic b/Master/texmf-dist/doc/latex/circuit-macros/dpictools.pic index f3936bb0db2..656c83a6c8a 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/dpictools.pic +++ b/Master/texmf-dist/doc/latex/circuit-macros/dpictools.pic @@ -3,7 +3,7 @@ # m4 macro NeedDpicTools or the pic statement copy "HOMELIB_/dpictools.pic" # when HOMELIB_ is defined or, generically, copy "dpictools.pic" -# Circuit_macros Version 10.0, copyright (c) 2022 J. D. Aplevich under # +# Circuit_macros Version 10.1, copyright (c) 2022 J. D. Aplevich under # # the LaTeX Project Public Licence in file Licence.txt. The files of # # this distribution may be redistributed or modified provided that this # # copyright notice is included and provided that modifications are clearly # diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/ArrowFn.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/ArrowFn.m4 index 68c6d9724e2..f8ca1527224 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/ArrowFn.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/ArrowFn.m4 @@ -2,10 +2,11 @@ # ArrowFn.m4 # https://tex.stackexchange.com/questions/581089/arrow-function-diagrams gen_init +textoffset = 3bp__ brad = 0.04 bht = 0.4 bwid = 0.25 -define(`rbox',`box rad brad outlined "Orange"') +define(`rbox',`box rad brad outlined "orange"') B1: [ linethick = 1.2 diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Btree.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/Btree.m4 index d17a192cc44..44b42655630 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/Btree.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/Btree.m4 @@ -2,6 +2,9 @@ # Btree.m4 # One way to draw a binary tree using pic macros gen_init +sinclude(tst.dim) +s_init(Ttree) + circlerad = 0.30 define n { [C: circle fill_(0.9) $1 @@ -29,4 +32,63 @@ define Vega { n("Vega") } # Build the tree from the root S: Sirius +#.PE + +#.PS +## Ttree.m4 +## A binary tree using m4 +#gen_init +#sinclude(tst.dim) +#s_init(Ttree) + +T: [ +# `Node(no in row, head [location], +# displacement of top of body (.n) wrt head, +# body Node 1, body Node 2, ...) ' +define(`Node',` + Head`$1': `$2' + ifelse(`$3',,,`Body`$1': [ + Loopover_(`v',`v; define(`m4ct',m4Lx)',shift(shift(shift($@)))) + ] with .n at Head`$1' + `$3' + connect(`$1',m4ct)')') + +define(`connect',`Bot: move from Head$1.sw to Head$1.se +for_(1,`$2',1, + `Top: move from Body$1.Head`'m4x.nw to Body$1.Head`'m4x.ne + Move: move from Head$1 to Body$1.Head`'m4x + if Bot.len*Top.len*Move.len > 0 then { + line from Intersect_(Move,Top) to Intersect_(Move,Bot)}')') + + vsep = 0.75 + + Node(1,s_box($`h(h(h(x_1,x_2),h(x_3,x_4)),h(h(x_5,x_6),h(x_7,x_8)))'$), + (0,-vsep), + Node(1,s_box($`h(h(x_1,x_2),h(x_3,x_4))'$), + (0,-vsep), + Node(1,s_box($`h(x_1,x_2)'$), + (0,-vsep), + Node(1,s_box($`x_1:=((A,pk_A),h_1)'$)), + Node(2,s_box($`x_2:=((B,pk_B),h_2)'$) \ + with .n at last "".ne+(0.2,-vsep*2/3))), + Node(2,s_box($`h(x_3,x_4)'$) with .nw at Head1.ne+(Body1.wid/2+0.1,0), + (0,-vsep), + Node(1,s_box($`x_3:=((A,pk_A^\prime),h_3)'$)), + Node(2,s_box($`x_4:=((D,pk_D),h_4)'$) \ + with .n at last "".ne+(0.2,-vsep*2/3)))), + Node(2,s_box($`h(h(x_5,x_6),h(x_7,x_8))'$) \ + with .nw at Head1.ne+(Body1.wid/2,0), + (0,-vsep), + Node(1,s_box($`h(x_5,x_6)'$), + (0,-vsep*5/4), + Node(1,s_box($`x_5:=((E,pk_E),h_5)'$)), + Node(2,s_box($`x_6:=((H,pk_H),h_6)'$) \ + with .n at last "".ne+(0.2,-vsep*2/3))), + Node(2,s_box($`h(x_7,x_8)'$) with .nw at Head1.ne+(Body1.wid/2+0.1,0), + (0,-vsep*5/4), + Node(1,s_box($`x_7:=((D,pk_D^\prime),h_7)'$)), + Node(2,s_box($`x_8:=((K,pk_K),h_8)'$) \ + with .n at last "".ne+(0.2,-vsep*2/3))), + Node(3,s_box($`h(x_9)'$) at 0.5 between Head1 and Head2))) + ] with .n at S.s + (1.2,0.5) + .PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Chips.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/Chips.m4 index f9e98bc0769..57f9e29e970 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/Chips.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/Chips.m4 @@ -3,7 +3,7 @@ log_init include(ics.m4) - command "{\sf" + ifpostscript(,latexcommand({\sf)) Chips: [ ic4017 @@ -31,15 +31,16 @@ DIPs: [ { arrow <- from DIP0.Pin8 up 0.25 right 0.2 ; `"\sl Pin8"' above ljust } { `"\tt DIP(32,direct=R;bodywid=0.5*scale)"' ljust \ - at DIP32.sw - (0,10bp__) } + at DIP32.sw + (-10bp__,-10bp__) } { arrow <- right 0.2 from DIP32.Pin1; `"\sl Pin1"' ljust } { spline <- right 0.2 then right 0.1 up 0.1 from DIP32.Pin32 `"\sl Pin32"' ljust } - { `"\tt DIP(16,type=Q;pinwid=1bp\_\_)"' at DIP16.sw - (0,10bp__) ljust } + { `"\tt DIP(16,type=Q;pinwid=1bp\_\_)"' at DIP16.sw + (0,-10bp__) ljust } thicklines_ - ] with .nw at last [].sw+(0,-0.3) + ] with .nw at last [].sw+(0,-0.2) + + ifpostscript(,latexcommand(}%)) - command "}%" .PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Connectors.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/Connectors.m4 index c9f8cd9019e..16a66c2bd03 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/Connectors.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/Connectors.m4 @@ -3,7 +3,7 @@ log_init include(ics.m4) - ifelse(ifpgf(T)`'ifpstricks(T)`'ifpsfrag(T),T,`command "{\small\sf"') + ifelse(ifpgf(T)`'ifpstricks(T),T,`command "{\small\sf"') # ArduinoUno Ar: ArduinoLeonardo #with .sw at last [].se+(0.25,0) @@ -14,7 +14,7 @@ include(ics.m4) S: USB_C_Socket with .sw at (HD.e.x+0.25,RPI.s.y) - ifelse(ifpgf(T)`'ifpstricks(T)`'ifpsfrag(T),T,`command "}"') + ifelse(ifpgf(T)`'ifpstricks(T),T,`command "}"') "{\sf Arduino Leonardo}" at Ar.Connector.s below "{\sf Raspberry Pi 4 GPIO}" at RPI.GPIO.s below diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Coxeter.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/Coxeter.m4 deleted file mode 100644 index 4d186f9dbe6..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/Coxeter.m4 +++ /dev/null @@ -1,38 +0,0 @@ -.PS -# Coxeter.m4 -darrow_init - - customlinethick = 1.5 - - linethick = customlinethick - define(`dotrad_',`(3/2*linethick pt__)') - - Orig: (0,0) - for i=0 to 4 do { P[i]: dot(at (i*linewid,0)) } - line from Orig to P[4] - P[-1]: dot(at (Rect_(linewid, 120))); line to Orig - P[-2]: dot(at (Rect_(linewid,-120))); line to Orig - - Pa: dot(at P[4]+(linewid,0)); "$a$" at last [].n above - arrow from P[4] to Pa chop linewid/4 - Pd: dot(at Pa+(linewid,0)); "$d$" at last [].w rjust - Pe: dot(at Pd+(linewid,0)); "$e$" at last [].n above - Pf: dot(at Pe+(linewid,0)); "$f$" at last [].n above - Pb: dot(at Pd+(Rect_(linewid,120))); "$b$" at last [].w rjust - Pc: dot(at Pd+(Rect_(linewid,-120))); "$c$" at last [].w rjust - line from Pb to Pd then to Pc - line from Pd to Pf - - define(`customarc', - `pushdef(`dfillcolor',`0.7,0.7,0.7') linethick_(0.4); dnl - Darc(`$1',linewid, (`$2')*dtor_, (`$3')*dtor_, - thick=linewid/6; wid=linewid*0.3; ht=linewid/6; ends=<->)dnl - linethick_(customlinethick); popdef(`dfillcolor')') - - customarc((linewid,-linewid/3), 25,155); "$d$" at (linewid,linewid*2/3) - customarc((2*linewid,-linewid/3), 25,155); "$e$" at (2*linewid,linewid*2/3) - customarc((3*linewid,-linewid/3), 25,155); "$f$" at (3*linewid,linewid*2/3) - customarc(Orig,130,230); "$a$" at (Rect_(linewid,180)) - customarc(Orig, 10,110); "$b$" at (Rect_(linewid, 60)) - customarc(Orig,-110,-10); "$c$" at (Rect_(linewid,-60)) -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Crossbar.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/Crossbar.m4 deleted file mode 100644 index b9706657eeb..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/Crossbar.m4 +++ /dev/null @@ -1,53 +0,0 @@ -.PS -# Crossbar -gen_init - circlerad = 0.12 - boxwid = 0.18 - boxht = 0.18 - rathick = 1.5 - rawd = rathick*4 bp__ - raht = rawd*2 - boxdist = boxwid*1.8 - -define bcoord {($2,-($1))*boxdist} -define redarrow { arrow ht raht wid rawd thick rathick color "red" } - -define cbx { - thinlines_ - n = $+ - 1 - for i=0 to n do { - line color "blue" from bcoord(i,0) to bcoord(i,n) - line color "blue" from bcoord(0,i) to bcoord(n,i) - C[i]: circle invis at bcoord(i,-1.5) - } - for i=0 to n do { - exec sprintf("col = $%g",i+1) - redarrow from C[i].e right 1.25*boxwid - redarrow from C[i].w+(-boxwid,0) right raht - for j=0 to n do { - B: box outlined "blue" shaded "yellow" at bcoord(i,j) - if j==col then { - line color "blue" from B.s to B.e - line thick rathick color "red" from C[i].e to B.w \ - then to B.n then to (B.x,C[0].y+(2+j*2/3)*boxht) - continue to (C[j].x-(2+j*2/3)*boxht,Here.y) - continue to (Here,C[j]) then to C[j].w - } \ - else { - line color "blue" from B.n to B.s - line color "blue" from B.w to B.e - } - } - } - thicklines_ - for i=0 to n do { - circle thick 1.5 outlined "blue" shaded "yellow" at C[i] \ - sprintf("iflatex(\large)%g",i) - } - } - -ifdpic(` - cbx(3,6,0,5,2,7,1,4) - -',`box wid 1 ht 0.75 "Crossbar.m4" "requires" "dpic"') -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Csource.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/Csource.m4 index f2902525c05..b033192dbf1 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/Csource.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/Csource.m4 @@ -4,7 +4,7 @@ cct_init # Set small text size iflatex(`textoffset = 1bp__; ifpsfrag(`textht = 9bp__', - `latexcommand({\scriptsize)') ') + `latexcommand({\scriptsize)')') linewid = 0.4 # Reduce element sizes diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/EEP.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/EEP.m4 index e4130a83a32..80413ea9540 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/EEP.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/EEP.m4 @@ -63,7 +63,7 @@ Pic2: [ text="M";circle=shaded "colorE";diam=dimen_*3/4) sl_disk(left_ dimen_ from 1/2 between B3.P1 and B3.P2, text="\scriptsize DER\_A"; circle=shaded "colorF";diam=dimen_*3/4) -] with .nw at last [].sw + (100bp__,120bp__) +] with .B1 at Pic1.Bus2.End+(24bp__,0) Pic3: [ define(`shadedb',shaded "cornflowerblue") diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/EVplugs.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/EVplugs.m4 index 5631482bf9a..6fefd070483 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/EVplugs.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/EVplugs.m4 @@ -1,5 +1,5 @@ .PS -# EV_lugs.m4 +# EVplugs.m4 # https://en.wikipedia.org/wiki/CHAdeMO gen_init divert(-1) diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Emarrows.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/Emarrows.m4 index c4b21319023..b39268ad725 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/Emarrows.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/Emarrows.m4 @@ -1,30 +1,28 @@ .PS # `Emarrows.m4' cct_init + hskip = 0.6 -[ - { em_arrows(N) - box dotted wid last [].wid ht last [].ht at last [].c + { A: em_arrows() + box dotted wid A.wid ht A.ht at A.c thinlines_ - arrow <- left 0.15 from last [].Head; "\sl Head" wid 0.31 rjust - arrow <- down 0.12 from last [].Tail; "\sl Tail" below - "\sl A1" rjust below at last [].A1.c - "\sl A2" ljust above at last [].A2.c + arrow <- left 0.15 from A.Head; "\sl Head" wid 0.31 rjust + arrow <- right 0.12 from A.Tail; "\sl Tail" ljust + arrow <- left 0.15 from 0.6 between A.A1.end and A.A1.start; "\sl A1" rjust + arrow <- right 0.15 up 0.07 from A.A2; "\sl A2" ljust thicklines_ - move down 0.25 from last [].s - move up 0.2 from last [].n - "\tt em\_arrows(N)" at last [].s+(0,-0.20) below } + move down 0.25 from A.s + move up 0.2 from A.n + "\tt em\_arrows()" at A.s+(0,-4bp__) below } { em_arrows(ND,45) with .sw at last [].se+(hskip*1.5,0) - "\tt em\_arrows(ND,45)" at last [].s below } + "\tt $\ldots$(ND,45)" at last [].s below } { em_arrows(I) with .sw at last [].se+(hskip,0) "\tt $\ldots$(I)" at last [].s below } { em_arrows(ID) with .sw at last [].se+(hskip,0) "\tt $\ldots$(ID)" at last [].s below } { em_arrows(E) with .sw at last [].se+(hskip,0) "\tt $\ldots$(E)" at last [].s below } - { em_arrows(ED) with .sw at last [].se+(hskip,0) - "\tt $\ldots$(ED)" at last [].s below } - ] -#showbox_ + { A: em_arrows(NT) with .sw at last [].se+(hskip,0) + "\tt $\ldots$(NT)" at last [].s below } .PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Eye.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/Eye.m4 index 50a62c389ef..1251afca095 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/Eye.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/Eye.m4 @@ -1,11 +1,15 @@ .PS # Eye.m4 +# https://getpocket.com/explore/item/pillars-of-fire-truly-adventurous?utm_source=pocket-newtab gen_init define(`eye',`[ u = `$1'; v = 0.47*u; w = 0.25*u +# for pdf, linethick in shade must be environment + lth = linethick; linethick = 0 shade(1, - arc thick 0 from (u/2,0) to (-u/2,0) with .c at (0,-u/3) - arc thick 0 to (u/2,0) with .c at (0,u/3) ) + arc outlined "red" from (u/2,0) to (-u/2,0) with .c at (0,-u/3) + arc to (u/2,0) with .c at (0,u/3) ) + linethick = lth circle diam v fill_(0.25) at (0,0) circle diam w fill_(0) at (0,0) circle thick 0 diam last circle.diam/2 fill_(1) at last circle.nw @@ -35,12 +39,14 @@ define(`eye',`[ u = `$1'; v = 0.47*u; w = 0.25*u for a=0 to 359 by dax do { T1: (Rect_(d[i]/2,a)) T2: (Rect_(d[i]/2,a-da*2)) + lth = linethick; linethick = 0 shade(1, - arc cw thick 0 from T1 to T2 with .c at Bx + arc cw from T1 to T2 with .c at Bx spline 0.55 thick 0 to 0.8 between Bx and T2 \ then to (Rect_(d[i]/4,a+30)) - arc cw thick 0 to (Rect_(d[i]/4,a+32)) with .c at Bx + arc cw to (Rect_(d[i]/4,a+32)) with .c at Bx spline 0.55 thick 0 to 0.8 between Bx and T1 then to T1 ) + linethick = lth } } C[1]: circle thick 2 diam d[1] at Bx fill_(0.1) diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/FlowchartDefs.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/FlowchartDefs.m4 index 2e5c3ade9e7..fc3dfca6a07 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/FlowchartDefs.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/FlowchartDefs.m4 @@ -162,7 +162,7 @@ define(`Fkeying',`[ boxwid = fboxwid; boxht = fboxht `If-then Ftest( "text", wid expr ht expr, attributes )' define(`Ftest',`[boxwid = fboxwid*0.8; boxht = fboxht*1.4 - Box: box ifelse(`$2',,,`$2') invis + Box: box `$2' invis N: Box.n; S: Box.s; E: Box.e; W: Box.w line from 0.5 between last box.n and last box.e to last box.e to last box.s \ to last box.w to last box.n to 0.5 between last box.n and last box.e \ diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Geometry.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/Geometry.m4 index b5a59a0f102..3a506226035 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/Geometry.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/Geometry.m4 @@ -2,98 +2,9 @@ # Geometry.m4 # Some constructions from https://tex.stackexchange.com/ gen_init - -Fig1: [ ls = 2/3 # local scale - A: Here; "A" at A above - B: A+(-1*ls,-3.5*ls); "B" at B below rjust - C: B+(4.6*ls,0); "C" at C below ljust - AB: line from A to B - BC: line from B to C - CA: line from C to A - - perpto(A,BC,L); "L" at L below - AL: line from A to L; RightAngle(A,L,C) - - angleLAC = atan2(C.x-L.x,A.y-L.y) - S: move from A to (sin(angleLAC/2),-cos(angleLAC/2)) - AW: line from A to Intersect_(S,BC) - W: Here; "W" at W below rjust - - perpto(C,AB,N); "N" at N above rjust - CN: line from C to N; RightAngle(C,N,B) - - perpto(B,CA,M); "M" at M above - CM: line from B to M; RightAngle(B,M,C) - - H: Intersect_(CN,AL); "H" at H +(4bp__,10bp__) - - thinlines_ - Equidist3(B,L,N,CC1,c1rad); C1: circle rad c1rad at CC1 - Equidist3(B,W,N,CC2,c2rad); C2: circle rad c2rad at CC2 - Equidist3(B,C,N,CC3,c3rad); C3: circle rad c3rad at CC3 - Equidist3(W,C,M,CC4,c4rad); C4: circle rad c4rad at CC4 - thicklines_ - - Z: LCintersect(AW,CC2,C2.rad); "Z" at Z+(-5bp__,-5bp__) - HZ: move from H to Z - Y: LCintersect(HZ,CC4,C4.rad,R); "Y" at Y above - X: LCintersect(HZ,CC2,C2.rad); "X" at X above rjust - - Loopover_(`P',`dot(at P)',X,Y,Z) - - line dashed from X to Y chop -linewid/2 - RightAngle(A,Z,Y) - ] - -Fig2: [ ls = 3/4 # local scale -# https://tex.stackexchange.com/questions/593272/drawing-complex-geometry - P: dot(at Here); "P" at P.s below - N: dot(at P+(3.5*ls,1.5*ls)); "N" at N.se ljust below - O: dot(at (N,P)); "O" at O.s below - R: dot(at 1/3 between O and P);"R" at R.s below - M: dot(at (R,N)); "M" at M.se ljust below - Q: dot(at (M.x,M.y+distance(M,N)/distance(N,O)*distance(P,O)));"Q" at Q.e ljust - line from P to Q then to N then to O - B: line to P chop -0.3 - line from M to N - Pu: line from R to Q chop 0 chop -0.3 - H: line from P to N chop 0 chop -0.3 - X: dot(at Intersect_(Pu,H)); "X" at X.se ljust below - thinlines_ - RightAngle(Q,M,N) - RightAngle(Q,N,H.end) - RightAngle(N,O,B.start) - ArcAngle(N,P,Q,0.4); "$\beta$" at last arc.ne above ljust - ArcAngle(O,P,N,0.5); "$\alpha$" at last arc.start+(5bp__,8bp__) - ArcAngle(R,Q,N,0.5); "$\alpha$" at last arc.start+(8bp__,-5bp__) - ] with .w at Fig1.e+(-0.4,0) - -Fig3: [ -# https://tex.stackexchange.com/questions/609452/help-drawing-a-more-sophisticated-right-triangle-with-tikz-or-something-else -gen_init - -define(`textsize',`\Large') - unit = 0.6 - C: Here; { "textsize C" at C rjust below } - B: C+(4*unit,0); { "textsize B" at B ljust below } - A: C+(0,3*unit); { "textsize A" at A rjust above } - H: PerpTo(C,A,B); { "textsize H" at H ljust above } - line from C to H then to B then to C shaded rgbstring(0.5,0.8,0.9) -# line from C to H then to B then to C shaded "CornflowerBlue" - line from C to H then to A then to C shaded rgbstring(0.8,0.9,0.7) -# line from C to H then to A then to C shaded "SpringGreen" - ArcAngle(C,A,B,unit*0.4) - ArcAngle(C,A,B,unit*0.5) - ArcAngle(A,B,C,unit*0.5,,"textsize $\theta$" rjust) - ArcAngle(B,C,H,unit*0.5); {"textsize $\theta$" at C+(unit*0.3,unit*0.17) } - ArcAngle(B,C,A,unit*0.6) - RightAngle(B,C,A,unit*0.17) - RightAngle(C,H,A,unit*0.17) - - ] with .nw at Fig1.sw+(0.2,-0.3) - -Fig4: [ - +maxpswid = 9 +Scaled: [ +Fig1: [ # FourbarSVG.m4 # https://tex.stackexchange.com/questions/563831/how-to-draw-four-bar-linkage-with-center-of-mass ls = 1/25.4 # local scale @@ -129,7 +40,7 @@ define(`pivot',`[ arc dashed from B1 to B2 with .c at B0 A0B1: line thick 1.6 from A0 to B1 chop 2*ls chop 0 - line thick 1.6 from B0 to B1 chop 2*ls chop 0 "$c$" ljust + line thick 1.6 from B0 to B1 chop 2*ls chop 0 "c" ljust circle fill_(1) at B1; "$B_1$" wid 3*ls at B1+(5,0)*ls A1: circle fill_(1) at LCintersect(A0B1,A0,a,R) "$A_1$" at A1+(5,0)*ls @@ -147,8 +58,99 @@ define(`pivot',`[ ArcAngle(B1,B0,B2,8*ls) ->; "$\psi$" at last arc.n+(-3*ls,0) above ArcAngle(A1,A0,B2,b*0.45) ->; "$\theta$" at last arc.start+(0,4*ls) line from A0+(3*ls,0) right 8*ls - ArcAngle(Here,A0,B1,9*ls) ->; "$\theta_0$" at last arc.start+(2,2)*ls + ArcAngle(Here,A0,B1,9*ls) ->; "$\theta_0$" \ + at last arc.start+(2,2)*ls + ] + +Fig2: [ +# FourbarSVG.m4 +# https://tex.stackexchange.com/questions/609452/help-drawing-a-more-sophisticated-right-triangle-with-tikz-or-something-else + + textkht = 12/72 + unit = 0.6 + C: Here; { "$C$" at C rjust below } + B: C+(4*unit,0); { "$B$" at B ljust below } + A: C+(0,3*unit); { "$A$" at A rjust above } + H: PerpTo(C,A,B); { "$H$" at H ljust above } + line from C to H then to B then to C shaded rgbstring(0.5,0.8,0.9) + line from C to H then to A then to C shaded rgbstring(0.8,0.9,0.7) + ArcAngle(C,A,B,unit*0.4) + ArcAngle(C,A,B,unit*0.5) + ArcAngle(A,B,C,unit*0.5,,"$\theta$" rjust) + ArcAngle(B,C,H,unit*0.5); {"$\theta$" at C+(unit*0.3,unit*0.17) } + ArcAngle(B,C,A,unit*0.6) + RightAngle(B,C,A,unit*0.17) + RightAngle(C,H,A,unit*0.17) + ] with .nw at Fig1.sw+(0.2,0) + + +Fig3: [ ls = 3/4 # local scale +# https://tex.stackexchange.com/questions/593272/drawing-complex-geometry + P: dot(at Here); "$P$" at P.s below + N: dot(at P+(3.5*ls,1.5*ls)); "$N$" at N.se ljust below + O: dot(at (N,P)); "$O$" at O.s below + R: dot(at 1/3 between O and P);"$R$" at R.s below + M: dot(at (R,N)); "$M$" at M.se ljust below + Q: dot(at (M.x,M.y+distance(M,N)/distance(N,O)*distance(P,O)));"$Q$" at Q.e ljust + line from P to Q then to N then to O + B: line to P chop -0.3 + line from M to N + Pu: line from R to Q chop 0 chop -0.3 + H: line from P to N chop 0 chop -0.3 + X: dot(at Intersect_(Pu,H)); "$X$" at X.se ljust below + thinlines_ + RightAngle(Q,M,N) + RightAngle(Q,N,H.end) + RightAngle(N,O,B.start) + ArcAngle(N,P,Q,0.4); "$\beta$" at last arc.ne above ljust + ArcAngle(O,P,N,0.5); "$\alpha$" at last arc.start+(5bp__,8bp__) + ArcAngle(R,Q,N,0.5); "$\alpha$" at last arc.start+(8bp__,-5bp__) + ] with .sw at Fig2.e+(-0.2,-0.7) + +ifelse(1,1,` +Fig4: [ ls = 2/3 # local scale + A: Here; "$A$" at A above + B: A+(-1*ls,-3.5*ls); "$B$" at B below rjust + C: B+(4.6*ls,0); "$C$" at C below ljust + AB: line from A to B + BC: line from B to C + CA: line from C to A + + perpto(A,BC,L); "$L$" at L below + AL: line from A to L; RightAngle(A,L,C) + + angleLAC = atan2(C.x-L.x,A.y-L.y) + S: move from A to (sin(angleLAC/2),-cos(angleLAC/2)) + AW: line from A to Intersect_(S,BC) + W: Here; "$W$" at W below rjust + + perpto(C,AB,N); "$N$" at N above rjust + CN: line from C to N; RightAngle(C,N,B) + + perpto(B,CA,M); "$M$" at M above + CM: line from B to M; RightAngle(B,M,C) + + H: Intersect_(CN,AL); "$H$" at H +(4bp__,10bp__) + + thinlines_ + Equidist3(B,L,N,CC1,c1rad); C1: circle rad c1rad at CC1 + Equidist3(B,W,N,CC2,c2rad); C2: circle rad c2rad at CC2 + Equidist3(B,C,N,CC3,c3rad); C3: circle rad c3rad at CC3 + Equidist3(W,C,M,CC4,c4rad); C4: circle rad c4rad at CC4 + thicklines_ + + Z: LCintersect(AW,CC2,C2.rad); "$Z$" at Z+(-5bp__,-5bp__) + HZ: move from H to Z + Y: LCintersect(HZ,CC4,C4.rad,R); "$Y$" at Y above + X: LCintersect(HZ,CC2,C2.rad); "$X$" at X above rjust + + Loopover_(`P',`dot(at P)',X,Y,Z) + + line dashed from X to Y chop -linewid/2 + RightAngle(A,Z,Y) + ] with .sw at (Fig3.e,Fig2.s) +') - ] with .nw at Fig3.ne+(0.2,0.2) +] scaled 0.8 .PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/GrayCode.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/GrayCode.m4 index 4fc4815cf15..a4a917f449d 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/GrayCode.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/GrayCode.m4 @@ -2,6 +2,7 @@ # GrayCode.m4 gen_init +GrayCode: [ outer = 4 inner = 0.75 nbits = 10 @@ -17,4 +18,57 @@ C: circle diam outer arcd(C,outer/2-(bit-0.5)*lthk,startang,endang) thick lthk/(1bp__) } } + ] +# Crossbar +Crossbar: [ + circlerad = 0.12 + boxwid = 0.18 + boxht = 0.18 + rathick = 1.5 + rawd = rathick*4 bp__ + raht = rawd*2 + boxdist = boxwid*1.8 + +define bcoord {($2,-($1))*boxdist} +define redarrow { arrow ht raht wid rawd thick rathick color "red" } + +define cbx { + thinlines_ + n = $+ - 1 + for i=0 to n do { + line color "blue" from bcoord(i,0) to bcoord(i,n) + line color "blue" from bcoord(0,i) to bcoord(n,i) + C[i]: circle invis at bcoord(i,-1.5) + } + for i=0 to n do { + exec sprintf("col = $%g",i+1) + redarrow from C[i].e right 1.25*boxwid + redarrow from C[i].w+(-boxwid,0) right raht + for j=0 to n do { + B: box outlined "blue" shaded "yellow" at bcoord(i,j) + if j==col then { + line color "blue" from B.s to B.e + line thick rathick color "red" from C[i].e to B.w \ + then to B.n then to (B.x,C[0].y+(2+j*2/3)*boxht) + continue to (C[j].x-(2+j*2/3)*boxht,Here.y) + continue to (Here,C[j]) then to C[j].w + } \ + else { + line color "blue" from B.n to B.s + line color "blue" from B.w to B.e + } + } + } + thicklines_ + for i=0 to n do { + circle thick 1.5 outlined "blue" shaded "yellow" at C[i] \ + sprintf("iflatex(\large)%g",i) + } + } + +ifdpic(` + cbx(3,6,0,5,2,7,1,4) +',`box wid 1 ht 0.75 "Crossbar" "requires" "dpic"') + +] with .w at GrayCode.e+(0.2,0) .PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Heathkit.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/Heathkit.m4 index 2cc23290a1c..27a241e3e31 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/Heathkit.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/Heathkit.m4 @@ -27,6 +27,7 @@ define(`dimen_',dimen_*4/5) arrowht = arrowht*2/3 # Grid + box invis fill_(1) wid picwid ht picht with .sw at (0,0) ifdpic(`linethick_(0.4)',`linethick_(0)') for i=0 to picwid/g do { line color "lightgray" up picht from (i*g,0) } for i=0 to picwid/g by 10 do { sprintf(tsf(%g),i) at (i*g,0) below } @@ -103,8 +104,9 @@ define(`socket',`[ rlabel(,tsf(3 A FUSE) rjust tsf(SLOW BLOW)) line to (Here.x,int(Here.y/g)*g-g); dot Sckt1: socket at Here+(5*g,0) - line from Sckt1.w to (PL,Sckt1); A: dot; tsf(A) rjust - line from Sckt1.e right_ lin_leng(last line); B: dot; tsf(B) ljust + line from Sckt1.w to (PL,Sckt1); A: dot; tsf(A) at last [].w rjust + line from Sckt1.e right_ lin_leng(last line); B: dot + tsf(B) at last [].e ljust Sckt2: socket at (Sckt1,P1+(0,6*g)) line from Sckt2.w to (A,Sckt2); dot line from Sckt2.e to (B,Sckt2); dot diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Incl.eps.gz b/Master/texmf-dist/doc/latex/circuit-macros/examples/Incl.eps.gz index 537be23d4c5..80348d43fed 100644 Binary files a/Master/texmf-dist/doc/latex/circuit-macros/examples/Incl.eps.gz and b/Master/texmf-dist/doc/latex/circuit-macros/examples/Incl.eps.gz differ diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Incleps.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/Incleps.m4 index ceb1bc0f0c2..7f02f308c14 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/Incleps.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/Incleps.m4 @@ -4,6 +4,7 @@ darrow_init s_init(Incleps) sinclude(F_Incleps.dim) # Inserted for the web-page version. +sinclude(tmp.dim) # for psfrag sinclude(examples.dim) # Change examples to the name of the main LaTeX file. define(`backarrow',`darrow(`$1',,,2pt__,6pt__,6pt__,<-|)') diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Inductors.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/Inductors.m4 index d9db4df1530..7250eb181ee 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/Inductors.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/Inductors.m4 @@ -1,7 +1,7 @@ .PS -# inductors.m4 +# Inductors.m4 cct_init -iflatex(command "{\tt") +ifpostscript(,latexcommand({\tt)) # disable "command" for psfrag movewid = 2 pt__ hm = 2.05 @@ -44,5 +44,5 @@ vm = 0.4 shielded(`ebox(,,,0)',R) ; move; `"shielded(`ebox(,{,},0)',R)"' ljust } } -iflatex(command "}") +ifpostscript(,latexcommand(})) .PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Makefile b/Master/texmf-dist/doc/latex/circuit-macros/examples/Makefile index c582c0b35c4..fd8ab4ea497 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/Makefile +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/Makefile @@ -10,11 +10,14 @@ # Type "make .png" to make a .png file from .m4 # Type "make .tif" to make a .tif file from .m4 # -# See also: the svg subdirectory for generating svg directly. +# See also: dpv subdirectory for creating svg with dpic -v without LaTeX # # To test the file test.m4, type "make tst" if boxdims is used, otherwise # type "make tst1". In either case the file tst.ps is created. # +# There are a few extra examples in this directory. Process them one +# at a time, or type "make extras.pdf" +# # To debug a single diagram in a directory other than this examples # directory, copy this makefile and tst.tex to where you want to work, # redefine LIBDIR (below) appropriately, and type "make .xxx" @@ -54,18 +57,19 @@ PNGOPTS = -quiet -density 400 -scale 25% -alpha Remove M4 = m4 DOC = examples -PICS = \ - ABlogix.tex Adder.tex Alogix.tex AmpTable.tex Antennas.tex \ +TEXPICS = \ + ABlogix.tex Adder.tex Alogix.tex AmpTable.tex Antennas.tex Arresters.tex \ Audio.tex Bip.tex Btree.tex Buttons.tex Byte.tex \ Capacitors.tex CanLogic.tex Chips.tex Conn.tex Connectors.tex \ - Contacts.tex Contact.tex control.tex Crossbar.tex Crow.tex \ + Contacts.tex Contact.tex control.tex Crow.tex \ csc.tex Csource.tex Decoder.tex \ Demultiplexer.tex diamond.tex Dini.tex Diodes.tex Drive.tex \ EEP.tex Emarrows.tex Escher.tex EVplugs.tex \ ex00.tex ex01.tex ex02.tex ex03.tex ex04.tex ex05.tex ex06.tex ex08.tex \ ex09.tex ex10.tex ex11.tex ex12.tex ex15.tex ex16.tex ex17.tex ex18.tex \ - ex21.tex exp.tex fet.tex Flow.tex Fuses.tex GrayCode.tex graysurf.tex \ - Grounds.tex Headers.tex Heathkit.tex \ + ex21.tex exp.tex fet.tex Flow.tex Fuses.tex \ + Geometry.tex GrayCode.tex graysurf.tex Grounds.tex \ + Headers.tex Heathkit.tex \ I2L.tex Incleps.tex Inductors.tex Jack.tex \ lcct.tex Logic.tex Loglog.tex MC.tex Mixer.tex MoreTable.tex \ MotorControl.tex Multiplexer.tex \ @@ -73,16 +77,15 @@ PICS = \ Pconn.tex Plate.tex PushPull.tex pwrsupply.tex \ Quantum.tex quick.tex \ random.tex Rectifiers.tex recycle.tex relaycoil.tex Relay.tex \ - Resistors.tex rose.tex Rotbox.tex \ + Resistors.tex Rotbox.tex \ Schottky.tex sfg.tex shapes.tex ShiftR.tex Sierpinski.tex Sixpole.tex \ - Sources.tex SQUID.tex Switches.tex \ - Tgate.tex Three.tex thyristor.tex \ - TTLnand.tex Ttree.tex Tubediags.tex ujt.tex Variable.tex Windings.tex \ - worm.tex Xform.tex XOR.tex + Smithchart.tex Sources.tex SQUID.tex Switches.tex \ + Tgate.tex Three.tex thyristor.tex TTLnand.tex Tubediags.tex \ + UNO.tex ujt.tex Variable.tex Windings.tex worm.tex Xform.tex XOR.tex # Files that have to be processed twice: -BOXDIMS = ex09.tex Crow.tex Incleps.tex Loglog.tex Opamp.tex \ - random.tex Ttree.tex Windings.tex +BOXDIMS = Btree.tex ex09.tex Crow.tex Incleps.tex Loglog.tex Opamp.tex \ + random.tex Windings.tex ######################################################################### @@ -173,20 +176,21 @@ LTXFILE=printf "|documentclass[11pt]{article}\n\ make $*.pdf convert $(PNGOPTS) $*.pdf $*.png @if test -f $*.png.0 ; then mv $*.png.0 $*.png ; fi - rm $*.pdf +# rm $*.pdf .m4.gif: make $*.pdf convert $(GIFOPTS) $*.pdf $*.gif - rm $*.pdf +# rm $*.pdf .m4.tif: make $*.pdf convert $(EPSOPTS) $*.pdf $*.tif @if test -f $*.tif.0 ; then mv $*.tif.0 $*.tif ; fi - rm $*.pdf +# rm $*.pdf .m4.svg: make $*.pdf dvisvgm --pdf $*.pdf $*.svg - rm $*.pdf + chmod 644 $*.svg +# rm $*.pdf ######################################################################### @@ -199,9 +203,22 @@ $(DOC).pdf: clean pdfmode $(DOC).tex files.tex header.tex rm -f $(BOXDIMS) ${BOXDIMS:%.tex=%.pic} $(DOC).pdf make CONF=pgf.m4 MODE=-g DIMFILE=$(DOC).dim $(BOXDIMS) pdflatex $(DOC) + @printf "\n\n optpdf trims the pdf file\n" optpdf $(DOC).pdf -pics: $(PICS) +rose.pdf: rose.m4 + m4 pdf.m4 rose.m4 | dpic -d > rose.pdf + +paletteDPV.svg: paletteDPV.m4 + m4 svg.m4 paletteDPV.m4 | dpic -v > paletteDPV.svg + +keyboard.svg: keyboard.m4 + m4 svg.m4 keyboard.m4 | dpic -v > keyboard.svg + +keyboard.pdf: keyboard.svg + convert keyboard.svg keyboard.pdf + +pics: $(TEXPICS) rose.pdf keyboard.pdf touch pics $(DOC).ps: psmode $(DOC).dvi @@ -245,13 +262,50 @@ gpic: dvips $(DVIPSOPTS) tst -o tst.ps echopics: - @echo $(PICS) + @echo $(TEXPICS) + +XTRASRC=printf "|documentclass[11pt]{article}\n\ +|usepackage[dvipsnames]{xcolor}\n\ +|usepackage{times,boxdims,siunitx,amssymb,tikz,geometry}\n\ +|geometry{margin=0.5cm}\n\ +|begin{document}\n" | $(BS) + +extras: + ( for file in `ls *.m4` ; do \ + fbase=`basename $$file .m4` ; \ + if test "`grep -L $$fbase files.tex`" = "files.tex" ; then \ + echo $$fbase ; \ + fi ; \ + done ) | sed -e '/Ball/d' \ + -e '/ASME_Y14-5/d' -e '/FlowchartDefs/d' -e '/tubedefs/d' \ + -e '/debug1/d' -e '/debug2/d' \ + -e '/paletteSVG/d' \ + -e '/Consumption/d' -e '/rotatetext/d' -e '/windows/d' \ + > extras + +XBOXDIMS = Chuck + +extras.pdf: extras + @$(XTRASRC) > extras.tex + touch extras.dim + -for file in `cat extras` ; do \ + $(M4) pgf.m4 extras.dim $$file.m4 | $(PIC) -g > $$file.tex ; \ + printf "\n|input{$$file.tex}\n" | $(BS) >> extras.tex ; \ + printf "\n $$file.m4\n |pagebreak\n" | $(BS) >> extras.tex ; \ + done + printf "\n|end{document}\n" | $(BS) >> extras.tex + pdflatex extras + -for file in $(XBOXDIMS) ; do \ + rm -f $$file.tex ; \ + $(M4) pgf.m4 extras.dim $$file.m4 | $(PIC) -g > $$file.tex ; \ + done + pdflatex extras testall: (cd mf; make) (cd mpost; make) (cd psfrag; make) - (cd svg; make) + (cd dpv; make) (cd xfig; make) clobber: clean @@ -270,12 +324,16 @@ clobber: clean # @if test -f distmakefile ; then make -f distmakefile clobber ; fi clean: - @printf "\n examples clean:\n" + @printf "\n\n examples clean:\n\n" + -if test -f extras ; then \ + for file in `cat extras` ; do rm -f $$file.pic $$file.tex ; done ; fi + rm -f extras extras.* rm -f core boxdims.tar.gz pics rm -f *.dvi *.aux *.log *.toc *.blg *.eps *.tif *.epsi eps *-mfpic* *.svg - rm -f fig*.tex $(PICS) *.roff *.int *.pic gpic.m4 test.tex xxx* *.fig + rm -f fig*.tex $(TEXPICS) *.roff *.int *.pic gpic.m4 test.tex xxx* *.fig + rm -f rose.pdf rm -f *.dim *.bak rotate.ps tst.ps *.bbl *-pics.ps - rm -f *.tfm *[0-9]pk *.png *.1 *.gif + rm -f *.tfm *[0-9]pk *.png *.svg *.1 *.gif rm -f F_* Version.tex *stackdump *.ico ./.[A-Za-z]* rm -rf distfile distfile.tar.gz mode.tex @printf "\n" diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Pconn.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/Pconn.m4 index 2543048d005..495f1e1987b 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/Pconn.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/Pconn.m4 @@ -19,6 +19,7 @@ P1: [ arrow from G.w to C1.G.e arrow from G.e to C2.G.w `"\tt (,AF)"' at last [].s below + thicklines_ C03: pconnex(,AC) with .w at C2.e+(0.25,0) `"\tt (,AC)"' at last [].s below C3: pconnex(,ACF) with .w at last [].e+(0.2,0) diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Planes.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/Planes.m4 deleted file mode 100644 index b9d0579c691..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/Planes.m4 +++ /dev/null @@ -1,95 +0,0 @@ -.PS -# Planes.m4 -threeD_init -NeedDpicTools - -# This 3D diagram is like many others: define the facets, use the normal vectors -# to determine visibility, sort and plot the facets from back to front. - -define(`mark',`"`$1'" at `$1'') - -# size parameters - a = 3/2 - b = 0.4 - d = 1 -# Define intersecting lines in the plane - A0: -a,-b - A1: a,-b - B0: Rot_(A0,120) - B1: Rot_(A1,120) - C0: Rot_(A0,240) - C1: Rot_(A1,240) - -# intersections -define(`lintersect',`intersect_(`$1'0,`$1'1,`$2'0,`$2'1)') - AB: lintersect(A,B) - BC: lintersect(B,C) - CA: lintersect(C,A) - -# Store a point as x[i], y[i], z[i] -define(`mkxyz',` - x[$1] = $2 - y[$1] = $3 - z[$1] = $4') -# Recover point coordinates -define(`xyz',`x[$1], y[$1], z[$1]') - -# Facets are rectangles here; store 3 corners -define(`mkfacet',` - mkxyz((`$1')*3, 0,`$2'.x,`$2'.y) - mkxyz((`$1')*3+1, 0,`$3'.x,`$3'.y) - mkxyz((`$1')*3+2,-d,`$3'.x,`$3'.y) -') -# Define the facets - mkfacet(1,A0,CA) mkfacet(2,CA,A0) - mkfacet(3,CA,AB) mkfacet(4,AB,CA) - mkfacet(5,AB,A1) mkfacet(6,A1,AB) - - mkfacet(7,B0,AB) mkfacet(8,AB,B0) - mkfacet(9,AB,BC) mkfacet(10,BC,AB) - mkfacet(11,BC,B1) mkfacet(12,B1,BC) - - mkfacet(13,C0,BC) mkfacet(14,BC,C0) - mkfacet(15,BC,CA) mkfacet(16,CA,BC) - mkfacet(17,CA,C1) mkfacet(18,C1,CA) - nfacets = 18 - -# View angles azimuth, elevation, rotation (degrees) - setview( 10, 30, 5) - -ifelse(1,1,` -# # create array of visible facets and sort - n = 0 - for i=1 to nfacets do { - mkxyz(-1, - cross3D(diff3D(xyz(i*3+1),xyz(i*3)),diff3D(xyz(i*3+2),xyz(i*3+1)))) - dx = dot3D(xyz(-1),View3D) - if dx > 0 then { - dy[i] = dx/length3D(xyz(-1)) - n +=1 - d[n] = dot3D(sum3D(xyz(i*3),xyz(i*3+2)),View3D)/2 - ix[n] = i - } - } - dpquicksort(d,1,n,ix) - -#print sprintf("n=%g",n); for i=1 to n do { print i,ix[i] } - -# Recover the 4th corner and draw -define(`drawfacet',` - NW_facet: Project(xyz(($1)*3)) - NE_facet: Project(xyz(($1)*3+1)) - SE_facet: Project(xyz(($1)*3+2)) - SW_facet: Project(x[($1)*3+2],y[($1)*3],z[($1)*3]) - shd = 1-($2)^4 - line from SW_facet to SE_facet then to NE_facet \ - then to NW_facet then to SW_facet shaded rgbstring(shd,shd,shd) -# sprintf("%g",$1) at 0.5 between SW_facet and NE_facet -# Loopover_(`x',`mark(x);',SW_facet,SE_facet,NE_facet,NW_facet) - ') - -# # draw facets, shading with view cosines - for i=1 to n do { drawfacet(ix[i],dy[ix[i]]) } -') - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Plate.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/Plate.m4 index 3937543d2a1..14b6bbfbe35 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/Plate.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/Plate.m4 @@ -8,7 +8,7 @@ cct_init ifdef(`ASME_Y14-5_',,`include(ASME_Y14-5.m4)') ifsvg(`svg_font(sans-serif,10bp__)', `textht = 10bp__*2/3 - iflatex(`command "{\sf\small"')') + ifpostscript(,latexcommand({\sf\small))') # ASME Y14.5 specs: arrowht = textht*0.8 arrowwid = textht*0.6 @@ -170,5 +170,6 @@ thinlines_ ] with .C at Section.Orig+(4.5*scale,0) -command iflatex(`"}"',ifsvg(`""')) +ifpostscript(,latexcommand(}%)) +ifsvg(command "") .PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/README-examples b/Master/texmf-dist/doc/latex/circuit-macros/examples/README-examples index 1f37cf5f36b..bcd3bf37284 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/README-examples +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/README-examples @@ -1,59 +1,73 @@ -This directory contains examples.tex, source files for the diagrams -that are imported when examples.tex is LaTeXed, and some other standalone -diagrams. To generate examples.pdf in a unix-like environment (versions -of unix, linux, cygwin, djgpp, ...): +THIS DIRECTORY contains examples.tex, source files for the diagrams + that are imported when examples.tex is LaTeXed, some other example + diagrams, and a subdirectory for producing SVG files without invoking + LaTeX. To generate examples.pdf in a unix-like environment (versions + of unix, linux, cygwin, djgpp, ...): 1. Install the libraries as described in the top-level README file. -2. In this directory, type "make". If your installed dpic is the - Mingw version included in the dpic distribution, (a) edit the - file windows.m4 to point to your installation folder, and (b) uncomment - the CUSTOM=windows.m4 line in the Makefile, or type - "make CUSTOM=windows.m4". - -To test one of the diagrams, say ex01.m4, type one of the following -(and have a look at the comments at the top of the Makefile): -"make ex01.ps" -"make ex01.eps" -"make ex01.pdf" (uses pdflatex) -"make ex01.png" (requires Imagemagick convert) -"make ex01.tif" (requires Imagemagick convert) -"make ex01.svg" (requires Imagemagick convert, but see the svg folder) + +2. Verify that dpic is installed. Some of the examples also work + with gpic. + +3. In this directory, type "make", but note the following: + + If your installed dpic is the precompiled Mingw version for Windows, + (a) edit the file windows.m4 to point to your installation folder, + and (b) uncomment the CUSTOM=windows.m4 line in the Makefile, or type + "make CUSTOM=windows.m4". + + If you get an error in examples.log, your LaTeX installation might + need updating. IN CASE OF DIFFICULTY: Look at files debug1.tex and debug2.m4, and -follow the instructions. - -To test and debug a single diagram, write it into test.m4. Type -"make tst" to process the file, creating test.tex, which is imported into -tst.tex. The diagram source and tst.tex are processed twice in case -the boxdim macro is being used. If you only need to process once, type -"make tst1". In both cases the resulting file is tst.ps. -To use tikz and pdflatex to produce test.pdf, type "make test.pdf" as above. - -To test and debug a single diagram in a different directory, copy Makefile -to where you want to work, adjust the definition of LIBDIR -in Makefile if environment variable M4PATH has not been defined, and type -one of the above commands. - -By default, the dpic processor is invoked, producing TiKz commands. -To use PSTricks instead, type "make clean; make examples.ps". -To process the diagrams using TikZ PGF for processing either by LaTeX or -PDFlatex, type "make" or "make examplespgf.ps" in the pgf subdirectory. - -There are often several methods for producing similar graphical results, -particularly of text labels. Some of the diagrams in this directory are -slightly more complicated than required for Tikz or PSTricks in order -that they will work with other postprocessors. Dpic output that does -not handle LaTeX labels has to be treated separately as, for example, -in the svg directory. - -To process the diagrams using .eps intermediate files with embedded psfrag -strings, go into the psfrag directory and read the README file. - -To process the diagrams using MetaPost, look in the mpost subdirectory. - -The xfig subdirectory contains the file xfig/xfiglib.fig, which contains -elements in xfig 3.2 format produced by dpic for importing into xfig. - -SVG: Look in the svg directory for an experimental configuration file and -examples. Type "make" in the svg directory to see the examples. + follow the instructions. + +SINGLE DIAGRAMS: To test one of the diagrams, say ex01.m4, type one of + the following (and have a look at the comments at the top of the Makefile): + "make ex01.ps" + "make ex01.eps" + "make ex01.pdf" (uses pdflatex) + "make ex01.png" (requires Imagemagick convert) + "make ex01.tif" (requires Imagemagick convert) + "make ex01.svg" (requires Imagemagick convert, but see the svg folder) + +DEBUGGING: To test and debug a single diagram, write it into test.m4. Type + "make tst" to process the file, creating test.tex, which is imported into + tst.tex. The diagram source and tst.tex are processed twice in case + the boxdim macro is being used. If you only need to process once, type + "make tst1". In both cases the resulting file is tst.ps. + To use tikz and pdflatex to produce test.pdf, type "make test.pdf" as above. + + To test and debug a single diagram in a different directory, copy Makefile + to where you want to work, adjust the definition of LIBDIR + in Makefile if environment variable M4PATH has not been defined, and type + one of the above commands. + +TiKz and PSTricks: By default, the dpic processor is invoked, producing + TiKz commands. To use PSTricks instead, type "make clean; make + examples.ps". To process the diagrams using TikZ PGF for formatting + either by LaTeX or PDFlatex, type "make" or "make examplespgf.ps" + in the pgf subdirectory. + +SVG: Look in the svg directory for examples, and type "make". + +ALTERNATIVES: There are often several methods for producing similar + graphical results, particularly of text labels. Some of the diagrams + in this directory are slightly more complicated than required for Tikz + or PSTricks in order for them to work with other postprocessors. Dpic + output that does not produce LaTeX labels has to be treated separately + as, for example, in the svg directory. + +METAPOST: To process the diagrams using MetaPost, look in the mpost + subdirectory. To accommodate MetaPost, some of these sources use + latexcommand(...) when iflatex(command "...") or, simply, command "..." + would do. + +PSFRAG: To process the diagrams using .eps intermediate files with embedded + psfrag strings, go into the psfrag directory and read the README file. + As for METAPOST, some of these sources disable "command" or + "latexcommand". + +XFIG: The xfig subdirectory contains the file xfig/xfiglib.fig, which contains + elements in xfig 3.2 format produced by dpic for importing into xfig. diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/SampleFlow.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/SampleFlow.m4 index f8d73ca203b..077a0ba6e3c 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/SampleFlow.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/SampleFlow.m4 @@ -25,7 +25,7 @@ linethick = 1.2 {"Sample" ljust indent "Checking" ljust } connect B3: rbox offset - {"Dimensionality" ljust indent "Sample Check" ljust } + {"Dimensionality" ljust at last box.w "Sample Check" ljust } connect B4: rbox offset {"Sample" ljust indent "Synthesis" ljust "Techniques" ljust } diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Smithchart.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/Smithchart.m4 new file mode 100644 index 00000000000..fc6b5590db1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/Smithchart.m4 @@ -0,0 +1,222 @@ +.PS +# Smithchart.m4 +gen_init +#https://utah.instructure.com/courses/684846 +#https://www.youtube.com/watch?v=RptPsP8hS4g +#https://www.youtube.com/watch?v=UUk1R01uEoE +##https://www.youtube.com/watch?v=TsXd6GktlYQ + +scalefactor = 6.5/2 # to vary the final chart diameter +#calefactor = 6.5/2*3/4 # 3/4 scale for svg examples +# Basic definitions +define Rac {($1/($1+1),0)*scalefactor} # centre of const ra circle +define rar {1/abs($1+1)*scalefactor} # radius +define Xac {(1,1/($1))*scalefactor} # centre of const xa circle +define xar {1/abs($1)*scalefactor} # radius +define Rc {CRc[$1*100]} # Rc circle indexed by value +define Xc {CXc[$1*100]} # Xc circle indexed by value +define grayline {outlined graystring($1)} +define arct {arc thick $1} + +# `SGamma(ra,xa) chart location of complex value' +define(`SGamma',`(ifelse(`$2',0,`Rc($1).w', + `Cintersect(Rac(`$1'),rar(`$1'),Xac(`$2'),xar(`$2'), dnl + ifelse(substr(`$2',0,1),-,R))'))') +# 1-piece Ra arc +define(`RaArc1',`ifinstr(`$1',to,for ix=`$1' do,ix=`$1';) { + Rc(ix): arct(`$2') grayline(`$2'g) dnl + from SGamma(ix,`$3') to SGamma(ix,-(`$3')) with .c at Rac(ix)}') +# 2-piece Ra arc +define(`RaArc2',`ifinstr(`$1',to,for ix=`$1' do,ix=`$1';) { + Rc(ix): arct(`$2') grayline(`$2'g) dnl + from SGamma(ix,`$3') to SGamma(ix,`$4') with .c at Rac(ix) + arct(`$2') grayline(`$2'g) dnl + from SGamma(ix,-(`$4')) to SGamma(ix,-(`$3')) with .c at Rac(ix)}') +# Positive and negative Xa arcs +define(`XaArc2',`ifinstr(`$1',to,for ix=`$1' do,ix=`$1';) { + Xc(ix): arct(`$2') grayline(`$2'g) dnl + from SGamma(`$3',ix) to SGamma(`$4',ix) with .c at Xac(ix) + Xc(-ix): arct(`$2') grayline(`$2'g) dnl + cw from SGamma(`$3',-ix) to SGamma(`$4',-ix) with .c at Xac(-ix)}') + +define(`Smithchart',`[ +iflatex(s_init(tst)) +ifpostscript(,latexcommand({\tiny)) +ifsvg(svg_font(sans-serif,10bp__) + svg_rot_init(SmithchartDPV)) + + thk = 1.2 # width of thick lines (pt) + thn = 0.4 # thin lines + thkg = 0.33 # weight of thick lines + thkg =0.5 + thng = 0.4 # weight of thin lines + thng = 0.6 + +C: circle thick thk rad rar(0) at (0,0) + line thick thk grayline(thkg) from C.w to C.e + +Rc(50): circle thick thk grayline(thkg) rad rar(50) at Rac(50) +Loopover_(`term',`RaArc1(patsubst(term,:,`,'))', + 20:thn:50, + 30 to 40 by 10:thn:50, + 20:thk:20, + 12 to 18 by 2:thn:20, + 10:thn:50, + 10:thk:20, + 6 to 9:thn:10, + 5:thk:10, + 2.2 to 4.81 by 0.2:thn:5, + 4:thn:20, + 4:thk:5, + 3:thn:10, + 3:thk:5, + 2:thn:20, + 2:thk:5, + 1.1 to 1.91 by 0.2:thn:2, + 1.2 to 2.01 by 0.2:thk:2, + 1:thn:10, + 1:thk:5, + 0.2 to 1.81 by 0.2:thn:5, + 0.2 to 0.81 by 0.2:thk:2, + 0.6 to 0.91 by 0.1:thk:1, + 0.55 to 0.951 by 0.1:thn:1, + 0.1 to 0.91 by 0.2:thn:2, + 0.1 to 0.91 by 0.2:thk:1, + 0.22 to 0.481 by 0.02:thn:0.5, + 0.01 to 0.191 by 0.01:thn:0.2, + 0.05 to 0.151 by 0.1:thk:0.2) + +Loopover_(`term',`RaArc2(patsubst(term,:,`,'))', + 0.05 to 0.451 by 0.1:thn:1:0.5, + 0.02 to 0.181 by 0.02:thn:0.5:0.1) + +Xc(50): arct(thk) cw grayline(thkg) from C.e \ + to SGamma(0,50) with .c at Xac(50) +Xc(-50): arct(thk) grayline(thkg) from C.e \ + to SGamma(0,-50) with .c at Xac(-50) + +Loopover_(`term',`XaArc2(patsubst(term,:,`,'))', + 10 to 20 by 10:thn:0:50, + 7 to 9 by 2:thn:0:10, + 2 to 18 by 2:thn:0:20, + 0.2 to 4.81 by 0.2:thn:0:5, + 1.1 to 1.91 by 0.2:thn:0:2, + 1 to 4:thn:0:10, + 0.1 to 0.91 by 0.2:thn:0:2, + 0.22 to 0.481 by 0.02:thn:0:0.5, + 0.55 to 0.951 by 0.1:thn:0:1, + 10 to 20 by 10:thk:0:20, + 5:thk:0:10, + 1.2 to 1.81 by 0.2:thk:0:2, + 1 to 4:thk:0:5, + 0.2 to 0.81 by 0.2:thk:0:2, + 0.1 to 0.91 by 0.2:thk:0:1) + +Loopover_(`term',`XaArc2(patsubst(term,:,`,'))', + 0.05 to 0.451 by 0.1:thn:0.5:1, + 0.02 to 0.181 by 0.02:thn:0:0.5, + 0.02 to 0.191 by 0.01:thn:0:0.2, dnl 0.02 should be 0.01 + 0.05 to 0.151 by 0.1:thk:0:0.2) +dnl these avoid TeX arithmetic overflow: + line thick thn grayline(thng) from SGamma(0,0.01) to SGamma(0.2,0.01) + line thick thn grayline(thng) from SGamma(0,-0.01) to SGamma(0.2,-0.01) + dot(at C,,1,grayline(thkg)) + +dnl Internal labels start here + textht = C.wid/120 +# Horizontal axis +Loopover_(`t',`box wid textht ht textht*1.5 colored "white" \ + with .se at Rc(t).w+(-2bp__,2bp__) + r_text(90,"t",at Rc(t).w+(-textht/3,textht*1.5))', + 0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9, 1,1.2,1.4,1.6,1.8, 2,3,4,5,10,20,50) +# Xc=1 labels +Loopover_(`tt', + `define(`m4ta',patsubst(tt,:.*))define(`m4vl',patsubst(tt,.*:))dnl + X: SGamma(m4vl,1) + M: move from Rc(m4vl) to X; ax = lin_ang(M)*rtod_-90 #; print ax + r_text(m4ta,m4vl,at X+(Rect_(textht*2,ax+30))) + Y: X-Rc(m4vl); X: Rc(m4vl)+(Y.x,-Y.y) + r_text(-m4ta,m4vl,at X+(Rect_(textht*1.7,-(ax+30)))) ', + 10:0.2, 19:0.4, 26:0.6, 32:0.8, 37:1) +# right-side circumference +Loopover_(`tt', + `define(`m4ta',patsubst(tt,:.*))define(`m4vl',patsubst(tt,.*:))dnl + X: Xc(m4vl).start; ax = atan2(X.y,X.x)*rtod_ ; # print round_(ax) + r_text(m4ta,m4vl,at X+(Rect_(textht*2,ax-120))) + if m4vl>=2 then { + r_text(-m4ta,m4vl,at (X.x,-X.y)+(Rect_(textht*1.5,-ax+135))) }\ + else { r_text(-m4ta,m4vl,at (X.x,-X.y)+(Rect_(textht*2,-ax+150))) } ', + 6:20, 11:10, 23:5, 28:4, 37:3, 53:2, 58:1.8, 64:1.6, 71:1.4, 80:1.2, 90:1) +# left-side circumference +Loopover_(`tt', + `X: Xc(m4Lx*0.1).start; # print round_(atan2(X.y,X.x)*rtod_-180) + r_text(-patsubst(tt,:,`,'),at X+(Rect_(textht*1.7,-m4Lx*11+40))) + r_text( patsubst(tt,:,`,'),at (X.x,-X.y)+(Rect_(textht*2.1,m4Lx*11-30))) ', + 11:0.1, 23:0.2, 33:0.3, 44:0.4, 53:0.5, 62:0.6, 70:0.7, 77:0.8, 84:0.9) +# Ra=1 labels +Loopover_(`tt',`X: SGamma(1,m4Lx*0.2) + M: move from Rac(1) to X; # print round_(lin_ang(M)*rtod_-180) + r_text(-eval(m4Lx*11),ifelse(m4Lx,5,1,0.eval(m4Lx*2)), + at X+(Rect_(textht*1.5,-m4Lx*11+40))) + r_text( eval(m4Lx*11),ifelse(m4Lx,5,1,0.eval(m4Lx*2)), + at (X.x,-X.y)+(Rect_(textht*2,m4Lx*11-30))) ', + 11:0.2, 23:0.4, 33:0.6, 44:0.8, 53:1) + + textht *=0.9 +# Wavelength circle and tics + wvsep = textht*3/2 + wltic = C.wid/120 + circle thick thn grayline(thkg) diam C.diam+wltic/2+wvsep*11 at C +W: circle thick thn grayline(thkg) diam C.diam+wvsep*8 at C + for tc=0 to 249 do {ax = 180-tc/250*360; line thick thn grayline(thkg) \ + from W+(Rect_(W.rad+wltic/2,ax)) to W+(Rect_(W.rad-wltic/2,ax)) } +# Wavelength circle labels +for_(0,49,1, + `ifelse(eval(m4x<5),1,, + `r_text(eval(90-m4x*180/25),ifelse(m4x,0,0,eval(m4x<10),1,0.0`'m4x,0.`'m4x), + at W+(Rect_(W.rad+wltic/2+textht*0.5,180-m4x*180/25)))') + ifelse(eval(m4x<47),1, + `r_text(eval(90-m4x*180/25),ifelse(m4x,0,0,eval(m4x>40),1,0.0`'eval(50-m4x), + 0.`'eval(50-m4x)), at W+(Rect_(W.rad-wltic/2-textht*1.0,180-m4x*180/25)))')') + + circle thick thn grayline(thkg) diam C.diam+wvsep*5 at C +A: circle thick thn grayline(thkg) diam C.diam+wvsep*2.5 at C + for tc=0 to 359 by 2 do {line thick thn grayline(thkg) \ + from A+(Rect_(A.rad+wltic/2,tc)) to A+(Rect_(A.rad,tc)) } +for_(20,170,10, + `r_text(eval(-90+m4x),m4x,at A+(Rect_(A.rad+textht*0.5,m4x))) + r_text(eval( 90-m4x),-m4x,at A+(Rect_(A.rad+textht*1.2,-m4x))) + ') + r_text(90,180,at A-(A.rad+textht/2,0)) +Loopover_(`rca', + `r_text(eval(90-(180-rca/10)),eval(m4Lx*5+5), + at A+(Rect_(A.rad-textht*0.7,rca/10))) + r_text(eval(-90+(180-rca/10)),eval(-m4Lx*5-5), + at A+(Rect_(A.rad-textht*0.7,-rca/10))) ', + 195,295,392,490,588,685,782,880,967,1072, + 1165,1260,1352,1438,1518,1598,1645) + +# Internal labels + setrgb(thng,thng,thkg) + "RESISTANCE R/Zo OR CONDUCTANCE G/Yo" at C+SGamma(0.5,0)-(0,C.rad/40) + Loopover_(`Lttr',`ifelse(Lttr,*,,`r_text(eval(87-m4Lx*86/100),Lttr, + at W+(Rect_(W.rad+wltic/2+textht*0.5, 177-m4Lx*0.86))) ')', + W,A,V,E,L,E,N,G,T,H,S,*,T,O,W,A,R,D,*,G,E,N,E,R,A,T,O,R) + Loopover_(`Lttr',`ifelse(Lttr,*,,`r_text(eval(115-m4Lx*86/100),Lttr, + at W+(Rect_(W.rad-wltic/2-textht*1.0, 204-m4Lx*0.86))) ')', + W,A,V,E,L,E,N,G,T,H,S,*,T,O,W,A,R,D,*,L,O,A,D) + Loopover_(`Lttr',`ifelse(Lttr,*,,`define(`xa','13-m4Lx*86/100`) + r_text(eval(xa-90),Lttr,at A+(Rect_(A.rad+textht*0.7, xa))) ')', + R,E,F,L,E,C,T,I,O,N,*,C,O,E,F,F,I,C,I,E,N,T,*,A,N,G,L,E) + Loopover_(`Lttr',`ifelse(Lttr,*,,`define(`xa','14-m4Lx*86/100`) + r_text(eval(xa-90),Lttr,at A+(Rect_(A.rad-textht*0.7, xa))) ')', + T,R,A,N,S,M,I,S,S,I,O,N,*,C,O,E,F,F,I,C,I,E,N,T,*,A,N,G,L,E) + resetrgb + +ifpostscript(,latexcommand(}%)) +ifsvg(command "") +] ') + +Smithchart at (0,0) + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Stator.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/Stator.m4 index 9141d20bd44..fc74a111e7d 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/Stator.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/Stator.m4 @@ -2,6 +2,7 @@ # Stator.m4 # https://tex.stackexchange.com/questions/612620/how-to-paint-inside-a-set-of-lines gen_init +scale = 0.5 outerwid = 5/2 innerwid = 3.7/2 diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Ttree.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/Ttree.m4 deleted file mode 100644 index 6cf9203b006..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/Ttree.m4 +++ /dev/null @@ -1,56 +0,0 @@ -.PS -# Ttree.m4 -# A binary tree using m4 -gen_init -sinclude(tst.dim) -s_init(Ttree) - -# `Node(no in row, head [location], -# displacement of top of body (.n) wrt head, -# body Node 1, body Node 2, ...) ' -define(`Node',` - Head`$1': `$2' - ifelse(`$3',,,`Body`$1': [ - Loopover_(`v',`v; define(`m4ct',m4Lx)',shift(shift(shift($@)))) - ] with .n at Head`$1' + `$3' - connect(`$1',m4ct)')') - -define(`connect',`Bot: move from Head$1.sw to Head$1.se -for_(1,`$2',1, - `Top: move from Body$1.Head`'m4x.nw to Body$1.Head`'m4x.ne - Move: move from Head$1 to Body$1.Head`'m4x - if Bot.len*Top.len*Move.len > 0 then { - line from Intersect_(Move,Top) to Intersect_(Move,Bot)}')') - - vsep = 0.75 - - Node(1,s_box($`h(h(h(x_1,x_2),h(x_3,x_4)),h(h(x_5,x_6),h(x_7,x_8)))'$), - (0,-vsep), - Node(1,s_box($`h(h(x_1,x_2),h(x_3,x_4))'$), - (0,-vsep), - Node(1,s_box($`h(x_1,x_2)'$), - (0,-vsep), - Node(1,s_box($`x_1:=((A,pk_A),h_1)'$)), - Node(2,s_box($`x_2:=((B,pk_B),h_2)'$) \ - with .n at last "".ne+(0.2,-vsep*2/3))), - Node(2,s_box($`h(x_3,x_4)'$) with .nw at Head1.ne+(Body1.wid/2+0.1,0), - (0,-vsep), - Node(1,s_box($`x_3:=((A,pk_A^\prime),h_3)'$)), - Node(2,s_box($`x_4:=((D,pk_D),h_4)'$) \ - with .n at last "".ne+(0.2,-vsep*2/3)))), - Node(2,s_box($`h(h(x_5,x_6),h(x_7,x_8))'$) \ - with .nw at Head1.ne+(Body1.wid/2,0), - (0,-vsep), - Node(1,s_box($`h(x_5,x_6)'$), - (0,-vsep*5/4), - Node(1,s_box($`x_5:=((E,pk_E),h_5)'$)), - Node(2,s_box($`x_6:=((H,pk_H),h_6)'$) \ - with .n at last "".ne+(0.2,-vsep*2/3))), - Node(2,s_box($`h(x_7,x_8)'$) with .nw at Head1.ne+(Body1.wid/2+0.1,0), - (0,-vsep*5/4), - Node(1,s_box($`x_7:=((D,pk_D^\prime),h_7)'$)), - Node(2,s_box($`x_8:=((K,pk_K),h_8)'$) \ - with .n at last "".ne+(0.2,-vsep*2/3))), - Node(3,s_box($`h(x_9)'$) at 0.5 between Head1 and Head2))) - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Tubediags.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/Tubediags.m4 index b49f0ffa8ed..eb402755c7d 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/Tubediags.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/Tubediags.m4 @@ -4,7 +4,7 @@ cct_init include(tubedefs.m4) -iflatex(`latexcommand({\sf)') +ifpostscript(,iflatex(`latexcommand({\sf)')) Overall:[ @@ -366,5 +366,5 @@ PO: dot #showbox_ #print last [].wid,last [].ht -iflatex(latexcommand(})) +ifpostscript(,iflatex(latexcommand(}))) .PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/UNO.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/UNO.m4 new file mode 100644 index 00000000000..02e89ea13a7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/UNO.m4 @@ -0,0 +1,568 @@ +.PS +# UNO.m4 +log_init +include(ics.m4) +finalscale = 0.72 +textht = 0.1/finalscale +textoffset = 1.5bp__ * 2 +ifpostscript(,latexcommand({\tiny\sf)) + +divert(-1) + + `Header([A][1|2], rows, wid, ht, + boxspec, pinlen;pinsize) + arg1: A= type A; number of columns + arg2: pins per column + arg3,4: custom wid, ht + arg5: eg fill_(0.9)' +define(`Header', +`[ define(`m4tp',ifinstr(`$1',A,A))define(`m4Hq',patsubst(`$1',A))dnl + define(`m4Hn',`ifelse(m4Hq,,1,m4Hq)')dnl + define(`m4Hm',`ifelse(`$2',,2,`$2')')dnl + define(`m4Hw',`ifelse(`$3',,`m4Hn*L_unit*3',`($3)')')dnl + define(`m4Hh',`ifelse(`$4',,`m4Hm*L_unit*3',`($4)')')dnl + ifinstr(`$6',;, + `stacksplit_(`m4Jdr',`$6',;)dnl + define(`m4Jps',ifelse(m4Jdr,,`L_unit',m4Jdr))popdef(`m4Jdr')dnl + define(`m4Jpl',ifelse(m4Jdr,,`lg_plen*L_unit',m4Jdr))popdef(`m4Jdr') ', + `define(`m4Jps',L_unit)dnl + define(`m4Jpl',`ifelse(`$6',,lg_plen*L_unit,`$6')')')dnl + Block: rotbox(m4Hw,m4Hh,`$5') + ifelse(`m4tp',A,`pushdef(`L_unit',(linewid/6))') + define(`m4Hct',1)dnl + for_(1,m4Hm,1, + `HeaderPin(Block.NW+vec_(m4Jps*3/2,-(m4x-1/2)*m4Hh/m4Hm), + ifinstr(m4tp,A,1,eval(m4Hct-1)), + P`'m4Hct, w, (m4Jpl+m4Jps);m4Jps) define(`m4Hct',incr(m4Hct)) + ifelse(m4Hn, 2, `HeaderPin(Block.NE+vec_(-m4Jps*3/2,-(m4x-1/2)*m4Hh/m4Hm), + 1, P`'m4Hct, e, (m4Jpl+m4Jps);m4Hps) define(`m4Hct',incr(m4Hct))') ') + ifelse(`m4Hq',A,`popdef(`L_unit')') + `$7' ]') + `HeaderPin(location, type, Picname, n|e|s|w, + [length][;pinsize]) + arg2: 0= square' +define(`HeaderPin',` + ifinstr(`$5',;, + `stacksplit_(`m4Hdr',`$5',;)dnl + define(`m4Hps',ifelse(m4Hdr,,`L_unit',m4Hdr))popdef(`m4Hdr')dnl + define(`m4Hpl',ifelse(m4Hdr,,`lg_plen*L_unit',m4Hdr))popdef(`m4Hdr') ', + `define(`m4Hps',L_unit)dnl + define(`m4Hpl',`ifelse(`$5',,lg_plen*L_unit,`$5')')')dnl + ifelse(`$1',,,`move to `$1';') + ifelse(`$3',,,`$3':) line to ifelse( + `$4',n,`rvec_(0,m4Hpl)', `$4',e,`rvec_(m4Hpl,0)', + `$4',s,`rvec_(0,-m4Hpl)', `rvec_(-m4Hpl,0)') + ifelse(`$3',,,Pin`$3':) ifelse(ifelse(`$2',,0,`$2'),0, + `rotbox(m4Hps,m4Hps,fill_(1))', + `circle diam m4Hps fill_(1)') at last line.start ') + +define(`brdge',`eleminit_(`$1') + define(`m4h',ifelse(`$2',,`sourcerad_',`($2)/2'))dnl + { line to rvec_(rp_len/2-m4h/2,0) + move to rvec_(m4h/2,0) + for m4ng=75 to 255 by 180 do {{ + m4fshade(0, arc cw from rvec_(Rect_(m4h/2,m4ng)) \ + to rvec_(Rect_(m4h/2,-m4ng)) \ + with .c at Here ) }} + line from rvec_(m4h/2,0) to rvec_(rp_len/2,0) } + { [box invis ht_ m4h wid_ m4h] at rvec_(rp_len/2,0) } + line to rvec_(rp_len,0) invis ') + +define(`ATMEGA16U2',`[ + Chip: box wid 10*lg_pinsep ht 25*lg_pinsep + Loopover_(`x', + `Arightpin(patsubst(x,;,`,'))', + 6;PD0, 7;PD1, 8;PD2, 9;PD3, 10;PD4, 11;PD5, 12;PD6, 13;PD7, + 131;nul, + 5;PC2, 26;PC4, 25;PC5, 23;PC6, 22;PC7, + 132;nul, + 133;nul, + 14;PB0, 15;PB1, 16;PB2, 17;PB3, 18;PB4, 19;PB5, 20;PB6, 21;PB7) + Loopover_(`x', + `Aleftpin(patsubst(x,;,`,'))', + 33;PAD, + 100;nul, + 28;UGND, 29;D$+$, 30;D$-$, 31;UVCC, 27;UCAP, + 101;nul, 102;nul, + 3;GND, 4;VCC, 103;nul, + 104;nul, + 32;AVCC, + 105;nul, 106;nul, + 1;XTAL1, + 107;nul, + 2;XTAL2(PC0), + 108;nul, 109;nul) + lg_pin(Pin109+(0,lg_pinsep),RESET,Pin24,wN,24,pinlen) + ]') +define(`Aleftpin',`move to Chip.sw+(0,m4Lx*lg_pinsep) + Pin`$1': ifelse(`$2',nul,Here,dnl + `line left pinlen "`$1'" above + "`$2'" ljust at last line.start')') +define(`Arightpin',`move to Chip.se+(0,m4Lx*lg_pinsep) + Pin`$1': ifelse(`$2',nul,Here,dnl + `line right pinlen "`$1'" above + "`$2'" rjust at last line.start')') + +define(`ATMEGA328P',`[ + Chip: box wid 10*lg_pinsep ht 23*lg_pinsep + Loopover_(`x', + `Arightpin(patsubst(x,;,`,'))', + 2;PD0, 3;PD1, 4;PD2, 5;PD3, 6;PD4, 11;PD5, 12;PD6, 13;PD7, + 100;nul, + 23;PC0, 24;PC1, 25;PC2, 26;PC3, 27;PC4, 28;PC5, + 101;nul, + 14;PB0, 15;PB1, 16;PB2, 17;PB3, 18;PB4, 19;PB5) + Loopover_(`x', + `Aleftpin(patsubst(x,;,`,'))', + 201;nul, 202;nul, 203;nul, 204;nul, 205;nul, 206;nul, 207;nul, 208;nul, + 209;nul, + 8;GND, 7;VCC, + 301;nul, + 22;AGND, 20;AVCC, 21;AREF, + 302;nul, + 9;XTAL1, + 303;nul, + 10;XTAL2, + 304;nul, 305;nul) + lg_pin(Pin305+(0,lg_pinsep),RESET,Pin1,wN,1,pinlen) + ]') + +define(`rswitch',`dswitch(`$1',,WBoDCP) + DS: last line.start; DC: last line.c; DE: last line.end + DL: DC-vec_(dimen_/6,0); DR: DC+vec_(dimen_/6,0) + {{"1" at DL above rjust}; {"3" at DR above ljust} + { line from DL to DL-vec_(0,dimen_/6) chop dotrad_ chop 0 + {"2" below rjust} + continue to DS-vec_(0,dimen_/6) then to DS; dot } + { line from DR to DR+vec_(0,-dimen_/6) chop dotrad_ chop 0 + {"4" below ljust} + continue to DE+vec_(0,-dimen_/6) then to DE; dot } + line from DC+vec_(dimen_/10,-dimen_/6) to DC+vec_(-dimen_/10,-dimen_/6) + move to last line.c; line to rvec_(0,-dimen_/3) \ + then to rvec_(-dimen_/3,-dimen_/3) + {"5" below}} ') + +divert(0)dnl +[ + + define(`pinlen',`30bp__') + define(`lg_pinsep',(1.2*lg_pinsep)) + del = lg_pinsep + define(`pindiam',0.1) + + define(`egnd',`ground(,,E); "GND" at last line.c below') + + U3: ATMEGA16U2 + `"ATMEGA16U2-MU(R)"' at U3.Chip.s below + `"U3"' at U3.Chip.nw ljust above + ZU4: ATMEGA328P with .Chip.nw at U3.Chip.sw+(-2.5,-10*del) + `"ATMEGA328P-PU"' at ZU4.Chip.s below + `"ZU4"' at ZU4.Chip.nw ljust above + + dot(at U3.Pin2.end) + R1: resistor(down_ 2*lg_pinsep,,E) + rlabel(,"R1" rjust "1M" rjust) + dot + dot(at R1.start-(2*del,0)) + xtal(down_ 2*lg_pinsep) + rlabel(16,,"MHz"); dot + XT2: dot(at last line.start-(2*del,0)); { "XT2" at last [].n above } + + Br1: brdge(left_ from U3.Pin33.end to (XT2,U3.Pin33)) + rlabel(1,,2); llabel(,"GROUND") + BRE: dot + line to (Here,U3.Pin28) then to U3.Pin28.end + {"UGND" at (Br1,Here) above} + + XT1: dot(at XT2-(del,R1.len)); { "XT1" at last [].n above } + line from XT1 to U3.Pin1.end + line from U3.Pin2.end to (XT1,XT2) + C11: capacitor(left_ 3*del); rlabel(,"C11"); llabel(,"22`'pF") + C9: capacitor(from XT1 to (Here,XT1)); {"C9" "22`'pF" at last [].s+(0,-11bp__)} + { line to C11.end } + dot + G1: egnd + line from XT1 down_ 3*del; continue to (G1,Here); dot(,,1) + {"XT3" at last [].n above} + dot(at Here+(0,-3/2*del),,1); {"XT4" at last [].n above} + { line to (XT2,Here) then to XT2 chop dotrad_ chop 0 } + USBVCC: dot(at Here+(0,-7/2*del),,1) + {"USBVCC" at last [].n-(3/2*del,0) above ljust} + { line to (Here,U3.Pin31) chop dotrad_ chop 0; continue to U3.Pin31.end } + dot(at Here+(2*del,0),,1); {"VUCAP" at last [].e+(0,-5bp__) ljust} + line to (Here,U3.Pin27) chop dotrad_ chop 0; dot + line from U3.Pin27.end to (G1.x-4.5*del,U3.Pin27.y) + C8: capacitor(down_ to (Here,Br1)); llabel("C8",,1`\,'\mu) + Bus1: dot + + dot(at U3.Pin33.end) + move to U3.Pin3.end; line to (Here,U3.Chip.s) + G2: ground(,T,E); {"GND" at last line.c below } + + dot(at U3.Pin32.end) + {line to U3.Pin4.end; dot} + line left del; ground(,,E,U); {"$+5`\,'$V" at last line.c above} + + line from U3.Pin4.end left_ 2*del + capacitor(down_ 3*del); { llabel("C7",,100n) } + G3: ground(,T,E); {"GND" at last line.c below } + + line from U3.Pin30.end to (G1.x-2*del,U3.Pin30.y); TD: Here + continue to (Here,U3.Pin32) + { "RD$-$" above rjust }; continue left_ 1.5*del + RN3A: resistor(left_ 3/2*dimen_,,E); rlabel(,"22R RN3A") + Dm: line left_ 7*del + +USB: [ K: box invis wid dimen_/2 ht 5*lg_pinsep + "USB" rjust at K.e + line thick 1.5 from K.nw to K.ne then to K.se then to K.sw + Loopover_(`x', + `Pin`'m4Lx: K.ne-(0,m4Lx/5*K.ht) + "x" at Pin`'m4Lx ljust above', + 1 XUSB, 2 D$-$, 3 D$+$, 4 UGND) + P_1: K.sw; {"P1" at P_1 below rjust} + P_2: K.s; {"P2" at P_2 below ljust} + ] with .Pin2 at Here; "X2" at USB.ne above rjust + + move to U3.Pin29.end + line to (TD.x-del,Here.y); continue to (Here,Dm-(0,lg_pinsep)) + { "RD$+$" above rjust} + continue to (RN3A.start,Here) + RN3D: resistor(left_ 3/2*dimen_,,E); llabel(,"22R RN3D") + line to USB.Pin3 + + dot(at RN3A.end); line to (Here,RN3D) + Z2: variable(`resistor(down_ to (Here,U3.Pin27),,E); rlabel("Z2")',NN) + dot(at RN3D.end-(2*del,0)) + Z1: variable(`resistor(to (Here,U3.Pin27),,E); rlabel("Z1")',NN) + dot; line to (Z2,Here) + move up Z1.len/4 from last line.c; "CG0603MLC-05E" "X 2" + + line down_ del from USB.P_1; continue to (USB.P_2,Here); dot + line from USB.P_2 to (USB.P_2,Z1.end) then to Z1.end + dot(at (USB.P_2,Here)+(3/2*del,0)); line to (Here,USBVCC) + dot(,,1); {"USHIELD" at last [].n+(4bp__,0) above} + + L1: reversed(`inductor',down_ from Z1.end to (Z1,C8.end),W,,) + rlabel(,"L1"); llabel("BLM21" ljust); dot + { dot(at (Z2,Here)); line to (Here,U3.Pin28); dot(,,1) + "UGND" at last [].n above } + line from USB.Pin1 to (Z2,USB.Pin1) then up 2*del + XUSB: dot(,,1); {"XUSB" at last [].n above} + line from (Z1,USB.Pin3) to (Z1,XUSB); + DP: dot(,,1); {"D$+$" at last [].n above} + dot(at (DP,USB.Pin2)-(2*del,0)); line to (Here,XUSB) + DM: dot(,,1); "D$-$" at last [].n above + line from USB.Pin4 to (DM,USB.Pin4) then to (DM,BRE) then to BRE + + line from U3.Pin18.end right_ 3.5*del + JP2: Header(A2,2,4*del,2*lg_pinsep,,0.2;pindiam) with .P3.end at Here + "JP2" at JP2.Block.nw above ljust + "2X2M - NM" at JP2.s below + "1" at JP2.P3.end above ljust; "3" at JP2.P1.end above ljust + "2" at JP2.P4.end above rjust; "4" at JP2.P2.end above rjust + line from JP2.P1.end to (JP2.P1.end,U3.Pin19) then to U3.Pin19.end + dot(at JP2.P1.end); line up 3.5*del + TPPB5: dot(,,1); {"PB5" at last [].e ljust} + TPPB4: dot(at TPPB5-(del*3/2,0),,1); {"PB4" at last [].w rjust} + line to (Here,JP2.P3); dot + line from JP2.P2.end to (JP2.P2.end,TPPB4) + TPPB7: dot(,,1); {"PB7" at last [].w rjust} + line from JP2.P4.end right del*3/2; continue to (Here,TPPB4) + TPPB6: dot(,,1); {"PB6" at last [].n above} + line from U3.Pin20.end right del then up del; continue to (TPPB6,Here); dot + line from U3.Pin21.end up del; continue to (TPPB7,Here); dot + + ICSP1: Header(A2,3,4*del,2.5*lg_pinsep,,0.2;pindiam) \ + with .P1.end at (JP2.P1.end,U3.Pin14) + "ICSP1" at last [].Block.nw above ljust + "3X2 M" at last [].Block.sw below ljust + for_(1,5,2,`"m4x" at ICSP1.P`'m4x.end above ljust') + for_(2,6,2,`"m4x" at ICSP1.P`'m4x.end above rjust') + line from ICSP1.P1.end to (ICSP1.P1.end,U3.Pin17) then to U3.Pin17.end + line from ICSP1.P3.end left del; continue to (Here,U3.Pin15) \ + then to U3.Pin15.end + + dot(at U3.Pin24.end); + RN1C: resistor(up_ 5*lg_pinsep,,E); rlabel(,"10K","RN1C"); llabel(5,,3) dot + line up_ 2*del; ground(,T,E,U); {"+5 V" at last line.w rjust} + dot(at U3.Pin24.end-(del,0)); + D3: diode(up_ RN1C.len); llabel(,,"D3") + line to (TPPB6.x+del,Here.y) + continue to (Here,ICSP1.P2.end) then to ICSP1.P2.end + line from ICSP1.P5.end down 2*del; continue to (TPPB6.x+2*del,Here.y) + TRESET2: Here + continue to (Here.x,D3.end.y+del) then to (RN1C.end.x-2.5*del,D3.end.y+del) + continue to (Here,U3.Pin24) then to U3.Pin24.end + G4: ground(at ICSP1.P6.end,,E); {"GND" at last line.c below } + line from ICSP1.P4.end right del then up U3.Pin16.y-ICSP1.P4.y \ + then to U3.Pin16.end + dot(at ICSP1.P1.end); line left_ 2.5*del then down_ 5*del + MISO2: dot(,,1); {"MISO2" at last [].s below } + dot(at ICSP1.P3.end-(del,0)); line to (Here,MISO2) + SCK2: dot(,,1); {"SCK2" at last [].s below ljust } + dot(at TRESET2); line to (Here,SCK2) + RESET2: dot(,,1); {"RESET2" wid 36bp__ at last [].s below } + dot(at ICSP1.P4.end+(del,0)); line to (Here,RESET2) + MOSI2: dot(,,1); {"MOSI2" at last [].s-(del,0) below } + + line right_ del from U3.Pin11.end then up_ del*3/2 + TXLED: reversed(`diode',right_ elen_,LER) + rlabel(,"YELLOW"); llabel("TX"); dot + {line up_ del; TPTXL: dot(,,1); "TXL" at last [].n above} + RN2C: resistor(right_ elen_,,E); llabel(,"1 K RN2C"); rlabel(6,,3); dot + line from U3.Pin10.end to (TXLED.start,U3.Pin10) + RXLED: reversed(`diode',to (TXLED.end,Here),LER) + rlabel(,"YELLOW"); llabel("RX"); dot + {line up_ del; dot(,,1); "RXL" at last [].n above} + RN2B: resistor(right_ elen_,,E); llabel(,"1 K RN2B"); rlabel(7,,2) + line to (Here,TPTXL); ground(,T,E,U); "+5 V" at last line.c above + +# ZU4 connections + line left_ del*3/2 from ZU4.Pin7.end; dot + {line up_ del; G4: ground(,T,E,U); "+5 V" at last line.c above } + C6: capacitor(down dimen_); llabel("100n",,"C6"); dot + { dot(at ZU4.Pin8.end) }; dot(at (ZU4.Pin8.end,Here)) + { G4: ground(at Here+(0,-del),,E); {"GND" at last line.c below } + line to ZU4.Pin22.end } + line left_ Here.x-C6.x + dimen_*5/4 + C10: capacitor(up_ C6.len); llabel("100n",,"C10"); dot + { line to (Here,ZU4.Pin20) then to ZU4.Pin20.end } + L2: inductor(right_ to C6.start,W); rlabel(,"L2"); llabel(,"100$`\,'\mu$H") + + line left 2*del from ZU4.Pin9.end; PE: dot + R2: resistor(up_ to (Here,ZU4.Pin10),,E); llabel(,"R2"); rlabel(,"1 M"); dot + dot(at Here-(del*4.0,0)); { "XTAL2" above ljust } + XTAL: xtal(down_ R2.len); llabel("16 MHz"); dot; { "XTAL1" below ljust } + pushdef(`dimen_',dimen_/2) + capacitor(left_ del from 0.2 between XTAL.start and XTAL.end) + capacitor(left_ del from 0.8 between XTAL.start and XTAL.end) + popdef(`dimen_') + line up XTAL.len*0.6 + line left del from last line.c then down del + G5: ground(,T,E); "GND" at last line.c below + line down_ del from XTAL.end; dot(,,1); "XT1" at last [].s below + line up del from XTAL.start; dot(,,1); "XT2" at last [].n above + line from XTAL.start to ZU4.Pin10.end + line from XTAL.end to ZU4.Pin9.end + line left 2*del from ZU4.Pin1.end; dot + D2: diode(up_ dimen_); rlabel(,"D2") + dot(at D2.start-(2.5*del,0)) + RN1D: resistor(up_ D2.len,,E); rlabel("10 K",,"RN1D"); dot + { line to D2.end } + line up_ del; ground(,T,E,U); "+5 V" at last line.c above + + line from ZU4.Pin1.end to (RN1D-(1.5*del,0),ZU4.Pin1) then up 7*del + continue to (ZU4.Chip.w,Here)+(del,0); BRB: dot + { line down_ 2*del; Br2: brdge(right_ dimen_) + llabel(1,,2); rlabel(,"RESET\_EN"); line up_ 2*del; dot } + line right_ dimen_+del + C5: capacitor(right_ dimen_); llabel(,"C5"); rlabel("100n"); dot + { RN2D: resistor(down_ dimen_,,E); rlabel(,"1 K"); llabel(,"RN2D") + G6: ground(,T,E); "GND" at last line below } + { line up_ del; DTR: dot(,,1); "DTR" at last [].e ljust } + line from U3.Pin13.end right del/2; continue to (Here,U3.Chip.s) \ + then left+2*del; continue to (Here,BRB) then to C5.end + TP2: Here; continue to C5.end + + line up 3*del from BRB + TP1: dot #; line left BRB.x-RN1D.x + RESET: rswitch( right_ dimen_ from (USB.e,Here)+(del/2,0)) + { "RESET" at RESET+(-del*1.7,1.0*del) above } + line left del from RESET.start then down del + G7: ground(,T,E); "GND" at last line.c below + + ICSP: Header(A2,3,4*del,2.5*lg_pinsep,,0.2;pindiam) \ + with .Block.sw at ZU4.Pin19.end+(2*del,del*3) + "ICSP" at ICSP.Block.nw above ljust + "3X2 M" at ICSP.Block.sw below ljust + for_(1,5,2,`"m4x" at ICSP.P`'m4x.end above ljust') + for_(2,6,2,`"m4x" at ICSP.P`'m4x.end above rjust') + dot(at ZU4.Pin19.end); line to (Here,ICSP.P3) then to ICSP.P3.end + line from ZU4.Pin18.end right del; dot + line to (Here,ICSP.P1) then to ICSP.P1.end + move to ICSP.P5.end; line to (ZU4.Pin19.end,Here)-(del,0); + continue to (Here,TP1); dot + line from ICSP.P2.end up_ del; ground(,T,E,U); "+5 V" at last line.c above + line from ICSP.P6.end down_ del; G9: ground(,T,E); "GND" at last line.c below + move to ICSP.P4.end; line right_ del then down Here.y - ZU4.Pin17.y; dot + + line right_ from RESET.end to (U3.Chip.e+(12*del,0),TP1) + POWER: Header(A1,8,1.5*del,7*lg_pinsep,,0.2;pindiam) with .P3.end at Here + "POWER" wid 36bp__ at POWER.Block.nw above ljust + "8X1F-H8.5" at POWER.Block.sw below ljust + for_(1,8,1,`"m4x" at POWER.P`'m4x.end above ljust') + line from POWER.P2.end left del/2 then down POWER.P2.y-POWER.P5.y ; dot + line from POWER.P4.end left 2.5*del; "+3V3" above ljust + dot(at POWER.P3.end-(del*1.5,0)); line up 2*del + dot(,,1); "RESET" at last [].n above + line from POWER.P5.end left 3.5*del then up 4*del; ground(,T,E,U) + "+5 V" at last line.c above + line left del*2 from POWER.P8.end; "VIN" above ljust + line left del/2 from POWER.P7.end; dot + line from POWER.P6.end to (Here,POWER.P6.end) then to Here+(0,-2.5*del) + G10: ground(,T,E); "GND" at last line.c below + + right_ + + IOH: Header(A1,10,1.5*del,10*lg_pinsep,,0.2;pindiam) \ + with .P10.end at ZU4.Pin14.end + (del*15,0) + "IOH" at IOH.Block.nw above ljust + "10X1F-H8.5" at IOH.Block.se below ljust + for_(0,9,1,` + { "incr(m4x)" above ljust at IOH.P`'eval(10-m4x).end } + move to IOH.P`'eval(10-m4x).start-(pindiam/2+dotrad_/2,0) + ifelse(m4x,6,,`dot') + move to IOH.P`'eval(10-m4x).end + ifelse(eval(m4x<6),1,`line from ZU4.Pin`'eval(14+m4x).end to Here ') + ifelse(m4x,6,,` line right del*4; dot(,pindiam/2,1) ') + ifelse(eval(m4x<6),1,`"eval(8+m4x)" at last [].e ljust ')') + "SCL" at last [].e ljust + "SDA" at 3rd last [].e ljust + "AREF" at 5th last [].e ljust + + AD: Header(A1,6,1.5*del,6*lg_pinsep,,0.2;pindiam) \ + with .P6.end at (IOH.P10.end,ZU4.Pin23) #.end + (del*6,0) + "AD" at AD.Block.nw above ljust + "6X1F-H8.5" at AD.Block.se below ljust + for_(0,5,1,` + dot(at AD.P`'eval(6-m4x).start-(pindiam/2+dotrad_/2,0)) + line from ZU4.Pin`'eval(23+m4x).end \ + to AD.P`'eval(6-m4x).end; {"incr(m4x)" above ljust} + line right del*4; dot(,pindiam/2,1) + "A`'m4x" at last [].e ljust ') + + IOL: Header(A1,8,1.5*del,8*lg_pinsep,,0.2;pindiam) \ + with .P8.end at (AD.P1.end,ZU4.Pin2) + "IOL" at IOL.Block.nw above ljust + "8X1F-H8.5" at IOL.Block.sw ljust below + for_(0,7,1,` + dot(at IOL.P`'eval(8-m4x).start-(pindiam/2+dotrad_/2,0)) + line from ZU4.Pin`'eval(ifelse(eval(m4x<5),1,2,6)+m4x).end \ + to IOL.P`'eval(8-m4x).end; {"incr(m4x)" above ljust} + line right del*4; dot(,pindiam/2,1) + "m4x" at last [].e ljust ') + + line from ZU4.Pin21.end up RESET.y-ZU4.Pin21.y-del \ + then right ICSP.P4.end.x-ZU4.Pin21.end.x + 2*del + continue to (Here,IOH.P3)+(0,del*3/2); dot + { C4: capacitor(down_ 3.0*del); llabel("C4",,"100n") + { ground(,T,E); "GND" at last line.e ljust} + line from IOH.P4.end to (Here,IOH.P4); dot } + line right del*3/2; continue to (Here,IOH.P3) then to IOH.P3.end + + line left del/2 from IOH.P2.end; continue to (Here,AD.P2); dot + line left del*3/2 from IOH.P1.end; continue to (Here,AD.P1); dot + + line right_ del*2 from U3.Pin9.end then down_ 3.5*lg_pinsep; dot + { line right_ 2*del; dot(,,1); "RX" at last [].e ljust } + line to (Here,RESET)-(0,del) + RN4B: resistor(down_ dimen_,,E); llabel(7,"RN4B" ljust "1 K" ljust,2) + line down_ del then left_ Here.x - IOH.P9.end.x + del*2.5 + continue to (Here,ZU4.Pin2); dot + + line right_ del from U3.Pin8.end; dot + { line right_ 3*del; dot(,,1); "TX" at last [].e ljust } + line to (Here,RN4B.start) + RN4A: resistor(down_ dimen_,,E); rlabel(8,"RN4A" rjust "1 K" rjust,1) + line to (IOH.P9.end,Here)-(del*3.5,0); continue to (Here,ZU4.Pin3); dot + +Pwr: [ + Vin: line right 2*del "VIN" above + RN1A: resistor(down_ dimen_*5/4,,E); rlabel(8, "RN1A" rjust "10 K" rjust ,1) + CMP: dot + RN1B: resistor(down_ dimen_*5/4,,E); rlabel(2, "RN1B" rjust "10 K" rjust ,7) + B12: ground(,T,E); "GND" at last line below + + line right_ 2*del from CMP; dot + { line up_ 2*del; dot(,,1); "CMP" at last [].n above } + line right_ del + POA: opamp(,"+" ljust,"-" ljust) with .In1 at Here + "U5A" at last [].n; "1" at POA.Out above rjust + "3" at POA.In1 rjust above; "2" at POA.In2 rjust above + line left_ del from POA.In2 then down_ del; "+3V3" below + dot(at POA.Out); {line up_ 2*del; dot(,,1); "GATE" at last [].n above } + T1: mosfet(down_ dimen_*1.5,R,dMdPyEDSQdB,) with .G at Here + "T1" at T1 + (-dimen_/4,del*5/4) + "FDN340P" at T1 + (0,-del*5/4) rjust + dot(at T1.S); { line up_ 2*del; ground(,T,E,U); "+5 V" at last line above } + ] with .RN1B at (USB.e.x+del,RN1C.y-2*del) + dot(at XUSB+(0,-del/2)) + F1: fuse(right_ to (Pwr.T1.D,Here)); { "500 mA" ljust } + { "MF-MSMF050-2" at last [].sw below ljust } + line to Pwr.T1.D + + line from Pwr.T1.S right_ 2.5*lg_pinsep + { U2:box ht 3*lg_pinsep wid 5*lg_pinsep with .nw at Here+(0,lg_pinsep/2) } + {"1" above rjust}; {"IN" ljust} + "LP2985-33DBVR" at U2.s below + "U2" above ljust at U2.nw + "3" above rjust at U2.w; line left del from U2.w then up_ lg_pinsep; dot + "ON/$\overline{\hbox{OFF}}$" at U2.w ljust + U2P2: U2.w+(0,-lg_pinsep); "2" at U2P2 above rjust; "GND" at U2P2 ljust + line from U2P2 left del then down_ del + G15: ground(,T,E); "GND" at last line.c below + U2P5: (U2.e.x,U2.e.y+lg_pinsep) + "OUT" at U2P5 rjust; "5" at U2P5 above ljust + line from U2P5 right 2*del "+3V3" below; dot + { line up_ del; dot(,,1); "3V3" at last [].n above } + C3: capacitor(down_ to(Here,G15)); rlabel(,"C3" rjust "1$`\,'\mu$" rjust) + ground(,T,E); "GND" at last line.c below + "NC/FB" at (U2.e.x,U2P2.y) rjust + + "SCK" above ljust at Pwr.Vin + (0,4*del) + line right_ 3*del + U5B: opamp(,"+" ljust, "-" ljust) with .In1 at Here + "5" at U5B.In1 above rjust; "6" at U5B.In2 above rjust + "U5B" at last [].n; "7" at U5B.Out above rjust + line from U5B.In2 left del then down del then right U5B.Out.x-U5B.In1.x+del + TD2: dot + dot(at U5B.Out); dot(at Here+(0,2*del),,1); "LCMD" at last [].e ljust + line down_ from last [].s to TD2 + RN2A: resistor(right_ dimen_*5/4,,E); llabel(8,"1K",1); rlabel(,"RN2A") + dot; {line up_ 2*del; dot(,,1); "LL" at last [].n above } + diode(right_ dimen_*5/4,LE); rlabel(,"YELLOW") + line down_ dimen_/4; egnd + + X1:box ht 3*lg_pinsep wid 5*lg_pinsep with .w at (U2.x,U5B.y+del) + "X1 DC21MMX" at X1.nw below ljust "PWR SUPPLY" at X1.nw ljust + X1P1: 1/3 between X1.sw and X1.se; "1" at X1P1 rjust below + X1P2: 2/3 between X1.sw and X1.se; "2" at X1P2 rjust below + line down_ del from X1P1; dot; { egnd } + line right X1.e.x+del - Here.x then up_ X1.e.y-Here.y then to X1.e + "3" above ljust at X1.e + line from X1P2 down del/2 then right X1.e.x+del*2 - X1P2.x \ + then up X1.n.y - X1P2.y + del/2; dot + { line up_ 2*del; PWRIN: dot(,,1); "PWRIN" at last [].w rjust } + D1: diode(right_ dimen_); llabel(,"D1"); rlabel(,"M7"); dot + { PC1: capacitor(down_ dimen_,C); llabel(,"PC1" ljust "47$`\,'\mu$" ljust) + G16: egnd } + { line to (Here,PWRIN); dot(,,1); "VIN" at last [].e ljust } + line right 3*del; { "3" above rjust } + U1P1: Here + U1: box ht 3*lg_pinsep wid 4*lg_pinsep with .nw at Here+(0,lg_pinsep/2) + "IN" at U1P1 ljust; "OUT" at (U1.e,U1P1) rjust + "1" below rjust at U1.s + "U1" at U1.nw + (0,textht*1.5) above ljust "NCP1117ST50T3G" ljust + line from U1.s to (U1.s,G16); egnd + U1P4: (U1.e,U1P1); U1P2: U1P4+(0,-del) + { "4" at U1P4 above ljust }; { "2" at U1P2 above ljust }; + line right_ 2*del from U1P4; dot; + line from U1P2 to (Here,U1P2); dot; { line to (Here,U1P4) } + { PC2: capacitor(down_ to (Here,G16),C) + llabel(,"PC2" ljust "47$`\,'\mu$" ljust); egnd } + line right_ del*3/2 from (Here,U1P4); dot + { line to (Here,PWRIN); ground(,T,E,U); "+5V" at last line.c above } + line right_ del*3/2; dot; { line to (Here,PC2.start) + C2: capacitor(down_ to (Here,G16),C) + llabel(,"C2" ljust "100$`\,'\mu$" ljust); egnd } + { line to (Here,PWRIN); dot(,,1); "5V" at last [].n above } + line right_ del*3/2 then to (Here.x+del*3/2,PWRIN.y); dot(,,1) + "5V1" at last [].n above + +] scaled finalscale +#howbox_ + + +ifpostscript(,latexcommand(}%)) +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Wheat.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/Wheat.m4 index a797c81e96a..c70fa8fc74d 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/Wheat.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/Wheat.m4 @@ -4,17 +4,18 @@ gen_init boxwid = boxht -for j = 0 to 7 do { - for i = 0 to 7 do { - box fill_((i+j)%2) at (j*boxwid,-i*boxwid) - x = 2^(j+8*i) - if (i+j)%2==0 then { command "{\white" } else { command "{\black" } - if x < 10000 then { sprintf("\Large$%g$",x) at last box } \ - else { y = int(log(x)) - sprintf("{\Large$%g$}$\cdot 10^{%g}$",round_(x/(10^y)),y) \ - at last box } - command "}" +[ for j = 0 to 7 do { + for i = 0 to 7 do { + x = 2^(j+8*i) + box fill_((i+j)%2) at (j*boxwid,-i*boxwid) + k = ((i+j)%2==0); setrgb(k,k,k) + if x < 10000 then { sprintf("\Large$%g$",x) at last box } \ + else { y = int(log(x)) + sprintf("{\Large$%g$}$\cdot 10^{%g}$",round_(x/(10^y)),y) at last box } + resetrgb + } } - } + ] +box wid 8*boxwid ht 8*boxwid at last [] .PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/control.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/control.m4 index db6a5940cc1..e42a63edecd 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/control.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/control.m4 @@ -22,7 +22,7 @@ S1: circle arrow right from S2.e "$u(s)$" above box "$G(s)$" arrow right ; "$y(s)$" above rjust at Here+(0,2pt__) - arrow down boxht*3/2 from last arrow.c then left last arrow.c.x-S1.x \ + arrow down boxht*5/4 from last arrow.c then left last arrow.c.x-S1.x \ then to S1.s "$-\;$" below rjust ] @@ -139,13 +139,13 @@ boxht = 0.4 boxwid = boxht circlerad = boxht*0.4 -define summer { circle - {line from last circle.nw to last circle.se - line from last circle.sw to last circle.ne - "$$1$" at last circle.n below - "$$2$" at last circle.s above - "$$3$" at last circle.e rjust - "$$4$" at last circle.w ljust} +define summer { [ C: circle + line from C.nw to C.se + line from C.sw to C.ne + "$$1$" at C.n+(0,1bp__) below + "$$2$" at C.s-(0,1bp__) above + "$$3$" at C.e+(1bp__,0) rjust + "$$4$" at C.w-(1bp__,0) ljust ] } define doublebox {[box "$$1$"; arrow; box "$$2$"]} @@ -162,17 +162,17 @@ T: doublebox(H_3,H_4) Y: Here arrow "$S_1$" above -R1: box "$R_1$" at (T.x,T.y+boxht*3/2) +R1: box "$R_1$" at (T.x,T.y+boxht*5/4) arrow from Y to (Y,R1) then to R1.e arrow from R1.w to (S2,R1) then to S2.n "$n_1$" ljust at S2.n+(0,boxht/2) left -Rf: doublebox(R_2,R_3) at ((S1.x+T.x)/2,T.y-boxht*3/2) +Rf: doublebox(R_2,R_3) at ((S1.x+T.x)/2,T.y-boxht*5/4) arrow from T to (T,Rf) then to Rf.e arrow from Rf.w to (S1,Rf) then to S1.s "$n_2$" at S1.s+(0,-boxht/2) ljust ] with .nw at Observer.sw + (0,-0.3) - "(c) A multiblock example" below ljust at Multiblock.sw+(0,-5pt__) + "(c) A multiblock example" below ljust at Multiblock.sw+(0,-3pt__) ') # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . # diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/csc.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/csc.m4 index fdf4b4404f8..2aaf839f0da 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/csc.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/csc.m4 @@ -242,6 +242,6 @@ Face: circle thick 0 fill_(1) rad r3 at C ifsvg(`command ""') #.PE -',` "AntiqueClock.m4 requires PSTricks, Tikz-pgf, or SVG" ') +',` "AntiqueClock.m4 requires" "PSTricks, Tikz-pgf, or SVG" ') ] with .sw at last [].se+(0.25,0) .PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/debug2.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/debug2.m4 index 6b6edf77ba2..5dfb4f20f71 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/debug2.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/debug2.m4 @@ -27,7 +27,7 @@ % % On my Ubuntu machine, boxdims.sty is in % /usr/local/lib/localtexmf/tex/latex/local/ -% and on my cygwin machine it is in +% and on my PC with Cygwin it is in % /cygdrive/d/localtexmf/tex/latex/local/ % but you might choose something like ~/texmf/tex/latex/boxdims/ % diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ABlogixDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ABlogixDPV.m4 new file mode 100644 index 00000000000..d93cdedc9b6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ABlogixDPV.m4 @@ -0,0 +1,53 @@ +.PS +# `ABlogixDPV.m4' + log_init(svg_font(sans-serif,10.5bp__)) + linewid = 0.4 + +# A more complex expression + F: Autologix(And(Or(x3,x1,~x0),Nor(Or(x3,Not(x2),~x1,x0), + And(x4,Or(x2,x1,~x0),Xor(x2,~x1))))) + + Loopover_(`v_', `"svg_it(v_)" wid 11bp__ at F.In`'v_ above', x0,x1,x2,x3,x4) + "svg_it(Out)" ljust at F.Out + "svg_tt(`Autologix(And(Or(x3,x1,~x0),')" \ + wid 201bp__ with .w at F.sw+(0,-0.25) + "svg_tt(`Nor(Or(x3,Not(x2),~x1,x0),And(x4,Or(x2,x1,~x0),')" \ + wid 343bp__ with .w at last "".w+(65bp__,-16bp__) + "svg_tt(`Xor(x2,~x1)))))')" \ + wid 105bp__ with .w at last "".w+(0,-16bp__) +# Inputs on the left with vert offset in L_units +define(`Doff',LV;offset=25) + G: Autologix(And(Or(x3,x1,~x0),Nor(Or(x3,Not(x2),~x1,x0), + And(x4,Or(x2,x1,~x0),Xor(x2,~x1)))), + Doff*L_unit) \ + with .sw at F.Out+(0.2,-0.7) + + Loopover_(`v_', `"svg_it(v_)" wid 11pt__ at G.In`'v_ rjust ', x0,x1,x2,x3,x4) + "svg_it(Out)" wid 22bp__ ljust at G.Out + "svg_tt(`...,'Doff*L`'_unit))" at G.s+(0,-10pt__) + +# A more complex expression +define(`Eoff',R) + E: Autologix(And(Or(x3,x1,~x0),Nor(Or(x3,Not(x2),~x1,x0), + And(x4,Or(x2,x1,~x0),Xor(x2,~x1)))), + Eoff) \ + with .nw at F.sw+(0,-1.5) + + Loopover_(`v_', `"svg_it(v_)" wid 11bp__ at E.In`'v_ above ', x0,x1,x2,x3,x4) + "svg_it(Out)" ljust at E.Out + "svg_tt(...`,'Eoff))" at E.s+(0,-10pt__) + +# Inputs on the left with vert offset in L_units +define(`Foff',LRV;offset=17) + D: Autologix(And(Or(x3,x1,~x0),Nor(Or(x3,Not(x2),~x1,x0), + And(x4,Or(x2,x1,~x0),Xor(x2,~x1)))), + Foff*L_unit) \ + with .sw at E.Out1+(0.2,-0.5) + + Loopover_(`v_', `"svg_it(v_)" wid 11pt__ at D.In`'v_ rjust ', x0,x1,x2,x3,x4) + "svg_it(Out)" ljust at D.Out + "svg_tt(...`,'Foff*L`'_unit))" at D.s+(0,-10pt__) + + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AdderDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AdderDPV.m4 new file mode 100644 index 00000000000..06b600c239c --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AdderDPV.m4 @@ -0,0 +1,76 @@ +.PS +# AdderDPV.m4 +log_init(svg_font(sans-serif,11bp__)) + + del = linewid/4 +[ # full adder using gates + A: dot; { move left 15bp__}; {"A" rjust}; line right + Xor1: XOR_gate with .In1 at Here + dy = Xor1.In1.y-Xor1.In2.y + B: dot(at (A,Xor1.In2)); {"B" rjust}; line to Xor1.In2 + line from Xor1.Out right 2*del+dy + Xor2: XOR_gate with .In1 at Here + + Co: Autologix(Or(And(X1,X2),And(A,B)),N) with .nw at Xor2.sw+(-del,-del/2) + line from Co.In1 to (Co.In1,Xor2.In2) then to Xor2.In2 + dot(at (Xor1.Out+(del,0))); line to (Here,Co.In2) then to Co.In2 + dot(at (Xor1.In1-(del,0))); line to (Here,Co.In3) then to Co.In3 + dot(at (Xor1.In2-(del+dy,0))); line to (Here,Co.In4) then to Co.In4 + line right del from Co.Out1; dot; {"Co" ljust } + dot(at (Here,Xor2.Out)); {"S" ljust}; line to Xor2.Out + Ci: dot(at (B,(0.5 between Xor2.s and Co.n))); line to (Co.In1,Here); dot + "Ci" rjust at Ci + ] + +[ # truth table + griddim = linewid*0.4 + define(`row',`T: (0,-(`$1')*griddim*0.8) + Loopover_(`v',`"v" at T; T: T+(griddim,0)', shift($@))') + + [row(0,A,B,Ci,Co,S)] + line thick 2 color "gray" right 4.5*griddim \ + with .c at last [].c+(0,-griddim/2) + + [row(1,0,0,0,0,0) + row(2,0,0,1,0,1) + row(3,0,1,0,0,1) + row(4,0,1,1,1,0) + row(5,1,0,0,0,1) + row(6,0,1,1,0,0) + row(7,1,1,0,1,0) + row(8,1,1,1,1,1) ] with .n at last [].c+(0,-griddim) + + ] with .nw at 1st [].ne+(linewid,0) + +[ # cascade of n-bit adders +define(`smarrow',`arrow arrowht*4/5 wid arrowwid*5/4') +define(`nbitadder', +`FlipFlopX(wid 2*linewid fill_(0.9),n-bit adder, + :, I:;I:;;;I:;I:, I:, O:;;;O: ) `$3' + `"... "' at last [].Chip.n + (0,arrowht) + `"... "' at last [].Chip.s - (0,arrowht) + ifelse(`$1',,, + `"x`'svg_sub($1)" at last [].N6.end above + "s`'svg_sub($1)" at last [].S4.end below + "y`'svg_sub($1)" at last [].N5.end above') + ifelse(`$2',,, + `"x`'svg_sub($2)" ljust at 0.5 between last [].N2.end and last [].N1.end above + "y`'svg_sub($2)" rjust at 0.5 between last [].N2.end and last [].N1.end above + "s`'svg_sub($2)" at last [].S1.end below ') + ') + +P: nbitadder(0,n-1) + {"c`'svg_sub(o)" wid 0.15 at P.E1.end ljust } + {"c`'svg_sub(n)" at P.W1.end above } +Q: nbitadder(n,2n-1, with .E1.end at P.W1.end) + smarrow left arrowht from Q.W1.end + { "... " at Here+(-10pt__,0) } +R: nbitadder(,kn-1, with .E1.end at Here-(20bp__,0)) + smarrow left arrowht from R.W1.end + {"c`'svg_sub(kn)" wid 0.22 rjust } + + + ] with .nw at 1st [].sw+(0,-0.5) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AlogixDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AlogixDPV.m4 new file mode 100644 index 00000000000..68bcf53cedb --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AlogixDPV.m4 @@ -0,0 +1,116 @@ +.PS +# `AlogixDPV.m4' +log_init(svg_font(sans-serif,10.5bp__)) + +# A modest expression in default form +A: Autologix( + Nand(And(Or(A,C),Or(B,~C),Or(~A,B,C)),Ck); + Nand(~A,B)@with .n at last [].s+(0,-2bp__)) + "svg_it(Out1)" at A.Out1 ljust + "svg_it(Out2)" at A.Out2 ljust + Loopover_(`v_', `"svg_it(v_)" at A.In`'v_ above ', A,B,C,Ck) + move left 0.2 from A.w + "svg_tt(`Autologix(')" wid 68bp__ with .w at A.sw+(0,-0.15) + "svg_tt(`Nand(And(Or(A,C),Or(B,~C),Or(~A,B,C)),Ck);')" \ + wid 305bp__ with .w at last "".w+(0.2,-0.18) + "svg_tt(`Nand(~A,B)@with .n at last [].s+(0,-2bp__))')"\ + wid 313bp__ with .w at last "".w+(0,-0.18) + +# Draw a tree of gates only. The ~ has been +# replaced by NOT gates. +B: Autologix(Or(And(B,Not(C)),And(Not(A),B,C)),N) \ + with .sw at A.e+(1.3,-0.5) + "svg_it(Out)" at B.Out above ljust + "svg_tt(`Autologix(Or(And(B,Not(C)),')" wid 165bp__ \ + with .w at B.sw+(-0.6,-0.15) + "svg_tt(`And(Not(A),B,C)),N)')" wid 122bp__ with .w at last "".w+(1.1,-0.18) + for_(1,4,1,`"svg_it(B.In`'m4x)" at B.In`'m4x rjust') + "svg_it(B.In5)" at B.In5+(0,-1.5bp__) rjust + +# Here is how to include an arbitrary circuit +# that is not one of the standard gates. +# First, define the circuit with a name ending +# in _gate. Make sure its inputs are on the left +# and named In1, In2, ... and the output Out +# is on the right. +define(`SR_gate',`[ + S: NOR_gate + R: NOR_gate at S+(0,-L_unit*(AND_ht+4)) + w = (S.Out.x-R.In1.x)/3 + v = 2*L_unit + line right_ dimen_/2 from S.Out + Out: Here + TR: R.In1-(v,0) + line from S.Out+(v,0) down w*3/2 then left S.Out.x-TR.x+v down w \ + then to TR then to R.In1 + TS: S.In2-(v,0); + line from R.Out right v then up w*3/2 then left R.Out.x-TS.x+v up w \ + then to TS then to S.In2 + In1: S.In1 + In2: R.In2 ]') +# Now define the function by which the circuit +# will be invoked: +define(`SRff',`_AutoGate(SR,$@)') + +# You are done. Here is an example: +G: [ + F: Autologix(SRff(And(x,y),Nand(x,y)),LRV) + + "svg_it(x)" at F.Inx rjust + "svg_it(y)" at F.Iny rjust + "svg_it(Out)" at F.Out ljust + ] with .sw at A.n+(0.5,-0.25) + "svg_tt(`Autologix(SRff(And(x,y),Nand(x,y)),LRV)')" wid 285pt__ \ + with .w at last [].sw+(0,-10pt__) + +undefine(`extras') +define(`extras') + +ifdef(`extras',` + Q1: Autologix(Nor(Nor(A,And(B,C)),Nand(Not(B),D))) \ + with .nw at A.sw+(0,-61bp__) + Loopover_(`x',`"x" wid 7bp__ at last [].In`'x above',A,B,C,D) + + "svg_tt(`Q1: Autologix(Nor(Nor(A,And(B,C)),Nand(Not(B),D)),options)')" \ + wid 363bp__ with .nw at Q1.sw+(0,-10bp__) + "svg_tt(`Loopover_(`x',`\"svg_it(x)\" at last [].In`'x above',A,B,C,D)')" \ + wid 431bp__ with .nw at last "".sw+(0,-5bp__) + + Q2: Autologix(Nor(Nor(A,And(B,~C)),Nand(Not(B),D)),V) \ + with .nw at last "".sw+(0,-16bp__) + Loopover_(`x',`"x" at last [].In`'x above',A,B,C,D) + "V" at last [].se above rjust + + Q3: Autologix(Nor(Nor(A,And(B,C)),Nand(Not(B),D)),R) \ + with .nw at last [].sw+(0,-0.2) + Loopover_(`x',`"x" at last [].In`'x above',A,B,C,D) + "R" at last [].se above rjust + + Q4: Autologix(Nor(Nor(A,And(B,C)),Nand(Not(B),D)),RV) \ + with .nw at last [].sw+(0,-0.2) + Loopover_(`x',`"x" at last [].In`'x above',A,B,C,D) + "RV" at last [].se above rjust + + Autologix(Nor(Nor(A,And(B,C)),Nand(Not(B),D)),LRV) \ + with .Out at Q4.Out+(3.5,0) + Loopover_(`x',`"x" at last [].In`'x rjust',A,B,C,D) + "LRV" at last [].se above rjust + + Autologix(Nor(Nor(A,And(B,C)),Nand(Not(B),D)),LR;offset=-L_unit*1.5) \ + with .Out at Q3.Out+(3.5,0) + Loopover_(`x',`"x" at last [].In`'x rjust',A,B,C,D) + "LR" at last [].se above rjust + + Autologix(Nor(Nor(A,And(B,~C)),Nand(Not(B),D)),LV;offset=L_unit*2) \ + with .Out at Q2.Out+(3.5,0) + Loopover_(`x',`"x" at last [].In`'x rjust',A,B,C,D) + "LV" at last [].se above rjust + + Autologix(Nor(Nor(A,And(B,C)),Nand(Not(B),D)),L) \ + with .Out at Q1.Out+(3.5,0) + Loopover_(`x',`"x" at last [].In`'x rjust',A,B,C,D) + "L" at last [].se above rjust +') + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AmpTableDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AmpTableDPV.m4 new file mode 100644 index 00000000000..2850ff5ad70 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AmpTableDPV.m4 @@ -0,0 +1,25 @@ +.PS +# `Amptable.m4' +cct_init(svg_font(sans-serif,11bp__)) + + textwid = 0.7 + movewid = 2pt__ +{ + {amp ; move ; "`amp'" ljust} + move down 0.4; right_ + {amp(,0.3) ; move ; "`amp'(,0.3)" ljust} + } + move right_ 2.0 +{ {delay ; move ; "`delay'" ljust} + move down 0.4; right_ + {delay(,0.2) ; move ; "`delay'(,0.2)" ljust} + } + + move right_ 2.0 +{ {integrator ; move ; "`integrator'" ljust} + move down 0.5; right_ + {integrator(,0.3) ; move ; "`integrator'(,0.3)" wid 1.2 at Here ljust} + } + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AntennasDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AntennasDPV.m4 new file mode 100644 index 00000000000..ed098b39108 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AntennasDPV.m4 @@ -0,0 +1,40 @@ +.PS +# `Antennas.m4' +cct_init(svg_font(sans-serif,11bp__)) + textoffset = 3bp__ + + define(`elen_',elen_*0.9) + B: Here + A: antenna + "T" below at A.T + "`antenna'" wid 0.6 at A.n above + A: antenna(at A.T+(elen_,0),T) + "T" below at A.T + "`(,T)'" at A.n above + A: antenna(at A.T+(elen_,0),,L) + "T1" below rjust at A.T1 + "T2" below ljust at A.T2 + "`(,,L)'" at A.n above + A: antenna(at A.T+(elen_,0),T,L) + "T1" below rjust at A.T1 + "T2" below ljust at A.T2 + "`(,T,L)'" at A.n above + A: antenna(at A.T+(elen_,0),,T) + "T" below at A.T + "`(,,T)'" at A.n above + A: antenna(at A.T+(elen_,0),,S) + "T1" below rjust at A.T1 + "T2" below ljust at A.T2 + "`(,,S)'" at A.n above + A: antenna(at A.T+(elen_,0),,D) + "T1" below rjust at A.T1 + "T2" below ljust at A.T2 + "`(,,D)'" at A.n above + A: antenna(at A.T+(elen_,0),,P) + "T" below at A.T + "`(,,P)'" at A.n above + A: antenna(at A.T+(elen_,0),,F) + "T" below at A.T + "`(,,F)'" at A.n above + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ArrestersDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ArrestersDPV.m4 new file mode 100644 index 00000000000..f1d368106af --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ArrestersDPV.m4 @@ -0,0 +1,75 @@ +.PS +# ArrestersDPV.m4 +cct_init + + sep = 0.2 + +R1: [ + arrester + {"svg_tt(`arrester')" at last line.c+(0,-0.2)} + move sep + arrester(,G) + {"svg_tt(`arrester(,G)')" at last line.c+(0,-0.2)} + move sep + arrester(,g) + {"svg_tt(...(,g))" at last line.c+(0,-0.2)} + move sep + arrester(,M) + {"svg_tt(...(,M))" at last line.c+(0,-0.2)} + move sep + arrester(,C) + {"svg_tt(...(,C))" at last line.c+(0,-0.2)} + move sep + arrester(,A) + {"svg_tt(...(,A))" at last line.c+(0,-0.2)} + ] + +R2: [ + arrester(,H) + {"svg_tt(...(,H))" at last line.c+(0,-0.2)} + move sep + arrester(,HR) + {"svg_tt(...(,HR))" at last line.c+(0,-0.2)} + move sep + arrester(,P) + {"svg_tt(...(,P))" at last line.c+(0,-0.2)} + move sep + arrester(,s) + {"svg_tt(...(,s))" at last line.c+(0,-0.2)} + move sep + arrester(,F) + {"svg_tt(...(,F))" at last line.c+(0,-0.2)} + move sep + arrester(,S) + {"svg_tt(...(,S))" at last line.c+(0,-0.2)} + + ] with .nw at R1.sw+(0,-0.2) + + define(`Dlabels', + `{ thinlines_ + arrow <- from A.A up 0.1 left 0.1; "svg_it(A)" rjust + arrow <- from A.B up 0.1 right 0.1; "svg_it(B)" ljust + arrow <- from A.G up 0.05 right 0.15; "svg_it(G)" ljust + thicklines_ }') +[ + arrester(,E) + {"svg_tt(...(,E))" at last line.c+(0,-0.25)} + move sep + A: arrester(,DE) + {"svg_tt(...(,DE))" at last [].s+(0,-0.1)} + Dlabels + move sep*3 + A: arrester(,DS) + {"svg_tt(...(,DS))" at last [].s+(0,-0.1)} + Dlabels + move sep*3 + A: arrester(,DEL) + {"svg_tt(...(,DEL))" at last [].s+(0,-0.1)} + Dlabels + move sep*3 + A: arrester(,DSL) + {"svg_tt(...(,DSL))" at last [].s+(0,-0.1)} + Dlabels + ] with .nw at R2.sw+(0,-0.2) + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ArrowFnDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ArrowFnDPV.m4 new file mode 100644 index 00000000000..d6ceffaa727 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ArrowFnDPV.m4 @@ -0,0 +1,59 @@ +.PS +# ArrowFnDPV.m4 +# https://tex.stackexchange.com/questions/581089/arrow-function-diagrams +gen_init + brad = 0.04 + bht = 0.4 + bwid = 0.25 +define(`rbox',`box rad brad outlined "Orange"') + +B1: [ + svg_font(Times,14bp__) + linethick = 1.2 + arrowwid = 0.08 + rbox wid 5*boxwid ht 3/2*boxwid + line from last box.w-(bht/4,0) "svg_it(X)" above ljust +T: Here + arrow up bwid right bwid then right bwid +F: rbox ht bht "svg_it(f)" + {"svg_it(Y)" above ljust } + arrow down bwid right bwid from T then right boxwid + bwid*3/2 +G: rbox ht bht "svg_it(g)" + {"svg_it(Z)" above ljust } +S: circle diam bht "svg_it(+)" at (G.e.x+boxwid,(F.y+G.y)/2) + d = F.y-S.nw.y + arrow from F.e to S.nw+(-d,d) then to S.nw + arrow from G.e to S.sw+(-d,-d) then to S.sw + arrow right from S.e + command "" # end font + ] +[ + svg_font(Times,11bp__) + bht = bht/2 + sbwid = boxwid*3/4 + bbwid = sbwid*5/4 + dh = bht/2 +B1: rbox wid bbwid ht bbwid +B2: rbox wid sbwid*3/2 ht bbwid at B1+(3/2*bbwid,0) +B3: rbox wid bbwid ht bbwid at B2+(3/2*bbwid,0) +B4: rbox wid sbwid*3/2 ht bbwid at B3+(3/2*bbwid,0) +B5: rbox wid bbwid ht bbwid at B4+(3/2*bbwid,0) + F: rbox ht bht wid sbwid at B2.n-(0,bht*3/4) "svg_it(f)" +BR: B2.s+(0,B2.n.y-F.y) + G: rbox ht bht wid sbwid at (B4,F) "svg_it(g)" + S: circle diam bht*3/2 at B5+(bht/2,0) "svg_it(+)" + arrow right from S.e + T: B1.w+(dh,0) +B: rbox ht bbwid*5/4 wid boxwid*7.25 with .w at T-(sbwid*3/4,0) + { line from T left sbwid "svg_it(x)" above ljust } + arrow from T to (B1.e-(dh,0),F) then to F.w + arrow from F.e to (B3.w+(dh,0),F) then to (B3.e-(dh,0),BR) + continue to (B5.w+(dh,0),Here) then to S.sw + line thick 5 outlined "white" from B3.sw to B3.ne chop brad + arrow from T to (B1.e-(dh,0),BR) then to (B3.w+(dh,0),BR) \ + then to (B3.e-(dh,0),G) then to G.w + arrow from G.e to (B5.w+(dh,0),G) then to S.nw + command "" # end font + ] with .nw at B1.sw+(0,-0.2) + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AudioDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AudioDPV.m4 new file mode 100644 index 00000000000..459e1c422de --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AudioDPV.m4 @@ -0,0 +1,103 @@ +.PS +# `AudioDPV.m4' +cct_init(svg_font(sans-serif,11bp__,2bp__)) + +define(`In123',` +thinlines_ + arrow <- from `$1'.In1 up 0.05 left 0.15 + "svg_it(In1)" wid 0.25 rjust above + arrow <- left 0.15 from `$1'.In2 + "svg_it(In2)" rjust + arrow <- from `$1'.In3 down 0.05 left 0.15 + "svg_it(In3)" rjust below +thicklines_ ') + +L:[ + S: speaker + `"speaker"' at S.s+(0,-0.2) below + In123(S) + thinlines_ + arrow <- from S.In4 left 0.05 up 0.15 + "svg_it(In4)" above rjust + arrow <- from S.In5 right 0.05 up 0.15 + "svg_it(In5)" above ljust + arrow <- from S.In6 left 0.05 down 0.15 + "svg_it(In6)" below rjust + arrow <- from S.In7 right 0.05 down 0.15 + "svg_it(In7)" below ljust + spline <- from S.Box.e+(0,0.05) right 0.27 up 0.10 \ + then right 0.1 up 0.2 + "svg_it(Box)" above + thicklines_ + ] +[ + H: speaker(,,H) + `"...(,,H)"' at H.s+(0,-0.30) below + ] with .sw at last [].se +[ + B: bell + `"bell"' at B.s+(0,-0.2) below + In123(B) + thinlines_ + arrow <- from B.Box.n+(-0.1,0) up 0.15 left 0.1 ; "svg_it(Box)" above + arrow <- from B.Circle.n up 0.15 ; "svg_it(Circle)" above + thicklines_ + ] with .sw at last [].se+(0.35,0) +[ + Z: buzzer + `"buzzer"' at Z.s+(0,-0.2) below + In123(Z) + thinlines_ + arrow <- from Z.Box.n up 0.15 ; "svg_it(Box)" above + thicklines_ + ] with .sw at last [].se+(0.4,0) +R:[ + Z: buzzer(,,C) + `"buzzer(,,C)"' at Z.s+(0,-0.2) below + In123(Z) + thinlines_ + spline <- from 0.8 right 2*arrowht up 0.5*arrowht \ + then up 0.15 right 0.05 + "svg_it(Face)" wid 0.5 at Here above + thicklines_ + ] with .sw at last [].se+(0.4,0) +[ + M: microphone + `"microphone"' wid 60bp__ at M.s+(0,-0.2) below + In123(M) + thinlines_ + arrow <- from M.Circle.n up 0.15 ; "svg_it(Circle)" above + thicklines_ + ] with .sw at last [].se+(0.4,0) +[ + M: microphone(A) + "`microphone(A)'" at M.s+(0,-0.2) #below + thinlines_ + arrow <- from M.Head.e+(0,0.05) right 0.2; "svg_it(Head)" wid 40bp__ ljust + spline 0.5 <- from M.Head.b down 0.05 right 0.1 then right 0.1 + "svg_it(Head.b)" ljust + arrow <- from M.Stand.s right 0.2; "svg_it(Stand.s)" ljust + thicklines_ + ] with .n at last [].s+(0,-0.2) +[[ + E: earphone + `"earphone"' at E.s+(0,-0.2) below + In123(E) + thinlines_ + arrow <- from E.Box.n up 0.15 left 0.15 ; "svg_it(Box)" above + thicklines_ + ] + [ + E: earphone(,,C) + `"earphone(,,C)"' at E.s+(0,-0.2) below + thinlines_ + arrow <- from E.L up 0.15 left 0.15; "svg_it(L)" rjust + arrow <- from E.R up 0.15 right 0.15; "svg_it(R)" ljust + "svg_it(N)" at E.N above + "svg_it(C)" at E.C + thicklines_ + ] with .sw at last [].se+(0.4,0) +] with .n at (0.5 between L and R,L.s)+(0.5,-0.2) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AutoencoderDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AutoencoderDPV.m4 new file mode 100644 index 00000000000..05921e1bcc1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/AutoencoderDPV.m4 @@ -0,0 +1,97 @@ +.PS +# Masked_Autoencoder.m4 +gen_init +NeedDpicTools +svg_font(sans-serif,12bp__,textoffset) + + circlerad = 0.2 + circlesep = 0.5 + rowsep = 0.9 + arrowht = arrowht*0.8 + arrowwid = arrowwid*1.4 + linethick = 1 + +define plan { + m = 0 + for i=1 to 4 do { + for j=1 to ncircles[i] do { + exec sprintf("C[i,j]: circle thick 1.6 \"%g\" at Here",m+j) + if i>1 then { + if "$1"=="" then { + for k=1 to ncircles[i-1] do { arrow from C[i,j] to C[i-1,k] chop } } + } + if j!=ncircles[i] then { move right_ circlesep from C[i,j] } + } + m += ncircles[i] + case(i, + move to C[1,1]+(-circlesep/2,-rowsep), + move to C[2,1]+(0,-rowsep), + move to C[3,1]+(circlesep/2,-rowsep), ) + } + } + gridsiz = 0.78/4 +define grid { [ SW: 0,0 + for i=1 to $1 do { + move to (0,(0.5-i)*gridsiz) + exec sprintf("fv = $%g",2+i) + for j=1 to $2 do { fl = 1-(int(fv / 2^(j-1)) % 2) + box wid gridsiz ht gridsiz outlined "gray" shaded rgbstring(fl,fl,fl) } + } ]} + +define cxt { + m = 1 + for i=2 to 4 do { + for j=1 to ncircles[i] do { + exec sprintf("narrows = $%g",m) + for k=1 to narrows do { + exec sprintf("cnum = $%g",m+k) + exec sprintf("arrow from C[i,j] to C[i-1,cnum] $%g chop", $+) + } + m += narrows+1 + } } } + +B: box invis ht 8 wid 8 +[ + array(ncircles,3,4,4,3) + plan() + svg_font(Times,12bp__,textoffset) + for j=1 to 3 do { + sprintf("svg_it(x)`'svg_sub(%g,60%)",j) at C[1,j].n+(0,2bp__) above + "svg_circ" at last ""+(-1bp__,1bp__) + sprintf("svg_it(x)`'svg_sub(%g,60%)",j) at C[4,j].s+(0,-2bp__) below + } + + "V" at 0.5 between C[2,1].w and C[1,1].w + "W`'svg_sup(2)" at 0.5 between C[3,1].w and C[2,1].w + "W`'svg_sup(1)" at 0.5 between C[3,1].w and C[4,1].w + +GV: grid(3,4,0,15,6) with .w at C[2,4]+(circlerad*2,rowsep/2) + "=M`'svg_sup(V)" at GV.e ljust +G2: grid(4,4,13,0,0,13) with .w at (GV.w,C[3,4]+(circlerad*2,rowsep/2)) + "=M`'svg_sup(V`'svg_sup(2))" at G2.e ljust +G1: grid(4,3,1,5,1,1) with .w at (GV.w,C[4,3]+(circlerad*2,rowsep/2)) + "=M`'svg_sup(V`'svg_sup(1))" at G1.e ljust + command "" + + move to (GV.x+3*circlesep,C[1,1].y) + plan(3,1,2,1,2,2,1,2,1,2,2,3,1,2) + for i=2 to 4 do { + cxt(2,1,3,0,0,2,1,3, 0,4,1,2,3,4,0,0, 0,4,1,2,3,4,0, \ + outlined rgbstring(0.5,0.5,0.5) shaded rgbstring(0.5,0.5,0.5) ) + cxt(0,1,1,1,1,0, 2,2,3,0,2,2,3,2,2,3, 0,0,3,1,3,4,) + } + svg_font(Times,12bp__,textoffset) + for j=1 to 3 do { sprintf("svg_it(x)`'svg_sub(%g,60%)",j) \ + at C[4,j].s+(0,-2bp__) below } + arrow dotted from C[1,2].n up circlesep/2 + "svg_it(p(x`'svg_sub(2)))" at Here+(0,2bp__) above + "svg_it(p(x`'svg_sub(3)|x`'svg_sub(2)))" at (C[1,3]+(circlesep/2,0),last "") + arrow dotted from C[1,3] to last "".s chop circlerad chop textoffset + "svg_it(p(x`'svg_sub(1)|x`'svg_sub(2),x`'svg_sub(3)))" \ + at (C[1,1]+(-circlesep/2,0),last "") + arrow dotted from C[1,1] to last "".s chop circlerad chop textoffset + command "" + + ] at B + command "" +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/Banking.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/Banking.m4 new file mode 100644 index 00000000000..630326f867c --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/Banking.m4 @@ -0,0 +1,59 @@ +.PS +#Banking.m4 + +gen_init + + scale = 2.54 # use cm + svg_font(Arial Black,11 bp__,2 bp__) + boxwid = 6.8 + boxht = 4.5 + linethick_(1.5) + + define(`heading', + ``$1'') + define(`subheading', + `[`$1']') + define(`wtext',``$1'') + + C: circle diam 2.6 colored "mediumblue" + Person: box rad boxht/4 colored "mediumblue" with .n at C.s+(0,C.rad/8) \ + "heading(Personal Banking)" \ + "" \ + "heading(Customer)" \ + "subheading(Person)" \ + "" \ + "wtext(A customer of the bank`,' with)" \ + "wtext(personal bank accounts.)" + + A1: arrow thick 1.5 dashed down 3.5 from Person.s + svg_font(Arial,11 bp__,2 bp__) + { box invis fill 1 ht 0.4 wid 1.0 "Uses" at A1 } + command "" + Internet: box colored "steelblue" \ + "heading(Internet Banking System)" \ + "subheading(Software system)" \ + "" \ + "wtext(Allows customers to view)" \ + "wtext(information about their bank)" \ + "wtext(accounts`,' and make payments.)" + + svg_font(Arial,11 bp__,2 bp__) + A2: arrow thick 1.5 dashed right 5.4 from Internet.e \ + "Sends e-mail" above "using" below + command "" + Email: box colored "slategrey" \ + "heading(E-mail System)" \ + "subheading(Software system)" \ + "" \ + "wtext(Internal Microsoft Exchange)" \ + "wtext(e-mail system.)" + + A3:arrow thick 1.5 dashed from Email.nw+(0.4,0) to Person.se+(0.3,Person.ht/5) + svg_font(Arial,11 bp__,2 bp__) + { box invis fill 1 ht 0.4 wid 3.3 "Sends e-mails to" at A3 } + command "" + +# etc + + command "" # font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/BipDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/BipDPV.m4 new file mode 100644 index 00000000000..7dbf38c84a7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/BipDPV.m4 @@ -0,0 +1,68 @@ +.PS +# `Bip.m4' +cct_init(svg_font(sans-serif,11bp__)) + + up_ +Q1: bi_tr(up_ dimen_) + thinlines_ + box dotted ht last [].ht wid last [].wid at last [] + thicklines_ + "E" at Q1.E-(0,0.05) below + "B" at Q1.B rjust + "C" at Q1.C above + "`bi_tr(up_ dimen_)'" wid 1.2 at Q1.s + (0,-0.35) below + +Q2: bi_tr(,R) with .E at Q1.E+(0.25,0) + thinlines_ + box dotted ht last [].ht wid last [].wid at last [] + thicklines_ + "E" at Q2.E-(0,0.05) below + "B" at Q2.B ljust + "C" at Q2.C above + "`bi_tr(,R)'" at Q2.s + (0,-0.2) below + +Q3: bi_tr(,,P) with .C at Q2.C+(1.15,0) + thinlines_ + box dotted ht last [].ht wid last [].wid at last [] + thicklines_ + "E" at Q3.E-(0,0.05) below + "B" at Q3.B rjust + "C" at Q3.C above + "`bi_tr(,,P)'" at Q3.s + (0,-0.2) below + +Q4: bi_tr(,,,E) with .C at Q3.C+(0.9,0) + thinlines_ + box dotted ht last [].ht wid last [].wid at last [] + thicklines_ + "E" at Q4.E-(0,0.05) below + "B" at Q4.B rjust + "C" at Q4.C above + "`bi_tr(,,,E)'" at (Q4.s,Q4.E) + (0,-0.2) below + +Q5: igbt(,,) with .E at Q4.E+(0.65,0) + thinlines_ + box dotted ht last [].ht wid last [].wid at last [] + thicklines_ + "E" at Q5.E-(0,0.05) below + "G" at Q5.G rjust + "C" at Q5.C above + "`igbt'" at Q5.s + (0,-0.2) below + +Q6: igbt(,,LD) with .E at Q5.E+(0.55,0) + thinlines_ + box dotted ht last [].ht wid last [].wid at last [] + thicklines_ + "E" at Q6.E-(0,0.05) below + "G" at Q6.G rjust + "C" at Q6.C above + "`igbt(,,LD)'" at (Q6.s,Q6.E) + (0,-0.2) below + +Q7: Darlington with .E at Q6.E+(1.2,0) + thicklines_ + "E" wid 0.15 at Q7.E-(0,0.05) below + "B" at Q7.B rjust + "C" at Q7.C above + "`Darlington'" at (Q7.s,Q7.E) + (0,-0.2) below + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/BtreeDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/BtreeDPV.m4 new file mode 100644 index 00000000000..8621d47cdb4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/BtreeDPV.m4 @@ -0,0 +1,109 @@ +.PS +# BtreeDPV.m4 +# One way to draw a binary tree using pic macros +gen_init(svg_font(sans-serif,11bp__)) +sinclude(tst.dim) +s_init(Btree) +maxpswid = 12 +Btree: [ +circlerad = 0.35 + +define n { [C: circle fill_(0.9) $1 + if "$2" != "" then { + L: $2 with .ne at C.s-(circlerad/20, circlerad/2) + line from C to L.C chop } + if "$3" != "" then { + R: $3 with .nw at C.s+(circlerad/20,-circlerad/2) + line from C to R.C chop } + ] } + +# Redrawn from T. A. Standish, "Data Structure Techniques," Addison-Wesley 1980. +# Node data: +define Sirius { n("Sirius",Canopus,Vega) } +define Canopus { n("Canopus",AlphaCentauri,Capella) } +define AlphaCentauri { n("Alpha" "Centauri",Achernar,Arcturus) } +define Arcturus { n("Arcturus",Betelgeux) } +define Betelgeux { n("Betelgeux",BetaCentauri) } +define Capella { n("Capella",Rigel) } +define Rigel { n("Rigel",Procyon) } +define Achernar { n("Achernar") } +define BetaCentauri { n("Beta" "Centauri") } +define Procyon { n("Procyon") } +define Vega { n("Vega") } + +# Build the tree from the root +S: Sirius + + command "" # end font +] +Ttree: [ +# TtreeDPV.m4 +svg_font(sans-serif,10bp__) + +# `Node(no in row, head [location], +# displacement of top of body (.n) wrt head, +# body Node 1, body Node 2, ...) ' +define(`Node',` + Head`$1': `$2' + ifelse(`$3',,,` Body`$1': [ + Loopover_(`v',`v; define(`m4ct',m4Lx)',shift(shift(shift($@)))) + ] with .n at Head`$1' + `$3' + connect(`$1',m4ct)')') + +define(`connect',`Bot: move from Head$1.sw-(0,5bp__) to Head$1.se-(0,5bp__) +for_(1,`$2',1, + `Top: move from Body$1.Head`'m4x.nw+(0,2bp__) \ + to Body$1.Head`'m4x.ne+(0,2bp__) + Mov: move from Head$1 to Body$1.Head`'m4x + if Bot.len*Top.len*Mov.len > 0 then { + line from Intersect_(Mov,Top) to Intersect_(Mov,Bot)}')') + + vsep = 0.75 +define(`txw',`wid `$1'mm__')dnl scaled by 14/12 for 14 pt type + + Node(1,"svg_it(h(h(h(x`'svg_sub(1),x`'svg_sub(2))," \ + + "h(x`'svg_sub(3),x`'svg_sub(4))),h(h(x`'svg_sub(5),x`'svg_sub(6))," \ + + "h(x`'svg_sub(7),x`'svg_sub(8)))))" txw(70) , + (0,-vsep), + Node(1,"svg_it(h(h(x`'svg_sub(1),x`'svg_sub(2)),h(x`'svg_sub(3)," \ + + "x`'svg_sub(4))))" txw(32) , + (0,-vsep), + Node(1,"svg_it(h(x`'svg_sub(1),x`'svg_sub(2)))" txw(14) , + (0,-vsep), + Node(1,"svg_it(x`'svg_sub(1):=((A,pk`'svg_sub(A)),h`'svg_sub(1)))" \ + txw(29) ), + Node(2,"svg_it(x`'svg_sub(2):=((B,pk`'svg_sub(B)),h`'svg_sub(2)))" \ + txw(29) with .n at last "".ne+(0.2,-vsep*2/3))), + Node(2,"svg_it(h(x`'svg_sub(3),x`'svg_sub(4)))" txw(14) \ + with .nw at Head1.ne+(Body1.wid/2+0.1,0), + (0,-vsep), + Node(1,"svg_it(x`'svg_sub(3):=" \ + + "((A,pk`'svg_prime`'svg_sub(A,,,-0.5ex)),h`'svg_sub(3)))" \ + txw(29)), + Node(2,"svg_it(x`'svg_sub(4):=((D,pk`'svg_sub(D)),h`'svg_sub(4)))" \ + txw(29) with .n at last "".ne+(0.2,-vsep*2/3)))), + Node(2,"svg_it(h(h(x`'svg_sub(5),x`'svg_sub(6)),h(x`'svg_sub(7)," \ + + "x`'svg_sub(8))))" txw(29) with .nw at Head1.ne+(Body1.wid/2,0), + (0,-vsep), + Node(1, "svg_it(h(x`'svg_sub(5),x`'svg_sub(6)))" txw(14) , + (0,-vsep*5/4), + Node(1,"svg_it(x`'svg_sub(5):=((E,pk`'svg_sub(E)),h`'svg_sub(5)))" \ + txw(29) ), + Node(2,"svg_it(x`'svg_sub(6):=((H,pk`'svg_sub(H)),h`'svg_sub(6)))" \ + txw(29) with .n at last "".ne+(0.2,-vsep*2/3))), + Node(2,"svg_it(h(x`'svg_sub(7),x`'svg_sub(8)))" txw(14) \ + with .nw at Head1.ne+(Body1.wid/2+0.1,0), + (0,-vsep*5/4), + Node(1,"svg_it(x`'svg_sub(7):=" \ + + "((D,pk`'svg_prime`'svg_sub(D,,,-0.5ex)),h`'svg_sub(7)))" \ + txw(29) ), + Node(2,"svg_it(x`'svg_sub(8):=((K,pk`'svg_sub(K)),h`'svg_sub(8)))" \ + txw(29) with .n at last "".ne+(0.2,-vsep*2/3); \ + move right 0.2)), + Node(3,"svg_it(h(x`'svg_sub(9)))" txw(8) \ + at 0.5 between Head1 and Head2))) + +] with .w at last [].e+(-1,0) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ButtonsDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ButtonsDPV.m4 new file mode 100644 index 00000000000..419f2cfaf5f --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ButtonsDPV.m4 @@ -0,0 +1,115 @@ +.PS +# ButtonsDPV.m4 +gen_init(svg_font(sans-serif,11bp__)) +NeedDpicTools + +divert(-1) +################################################################# + + `RoundButton(diameter,hue,linedensity) + hue 0=red, 60=yellow, 120=green ...' +define(`RoundButton',`[ +# Colors and radius: + hue = ifelse(`$2',,60,`$2') + crad = ifelse(`$1',,circlerad,(`$1')/2) + linedensity = ifelse(`$3',,150/scale,`$3') # default 150 lines per inch + hsvtorgb(hue, 1, 1, r1,g1,b1) + hsvtorgb(hue-5, 1,0.9, r2,g2,b2) + hsvtorgb(hue-10,1,0.5, r3,g3,b3) +# Shaded main disk + define RBbackground { + circle rad crad*($`'1) thick lthk at C outlined rgbstring($`'2,$`'3,$`'4) + } + C: circle invis rad crad at (0,0) + nsteps = round_(crad*linedensity) + lthk = crad/nsteps/(1bp__) + ShadeObject(RBbackground,nsteps, + 0, r1,g1,b1, + 0.2, r1,g1,b1, + 0.8, r2,g2,b2, + 1, r3,g3,b3) at C +# Highlight disk with arc shading + rad1 = crad*3/4 + C1: C.n-(0,rad1+0.02*crad) + C2: C1+(0,2*rad1) + lthk = 2*rad1/nsteps/(1bp__) + define RBoverlay { + radx = rad1 + ($`'1)*2*rad1 + if $`'1 < 1 then { + arc cw rad radx thick lthk outlined rgbstring($`'2,$`'3,$`'4) \ + from Cintersect(C2,radx,C1,rad1) \ + to Cintersect(C2,radx,C1,rad1,R) \ + with .c at C2 + } } + nsteps = round_(rad1*2*linedensity) + ShadeObject(RBoverlay,nsteps, + 0, 1, 1, 1, + 0.1, 1, 1, 1, + 0.33,(r1+r2)/2,(g1+g2)/2,(b1+b2)/2, + 0.67,r1,g1,b1, + 1, (r1+r2)/2,(g1+g2)/2,(b1+b2)/2) with .c at C1 + `$4']') + +################################################################# + + `BoxButton(wid,height,hue,linedensity) + hue 0=red, 60=yellow, 120=green ...' +define(`BoxButton',`[ +# Size and Color + boxw = ifelse(`$1',,boxwid*4/3,`$1') + boxh = ifelse(`$2',,boxw/4,`$2') + hue = ifelse(`$3',,180,`$3') + hsvtorgb(hue, 1, 1, r1,g1,b1) + hsvtorgb(hue-5, 1,0.9, r2,g2,b2) + hsvtorgb(hue-10,1,0.5, r3,g3,b3) +# Peripheral shading + linedensity = ifelse(`$4',,150/scale,`$4') + nsteps=10 + define BxBshadow { + box ht boxh wid boxw rad boxh/2 \ + outlined rgbstring($`'2,$`'3,$`'4) at (0,($`'1)*4*linethick bp__) + } + Q: ShadeObject(BxBshadow,nsteps, + 0, 1,1,1, + 1, r3,g3,b3) +# Shaded body + lthk = boxh/nsteps/(1bp__) + define BxBshade { + v = boxh*(1-($`'1)) + h = (boxw-boxh)/2+sqrt((boxh/2)^2-(v-boxh/2)^2) + line from (-h,v) to (h,v) thick lthk outlined rgbstring($`'2,$`'3,$`'4) + } + nsteps = boxh*linedensity + C: ShadeObject(BxBshade,nsteps, + 0, r1, g1, b1, + 0.4, r2, g2, b2, + 1, r3, g3, b3) with .n at Q.n +# Shaded highlight + bh = boxh*0.4 + bw = boxw*4/4.5 + define BxBhighlight { + v = bh*(1-($`'1)); h = (bw-bh)/2+sqrt((bh/2)^2-(v-bh/2)^2) + line from (-h,v) to (h,v) thick lthk outlined rgbstring($`'2,$`'3,$`'4) + } + nsteps = bh*linedensity + ShadeObject(BxBhighlight,nsteps, + 0,1,1,1, + 8/nsteps,1,1,1, + 1, r2,g2,b2) with .n at Q.n+(0,-boxh/20) + `$5']') + +################################################################# +divert(0)dnl + +for x=0 to 5 do { + B: RoundButton(0.6,x*60) at (x,0) + "Button" sprintf("%g",x+1) at B } + +[ for i=0 to 2 do { + BoxButton(1.5,,180+120*i) at (i*2,0) + "Button" at last [].C + } + ] with .nw at 1st [].sw+(0,-0.5) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ByteDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ByteDPV.m4 new file mode 100644 index 00000000000..ca059487e7c --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ByteDPV.m4 @@ -0,0 +1,38 @@ +.PS +# Byte.m4 +gen_init(svg_font(sans-serif,11bp__)) +boxht = 0.2 +boxwid = 3.5 + +define leftlabel { {"$1" at last box.w ljust} } + +down_ +Lab[0]: box; leftlabel( B0STDISBL (reset pin is enabled) ) +Lab[1]: box; leftlabel( WDTON (WDT not always on) ) +Lab[2]: box; leftlabel( SPIEN (allow serial programming) ) +Lab[3]: box; leftlabel( CKOPT (full output swing) ) +Lab[4]: box; leftlabel( EESAVE (don't preserve EEPB0OM over chip erase) ) +Lab[5]: box; leftlabel( BOOTSZ1 ) +Lab[6]: box; leftlabel( BOOTSZ0 ) +Lab[7]: box; leftlabel( BOOTB0ST (boot reset vector at 0x0000) ) + +boxwid = boxht +left_ +B0:box "1" with .e at Lab[0].nw + (0.75,0.5) + box "0" + box "0" + box "1" + box "0" + box "0" + box "1" + box "1" + box wid 2*boxht "0xc9" + +for i=0 to 7 do { + spline -> ht arrowht*0.7 from B0.s-(i*boxht,0) down boxht/4 \ + then to Lab[0].nw-((i+1)*boxht/2,0) \ + then down Lab[0].nw.y-Lab[i].y then to Lab[i].w + } + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ByteDPV.svg b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ByteDPV.svg new file mode 100644 index 00000000000..317f9367f33 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ByteDPV.svg @@ -0,0 +1,150 @@ + + + + + + + + +B0STDISBL (reset pin is enabled) + +WDTON (WDT not always on) + +SPIEN (allow serial programming) + +CKOPT (full output swing) + +EESAVE (don't preserve EEPB0OM over chip erase) + +BOOTSZ1 + +BOOTSZ0 + +BOOTB0ST (boot reset vector at 0x0000) + +1 + +0 + +0 + +1 + +0 + +0 + +1 + +1 + +0xc9 + + + + + + + + + + + + + + + + + + diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CanLogicDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CanLogicDPV.m4 new file mode 100644 index 00000000000..b6c1d02e2f2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CanLogicDPV.m4 @@ -0,0 +1,159 @@ +.PS +#CanLogic +ifdef(`L_unit',,`include(liblog.m4)') +log_init(svg_font(sans-serif,11bp__)) + +divert(-1) +########################################################################### + Macros for automatically drawing 2-layer + Boolean functions + + Style parameters +define(`dotrad_',(0.01*scale)) +define(`gatelineth',1) +define(`lineth',0.5) +define(`inputsep',`2*jog') +define(`jog',`(AND_ht/2)*L_unit') + + `CanLogic(layer gate type,[N], + output gate type,[N], + term,term,...) + This is the driver macro. Terms are + strings of variables or of variables + preceded by the ~ character. Each + variable is one letter e.g. + CanLogic(NAND,,OR,N,abcd,a~b,c,~ad)' +define(`CanLogic', + `define(`terms',`shift(shift(shift(shift($@))))') +# Determine required input variables and negated +# variables + Loopover_(`t_',`varloop(`v_',`define(X`'v_)',`define(XN`'v_)',t_)',terms) +# Draw the inputs with NOT gates as necessary + LastInput: Here-(inputsep,0) + Loopover_(`t_',`varloop(`v_', + `ifdef(D`'v_,,`ifdef(XN`'v_,`DrawInNotIn(v_)',`DrawIn(v_)')')', + `ifdef(D`'v_,,`ifdef(X`'v_,`DrawInNotIn(v_)',`DrawNotIn(v_)')')', t_)', + terms) +# Draw 2nd-layer gates + right_ + LastGateSE: LastInput+(5*jog,-(AND_wd*L_unit*1.5)) + Loopover_(`t_', + `define(`termcount',m4Lx)DrawLayerGate(G`'termcount,$1,$2,t_)', + terms) +# Draw output gate + linethick = gatelineth + OP: m4xpand(`$3'_gate(termcount,$4)) with .Out at \ + 0.5 + (jog/2*(termcount+3)+AND_wd*L_unit,0) + Out: Here + linethick = lineth +# Connect 2nd-layer gates to the output gate + VectorConnect(G,termcount,OP) +# Connect the inputs and negated inputs to +# 2nd-layer gates + Loopover_(`t_',`ConnectInputs(G`'m4Lx,t_)',terms) +# Clean up + Loopover_(`t_',`DeleteLogDefs(t_)',terms) + ') + `VectorConnect(number of 2nd layer gates, + common 2nd layer gate name, + output gate name) + Connect the 2nd-layer gate outputs to the + output gate inputs' +define(`VectorConnect', + `for_(1,`$2',1, + `line from `$1'm4x.Out right `$3'.In1.x-`$1'm4x.Out.x \ + - jog/2*(`$2'+1-abs(2*m4x-`$2'-1)) \ + then down `$1'm4x.Out.y - `$3'.In`'m4x.y then to `$3'.In`'m4x ')') + + Draw and label a non-inverted input +define(`DrawIn', + `LastInput: LastInput+(inputsep,0) + In`'$1: LastInput + "svg_it($1)" ljust at LastInput # Maybe labels should be done externally + Int`'$1: LastInput + define(D`'$1)') + + Draw and label an inverted input +define(`DrawNotIn', + `LastInput: LastInput+(inputsep,0) + InN`'$1: LastInput + "svg_it($1)" ljust at LastInput # Maybe labels should be done externally + line down_ 2*jog from LastInput + linethick = gatelineth + NOT_gate + InNt`'$1: Here + linethick = lineth + define(D`'$1)') + Draw and label an input that is required both + inverted and uninverted. +define(`DrawInNotIn', + `LastInput: LastInput+(inputsep,0) + In`'$1: LastInput + "svg_it($1)" ljust at LastInput # Maybe labels should be done externally + line from LastInput down jog + Int`'$1: dot + LastInput: LastInput+(inputsep,0) + line to (LastInput,Here) then down_ jog + linethick = gatelineth + NOT_gate + linethick = lineth + InNt`'$1: Here + define(D`'$1)') + `varloop(`var',ifnotnegated,ifnegated,term) + Loop over term variables performing actions' +define(`varloop',`ifelse(`$4',,,substr(`$4',0,1),~, + `define(`$1',substr($4,1,1)) $3 + varloop(`$1',`$2',`$3',substr($4,2))', + `define(`$1',substr($4,0,1)) $2 + varloop(`$1',`$2',`$3',substr($4,1))')')') + + Count gate inputs and mark last appearance +define(`Countinputs',`varloop(`v_', + `define(`incount',incr(incount)) define(Last`'v_,`$1')', + `define(`incount',incr(incount)) define(LastN`'v_,`$1')',$2)') + + Draw a 2nd layer gate +define(`DrawLayerGate', + `define(`incount',0) + Countinputs($1,$4) + ifelse(incount,1, + `LastGateSE: LastGateSE-(0,jog) + $1: [ In1:Here; line right AND_wd*L_unit; Out: Here] \ + with .Out at LastGateSE', + `LastGateSE: LastGateSE-(0,jog+AND_ht*L_unit) + linethick = gatelineth + $1: m4xpand(`$2'_gate(incount,$3)) with .se at LastGateSE + linethick = lineth ')') + + Connect this gate to its input lines +define(`ConnectInputs',`define(`innum',0) varloop(`v_', + `define(`innum',incr(innum)) + line from `$1'.In`'innum to (In`'v_,`$1'.In`'innum)dnl + ifelse(`$1',m4xpand(Last`'v_),`then to In`'v_',`; dot')', + `define(`innum',incr(innum)) + line from `$1'.In`'innum to (InNt`'v_,`$1'.In`'innum)dnl + ifelse(`$1',m4xpand(LastN`'v_), `then to InNt`'v_', `; dot')',$2)') + + Delete definitions to allow more than one + circuit per diagram +define(`DeleteLogDefs',`varloop(`v_', + `undefine(Last`'v_) undefine(D`'v_) undefine(X`'v_)', + `undefine(LastN`'v_) undefine(D`'v_) undefine(XN`'v_)',$1)') + + Thanks to Alexander Ray for suggesting the + need for something like these macros +########################################################################### +divert(0)dnl + + linethick = lineth + +[ CanLogic(AND,,OR,,abcd,a~b,c,~ad) #; line right jog from Out "svg_it(f)" above + ] +{`"CanLogic(AND,,OR,,abcd,a~b,c,~ad)"' at last [].s -(0,11bp__)} + +[ CanLogic(OR,N,NAND,,ab~c,a~bc,ac,~d) #; line right jog from Out "$f$" above + ] with .sw at last [].se+(0.5,0) +{`"CanLogic(OR,N,NAND,,ab~c,a~bc,ac,~d)"' at last [].s - (0,11bp__)} + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CapacitorsDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CapacitorsDPV.m4 new file mode 100644 index 00000000000..903ede003e2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CapacitorsDPV.m4 @@ -0,0 +1,43 @@ +.PS +# `CapacitorsDPV.m4' +cct_init(svg_font(sans-serif,11pt__)) +textwid = 1.5 +movewid = 2 pt__ +hm = 2.1 +vm = 0.28 + +hm = 2.05 +vm = 0.28 +{ {capacitor ; move ; "`capacitor '" ljust} + move right_ hm + {capacitor(,C); move ; "`capacitor(,C) '" ljust} + move right_ hm + {capacitor(,C+); move ; "`capacitor(,C+) '" ljust} +} + move down vm; right_ +{ {capacitor(,P); move ; "`capacitor(,P) '" ljust} + move right_ hm + {capacitor(,E); move ; "`capacitor(,E) '" ljust} + move right_ hm + {capacitor(,K); move ; "`capacitor(,K) '" ljust} +} + move down 0.25; right_ +{ {capacitor(,M); move ; "`capacitor(,M) '" ljust} + move right_ hm + {capacitor(,N); move ; "`capacitor(,N) '" ljust} + move right_ hm + {capacitor(,CP); move ; "`capacitor(,CP) '" ljust} +# {xtal ; move ; "`xtal '" ljust} +} + move down 0.25; right_ +{ {capacitor(,dC); move ;"`capacitor(,dC) '" ljust} + move right_ hm + {capacitor(,dF); move ;"`capacitor(,dF) '" ljust} + move right_ hm + {variable(`capacitor',NN,-30,dimen_/3) + move ;"`variable('svg_grave`capacitor'svg_prime`,'" wid 97bp__ ljust \ + "` NN,-30,dimen_/3)'" ljust } +} + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ChipsDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ChipsDPV.m4 new file mode 100644 index 00000000000..477edc5f6cd --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ChipsDPV.m4 @@ -0,0 +1,44 @@ +.PS +# ChipsDPV.m4 +log_init +include(icsDPV.m4) +svg_font(sans-serif,8.5bp__) + +Chips: [ + ic4017 + {"4017" at last [].Chip.sw below ljust} + move + ic4510 + {"4510" at last [].Chip.sw below ljust} + move + icVS1053 + {"VS1053" at last [].Chip.sw below ljust} + + DIP_chip_outline with .sw at last [].se+(0.5,0) + { `"DIP_chip_outline"' at last [].s below } + ] + +DIPs: [ + DIP0: DIP + DIP32: DIP(32,direct=R;bodywid=0.5*scale) with .sw at last [].se+(0.5,0) + DIP16: DIP(16,type=Q;pinwid=1bp__) with .sw at DIP32.se+(1.5,0) + + thinlines_ + { "svg_tt(`DIP')" at DIP0.s - (0,10bp__) } + { arrow <- from DIP0.Pin1 up 0.2; "svg_it(`Pin1')" ljust at Here+(-0.05,0.1) } + { arrow <- from DIP0.c up 0.7 right 0.25; "svg_it(`Body')" ljust } + { arrow <- from DIP0.Pin8 up 0.25 right 0.2 ; "svg_it(`Pin8')" above ljust } + + { "svg_tt(`DIP(32,direct=R;bodywid=0.5*scale)')" ljust \ + at DIP32.sw - (20bp__,10bp__) } + { arrow <- right 0.2 from DIP32.Pin1; "svg_it(`Pin1')" ljust } + { spline <- right 0.2 then right 0.1 up 0.1 from DIP32.Pin32 + "svg_it(`Pin32')" ljust } + + { "svg_tt(`DIP(16,type=Q;pinwid=1bp__)')" at DIP16.sw - (0,10bp__) ljust } + thicklines_ + + ] with .nw at last [].sw+(0,-0.3) + + command "" +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ConnDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ConnDPV.m4 new file mode 100644 index 00000000000..9500cd8dd08 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ConnDPV.m4 @@ -0,0 +1,67 @@ +.PS +# `ConnDPV.m4' +cct_init(svg_font(sans-serif,10.5bp__)) + +T:[ + S1: tstrip(U) + thinlines_ + arrow <- left 0.15 from S1.L1; "L1" rjust + arrow <- left 0.15 from S1.L4; "L4" wid 0.2 rjust + "..." at (0.5 between last "" and 2nd last "")+(-0.15,0.02) + arrow <- right 0.25 from S1.R1; "R1" ljust + arrow <- right 0.25 from S1.R4; "R4" ljust + "..." at (0.5 between last "" and 2nd last "")+(0.15,0.02) + arrow <- right 0.15 up 0.10 from S1.T1; "T1" ljust + arrow <- right 0.15 up 0.10 from S1.T4; "T4" ljust + "..." at (0.5 between last "" and 2nd last "")+(0.15,0.02) + thicklines_ + CS1: "`tstrip(U)'" at S1.s+(0,-0.15) + S2: tstrip(R,5,DO;wid=1.0;ht=0.25) with .sw at S1.se+(0.7,0.15) + thinlines_ + arrow <- up 0.2 right 0.1 from S2.T1; "T1" above + arrow <- up 0.2 right 0.1 from S2.T5; "T5" above + "..." at 0.5 between last "" and 2nd last "" above + CS2: `"tstrip(R,5,"' ljust \ + `" DO;wid=1.0;ht=0.25)"' ljust at S2.sw+(-0.1,-0.2) +] + +C: [ + C1: ccoax + `"ccoax "' at C1.s below + thinlines_ + arrow <- up 0.1 right 0.1 from C1.C.ne; "C" ljust + arrow <- down 0.05 right 0.1 from C1.S.e; "S" wid 0.1 ljust + thicklines_ + C2: ccoax(at C1+(0,0.3),F) + `"ccoax(,F)"' wid 0.65 at C2.ne ljust + ] with .C1.sw at T.S2.se+(0.6,0.0) + +Y: [ + tconn(,O) + {`"tconn(,O)"' at last line.c+(0,-0.2) wid 43 pt__ } + move to Here+(0.3,0) + P1: tconn(,>) + {`"(,>)"' at last line.c+(0,-0.2)} + move to P1.end+(0.3,0) + tconn(,>>) + {`"(,>>)"' at last line.c+(0,-0.2)} + move to P1.start+(0,linewid) + P3: tconn(,<) + {`"tconn(,<)"' at last line.c+(0,-0.2)} + move to P3.end+(0.3,0) + tconn(,<<) + {`"(,<<)"' at last line.c+(0,-0.2)} + +] with .sw at (C.e.x-0.3,T.s.y) + +B: [ + tbox(V`'svg_sub(1)) + { `"tbox'(V`'svg_sub(1))" wid 47bp__ with .nw at last [].sw+(0,-4bp__) } + tbox(V`'svg_sub(2),,,<) with .sw at last [].se+(0.75,0) + { `"tbox'(V`'svg_sub(2)`,,,<)"' at last [].s below } + tbox(V`'svg_sub(3),,,<>) with .sw at last [].se+(0.75,0) + { `"tbox'(V`'svg_sub(3)`,,,<>)"' at last [].s below } +] with .nw at T.sw+(0,-0.2) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ConnectorsDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ConnectorsDPV.m4 new file mode 100644 index 00000000000..4b2a3c9176c --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ConnectorsDPV.m4 @@ -0,0 +1,30 @@ +.PS +# ConnectorsDPV.m4 +log_init +include(icsDPV.m4) + +svg_font(sans-serif,8.5bp__) +#vg_rot_init(test) +svg_rot_init(ConnectorsDPV) + +# ArduinoUno +# "Arduino Uno Rev 3" at last [].Connector.s below + Ar: ArduinoLeonardo #with .sw at last [].se+(0.25,0) + "Arduino Leonardo" at last [].Connector.s below + + RPI: RPi with .sw at last [].se+(0.25,0) + "Raspberry Pi 4 GPIO" at last [].GPIO.s below + + HD: HDMI_micro with .nw at last [].ne+(0.25,0.5) + "Micro" rjust at HD.Base.sw "HDMI" rjust + + S: USB_C_Socket with .sw at (HD.e.x+0.25,RPI.s.y) + "USB-C Socket" at S.Base.s below + "B12" at S.B12.end above ljust + "B1" at S.B1.end above ljust + "A1" at S.A1.end above rjust + "A12" at S.A12.end above rjust + + command "" + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ConnectorsDPV.pic b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ConnectorsDPV.pic new file mode 100644 index 00000000000..1fe2aeabfac --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ConnectorsDPV.pic @@ -0,0 +1,368 @@ +.PS +# ConnectorsDPV.m4 +# log_init Version 10.1: SVG m4 macro settings. + + # gen_init Version 10.1: SVG m4 macro settings. + + + define rpoint__ { + rp_wid = last line.end.x-last line.start.x + rp_ht = last line.end.y-last line.start.y + rp_len = sqrt(abs((rp_wid)^2+(rp_ht)^2)); move to last line.start + rp_ang = atan2(rp_ht,rp_wid) } + + rtod_ = 57.295779513082323; dtor_ = 0.017453292519943295 + twopi_ = 6.2831853071795862; pi_ = (twopi_/2) + rp_ang = 0; right + + + linethick = 0.8 + arrowwid = 0.05*scale; arrowht = 0.1*scale + + + # gen_init end + + +# log_init end + + + +m4thtmp=textht; dptextratio=0.71; m4thtmp=textht; textht=(8.5*(scale/72))*dptextratio; +command "" + + +#vg_rot_init(test) + +# svg_rot_init begin + if dpicopt > 0 then { copy "/cygdrive/d/Dwight/lib/dpictools.pic" } + + +# Extract from the .svg file the x= y= coordinates +# that appear after each transform="rotate(.." line + retcode = ( sh "awk -e \"/transform=\\"rotate/ { r=1 }; /x=\\".*y=\\"/ { if(r==1){ print; r=0 } }\" ConnectorsDPV.tmp | sed -e \"s/x=\\"\([0-9.]*\)\\" y=\\"\([0-9.]*\)\\".*/\1 \2/\" > ConnectorsDPV.cor" ) + if retcode != 0 then { print " + Awk failure. + Awk and sed are required by svg_rot to rotate svg text. + " } + svgrot_k = 0 + define svg_rotcoords { if "$1" != "" then { svgrot_k += 1 + svg_rx[svgrot_k] = $1; svg_ry[svgrot_k] = $2 } + } + copythru(svg_rotcoords, ConnectorsDPV.cor) + sh "rm -f ConnectorsDPV.tmp ConnectorsDPV.cor" + svgrot_i = 0 + + +# `svg_rot(degrees,"text",[at position]) +# Rotate text degrees ccw +# Requires svg_rot_init(filename) +# which uses both awk and sed. +# The source must be processed twice by m4 and dpic.' + define svg_rot { if retcode != 0 then {$2} else { + if "$1" != "" then { svg_rang = -($1) } else { svg_rang = -90 } + if svgrot_k != 0 then { svgrot_i +=1 + command sprintf("",svg_rang,\ + svg_rx[svgrot_i]+textht/2*sin((svg_rang)*dtor_),\ + svg_ry[svgrot_i]+textht/2*(1-cos((svg_rang)*dtor_))) }\ + else { command sprintf("",svg_rang) } + if "$3"=="" then { $2 } \ + else { $2 $3 - (sin((svg_rang)*dtor_),(cos((svg_rang)*dtor_)-1))*textht/2 } + command "" } } + + +# svg_rot_init end + + +# ArduinoUno +# "Arduino Uno Rev 3" at last [].Connector.s below + Ar: [ + # + Connector: box wid 24*(linewid/10) ht 20*(3*(linewid/10)) +# + plen = 2*(linewid/10) +# +Pin6: line left plen from Connector.nw-(0,(5+1)*(3*(linewid/10))) + { "IOREF" ljust at last line.start } +Pin7: line left plen from Connector.nw-(0,(5+2)*(3*(linewid/10))) + { "RESET" ljust at last line.start } +Pin8: line left plen from Connector.nw-(0,(5+3)*(3*(linewid/10))) + { "+3V3" ljust at last line.start } +Pin9: line left plen from Connector.nw-(0,(5+4)*(3*(linewid/10))) + { "+5V" ljust at last line.start } +Pin10: line left plen from Connector.nw-(0,(5+5)*(3*(linewid/10))) + { "GND" ljust at last line.start } +Pin11: line left plen from Connector.nw-(0,(5+6)*(3*(linewid/10))) + { "GND" ljust at last line.start } +Pin12: line left plen from Connector.nw-(0,(5+7)*(3*(linewid/10))) + { "VIN" ljust at last line.start } + +Pin14: line left plen from Connector.nw-(0,(5+9)*(3*(linewid/10))) + { "A0" ljust at last line.start } +Pin15: line left plen from Connector.nw-(0,(5+10)*(3*(linewid/10))) + { "A1" ljust at last line.start } +Pin16: line left plen from Connector.nw-(0,(5+11)*(3*(linewid/10))) + { "A2" ljust at last line.start } +Pin17: line left plen from Connector.nw-(0,(5+12)*(3*(linewid/10))) + { "A3" ljust at last line.start } +Pin18: line left plen from Connector.nw-(0,(5+13)*(3*(linewid/10))) + { "A4" ljust at last line.start } +Pin19: line left plen from Connector.nw-(0,(5+14)*(3*(linewid/10))) + { "A5" ljust at last line.start } + +# +Pin21: line right plen from Connector.ne-(0,1*(3*(linewid/10))) + { "SCL" rjust at last line.start } +Pin20: line right plen from Connector.ne-(0,2*(3*(linewid/10))) + { "SDA" rjust at last line.start } +Pin19: line right plen from Connector.ne-(0,3*(3*(linewid/10))) + { "AREF" rjust at last line.start } +Pin18: line right plen from Connector.ne-(0,4*(3*(linewid/10))) + { "GND" rjust at last line.start } +Pin17: line right plen from Connector.ne-(0,5*(3*(linewid/10))) + { "~D13" rjust at last line.start } +Pin16: line right plen from Connector.ne-(0,6*(3*(linewid/10))) + { "D12" rjust at last line.start } +Pin15: line right plen from Connector.ne-(0,7*(3*(linewid/10))) + { "~D11" rjust at last line.start } +Pin14: line right plen from Connector.ne-(0,8*(3*(linewid/10))) + { "~D10" rjust at last line.start } +Pin13: line right plen from Connector.ne-(0,9*(3*(linewid/10))) + { "~D9" rjust at last line.start } +Pin12: line right plen from Connector.ne-(0,10*(3*(linewid/10))) + { "D8" rjust at last line.start } + +Pin10: line right plen from Connector.ne-(0,12*(3*(linewid/10))) + { "D7" rjust at last line.start } +Pin9: line right plen from Connector.ne-(0,13*(3*(linewid/10))) + { "~D6" rjust at last line.start } +Pin8: line right plen from Connector.ne-(0,14*(3*(linewid/10))) + { "~D5" rjust at last line.start } +Pin7: line right plen from Connector.ne-(0,15*(3*(linewid/10))) + { "D4" rjust at last line.start } +Pin6: line right plen from Connector.ne-(0,16*(3*(linewid/10))) + { "~D3" rjust at last line.start } +Pin5: line right plen from Connector.ne-(0,17*(3*(linewid/10))) + { "D2" rjust at last line.start } +Pin4: line right plen from Connector.ne-(0,18*(3*(linewid/10))) + { "TX D1" rjust at last line.start } +Pin3: line right plen from Connector.ne-(0,19*(3*(linewid/10))) + { "RX D0" rjust at last line.start } + +# + ] #with .sw at last [].se+(0.25,0) + "Arduino Leonardo" at last [].Connector.s below + + RPI: [ + # + GPIO: box wid 34*(linewid/10) ht 21*(3*(linewid/10)) + plen = 6*(linewid/10) +# +define A_LeftGPIO { + exec sprintf("Pin%g: line left plen from GPIO.nw-(0,%g)",\ + 2*($1)-1,($1)*(3*(linewid/10))) + { "$3" ljust at last line.start } + "$2" at last line.c above } +# +A_LeftGPIO(1,,3V3) +A_LeftGPIO(2,2,SDA1) +A_LeftGPIO(3,3,SCL1) +A_LeftGPIO(4,4,GPIO_GCLK) +A_LeftGPIO(5,,GND) +A_LeftGPIO(6,17,GPIO_GEN0) +A_LeftGPIO(7,27,GPIO_GEN2) +A_LeftGPIO(8,22,GPIO_GEN3) +A_LeftGPIO(9,,3V3) +A_LeftGPIO(10,10,SPI_MOSI) +A_LeftGPIO(11,9,SPI_MISO) +A_LeftGPIO(12,11,SPI_SCLK) +A_LeftGPIO(13,,GND) +A_LeftGPIO(14,,ID_SD) +A_LeftGPIO(15,5,) +A_LeftGPIO(16,6,) +A_LeftGPIO(17,13,) +A_LeftGPIO(18,19,) +A_LeftGPIO(19,26,) +A_LeftGPIO(20,,GND ) + +# +define A_RightGPIO { + exec sprintf("Pin%g: line right plen from GPIO.ne-(0,%g)",\ + 2*($1),($1)*(3*(linewid/10))) + { "$3" rjust at last line.start } + "$2" at last line.c above } +# +A_RightGPIO(1,,5V) +A_RightGPIO(2,,5V) +A_RightGPIO(3,,GND) +A_RightGPIO(4,14,TXD0) +A_RightGPIO(5,15,RXD0) +A_RightGPIO(6,18,GPIO_GEN1) +A_RightGPIO(7,,GND) +A_RightGPIO(8,23,GPIO_GEN4) +A_RightGPIO(9,24,GPIO_GEN5) +A_RightGPIO(10,,GND) +A_RightGPIO(11,25,GPIO_GEN6) +A_RightGPIO(12,8,SPI_CEO_N) +A_RightGPIO(13,7,SPI_CE1_N) +A_RightGPIO(14,,ID_SC) +A_RightGPIO(15,,GND) +A_RightGPIO(16,12,) +A_RightGPIO(17,,GND) +A_RightGPIO(18,16,) +A_RightGPIO(19,20,) +A_RightGPIO(20,21, ) + +# + ] with .sw at last [].se+(0.25,0) + "Raspberry Pi 4 GPIO" at last [].GPIO.s below + + HD: [ + # + Base:[line up 19*(3*(linewid/10))+16*(linewid/10)*2/3/2 then right 16*(linewid/10)*2/3 \ + then right 16*(linewid/10)/3 down 16*(linewid/10)/3 \ + then down 19*(3*(linewid/10))+16*(linewid/10)*2/3-2*16*(linewid/10)/3 then down 16*(linewid/10)/3 left 16*(linewid/10)/3 \ + then left 16*(linewid/10)*2/3 then to Here] + plen = 6*(linewid/10) +# + Pin1: line left plen from Base.nw-(0,16*(linewid/10)/3+(1-1/2)*(3*(linewid/10))) + {"HPD" ljust at last line.start} + "1" at last line.c above +Pin2: line left plen from Base.nw-(0,16*(linewid/10)/3+(2-1/2)*(3*(linewid/10))) + {"UTILITY" ljust at last line.start} + "2" at last line.c above +Pin3: line left plen from Base.nw-(0,16*(linewid/10)/3+(3-1/2)*(3*(linewid/10))) + {"D2+" ljust at last line.start} + "3" at last line.c above +Pin4: line left plen from Base.nw-(0,16*(linewid/10)/3+(4-1/2)*(3*(linewid/10))) + {"D2_SH" ljust at last line.start} + "4" at last line.c above +Pin5: line left plen from Base.nw-(0,16*(linewid/10)/3+(5-1/2)*(3*(linewid/10))) + {"D2-" ljust at last line.start} + "5" at last line.c above +Pin6: line left plen from Base.nw-(0,16*(linewid/10)/3+(6-1/2)*(3*(linewid/10))) + {"D1+" ljust at last line.start} + "6" at last line.c above +Pin7: line left plen from Base.nw-(0,16*(linewid/10)/3+(7-1/2)*(3*(linewid/10))) + {"D1_SH" ljust at last line.start} + "7" at last line.c above +Pin8: line left plen from Base.nw-(0,16*(linewid/10)/3+(8-1/2)*(3*(linewid/10))) + {"D1-" ljust at last line.start} + "8" at last line.c above +Pin9: line left plen from Base.nw-(0,16*(linewid/10)/3+(9-1/2)*(3*(linewid/10))) + {"D0+" ljust at last line.start} + "9" at last line.c above +Pin10: line left plen from Base.nw-(0,16*(linewid/10)/3+(10-1/2)*(3*(linewid/10))) + {"D0_SH" ljust at last line.start} + "10" at last line.c above +Pin11: line left plen from Base.nw-(0,16*(linewid/10)/3+(11-1/2)*(3*(linewid/10))) + {"D0-" ljust at last line.start} + "11" at last line.c above +Pin12: line left plen from Base.nw-(0,16*(linewid/10)/3+(12-1/2)*(3*(linewid/10))) + {"CLK+" ljust at last line.start} + "12" at last line.c above +Pin13: line left plen from Base.nw-(0,16*(linewid/10)/3+(13-1/2)*(3*(linewid/10))) + {"CLK_SH" ljust at last line.start} + "13" at last line.c above +Pin14: line left plen from Base.nw-(0,16*(linewid/10)/3+(14-1/2)*(3*(linewid/10))) + {"CLK-" ljust at last line.start} + "14" at last line.c above +Pin15: line left plen from Base.nw-(0,16*(linewid/10)/3+(15-1/2)*(3*(linewid/10))) + {"CEC" ljust at last line.start} + "15" at last line.c above +Pin16: line left plen from Base.nw-(0,16*(linewid/10)/3+(16-1/2)*(3*(linewid/10))) + {"GND" ljust at last line.start} + "16" at last line.c above +Pin17: line left plen from Base.nw-(0,16*(linewid/10)/3+(17-1/2)*(3*(linewid/10))) + {"SCL" ljust at last line.start} + "17" at last line.c above +Pin18: line left plen from Base.nw-(0,16*(linewid/10)/3+(18-1/2)*(3*(linewid/10))) + {"SDA" ljust at last line.start} + "18" at last line.c above +Pin19: line left plen from Base.nw-(0,16*(linewid/10)/3+(19-1/2)*(3*(linewid/10))) + {"+5V" ljust at last line.start} + "19" at last line.c above + +L1: line from Base.nw+(16*(linewid/10)*2/3-(3*(linewid/10)),0) up plen + svg_rot(90,"21",at last line.c +(-4*(scale/72),0)) + svg_rot(90,"SH2",at last line.start + (4*(scale/72),-8*(scale/72))) + line from Base.nw+(16*(linewid/10)*2/3-2*(3*(linewid/10)),0) up plen + svg_rot(90,"20",at last line.c+(-4*(scale/72),0)) + svg_rot(90,"SH1",at last line.start + (4*(scale/72),-8*(scale/72))) + line from Base.sw+(16*(linewid/10)*2/3-(3*(linewid/10)),0) down plen + svg_rot(90,"23",at last line.c+(-4*(scale/72),0)) + svg_rot(90,"SH4",at last line.start + (4*(scale/72),14*(scale/72))) + line from Base.sw+(16*(linewid/10)*2/3-2*(3*(linewid/10)),0) down plen + svg_rot(90,"22",at last line.c+(-4*(scale/72),0)) + svg_rot(90,"SH3",at last line.start + (4*(scale/72),14*(scale/72))) +# + ] with .nw at last [].ne+(0.25,0.5) + "Micro" rjust at HD.Base.sw "HDMI" rjust + + S: [ + # + Base: box wid 18*(linewid/10) ht 14*(3*(linewid/10)) rad 5/3*(3*(linewid/10)) + plen = 6*(linewid/10) +# + B12: line left plen from Base.n-(18*(linewid/10)/2,(1+0.5)*(3*(linewid/10))) + {"GND" ljust at last line.start} +B11: line left plen from Base.n-(18*(linewid/10)/2,(2+0.5)*(3*(linewid/10))) + {"RX1+" ljust at last line.start} +B10: line left plen from Base.n-(18*(linewid/10)/2,(3+0.5)*(3*(linewid/10))) + {"RX1-" ljust at last line.start} +B9: line left plen from Base.n-(18*(linewid/10)/2,(4+0.5)*(3*(linewid/10))) + {"VBUS" ljust at last line.start} +B8: line left plen from Base.n-(18*(linewid/10)/2,(5+0.5)*(3*(linewid/10))) + {"SBU2" ljust at last line.start} +B7: line left plen from Base.n-(18*(linewid/10)/2,(6+0.5)*(3*(linewid/10))) + {"D-" ljust at last line.start} +B6: line left plen from Base.n-(18*(linewid/10)/2,(7+0.5)*(3*(linewid/10))) + {"D+" ljust at last line.start} +B5: line left plen from Base.n-(18*(linewid/10)/2,(8+0.5)*(3*(linewid/10))) + {"CC2" ljust at last line.start} +B4: line left plen from Base.n-(18*(linewid/10)/2,(9+0.5)*(3*(linewid/10))) + {"VBUS" ljust at last line.start} +B3: line left plen from Base.n-(18*(linewid/10)/2,(10+0.5)*(3*(linewid/10))) + {"TX2-" ljust at last line.start} +B2: line left plen from Base.n-(18*(linewid/10)/2,(11+0.5)*(3*(linewid/10))) + {"TX2+" ljust at last line.start} +B1: line left plen from Base.n-(18*(linewid/10)/2,(12+0.5)*(3*(linewid/10))) + {"GND" ljust at last line.start} + +# + A1: line right plen from Base.n+(18*(linewid/10)/2,-(1+0.5)*(3*(linewid/10))) + {"GND" rjust at last line.start} +A2: line right plen from Base.n+(18*(linewid/10)/2,-(2+0.5)*(3*(linewid/10))) + {"TX1+" rjust at last line.start} +A3: line right plen from Base.n+(18*(linewid/10)/2,-(3+0.5)*(3*(linewid/10))) + {"TX1-" rjust at last line.start} +A4: line right plen from Base.n+(18*(linewid/10)/2,-(4+0.5)*(3*(linewid/10))) + {"VBUS" rjust at last line.start} +A5: line right plen from Base.n+(18*(linewid/10)/2,-(5+0.5)*(3*(linewid/10))) + {"CC1" rjust at last line.start} +A6: line right plen from Base.n+(18*(linewid/10)/2,-(6+0.5)*(3*(linewid/10))) + {"D+" rjust at last line.start} +A7: line right plen from Base.n+(18*(linewid/10)/2,-(7+0.5)*(3*(linewid/10))) + {"D-" rjust at last line.start} +A8: line right plen from Base.n+(18*(linewid/10)/2,-(8+0.5)*(3*(linewid/10))) + {"SBU1" rjust at last line.start} +A9: line right plen from Base.n+(18*(linewid/10)/2,-(9+0.5)*(3*(linewid/10))) + {"VBUS" rjust at last line.start} +A10: line right plen from Base.n+(18*(linewid/10)/2,-(10+0.5)*(3*(linewid/10))) + {"RX2-" rjust at last line.start} +A11: line right plen from Base.n+(18*(linewid/10)/2,-(11+0.5)*(3*(linewid/10))) + {"RX2+" rjust at last line.start} +A12: line right plen from Base.n+(18*(linewid/10)/2,-(12+0.5)*(3*(linewid/10))) + {"GND" rjust at last line.start} + +# + ] with .sw at (HD.e.x+0.25,RPI.s.y) + "USB-C Socket" at S.Base.s below + "B12" at S.B12.end above ljust + "B1" at S.B1.end above ljust + "A1" at S.A1.end above rjust + "A12" at S.A12.end above rjust + + command "" + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ConnectorsDPV.svg b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ConnectorsDPV.svg new file mode 100644 index 00000000000..4b63a641be0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ConnectorsDPV.svg @@ -0,0 +1,853 @@ + + + + + + + + + +IOREF + +RESET + ++3V3 + ++5V + +GND + +GND + +VIN + +A0 + +A1 + +A2 + +A3 + +A4 + +A5 + +SCL + +SDA + +AREF + +GND + +~D13 + +D12 + +~D11 + +~D10 + +~D9 + +D8 + +D7 + +~D6 + +~D5 + +D4 + +~D3 + +D2 + +TX D1 + +RX D0 +Arduino Leonardo + + +3V3 + + +SDA1 +2 + +SCL1 +3 + +GPIO_GCLK +4 + +GND + + +GPIO_GEN0 +17 + +GPIO_GEN2 +27 + +GPIO_GEN3 +22 + +3V3 + + +SPI_MOSI +10 + +SPI_MISO +9 + +SPI_SCLK +11 + +GND + + +ID_SD + + + +5 + + +6 + + +13 + + +19 + + +26 + +GND + + +5V + + +5V + + +GND + + +TXD0 +14 + +RXD0 +15 + +GPIO_GEN1 +18 + +GND + + +GPIO_GEN4 +23 + +GPIO_GEN5 +24 + +GND + + +GPIO_GEN6 +25 + +SPI_CEO_N +8 + +SPI_CE1_N +7 + +ID_SC + + +GND + + + +12 + +GND + + + +16 + + +20 + + +21 +Raspberry Pi 4 GPIO + + +HPD +1 + +UTILITY +2 + +D2+ +3 + +D2_SH +4 + +D2- +5 + +D1+ +6 + +D1_SH +7 + +D1- +8 + +D0+ +9 + +D0_SH +10 + +D0- +11 + +CLK+ +12 + +CLK_SH +13 + +CLK- +14 + +CEC +15 + +GND +16 + +SCL +17 + +SDA +18 + ++5V +19 + + +21 + + +SH2 + + + +20 + + +SH1 + + + +23 + + +SH4 + + + +22 + + +SH3 + +Micro +HDMI + + +GND + +RX1+ + +RX1- + +VBUS + +SBU2 + +D- + +D+ + +CC2 + +VBUS + +TX2- + +TX2+ + +GND + +GND + +TX1+ + +TX1- + +VBUS + +CC1 + +D+ + +D- + +SBU1 + +VBUS + +RX2- + +RX2+ + +GND +USB-C Socket +B12 +B1 +A1 +A12 + + diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ContactDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ContactDPV.m4 new file mode 100644 index 00000000000..d2fb238005d --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ContactDPV.m4 @@ -0,0 +1,101 @@ +.PS +# ContactDPV +cct_init +svg_font(sans-serif,11bp__) + +movw = 0.45 +{ + contact + {S:"svg_tt(`contact')" at last [].s+(0,-0.15) + "svg_it(`P')" rjust at last [].P.w + "svg_it(`O')" ljust at last [].O + "svg_it(`C')" ljust at last [].C } + move right_ movw; contact(R) + {"svg_tt(`(R)')" at (last [].s,S) + "svg_it(`P')" rjust at last [].P.w + "svg_it(`O')" ljust at last [].O + "svg_it(`C')" ljust at last [].C } + move right_ movw; contact(O); {"svg_tt(`(O)')" at (last [],S)} + move right_ movw; contact(C); {"svg_tt(`(C)')" at (last [],S)} + + move right_ movw; contact(P) + {S: "svg_tt(`(P)')" at last [].s+(0,-0.15) + "svg_it(`P')" rjust at last [].P.w + "svg_it(`O')" ljust at last [].O + "svg_it(`C')" ljust at last [].C } + move right_ movw; contact(PR) + {S: "svg_tt(`(PR)')" at last [].s+(0,-0.15) + "svg_it(`P')" rjust at last [].P.w + "svg_it(`O')" ljust at last [].O + "svg_it(`C')" ljust at last [].C } + move right_ movw; contact(PO); {"svg_tt(`(PO)')" at (last [],S)} + {"svg_it(`O')" ljust at last [].O + "svg_it(`C')" ljust at last [].C } + move right_ movw; contact(PC); {"svg_tt(`(PC)')" at (last [],S)} +} + +move down 0.75; right_ ; { + contact(I); {S: "svg_tt(`(I)')" at last [].s+(0,-12bp__) + "svg_it(`P')" rjust at last [].P.w + "svg_it(`O')" ljust at last [].O.e + "svg_it(`C')" ljust at last [].C.e } + move right_ movw; contact(RI) + {"svg_tt(`(RI)')" at (last [],S) + "svg_it(`P')" rjust at last [].P.w + "svg_it(`O')" ljust at last [].O.e + "svg_it(`C')" ljust at last [].C.e } + move right_ movw; contact(OI); {"svg_tt(`(OI)')" at (last [],S)} + move right_ movw; contact(CI); {"svg_tt(`(CI)')" at (last [],S)} + + move right_ movw; contact(PI); {"svg_tt(`(PI)')" at (last [],S) } + {"svg_it(`O')" ljust at last [].O.e + "svg_it(`C')" ljust at last [].C.e } + move right_ movw; contact(PIO); {"svg_tt(`(PIO)')" at (last [],S) } + move right_ movw; contact(PIC); {"svg_tt(`(PIC)')" at (last [],S) } +} + +movewid = movw + move down 0.65; right_; { + K: contact(T) + {S: "svg_tt(`(T)')" at last [].s+(0,-0.15) + thinlines_ + spline <- right 0.09 then up 0.05 right 0.05 from K.C; "svg_it(`C')" + spline <- right 0.09 then down 0.05 right 0.05 from K.O; "svg_it(`O')" + thicklines_ } + move; K: contact(RT) + {"svg_tt(`(RT)')" at (last [],S) + thinlines_ + spline <- right 0.09 then up 0.05 right 0.05 from K.O; "svg_it(`O')" + spline <- right 0.09 then down 0.05 right 0.05 from K.C; "svg_it(`C')" + thicklines_ } + move; contact(OT); {S: "svg_tt(`(OT)')" at (last [],S) } + move; contact(CT); {S: "svg_tt(`(CT)')" at (last [],S) } + move; contact(PT); {S: "svg_tt(`(PT)')" at (last [],S) } + move; contact(PTO); {S: "svg_tt(`(PTO)')" at (last [],S) } + move; contact(PTC); {S: "svg_tt(`(PTC)')" at (last [],S) } +} + + move down 0.65; right_; { + K: contact(U) + {S: "svg_tt(`(U)')" at last [].s+(0,-0.15) + thinlines_ + spline <- right 0.09 then up 0.05 right 0.05 from K.C; "svg_it(`C')" + spline <- right 0.09 then down 0.05 right 0.05 from K.O; "svg_it(`O')" + thicklines_ } + move; K: contact(RU) + {"svg_tt(`(RU)')" at (last [],S) + thinlines_ + spline <- right 0.09 then up 0.05 right 0.05 from K.O; "svg_it(`O')" + spline <- right 0.09 then down 0.05 right 0.05 from K.C; "svg_it(`C')" + thicklines_ } + move; K: contact(OU); {S: "svg_tt(`(OU)')" at (last [],S) + "svg_it(`O')" ljust at K.O.e } + move; K: contact(CU); {S: "svg_tt(`(CU)')" at (last [],S) + "svg_it(`C')" ljust at K.C.e } + move; contact(PU); {S: "svg_tt(`(PU)')" at (last [],S) } + move; contact(PUO); {S: "svg_tt(`(PUO)')" at (last [],S) } + move; contact(PUC); {S: "svg_tt(`(PUC)')" at (last [],S) } +} + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ContactsDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ContactsDPV.m4 new file mode 100644 index 00000000000..c323c047144 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ContactsDPV.m4 @@ -0,0 +1,49 @@ +.PS +# ContactsDPV.m4 +cct_init +svg_font(sans-serif,10bp__) + + space = 0.75 + KS:contacts(2) + {"svg_tt(`contacts(2)')" wid 1 at KS.s +(0,-12bp__) + for_(1,2,1, + `"svg_it(P`'m4x)" rjust at last [].P`'m4x-(dotrad_,0) + "svg_it(O`'m4x)" ljust at last [].O`'m4x+(dotrad_,0) + "svg_it(C`'m4x)" ljust at last [].C`'m4x+(dotrad_,0) ') } + + KS:contacts(2,I) with .sw at last [].se+(space,0) + {"svg_tt(`(2,I)')" at KS.s +(0,-12bp__) + for_(1,2,1, + `"svg_it(P`'m4x)" rjust at last [].P`'m4x-(dotrad_,0) + "svg_it(O`'m4x)" ljust at last [].O`'m4x+(dotrad_,0) + "svg_it(C`'m4x)" ljust at last [].C`'m4x+(dotrad_,0) ') } + + KS:contacts(2,IO) with .sw at last [].se+(space,0) + {"svg_tt(`(2,IO)')" at KS.s +(0,-12bp__) + for_(1,2,1, + `"svg_it(P`'m4x)" rjust at last [].P`'m4x-(dotrad_,0) + "svg_it(O`'m4x)" ljust at last [].O`'m4x+(dotrad_,0) ') } + + KS:contacts(2,PICD) with .sw at last [].se+(space,0) + {"svg_tt(`(2,PICD)')" at KS.s +(0,-12bp__) + for_(1,2,1, + `"svg_it(P`'m4x)" rjust at last [].P`'m4x-(dotrad_,0) + "svg_it(O`'m4x)" ljust at last [].O`'m4x+(dotrad_,0) + "svg_it(C`'m4x)" ljust at last [].C`'m4x+(dotrad_,0) ') } + + KS:contacts(2,PTCD) with .sw at last [].se+(space,0) + {"svg_tt(`(2,PTCD)')" at KS.s +(0,-12bp__) + for_(1,2,1, + `"svg_it(P`'m4x)" rjust at last [].P`'m4x-(dotrad_,0) + "svg_it(O`'m4x)" ljust at last [].O`'m4x+(dotrad_,0) + "svg_it(C`'m4x)" ljust at last [].C`'m4x+(dotrad_,0) ') } + + KS:contacts(2,PUCD) with .sw at last [].se+(space,0) + {"svg_tt(`(2,PUCD)')" at KS.s +(0,-12bp__) + for_(1,2,1, + `"svg_it(P`'m4x)" rjust at last [].P`'m4x-(dotrad_,0) + "svg_it(O`'m4x)" ljust at last [].O`'m4x+(dotrad_,0) + "svg_it(C`'m4x)" ljust at last [].C`'m4x+(dotrad_,0) ') } + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CountingDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CountingDPV.m4 new file mode 100644 index 00000000000..1abda4f76e8 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CountingDPV.m4 @@ -0,0 +1,32 @@ +.PS +# CountingDPV.m4 +gen_init(svg_font(sans-serif,11bp__)) + + g = 0.4 # grid size + define grid { (($2)*g,-($1)*g) } + circlerad = 0.1 + +for i=1 to 4 do { # 66% becomes 66%% in the sprintf string: + sprintf("svg_it(S`'svg_sub(%g,66%):)",i) ljust at grid(i,-0.5) + for j=1 to 4 do { if i+j < 8 then { + sprintf("svg_it(s`'svg_sub(%g%g,66%))",i,j) at grid(i,j) } } } + +"." at grid(4.6,0) +"." at grid(4.7,0) +"." at grid(4.8,0) +for i=1 to 3 do { `"..."' at grid(i,5) } +"..." at grid(4,4) + +P: grid(1,1) +for k=3 to 5 do { + for i=1 to k-1 do { if (k%2==1) then { m=i; n=k-i } else { m=k-i; n=i } + Q: grid(m,n) + arrow from P to Q chop + P: Q } + } + +move from grid(1,1)+(-0.5,0.1) \# Adjust bounding box + to grid(4,4)+(0.5,-0.45) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CrowDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CrowDPV.m4 new file mode 100644 index 00000000000..3b3cb802b0e --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CrowDPV.m4 @@ -0,0 +1,74 @@ +.PS +# CrowDPV.m4 +#`Illustrates shadebox and custom crowfoot line termination' +gen_init(svg_font(sans-serif,11bp__)) + +# Custom macros -------------------------- + +# `crowline(linespec,wid,ht)' +define(`crowline', + `line `$1' + M4_E: last line.end + crow_wd = ifelse(`$2',,`(arrowwid*8/5)',`$2') + crow_ht = ifelse(`$3',,`(1.5*crow_wd)',`$3') + M4_P: vperp(last line); M4_P: (M4_P.x*crow_wd,M4_P.y*crow_wd) + M4_X: crow_ht/lin_leng(last line) between M4_E and last line.start + ifdpic( + `spline 0.4 from M4_E+M4_P to M4_X+M4_P then to M4_X-M4_P then to M4_E-M4_P', + `spline from M4_E+(M4_P.x,M4_P.y) to M4_X+(M4_P.x,M4_P.y) \ + then to M4_X-(M4_P.x,M4_P.y) then to M4_E-(M4_P.x,M4_P.y)') ') + +define(`custombox', + ``$1': shadebox(box `$2',3) + "`$1'" at last box.n above + boxtext(shift(shift($@)))') + +define boxtext { + for i=1 to $+ do { move to last box.nw+(3pt__,-(2+i*11)pt__); + exec sprintf("\"$%g\" ljust",i) } + } + +# ---------------------------- + + boxwid = boxwid*1.15 + boxsep = boxwid/2 + + custombox(Class,ht boxht*1.7, + `classkey, class_type, class_desc') + + custombox(Product,ht Class.ht with .nw at Class.ne+(boxsep,0), + `classkey, prodkey, prod_name, pkg_type') + + custombox(Sales,ht boxht*2.75 with .nw at Product.ne+(boxsep*2,13pt__), + `perkey, classkey, prodkey, storekey, promokey, quantity, dollars') + + custombox(Period,ht Sales.ht with .nw at Sales.ne+(boxsep*2,0), + `perkey, date, day, week, month, qtr, year') + + custombox(Market,ht Sales.ht with .nw at Class.sw+(0,-boxsep*3/2), + `perkey, date, day, week, month, qtr, year') + + custombox(Store,ht boxht*3.2 with .sw at (Product.w,Market.s), + `storekey, mktkey, store_type, store_name, street, city, state, zip') + + custombox(Promotion,ht Market.ht with .sw at (Period.w,Market.s), + `promokey, promo_type, promo_desc, value, start_date, end_date') + + move to Class.ne+(0,-10pt__); crowline(to (Product.w,Here)) + + move to Product.ne+(0,-10pt__); crowline(to (Sales.w,Here)) + move to last line.start+(0,-crow_wd*2.5); crowline(to (Sales.w,Here)) +T: last line.c+(0,-crow_wd*2.5) + + move to Period.nw+(0,-10pt__); crowline(to (Sales.e,Here),,1.75*crow_wd) +Q: (last line.c,0.35 between Sales.se and Sales.ne) + + move to Market.ne+(0,-10pt__); crowline(to (Store.w,Here)) + move to Store.ne+(0,-10pt__); line to (T,Here) then to T + crowline(to (Sales.w,Here)) + + move to Promotion.nw+(0,-10pt__); line to (Q,Here) then to Q + crowline(to (Sales.e,Here),,1.75*crow_wd) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CrullerDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CrullerDPV.m4 new file mode 100644 index 00000000000..db03d7b3c37 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CrullerDPV.m4 @@ -0,0 +1,67 @@ +.PS +# CrullerDPV.m4 +threeD_init +NeedDpicTools +scale = 2.54 + +define(`lobe',`(sind(6*(`$1'))+4)/5*2.25') + + viewazimuth = 20 # Set view angles in degrees + viewelevation = 30 + setview(viewazimuth,viewelevation,0) + + dt = 3 # major angle degrees per facet + ds = 10 # minor angle degrees per facet + + tradius = 6 +define(`cruller',`rot3Dz((`$1')*dtor_, + sum3D(0,tradius,0,0,Rect_(lobe(`$2'+2*(`$1')),`$2')))') + +define(`tvisible',`dot3D(View3D, + cross3D(diff3D(cruller(`$1'+dt/2,`$2'),cruller(`$1',`$2')), + diff3D(cruller(`$1',`$2'+ds/2),cruller(`$1',`$2'))))') + + # create the arrays and sort + n = 0 + for t = dt to 360+dt/2 by dt do { + for s=ds/2 to 360.1 by ds do { + if tvisible(t,s) > -0.01 then { + n +=1 + t[n] = t + s[n] = s + d[n] = dot3D(cruller(t,s),view3D1,view3D2,view3D3) # view distance + ix[n] = n + } + } } +# prval(n) + dpquicksort(d,1,n,ix) + + # Background +Bne: (9,6) +Bsw: (-9,-6) +B: 0.5 between Bne and Bsw +iflatex(`line fill_(0.75) \ + from (Bsw,Bne) to Bsw then to (Bne,Bsw) then to Bne then to (Bsw,Bne)', + `ShadedPolygon((Bsw,Bne):Bsw:(Bne,Bsw):Bne,,-30, + 0,1,1,1, + .5,.1,.4,0, + 1,0,0,0) at B') + # draw the facets +thinlines_ +[ + rgbtohsv(0.6,0.4,0,h,s,v) + for i = 1 to n do { + tc = t[ix[i]]; sc = s[ix[i]] + SE: Project(cruller(tc+dt/2,sc-ds/2)) + SW: Project(cruller(tc-dt/2,sc-ds/2)) + NW: Project(cruller(tc-dt/2,sc+ds/2)) + NE: Project(cruller(tc+dt/2,sc+ds/2)) + f = ((dcosine3D(3,cruller(tc,sc))/2.25+1)/2)^2 + hsvtorgb(h,(1-f)*s,1,r,g,b) + line outlined rgbstring(r,g,b) shaded rgbstring(r,g,b) ifpdf( invis ) \ + from SE to SW then to NW then to NE then to SE } + ] at B + +thicklines_ + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CsourceDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CsourceDPV.m4 new file mode 100644 index 00000000000..c95aaff3d45 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CsourceDPV.m4 @@ -0,0 +1,197 @@ +.PS +# Csource.m4 +cct_init(svg_font(sans-serif,11bp__,2bp__)) + +# The default line separation is a bit small if the top line contains +# subscripts, so we space stacked lines explicitly: +define(`stbelow',`at last ""-(0,textht*1.5)') + +define(`loffset',`+(textoffset,0)') +define(`roffset',`-(textoffset,0)') + +define(`npair',`[define(`m4lr',ifelse(`$1',,l,r)) + J: mosfet(down_ dimen_,ifelse(`$1',,R,L),uHSDF,E) + {["svg_it(Q`'svg_sub(`$2'))" ljust; "2N5464" ljust stbelow]\ + at J.nw+(ifelse(`$1',,-5bp__,5bp__),textht*0.75)} + G: J.G + line ifelse(`$1',,right,left) dimen_/4 from J.D + Q: bi_tr(up_ dimen_,ifelse(`$1',,L,R),,E) with .B at Here + {["svg_it(Q`'svg_sub(`$3'))" m4lr`'just; "2N4239" m4lr`'just stbelow] \ + at last [].ifelse(`$1',,e,w)} + E: Q.E + S: dot(at (Q.C,J.S)) + line from J.S to S then to Q.C ]') + +define(`ppair',`[define(`m4lr',ifelse(`$1',,l,r)) + J: mosfet(down_ dimen_,ifelse(`$1',,R,L),dHSDF,E) + {["svg_it(Q`'svg_sub(`$2'))" ljust; "2N3819" ljust stbelow] \ + at J.sw+(ifelse(`$1',,0,`4bp__'),-textht*0.6)} + G: J.G + line ifelse(`$1',,right,left) dimen_/4 from J.S + Q: bi_tr(down_ dimen_,ifelse(`$1',,R,L),P,E) with .B at Here + {["svg_it(Q`'svg_sub(`$3'))" m4lr`'just; "2N4236" m4lr`'just stbelow]} + E: Q.E + S: dot(at (Q.C,J.D)) + line from J.D to S then to Q.C ]') + + textht = textht*0.8 + R2: resistor(down_ dimen_) + {["svg_it(R`'svg_sub(2))" ljust; "150`'svg_ohm" ljust stbelow] \ + at last [].e loffset } + dot + Q13: bi_tr(down_ dimen_,,P,E) with .E at Here + {["svg_it(Q`'svg_sub(13))" rjust; "2N4236" rjust stbelow] at last [].w } + line down 3.1*elen_ from Q13.C + Q14: bi_tr(up_ dimen_,R,,E) with .C at Here + {["svg_it(Q`'svg_sub(14))" rjust; "2N4239" rjust stbelow] at last [].w } + dot(at Q14.E) + { line left_ dimen_*1.3 then up_ dimen_ + R1: potentiometer(up_ dimen_) with .Start at Here + {["svg_it(R`'svg_sub(1))" ljust; "20k`'svg_ohm" ljust stbelow] \ + at last [].e loffset } + { ground(at R1.T1) } + line from R1.End to (R1.End,Q13.E) then to Q13.E } + { dot(at Q13.C+(0,-elen_)) + line to (R1.R,Here)+(-dimen_/2,0) + { arrowline(right_ dimen_/2); llabel(,i`'svg_sub(1)) } + { move left 0.2} + V1: gap(down_ dimen_,1); rlabel(+,V`'svg_sub(1),-) + line down_ dimen_/4 chop dotrad_ chop 0; ground(,T) } + R3: resistor(down_ dimen_) + {["svg_it(R`'svg_sub(3))" ljust; "150svg_ohm" ljust stbelow] \ + at last [].e loffset} + dot(at Q13.C+(0,-2*elen_)) + line right_ dimen_/2 + A1: opamp with .In2 at Here; "svg_it(A`'svg_sub(1))" at A1.C + { "Nexus" rjust "SQ-10A" rjust at (A1.E,A1.s)+(0,-textht/2) } + line left_ dimen_/4 from A1.In1 then up_ dimen_/2 then right dimen_ + dot + { resistor(up_ elen_) + {["svg_it(R`'svg_sub(14))" rjust; "19k`'svg_ohm" rjust stbelow] \ + at last [].w roffset} + line to (Here,Q13.E) then to Q13.E } + line to (A1.Out,Here) + dot + { line to A1.Out + dot + resistor(down_ to (Here,Q14.E)) + {["svg_it(R`'svg_sub(13))" ljust; "91k`'svg_ohm" ljust stbelow] \ + at last [].e loffset} + line to Q14.E } + R6: resistor(right_ dimen_) + {["svg_it(R`'svg_sub(6))" ljust; "15k`'svg_ohm" ljust stbelow] \ + with .n at last [].sw+(0,-textoffset) } + dot + line to (Here,A1.In1) then right_ dimen_/4 + A2: opamp with .In1 at Here; {"svg_it(A`'svg_sub(2))" at A2.C } + { "Nexus" rjust "SQ-10A" rjust at (A2.E,A2.s)+(0,-textht/2) } + line left_ dimen_/4 from A2.In2 + ground + + dot(at A2.Out) + DP1: npair(,3,4) with .E at (A2.Out,Q14.B)+(elen_*1.25,0) +#if 2 < 1 then { + line from A2.Out to (A2.Out,DP1.G) then to DP1.G + line from DP1.E to (DP1.E,R3.bottom); dot + D4: reversed(`diode',up_ dimen_/2 from DP1.S) + D3: reversed(`diode',up_ dimen_/2 from Here+(0,-dimen_/6)) + { "OMC-V" rjust "svg_it(D`'svg_sub(4))" rjust \ + "svg_it(D`'svg_sub(3))" rjust at last [].w } + DP2: ppair(,1,2) with .E at (DP1.E,Q13.B) + D1: diode(down_ dimen_/2 from DP2.S) + D2: diode(down_ dimen_/2 from Here+(0,dimen_/6)) + {"svg_it(D`'svg_sub(1))" rjust "svg_it(D`'svg_sub(2))" rjust "OMC-V" rjust\ + at last [].w } + dot(at (Here,A2)) + line to D2.bottom + line from DP2.G to (A2.Out,DP2.G) then to A2.Out + line from DP2.E to (DP2.E,R2.top); dot + + T: dot(at (DP1.E,A2)+(dimen_,0)) + DP3: npair(,7,8) with .G at (Here,DP1.G)+(dimen_/4,0) + dot(at DP3.E) + line to Q14.B + DP4: ppair(,5,6) with .G at (DP3.G,DP2.G) + dot(at DP4.E) + line to Q13.B + line from DP3.G to (T,DP3.G) then to (T,DP4.G) then to DP4.G + R11: resistor(down_ dimen_ from DP4.S) + {["svg_it(R`'svg_sub(11))" rjust; "20`'svg_ohm" rjust stbelow] \ + at last [].w roffset} + D5: diode(up_ from DP3.S to (DP3.S,A2),Z) + {["svg_it(D`'svg_sub(5))" rjust; "1N4729" rjust stbelow] \ + at last [].w roffset} + line to R11.end + C4: capacitor(right_ dimen_*1.3 from DP3.S,C) + llabel(,svg_it(C`'svg_sub(4))); rlabel(,"0.68`'svg_micro(F)") + C3: capacitor(right_ dimen_*1.3 from DP4.S,C) + llabel(,svg_it(C`'svg_sub(3))); rlabel(,"0.68`'svg_micro(F)") + dot + dot(at (Here,R6)) + C2: reversed(`capacitor',left_ dimen_*1.3,C) + rlabel(,svg_it(C`'svg_sub(2))); llabel(,"0.1`'svg_micro(F)") + line to R6.end + + R5: resistor(up_ from R6.end to (R6.end,Q13.B)) + {["svg_it(R`'svg_sub(5))" ljust; "100k`'svg_ohm" ljust stbelow] \ + at last [].e loffset } + dot(at R5.top-(0,dimen_/2)) + line left_ dimen_/2 + capacitor(down_ dimen_,C) + {["svg_it(C`'svg_sub(1))" rjust; "1`'svg_micro(F)" rjust stbelow] \ + at last [].w roffset} + ground(,T) + + line from DP4.E to (DP4.E,R2.bottom) + resistor(up_ to (Here,R2.top)) + {["svg_it(R`'svg_sub(9))" ljust; "910`'svg_ohm" ljust stbelow] \ + at last [].e loffset} + dot + resistor(down_ from DP3.E to (DP3.E,R3.bottom)) + {["svg_it(R`'svg_sub(10))" ljust; "910`'svg_ohm" ljust stbelow] \ + at last [].e loffset} + dot + + line from R5.top to (R5,Q13.E) + resistor(right_ elen_) + {["svg_it(R`'svg_sub(4))" ljust; "100k`'svg_ohm" ljust stbelow] \ + with .s at last [].nw+(0,1bp__)} + line to (C4.end,Here) then to C4.end + + DP5: npair(L,11,10) with .E at (C4.end,DP1.E)+(elen_*0.8,0) + line from DP5.E to (DP5.E,R3.bottom); dot + line from R3.bottom to Here+(dimen_/2,0) + dot(,,1) + "svg_it(-E`'svg_sub(CC))" ljust at last [].e + D6: diode(up_ from DP5.S to (DP5.S,A2),Z) + {["svg_it(D`'svg_sub(6))" rjust; "1N4728" rjust stbelow] \ + at last [].w roffset} + DP6: ppair(L,12,9) with .E at (DP5.E,DP2.E) + line from DP6.E to (DP6.E,R2.top); dot + line from R2.top to Here+(dimen_/2,0) + dot(,,1) + { "svg_it(E`'svg_sub(CC))" ljust at last [].e } + resistor(down_ from DP6.S to (DP6.S,C2)) + {["svg_it(R`'svg_sub(12))" rjust; "20`'svg_ohm" rjust stbelow] \ + at last [].w roffset} + dot + { line to C2.e } + line to D6.end + + Vr: dot(at (DP6.G,V1.top)+(dimen_/4,0)) + line from DP6.G to (Vr,DP6.G) then to (Vr,DP5.G) then to DP5.G + reversed(`arrowline',right_ dimen_/2 from Vr); llabel(,i`'svg_sub(2)) + V2: gap(down_ dimen_,1); llabel(+,V`'svg_sub(2),-) + { move right 0.2} + line down_ dimen_/4 chop dotrad_ chop 0; ground(,T) + + dot(at (Vr,T)) + resistor(left_ to (DP6.E,Here)) + {["svg_it(R`'svg_sub(15))" ljust; "200`'svg_ohm" ljust stbelow] \ + with .s at last [].nw+(0,textoffset)} + line to (DP1.E,Here) + dot +#} + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CsourceDPV.svg b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CsourceDPV.svg new file mode 100644 index 00000000000..81aa8f201dd --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/CsourceDPV.svg @@ -0,0 +1,1175 @@ + + + + + + + + +R2 +150Ω + + + + + + + + + + + + + +Q13 +2N4236 + + + + + + + + + + + + + +Q14 +2N4239 + + + + + +R1 +20kΩ + + + + + + + + + + +i1 + + ++ +V1 +- + + + + + +R3 +150Ω + + + + +- ++ +A1 +Nexus +SQ-10A + + + +R14 +19kΩ + + + + + + +R13 +91kΩ + + +R6 +15kΩ + + + + +- ++ +A2 +Nexus +SQ-10A + + + + + + + + + + + + + + + +Q3 +2N5464 + + + + + + + + + + + + + +Q4 +2N4239 + + + + + + + + + + + + + + + +OMC-V +D4 +D3 + + + + + + + + +Q1 +2N3819 + + + + + + + + + + + + + +Q2 +2N4236 + + + + + + + + + + + + +D1 +D2 +OMC-V + + + + + + + + + + + + + + + +Q7 +2N5464 + + + + + + + + + + + + + +Q8 +2N4239 + + + + + + + + + + + + +Q5 +2N3819 + + + + + + + + + + + + + +Q6 +2N4236 + + + + + + +R11 +20Ω + + + + + +D5 +1N4729 + + + + + +C4 +0.68μF + + + + +C3 +0.68μF + + + + + + +C2 +0.1μF + + +R5 +100kΩ + + + + + + +C1 +1μF + + + + + +R9 +910Ω + + +R10 +910Ω + + + +R4 +100kΩ + + + + + + + + + + +Q11 +2N5464 + + + + + + + + + + + + + +Q10 +2N4239 + + + + + + +-ECC + + + + + +D6 +1N4728 + + + + + + + + +Q12 +2N3819 + + + + + + + + + + + + + +Q9 +2N4236 + + + + + + +ECC + +R12 +20Ω + + + + + + + + +i2 + + ++ +V2 +- + + + + + + +R15 +200Ω + + + + diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DPVconfig.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DPVconfig.m4 new file mode 100644 index 00000000000..e8aa1fa3ec1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DPVconfig.m4 @@ -0,0 +1,58 @@ +divert(-1) +#nclude(svg.m4)dnl +#ivert(-1) + +#Adjust scale and default lengths +define(`scaledefaults',` + scale = 1/($1) + arcrad = arcrad*($1) + arrowht = arrowht*($1) + arrowwid = arrowwid*($1) + boxht = boxht*($1) + boxrad = boxrad*($1) + boxwid = boxwid*($1) + circlerad = circlerad*($1) + dashwid = dashwid*($1) + ellipseht = ellipseht*($1) + ellipsewid = ellipsewid*($1) + lineht = lineht*($1) + linewid = linewid*($1) + moveht = moveht*($1) + movewid = movewid*($1) + textht = textht*($1) + textoffset = textoffset*($1) + textwid = textwid*($1) + linethick = linethick*($1) + maxpsht = maxpsht*($1) + maxpswid = maxpswid*($1) +') + +# Possible defaults for diagrams in mm +define(`SIdefaults',` + scale = scale*25.4 + arcrad = 5 + arrowht = 2.5 + arrowwid = arrowht/2 + boxht = 12 + boxrad = 0 + boxwid = 18 + circlerad = 5 + dashwid = 1.5 + ellipseht = 12 + ellipsewid = 18 + lineht = 12 + linewid = 12 + moveht = 12 + movewid = 12 + textht = ifsvg(4,0) + textoffset = 3 + textwid = 0 +') + +define(`local_init',` +`#' local init begin + scaledefaults(1.1) +`#' local init end +') + +divert(0)dnl diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DecoderDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DecoderDPV.m4 new file mode 100644 index 00000000000..2f9659ee42f --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DecoderDPV.m4 @@ -0,0 +1,25 @@ +.PS +# Decoder.m4 +log_init(svg_font(sans-serif,11bp__)) + + define(`nlines',3) # OK for nlines from 1 to approximately 4 + + define(`ndata',`eval(2**nlines-1)') + for_(0,nlines-1,1, + `{right_; A`'m4x: dot(at rsvec_(0,m4x*AND_ht)) + "svg_it(A`'svg_sub(m4x))" wid 0.2 at last [].w rjust}') + + for_(0,ndata,1, + `define(`m4y',m4x) down_ + G`'m4y: AND_gate(nlines) \ + at A0+svec_(AND_ht*3/2,(m4y+1/2)*AND_ht*3/2) + line down linewid/3; dot; "svg_it(D`'svg_sub(m4y))" at last [].s below + for_(0,nlines-1,1, + `ifelse(eval(m4y/2**m4x%2),0, + `up_; NOT_circle with .s at',`move to') G`'m4y.In`'eval(nlines-m4x) + line to (Here,A`'m4x) ifelse(m4y,ndata,`then to A`'m4x',`; dot') + ') + ') + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DemultiplexerDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DemultiplexerDPV.m4 new file mode 100644 index 00000000000..52841700279 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DemultiplexerDPV.m4 @@ -0,0 +1,37 @@ +.PS +# `DemultiplexerDPV.m4' +log_init(svg_font(sans-serif,11*0.8bp__)) + + right_ + + Demux(4,DM1) + "`Demux'(4,DM1)" at last [].s below + "svg_it(Out0)" at last [].Out0.end +(6bp__,6bp__) + "svg_it(Out3)" at last [].Out3.end +(6bp__,-6bp__) + "svg_it(In)" at last [].In.end rjust wid 11bp__ + "svg_it(Sel)" at last [].Sel.end ljust above + left_; Demux(4,,LOE) with .c at last [].c+(1.2,0) + "`left_; Demux'(4,,LOE)" at last [].s + (0,-20bp__) + "svg_it(Sel)" at last [].Sel.end rjust + "svg_it(Out0)" at last [].Out0.end +(-6bp__,6bp__) + "svg_it(OE)" at last [].OE.end ljust + "svg_it(In)" at last [].In.end+(0,5bp__) ljust + right_; Demux(4,,NOEBN2) with .c at last [].c+(1.2,0) + "(4,,NOEBN2)" at last [].s below + "svg_it(Sel0)" at last [].Sel0.end rjust + "svg_it(Sel1)" at last [].Sel1.end ljust + "svg_it(Out0)" at last [].Out0.end +(5bp__,6bp__) + "svg_it(Out3)" at last [].Out3.end +(5bp__,6bp__) + "svg_it(NOE)" at last [].NOE.end rjust + "svg_it(In)" at last [].In.end above + down_; Demux(8,,L3,,28*L_unit) with .c at last [].c+(1.8,0) + "`down_; Demux'(8,,L3,,28*L_unit)" at last [].s+(0,-15bp__) wid 170bp__ + "svg_it(Sel0)" at last [].Sel0.end rjust + "svg_it(Sel2)" at last [].Sel2.end rjust below + "svg_it(Out0)" at last [].Out0.end rjust + "svg_it(Out7)" at last [].Out7.end ljust + "svg_it(In)" at last [].In.end rjust + + command "" # end font + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DiniDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DiniDPV.m4 new file mode 100644 index 00000000000..1846917a4ae --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DiniDPV.m4 @@ -0,0 +1,193 @@ +.PS +# Dini.m4 +# This diagram can be produced using, e.g. +# m4 pdf.m4 Dini.m4 | dpic -d > Dini.pdf + +threeD_init +NeedDpicTools +scale = 1.5 +[ + viewazimuth = 0 # View angles in degrees + viewelevation = 20 + setview(viewazimuth,viewelevation,0) + + a = 1.5 + b = 0.25 + +define(`Dini', +`a*cos(`$1')*sin(`$2'),dnl + a*sin(`$1')*sin(`$2'),dnl + (a*(cos(`$2')+loge(tan((`$2')/2))) + b*(`$1'))') + + umin = 0; umax = 4*pi_ + vmin = 0.2; vmax = 2.0 + ugrid = 80; vgrid = 20 + + ur = umax-umin + vr = vmax-vmin +`define cu {umin+($1)/ugrid*ur}' +`define cv {vmin+($1)/vgrid*vr}' + +# Generate points and sort + n = -1 + for iu=0 to ugrid do { + for iv=0 to vgrid do { + n +=1 + ciu[n] = cu(iu) + civ[n] = cv(iv) + d[n] = dot3D(View3D,Dini(ciu[n],civ[n])) + ix[n] = n + } + } + dpquicksort(d,0,n,ix) + +# Draw the facets + linethick = 0.4 + du = ur/ugrid/2 + dv = vr/vgrid/2 + for i=0 to n do { + NE: Project(Dini(ciu[ix[i]]+du,civ[ix[i]]+dv)) + SE: Project(Dini(ciu[ix[i]]+du,civ[ix[i]]-dv)) + SW: Project(Dini(ciu[ix[i]]-du,civ[ix[i]]-dv)) + NW: Project(Dini(ciu[ix[i]]-du,civ[ix[i]]+dv)) + f = (-cos(ciu[ix[i]])+1)/2 + g = ( sin(ciu[ix[i]])+1)/2 + line from NE to SE then to SW then to NW then to NE \ + outlined rgbstring(f,g,0) shaded rgbstring(f,g,0) +# outlined rgbstring(0,0.5,0) shaded rgbstring(f,g,0) + } +] +# Icosahedron.m4 +[ +#threeD_init +#NeedDpicTools + # Computing facets is complicated, so list them. + # 60 vertices: +define(`m4x',-1) + array2(v,m4inx,0, 0, 1.021) + array2(v,m4inx,0.4035482, 0, 0.9378643) + array2(v,m4inx,-0.2274644, 0.3333333, 0.9378643) + array2(v,m4inx,-0.1471226, -0.375774, 0.9378643) + array2(v,m4inx,0.579632, 0.3333333, 0.7715933) + array2(v,m4inx,0.5058321, -0.375774, 0.8033483) + array2(v,m4inx,-0.6020514, 0.2908927, 0.7715933) + array2(v,m4inx,-0.05138057, 0.6666667, 0.7715933) + array2(v,m4inx,0.1654988, -0.6080151, 0.8033483) + array2(v,m4inx,-0.5217096, -0.4182147, 0.7715933) + array2(v,m4inx,0.8579998, 0.2908927, 0.4708062) + array2(v,m4inx,0.3521676, 0.6666667, 0.6884578) + array2(v,m4inx,0.7841999, -0.4182147, 0.5025612) + array2(v,m4inx,-0.657475, 0.5979962, 0.5025612) + array2(v,m4inx,-0.749174, -0.08488134, 0.6884578) + array2(v,m4inx,-0.3171418, 0.8302373, 0.5025612) + array2(v,m4inx,0.1035333, -0.8826969, 0.5025612) + array2(v,m4inx,-0.5836751, -0.6928964, 0.4708062) + array2(v,m4inx,0.8025761, 0.5979962, 0.2017741) + array2(v,m4inx,0.9602837, -0.08488134, 0.3362902) + array2(v,m4inx,0.4899547, 0.8302373, 0.3362902) + array2(v,m4inx,0.7222343, -0.6928964, 0.2017741) + array2(v,m4inx,-0.8600213, 0.5293258, 0.1503935) + array2(v,m4inx,-0.9517203, -0.1535518, 0.3362902) + array2(v,m4inx,-0.1793548, 0.993808, 0.1503935) + array2(v,m4inx,0.381901, -0.9251375, 0.2017741) + array2(v,m4inx,-0.2710537, -0.9251375, 0.3362902) + array2(v,m4inx,-0.8494363, -0.5293258, 0.2017741) + array2(v,m4inx,0.8494363, 0.5293258, -0.2017741) + array2(v,m4inx,1.007144, -0.1535518, -0.06725804) + array2(v,m4inx,0.2241935, 0.993808, 0.06725804) + array2(v,m4inx,0.8600213, -0.5293258, -0.1503935) + array2(v,m4inx,-0.7222343, 0.6928964, -0.2017741) + array2(v,m4inx,-1.007144, 0.1535518, 0.06725804) + array2(v,m4inx,-0.381901, 0.9251375, -0.2017741) + array2(v,m4inx,0.1793548, -0.993808, -0.1503935) + array2(v,m4inx,-0.2241935, -0.993808, -0.06725804) + array2(v,m4inx,-0.8025761, -0.5979962, -0.2017741) + array2(v,m4inx,0.5836751, 0.6928964, -0.4708062) + array2(v,m4inx,0.9517203, 0.1535518, -0.3362902) + array2(v,m4inx,0.2710537, 0.9251375, -0.3362902) + array2(v,m4inx,0.657475, -0.5979962, -0.5025612) + array2(v,m4inx,-0.7841999, 0.4182147, -0.5025612) + array2(v,m4inx,-0.9602837, 0.08488134, -0.3362902) + array2(v,m4inx,-0.1035333, 0.8826969, -0.5025612) + array2(v,m4inx,0.3171418, -0.8302373, -0.5025612) + array2(v,m4inx,-0.4899547, -0.8302373, -0.3362902) + array2(v,m4inx,-0.8579998, -0.2908927, -0.4708062) + array2(v,m4inx,0.5217096, 0.4182147, -0.7715933) + array2(v,m4inx,0.749174, 0.08488134, -0.6884578) + array2(v,m4inx,0.6020514, -0.2908927, -0.7715933) + array2(v,m4inx,-0.5058321, 0.375774, -0.8033483) + array2(v,m4inx,-0.1654988, 0.6080151, -0.8033483) + array2(v,m4inx,0.05138057, -0.6666667, -0.7715933) + array2(v,m4inx,-0.3521676, -0.6666667, -0.6884578) + array2(v,m4inx,-0.579632, -0.3333333, -0.7715933) + array2(v,m4inx,0.1471226, 0.375774, -0.9378643) + array2(v,m4inx,0.2274644, -0.3333333, -0.9378643) + array2(v,m4inx,-0.4035482, 0, -0.9378643) + array2(v,m4inx,0, 0, -1.021) + + # 12 pentagons +undefine(`m4x') +array2(p,m4inx,0,3,8,5,1) +array2(p,m4inx,2,7,15,13,6) +array2(p,m4inx,4,10,18,20,11) +array2(p,m4inx,9,14,23,27,17) +array2(p,m4inx,12,21,31,29,19) +array2(p,m4inx,16,26,36,35,25) +array2(p,m4inx,22,32,42,43,33) +array2(p,m4inx,24,30,40,44,34) +array2(p,m4inx,28,39,49,48,38) +array2(p,m4inx,37,47,55,54,46) +array2(p,m4inx,41,45,53,57,50) +array2(p,m4inx,51,52,56,59,58) + + # 20 hexagons +undefine(`m4x') +array2(h,m4inx,0,1,4,11,7,2) +array2(h,m4inx,0,2,6,14,9,3) +array2(h,m4inx,1,5,12,19,10,4) +array2(h,m4inx,3,9,17,26,16,8) +array2(h,m4inx,5,8,16,25,21,12) +array2(h,m4inx,6,13,22,33,23,14) +array2(h,m4inx,7,11,20,30,24,15) +array2(h,m4inx,10,19,29,39,28,18) +array2(h,m4inx,13,15,24,34,32,22) +array2(h,m4inx,17,27,37,46,36,26) +array2(h,m4inx,18,28,38,40,30,20) +array2(h,m4inx,21,25,35,45,41,31) +array2(h,m4inx,23,33,43,47,37,27) +array2(h,m4inx,29,31,41,50,49,39) +array2(h,m4inx,32,34,44,52,51,42) +array2(h,m4inx,35,36,46,54,53,45) +array2(h,m4inx,38,48,56,52,44,40) +array2(h,m4inx,42,51,58,55,47,43) +array2(h,m4inx,48,49,50,57,59,56) +array2(h,m4inx,53,54,55,58,59,57) + + viewazimuth = -10 # View angles in degrees + viewelevation = 40 + setview(viewazimuth,viewelevation,0) + + n = 0 # Find and draw the visible hexagons + for i=1 to 20 do { # The normal is the line to the center + for_(1,3,1,`a[m4x] = (v[h[i,1],m4x] + v[h[i,4],m4x])/2') + if dot3D(View3D,a[1],a[2],a[3]) >= 0 then { n +=1; ih[n] = i } + } + for i=1 to n do { + for j=1 to 6 do { x[j]=h[ih[i],j] } + line from Project((v[x[1],1]),(v[x[1],2]),(v[x[1],3]))\ + for_(2,6,1,`to Project((v[x[m4x],1]),(v[x[m4x],2]),(v[x[m4x],3]))\')\ + to Project((v[x[1],1]),(v[x[1],2]),(v[x[1],3])) thick 0.2 fill_(0.95) + } + m = 0 + for i=1 to 12 do { # Visible pentagons + for_(1,3,1,`a[m4x] = 0; for j=1 to 5 do { a[m4x] += v[p[i,j],m4x] }') + if dot3D(View3D,a[1]/5,a[2]/5,a[3]/5) >= 0 then { m +=1; ip[m] = i } + } + for i=1 to m do { + for j=1 to 5 do { x[j]=p[ip[i],j] } + line from Project((v[x[1],1]),(v[x[1],2]),(v[x[1],3])) \ + for_(2,5,1,`to Project((v[x[m4x],1]),(v[x[m4x],2]),(v[x[m4x],3]))\')\ + to Project((v[x[1],1]),(v[x[1],2]),(v[x[1],3])) thick 0.2 fill_(0) + } +] scaled 2.5 with .sw at last [].se+(1,0) +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DiodesDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DiodesDPV.m4 new file mode 100644 index 00000000000..8af6a2e2986 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DiodesDPV.m4 @@ -0,0 +1,56 @@ +.PS +# `Diodes.m4' +cct_init(svg_font(sans-serif,11bp__)) +movewid = 2pt__ + +{ {diode ; move ; "`diode'" ljust} + move down 0.2; right_ + {diode(,S) ; move ; "`diode(,S)'" ljust} + move down 0.2; right_ + {diode(,V) ; move ; "`diode(,V)'" ljust} + move down 0.2; right_ + {diode(,v) ; move ; "`diode(,v)'" ljust} + move down 0.2; right_ + {diode(,w) ; move ; "`diode(,w)'" ljust} + move down 0.2; right_ + {diode(,B) ; move ; "`diode(,B)'" ljust} + move down 0.2; right_ + {diode(,b) ; move ; "`diode(,b)'" ljust} + move down 0.2; right_ + {diode(,G) ; move ; "`diode(,G)'" ljust} + move down 0.2; right_ + {diode(,D) ; move ; "`diode(,D)'" ljust} + } + + move right_ 2.0 +{ {diode(,K) ; move ; "`diode(,K)'" ljust} + move down 0.2; right_ + {diode(,ZK) ; move ; "`diode(,ZK)'" ljust} + move down 0.2; right_ + {diode(,CR) ; move ; "`diode(,CR)'" ljust} + move down 0.2; right_ + {diode(,L) ; move ; "`diode(,L)'" ljust} + move down 0.2; right_ + {diode(,F) ; move ; "`diode(,F)'" ljust} + move down 0.2; right_ + {diode(,Sh) ; move ; "`diode(,Sh)'" ljust} + move down 0.2; right_ + {diode(,M) ; move ; "`diode(,M)'" ljust} + move down 0.2; right_ + {diode(,MK) ; move ; "`diode(,MK)'" ljust} + } + + move down_ sourcerad_ right_ 2.0 +{ {diode(,Z,RE) ; move ; "`diode(,Z,RE)'" wid 70bp__ ljust} + move down 0.25; right_ + {diode(,T) ; move ; "`diode(,T)'" ljust} + move down 0.30; right_ + {diode(,P) ; move ; "`diode(,P)'" ljust} + move down 0.30; right_ + {diode(,LE) ; move ; "`diode(,LE)'" ljust} + move down 0.15; right_ + {diode(,LER) ; move ; "`diode(,LER)'" ljust} + } + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DriveDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DriveDPV.m4 new file mode 100644 index 00000000000..48a7165ff9f --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/DriveDPV.m4 @@ -0,0 +1,74 @@ +.PS +# `Drive.m4' +cct_init + +define(`synchmachine',`[ r = ifelse(`$1',,`dimen_*3/4',(`$1')/2) + C: circle rad r + Point_(120) + line from C to C+vec_(r*2/9,0); reversed(`inductor',to rvec_(r*2/3,0)) + W2: Here + Point_(240) + line from C to C+vec_(r*2/9,0); reversed(`inductor',to rvec_(r*2/3,0)) + W3: Here + line from C right_ r*2/9; inductor(right_ r*2/3) + W1: Here ]') + + bht = sourcerad_*10 + dlen = dimen_*2/3 +define(`Diodepair',`[ diode(up_ dlen); line up bht-2*dlen; diode(up_ dlen) ]') + +define(`gbt',`bi_trans(`$1',`$2',CBUHdE`$3')') +define(`dotrad_',dotrad_*0.5/linewid) +define(`GBTpair',`[linewid = 0.5*3/4 + Q1: gbt(up_ bht/2,,D) + Q2: gbt(up_ bht/2,,D) with .C at Q1.E + ]') + +SW: ground + line up +W: Here + line right dimen_/3; dot + ssep = sourcerad_*2.5 + { line up ssep; S1: source(right_ dimen_,AC) } + { S2: source(right_ dimen_,AC) } + { line down ssep; S3: source(right_ dimen_,AC) } + + dsep = dimen_/2 +D1: Diodepair at S2.e +D2: Diodepair at D1+(dsep,0); dot(at D2.n); dot(at D2.s) +D3: Diodepair at D2+(dsep,0); dot(at D3.n); dot(at D3.s) + dot(at (D1,S1)) + dot(at (D2,S2)); line to S2.e + dot(at (D3,S3)); line to S3.e + + line from D1.n to D3.n + inductor(right_ dimen_) +T: dot + capacitor(to (Here,D1.s),C) + dot + + gsep = dimen_*1.25 +G1: GBTpair with .Q1.C at T+(dimen_,0) +G2: GBTpair at G1+(gsep,0) +G3: GBTpair at G2+(gsep,0) + + line from G3.Q1.C to T + dot(at (G1.Q1.C,T)) + dot(at (G2.Q1.C,T)) + line from G3.Q2.E to D1.s + dot(at (G1.Q1.E,D1.s)) + dot(at (G2.Q1.E,D1.s)) + +M: synchmachine with .C at G3.e+(dimen_*2,0) + sg = dimen_/8 +L: (0.5,D1.s)-(sg,0) + line from M.W1 to (M.W1,L) then to L \ + then up M.C.y-L.y-sg then to G3.Q2.C+(0,-sg); dot + line from M.W3 down M.W3.y-L.y-sg*2 then to L+(sg*2,sg*2)\ + then up M.C.y-L.y-sg*2 then to G2.Q2.C; dot + line from M.W2 to (L,M.W2) \ + then down M.W2.y-G1.Q2.C.y-sg then to G1.Q2.C+(0,sg); dot + + line right dimen_/3 from M.e then down M.e.y-SW.y + ground +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EEPDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EEPDPV.m4 new file mode 100644 index 00000000000..688ec88f93e --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EEPDPV.m4 @@ -0,0 +1,108 @@ +.PS +# EEPDPV.m4 +# slddiagsDPV.m4 +cct_init(svg_font(sans-serif,10bp__)) +include(libSLD.m4) +maxpsht = 30 + +Pic1: [ +define(`TrDeltaWye', + `sl_transformer(down_ elen_ `$1',type=S) + { Deltasymbol(at last [].M1); Ysymbol(at 2nd last [].M2,,D) } ') + + T: dot + switch(up_ elen_); {"Public supply" above} + Bus1: sl_busbar(right_ 5*dimen_,6,port=D) with .c at T + {"svg_small(20 kV)" at Bus1.Start above ljust} + S1: switch(from Bus1.P1-(0,elen_) up_ elen_) + S2: switch(from Bus1.P2-(0,elen_) up_ elen_) + TRF1: sl_transformer(from Bus1.P3 down_ elen_,type=S,,,Delta,Y) + arrow down_ dimen_/3 + TRF2: sl_transformer(from Bus1.P4 down_ elen_,type=S,,,Delta,Y) + arrow down_ dimen_/3 + TRF3: sl_transformer(from Bus1.P5 down_ elen_,type=S,,,Delta,Y) + arrow down_ dimen_/3 + S3: switch(from Bus1.P6-(0,elen_) up_ elen_) + Bus2: sl_busbar(right_ 1.5*dimen_,3,port=D) with .c at Bus1.P1+(0,-dimen_*3) + {"svg_small(20 kV)" at Bus2.Start above ljust} + {"svg_small(1.25 MVA)" at Bus2.P2 below} + S4: switch(from Bus2.P2 to S1.start) + TRF4: sl_transformer(from Bus2.P1 down_ elen_,type=S,,,Delta,Y) + S4: switch(from Bus2.P3+(0,-elen_) to Bus2.P3) +] + +Pic2: [ +# https://tex.stackexchange.com/questions/597643/draw-a-power-system-network + B1: sl_busbar(up_ dimen_*4/3,3) + sl_transformer(right_ 2*dimen_ from last [].P2, + type=S;body=shaded "lightgray"); variable(,,,dimen_*3/2) + B2: sl_busbar(up_ dimen_*4/3,3) + { line left_ dimen_/2 from B2.P1 + C1: capacitor(down_ dimen_/2); ground(,T) } + line right_ dimen_/2 + { line to (Here,C1.start); C2: capacitor(to (Here,C1.end)); ground(,T) } + ebox(right_ 3.5*dimen_, 2.5*dimen_, dimen_/5, 0.75) + { line to (Here,C1.start); C3: capacitor(to (Here,C1.end)); ground(,T) } + line right_ dimen_/2 + B3: sl_busbar(up_ dimen_*4.5,6) + line right_ dimen_*3/4 from B3.P1; box wid dimen_*3 ht dimen_*.6 \ + shaded rgbstring(0.85, 0.65, 0.13) "Static Load" + line right_ dimen_*3/4 from B3.P2; box wid dimen_*3 ht dimen_*.6 \ + shaded rgbstring(0.79, 0.59, 0.57) "Electronic Load" + sl_disk(right_ dimen_ from B3.P3, + text="A/C";circle=shaded rgbstring(0.2, 0.8, 0.2);diam=dimen_*3/4) + sl_disk(right_ dimen_ from B3.P4, + text="M";circle=shaded rgbstring(0.21, 0.47, 0.86);diam=dimen_*3/4) + sl_disk(right_ dimen_ from B3.P5, + text="M";circle=shaded rgbstring(0.2, 0.6, 0.8);diam=dimen_*3/4) + sl_disk(right_ dimen_ from B3.P6, + text="M";circle=shaded rgbstring(0.2, 0.63, 0.8);diam=dimen_*3/4) + sl_disk(left_ dimen_ from 1/2 between B3.P1 and B3.P2, + text="svg_small(DER_A)"; circle=shaded rgbstring(0.78, 0.36, 0.3);diam=dimen_*3/4) +] with .B1 at Pic1.Bus2.End+(24bp__,0) + +Pic3: [ +define(`shadedb',`shaded rgbstring(0.39,0.50,0.93)') +Loopover_(`LR', # loop to take advantage of symmetry + `define(`opposite',`ifelse(LR,left,right,left)')dnl + ifelse(LR,left,L,R)`'side: [ + sl_generator(LR dimen_/2,type=B;name=G1;circle=shadedb,box=shadedb) + { move from G1 opposite last circle.rad*3/2 down_ last circle.rad + ifelse(LR,left,`Delta',`Wye')symbol(,size=sourcerad_*2/3) } + T1: sl_transformer(opposite dimen_*3/2,name=Tx) + Bus1: sl_busbar(up_ dimen_*3/2,3,) with .P2 at Here + Br1: sl_breaker(from Bus1.P3 opposite elen_,box=shadedb) + line opposite dimen_*4/3 + Br2: sl_breaker(from Bus1.P1 opposite elen_,box=shadedb) + Br3: sl_breaker(down_ dimen_,box=shadedb) + Bus2: sl_busbar(opposite dimen_,3) with .P2 at Here + T2: sl_transformer(down_ dimen_ from Bus2.P2,name=X2) + sl_disk(down_ dimen_/2,type=B;text="SM";name=SM1;circle=shadedb,box=shadedb) + { move from last circle opposite sourcerad_*3 + Wyesymbol(,type=G`'ifelse(LR,right,L);size=sourcerad_*2/3) } + ]', + left,right) + "Bus 1" at Lside.Bus1.top above + "Bus 2" at Rside.Bus1.top above + "Bus 3" at Lside.Bus2.w above + "Bus 4" at Rside.Bus2.e above + "TL`'svg_sub(1) 50 km 69 kV" at 1/2 between Lside.Br1 and Rside.Br1 above + "TL`'svg_sub(2) 30 km" ljust "69 kV" ljust at Lside.Br2.end + (-18bp__,12bp__) + "TL`'svg_sub(2) 20 km" ljust "69 kV" ljust at Rside.Br2.end + (-18bp__,12bp__) + "G`'svg_sub(1) 50 MVA" ljust "13.8 kV" ljust at Lside.G1.w+(-25bp__,-32bp__) + "G`'svg_sub(2) 30 MVA" ljust "13.8 kV" ljust at Rside.G1.w+(10bp__,-28bp__) + "T`'svg_sub(1) 50 MVA" "13.8/69 kV svg_Delta/Y" \ + at Lside.Tx.s+(-2bp__,-25bp__) + "T`'svg_sub(2) 30 MVA" "69/13.8 kV Y/svg_Delta " \ + at Rside.Tx.s+(2bp__,-27bp__) + "T`'svg_sub(3) 50 MVA" rjust "13.8/69 kV Y/svg_Delta " rjust \ + at Lside.X2.w+(-4bp__,0) + "T`'svg_sub(4) 20 MVA" ljust "69/6.9 kV Y/svg_Delta " ljust \ + at Rside.X2.e+(4bp__,0) + "SM`'svg_sub(1) 30 MVA" rjust "13.8 kV" rjust at Lside.SM1.w+(-4bp__,0) + "SM`'svg_sub(2) 20 MVA" ljust "6.9 kV" ljust at Rside.SM1.e+( 4bp__,0) +] with .nw at (Pic1.w,last [].sw + (0,-15bp__)) + + command "" + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EEPDPV.svg b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EEPDPV.svg new file mode 100644 index 00000000000..25ca2367dd9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EEPDPV.svg @@ -0,0 +1,662 @@ + + + + + + + + + + + +Public supply + + + + + + + +20 kV + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +20 kV +1.25 MVA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Static Load + + +Electronic Load + +A/C + + +M + + +M + + +M + + +DER_A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SM + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SM + + + + + + + + + +Bus 1 +Bus 2 +Bus 3 +Bus 4 +TL1 50 km 69 kV +TL2 30 km +69 kV +TL2 20 km +69 kV +G1 50 MVA +13.8 kV +G2 30 MVA +13.8 kV +T1 50 MVA +13.8/69 kV Δ/Y +T2 30 MVA +69/13.8 kV Y/Δ +T3 50 MVA +13.8/69 kV Y/Δ +T4 20 MVA +69/6.9 kV Y/Δ +SM1 30 MVA +13.8 kV +SM2 20 MVA +6.9 kV + + diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EVplugsDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EVplugsDPV.m4 new file mode 100644 index 00000000000..54530a1bfad --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EVplugsDPV.m4 @@ -0,0 +1,210 @@ +.PS +# EV_lugs.m4 +# https://en.wikipedia.org/wiki/CHAdeMO +gen_init +divert(-1) + + `EV_J1772(keys) + EV charging plug in a [] block + keys: wdth=expr; # plug width + diamLNP=expr; # diam of L1, N, PE + twdth=expr; # tab width + thgt=expr; # tab hght + thick=expr; # outer line thickness (pt) + inthick=expr; # inner line thickness (pt) + BG=attributes; # shaded gray etc + L1=attributes; # L1 attributes ... + N=attributes; + PE=attributes; + PP=attributes; + CP=attributes; ' +define(`pEVskale',25.4) dnl default plug size (20 mm) +define(`EV_J1772',`[ pushkeys_(`$1', `wdth:20/pEVskale; + twdth:3.5/20*m4wdth; thgt:1.5/20*m4wdth; diamLNP:6/20*m4wdth; + thick:2; inthick:1.5; BG::N; L1::N; N::N; PE::N; PP::N; CP::N; ') + tang = atan2(m4twdth/2,m4wdth/2)*rtod_ + TS: (Rect_(m4wdth/2,-90-tang)); TE: (Rect_(m4wdth/2,-90+tang)) + Tab: line thick m4thick from TS down_ m4thgt \ + then to TE-(0,m4thgt) then to TE m4BG + Arc: arc thick m4thick to TS with .c at (0,0) m4BG + round(at TS,last arc.thick); round(at TE,last arc.thick) + L1: circle diam m4diamLNP thick m4inthick at (Rect_(m4wdth/4,150)) m4L1 + N: circle diam m4diamLNP thick m4inthick at (Rect_(m4wdth/4, 30)) m4N + PE: circle diam m4diamLNP thick m4inthick at (0,-m4wdth/4) m4PE + PP: circle diam m4diamLNP*0.55 thick m4inthick at (Rect_(m4wdth/3,210)) m4PP + CP: circle diam m4diamLNP*0.55 thick m4inthick at (Rect_(m4wdth/3,-30)) m4CP + `$2' popdef(`m4CP',`m4PP',`m4PE',`m4N',`m4L1',`m4BG', + `m4wdth',`m4diamLNP',`m4twdth',`m4thgt',`m4thick',`m4inthick') ]') + + `EV_J3068(keys,shade) + EV charging plug in a [] block + keys: wdth=expr; # plug width + diamLNP=expr; # diam of L1, N, PE + twdth=expr; # tab width + thgt=expr; # tab hght + thick=expr; # outer line thickness (pt) + inthick=expr; # inner line thickness (pt) + BG=attributes; # shaded gray etc + L1|L2|L3=attributes; # pin attributes ... + N=attributes; + PE=attributes; + PP=attributes; + CP=attributes; + arg2= R:G:B background fill color ' +define(`EV_J3068',`[ pushkeys_(`$1', + `wdth:25/pEVskale; diamLNP:m4wdth*0.25; thick:2; inthick:1.5; + BG::N; L1::N; L2::N; L3::N; N::N; PE::N; PP::N; CP::N; ') + C: Here + NE: C+(Rect_(m4wdth/2,45)); NW: C+(Rect_(m4wdth/2,135)) + Ac: NE-(1,1)/sqrt(2)*m4diamLNP/2 + Arc: arc thick m4thick from NW to NE with .c at C m4BG ifelse(`$2',,, + `shaded rgbstring(patsubst(`$2',:,`,')) + line invis from NE to Ac+(0,m4diamLNP/2) \ + then to Ac+(0,m4diamLNP/2) \ + then to NW+(1,-1)/sqrt(2)*m4diamLNP/2 + (0,m4diamLNP/2) \ + then to NW then to NE shaded rgbstring(patsubst(`$2',:,`,'))') + arc thick m4thick to Ac+(0,m4diamLNP/2) with .c at Ac m4BG + Top: line thick m4thick to (NW+NE-Ac, Here) m4BG + arc thick m4thick to NW with .c at Here+(0,-m4diamLNP/2) m4BG + PE: circle diam m4diamLNP thick m4inthick at C m4PE + PP: circle diam m4diamLNP*0.55 thick m4inthick at C+(Rect_(m4wdth/3,45)) m4PP + CP: circle diam m4diamLNP*0.55 thick m4inthick at C+(Rect_(m4wdth/3,135)) m4CP + L1: circle diam m4diamLNP thick m4inthick at C+(m4wdth*.3,0) m4L1 + L2: circle diam m4diamLNP thick m4inthick at C+(Rect_(m4wdth*.3,-60)) m4L2 + L3: circle diam m4diamLNP thick m4inthick at C+(Rect_(m4wdth*.3,-120)) m4L3 + N: circle diam m4diamLNP thick m4inthick at C-(m4wdth*.3,0) m4N + `$3' popdef(`m4wdth',`m4diamLNP',`m4thick',`m4inthick', + `m4BG',`m4L1',`m4L2',`m4L3',`m4N',`m4PE',`m4PP',`m4CP') ]') + + `EV_CCS1(J1772 keys,DC keys) + DC keys: wdth=expr; # DC socket width + hght=expr; # DC socket height + diamPM=expr; # diam of DC+, DC- circles + sep=expr; # separation of Jack and DC + thick=expr; # outer line thickness (pt) + inthick=expr; # inner line thickness (pt) + BG=attributes; # shaded gray etc + DCplus=attributes; + DCminus=attributes; ' +define(`EV_CCS1',`[ + J: EV_J1772(`$1') + pushkeys_(`$2',`wdth:J.wid:23.5/20; hght:J.wid*11/20; diamPM:m4hght*7/11; + sep:J.wid*3/30; thick:J.Arc.thick; inthick:J.PE.thick; + BG::N; DCplus::N; DCminus::N;') + DC: [ Box: box thick m4thick wid m4wdth ht m4hght rad m4hght/2 m4BG + DCplus: circle thick m4inthick diam m4diamPM at Box.w+(m4hght/2,0) m4DCplus + DCminus:circle thick m4inthick diam m4diamPM at Box.e-(m4hght/2,0) m4DCminus + ] with .n at J.s+(0,-m4sep) + popdef(`m4wdth',`m4hght',`m4diamPM',`m4sep',`m4thick',`m4inthick',`m4BG', + `m4DCplus',`m4DCminus') + ]') + + `EV_CCS2(J3068 keys,shade,DC keys) + DC keys: wdth=expr; # DC socket width + hght=expr; # DC socket height + diamPM=expr; # diam of DC+, DC- circles + sep=expr; # separation of Jack and DC + thick=expr; # outer line thickness (pt) + inthick=expr; # inner line thickness (pt) + BG=attributes; # shaded gray etc + DCplus=attributes; + DCminus=attributes; + arg2= R:G:B background fill color ' +define(`EV_CCS2',`[ + J: EV_J3068(`$1',`$2') + pushkeys_(`$3',`wdth:J.wid:23.5/20; hght:J.wid*11/20; diamPM:m4hght*7/11; + sep:J.wid*3/30; thick:J.Arc.thick; inthick:J.PE.thick; + BG::N; DCplus::N; DCminus::N;') + DC: [ Box: box thick m4thick wid m4wdth ht m4hght rad m4hght/2 dnl + m4BG ifelse(`$2',,,`shaded rgbstring(patsubst(`$2',:,`,'))') + DCplus: circle thick m4inthick diam m4diamPM at Box.w+(m4hght/2,0) m4DCplus + DCminus:circle thick m4inthick diam m4diamPM at Box.e-(m4hght/2,0) m4DCminus + ] with .n at J.s+(0,-m4sep) + popdef(`m4wdth',`m4hght',`m4diamPM',`m4sep',`m4thick',`m4inthick',`m4BG', + `m4DCplus',`m4DCminus') + ]') + + `EV_CHAdeMO(keys,shade) + EV charging plug in a [] block + keys: wdth=expr; # plug width + thick=expr; # outer line thickness (pt) + inthick=expr; # inner line thickness (pt) + BG=attributes; # background shaded gray etc + DCplus=|DCminusNS=|FG=|NC=|SS1=|DCP=|PP=| + CL=|CH=|SS2=attributes # pin attributes ...' +define(`EV_CHAdeMO',`[ pushdef(`m4sk',33/140/pEVskale) pushkeys_(`$1', + `wdth:140*m4sk; thick:m4wdth*9/140/(1bp__); inthick:m4thick*1.5/9; + BG::N; DCplus::N; DCminus::N;N::N;S::N; + FG::N; NC::N; SS1::N; DCP::N; PP::N; CL::N; CH::N; SS2::N') + C: circle thick m4thick diam m4wdth-m4thick bp__ m4BG + line thick m4thick*0.6 from C+(Rect_(C.rad+m4thick bp__*3/4,42)) \ + to C+(Rect_(C.rad+m4thick bp__*3/4,50)) then left m4thick bp__ m4BG + line thick m4thick*0.6 from C+(Rect_(C.rad+m4thick bp__*3/4,138)) \ + to C+(Rect_(C.rad+m4thick bp__*3/4,130)) then right m4thick bp__ m4BG + idiam = (m4wdth-m4thick bp__*2)*47/(27+47*2) + N: circle diam idiam thick m4inthick with .n at C.n-(0,m4thick bp__/2) m4N + S: circle diam idiam thick m4inthick with .s at C.s+(0,m4thick bp__/2) m4S + E: circle diam idiam thick m4inthick at Cintersect(N,N.diam,S,S.diam) m4DCminus + W: circle diam idiam thick m4inthick at Cintersect(S,S.diam,N,N.diam) m4DCplus + Loopover_(`Z', + `line thick m4inthick up Z.diam*0.6 right Z.diam*0.6 with .c at Z + line thick m4inthick up Z.diam*0.6 left Z.diam*0.6 with .c at Z',N,S) + Loopover_(`L',`L: circle diam idiam/4 thick linethick/2 \ + at N+(Rect_(idiam/4,90*m4Lx)) m4xpand(m4`'L)',FG,NC,DCP,SS1) + Loopover_(`L',`L: circle diam idiam/4 thick linethick/2 \ + at S+(Rect_(idiam/4,90*m4Lx)) m4xpand(m4`'L)',PP,CL,SS2,CH) + `$3' popdef(`m4sk',`m4wdth',`m4thick',`m4inthick',`m4BG', + `m4DCplus',`m4DCminus',`m4N',`m4S', + `m4FG',`m4NC',`m4SS1',`m4DCP',`m4PP',`m4CL',`m4CH',`m4SS2') ]') + +divert(0)dnl + + ifsvg(svg_font(sans-serif,6bp__)) + iflatex(command "{\sf\scriptsize") + define(`EVsmall',`ifsvg(svg_small(`$1'),{\tiny `$1'})') + define(`EVtxt',`ifsvg(``$1'',`{patsubst(`$1',_,\\_)}')') + define(`EVk',`ifsvg(+(0,0.75bp__))') + +[ +P1: EV_J1772(BG=fill_(0.75); PE=fill_(1) "PE";L1=fill_(1) "L1";N=fill_(1) "N"; + PP=fill_(1); CP=fill_(1);) + "EVsmall(PP)" at P1.PP EVk + "EVsmall(CP)" at P1.CP EVk + +P2: EV_J3068(PE=shaded "green" "PE";\ + L1=shaded "yellow" "L1";L2=shaded "yellow" "L2";L3=shaded "yellow" "L3"; + N=fill_(1) "N";", + 0.85:0.85:0.85) at P1+(15bp__,0) \ + with .w at P1.e+(P1.wid/5,0) + "EVsmall(PP)" at P2.PP EVk + "EVsmall(CP)" at P2.CP EVk + +P3: EV_CCS1(L1="L1";N="N";PE="PE", + DCplus="DC+";DCminus="DC-") with .w at P2.e+(P1.wid/5,0) + "EVsmall(PP)" at P3.J.PP EVk + "EVsmall(CP)" at P3.J.CP EVk + +P4: EV_CCS2(L1="L1";L2="L2";L3="L3";N="N";PE="PE",0.85:0.85:0.85, + DCplus="DC+";DCminus="DC-") with .w at P3.e+(P1.wid/5,0) + "EVsmall(PP)" at P4.J.PP EVk + "EVsmall(CP)" at P4.J.CP EVk +P5: EV_CHAdeMO( BG=outlined "blue" fill_(0.8); + DCplus=shaded "red" "DC+"; + DCminus=shaded "red" "DC-"; + Loopover_(`L',`L=fill_(1);',N,S) + FG=shaded "green"; + Loopover_(`L',`L=shaded "orange";',SS1,DCP,NC,PP,CH,SS2,CL)) \ + with .w at P4.e+(P4.w.x-P3.e.x,0) + Loopover_(`L',`"EVsmall(L)" at P5.L EVk',FG,NC,DCP,SS1,PP,CL,CH,SS2) +# + ifsvg(move from P5.e right 0.2) + "EVtxt(`EV_CCS2')" at P4.s+(0,-10bp__) + "EVtxt(`EV_CCS1')" at (P3,last "") + "EVtxt(`EV_J3068')" at (P2,last "") + "EVtxt(`EV_J1772')" at (P1,last "") + "EVtxt(`EV_CHAdeMO')" at (P5,last "") + ] # with .nw at last [].sw+(0,-0.2) + + iflatex(command "}%") + ifsvg(command "") +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EmarrowsDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EmarrowsDPV.m4 new file mode 100644 index 00000000000..759cf36576b --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EmarrowsDPV.m4 @@ -0,0 +1,31 @@ +.PS +# `EmarrowsDPV.m4' +cct_init(svg_font(sans-serif,11bp__)) + hskip = 0.6 +[ + { em_arrows() + box dotted wid last [].wid ht last [].ht at last [].c + thinlines_ + arrow <- up 0.12 from last [].Head;`"Head"' above + arrow <- down 0.12 from last [].Tail;`"Tail"' below + `"A1"' rjust below at last [].A1.c + `"A2"' ljust above at last [].A2.c + thicklines_ + move down 0.25 from last [].s + move up 0.2 from last [].n + `"em_arrows()"' wid 1.0 at last [].s+(0,-0.20) below } + { em_arrows(ND,45) with .sw at last [].se+(hskip*1.5,0) + `"em_arrows(ND,45)"' at last [].s below } + { em_arrows(I) with .sw at last [].se+(hskip,0) + `"...(I)"' at last [].s+(0,-9bp__) below } + { em_arrows(ID) with .sw at last [].se+(hskip,0) + `"...(ID)"' at last [].s+(0,-2bp__) below } + { em_arrows(E) with .sw at last [].se+(hskip,0) + `"...(E)"' at last [].s+(0,-2bp__) below } + { em_arrows(NT) with .sw at last [].se+(hskip,0) + `"...(NT)"' wid .75 at last [].s+(0,-2bp__) below } + ] +# box wid last [].wid ht last [].ht at last [] + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EscherDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EscherDPV.m4 new file mode 100644 index 00000000000..09f2fa64989 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EscherDPV.m4 @@ -0,0 +1,175 @@ +.PS +# EscherDPV.m4 +# https://tex.stackexchange.com/questions/129274/showcase-of-optical-illusions-made-with-tex-latex-luatex-context +threeD_init +[] +ifelse(1,1,` +[ + u=1/2.54 # unit size; could use scale for this + + define(`treadcolor',`0.8,0.75,0.7') + define(`darkgrn',`.1,.1,0') + define(`lightgrn',`.7,.7,.6') + + define(`northsteps',3) + define(`eaststeps',8) + define(`southsteps',7) + define(`weststeps',4) + define(`baselayers',10) + define(`eb',eval(baselayers+eaststeps)) + define(`ebs',eval(eb+southsteps)) + define(`under',7) + + azimuth = -45 # view angles + elevation = 25 + setview(azimuth,elevation,0) + # projected unit vectors + UX: Project(u,0,0) + UY: Project(0,-u,0) + UZ: Project(0,0,u) + # layer thickness in units of u + f= -(eaststeps*UX.y + southsteps*UY.y - weststeps*UX.y - northsteps*UY.y)/dnl + ((eaststeps+southsteps+weststeps+northsteps)*UZ.y) + # XY projection of 3D coords in units of u +define proj {UX*($1)+UY*($2)+UZ*($3)} + +define tread {line from UY/2 \ + to UY then to UY+UX then to UX then to (0,0) \ + then to UY/2 shaded rgbstring(treadcolor) \ + with .start at proj($1,$2,$3)+UY/2 } + +define wrect {line invis from (0,0) to UX*($4) \ + then to UX*($4)+UZ*($5) \ + then to UZ*($5) then to (0,0) with .start at proj($1,$2,$3) \ + shaded rgbstring(r,g,b)} + +define srect {line invis from (0,0) to UY*($4) then to UY*($4)+UZ*($5) \ + then to UZ*($5) then to (0,0) with .start at proj($1,$2,$3) \ + shaded rgbstring(r,g,b) } + # color blending +define(`blendwht',`between3D(`$1',`$2',`$3',`$4',1,1,1)') +define makergb { r = $1; g = $2; b = $3 } +define dorgb { gg = $2 + if $1==0 then { makergb(blendwht(gg,lightgrn)) } \ + else { makergb(blendwht(gg,darkgrn)) } } + +# East + for i=-under to baselayers do { + dorgb((i%2),0.2) + wrect(1,1,i*f,eaststeps-2,-f) } + for i=0 to eaststeps do { + dorgb((i%2),0.2) + wrect(i,1,(baselayers+i)*f,(eaststeps+1-i),-f) + tread(i,0,(baselayers+i)*f) + line from proj(i,1,(baselayers+i)*f) \ + to proj(i,1,(baselayers-1+i)*f) } +# South + for i=0 to eb do { + dorgb((i%2),0.4) + srect(eaststeps+1,0,i*f,southsteps+1,-f) } + for i=1 to southsteps do { + dorgb((i%2),0.4) + srect(eaststeps+1,i,(eb+i)*f,(southsteps+1-i),-f) + tread(eaststeps,i,(eb+i)*f) + line from proj(eaststeps+1,i,(eb+i)*f) \ + to proj(eaststeps+1,i,(eb+i-1)*f) } +# North + for i=-under to baselayers-northsteps-1 do { + dorgb((i%2),0.1) + srect(1,1,i*f,northsteps-1,-f) } + for i=1 to northsteps do { + dorgb((i%2),0.1) + srect(1,1,(baselayers-i)*f,i,-f) + wrect(0,1+i,(baselayers-i)*f,1,-f) + line from proj(0,1+i,(baselayers-i)*f) \ + to proj(0,1+i,(baselayers-i-1)*f) + line from proj(1,1+i,(baselayers-i)*f) \ + to proj(1,1+i,(baselayers-i-1)*f) + tread(0,i,(baselayers-i)*f) } +# West + for i=0 to ebs do { + dorgb((i%2),0.4) + wrect(eaststeps+1,southsteps+1,i*f,-(weststeps+1),-f) } + for i=0 to weststeps-1 do { + dorgb((i%2),0.4) + wrect(eaststeps-i,southsteps+1,(ebs+i+1)*f,-(weststeps-i),-f,) + srect(eaststeps-i,southsteps,(ebs+i+1)*f,1,-f) + if i!=weststeps-1 then { + line from proj(eaststeps-i,southsteps,(ebs+i+1)*f) \ + to proj(eaststeps-i,southsteps,(ebs+i)*f) } + line from proj(eaststeps-i,southsteps+1,(ebs+i+1)*f) \ + to proj(eaststeps-i,southsteps+1,(ebs+i)*f) + tread(eaststeps-(i+1),southsteps,(ebs+i+1)*f) } +# Corner lines + define(`dgreen',`outlined rgbstring(blendwht(0.2,darkgrn))') + line dgreen from proj(1,1,(baselayers-1)*f) to proj(1,1,-under*f) + line dgreen from proj(eaststeps+1,southsteps+1,ebs*f) \ + to proj(eaststeps+1,southsteps+1,-f) + line dgreen from proj(0,northsteps+1,(baselayers-northsteps)*f) \ + to last line.end-UX*(weststeps+1) then to last line.end \ + then to proj(eaststeps+1,0,-f) then to proj(eaststeps+1,0,eb*f) + ] +') + +ifelse(1,1,` +define(`DPL',`(project(`$1',`$2',`$3'))') +define(`ISL',` + S1: `$2'; E1: `$2' + `$3' + S2: `$4'; E2: `$4' + `$5' + `$1': line from S2 to intersect_(S1,E1,S2,E2) ') + +[ + bdp = 1.8 + bwd = 2.8 + bht = 1.5 + bth = bwd/10 + setview(-45,20,0) + + L1: line from DPL(0,0,0) to DPL(0,0,bht) \ + then to DPL(0,bwd,bht) \ + then to DPL(bdp,bwd,bht) \ + then to DPL(bdp,bwd,0) \ + then to DPL(bdp,0,0) \ + then to DPL(0,0,0) + L2: line from DPL(bth,bth,bht) to DPL(bth,bwd-bth,bht) \ + then to DPL(bdp-bth,bwd-bth,bht) \ + then to DPL(bdp-bth,bth,bht) \ + then to DPL(bth,bth,bht) + L3: line from DPL(bth,bth,0) to DPL(bth,bwd-bth,0) \ + then to DPL(bdp-bth,bwd-bth,0) \ + then to DPL(bdp-bth,bth,0) \ + then to DPL(bth,bth,0) + L4: line from DPL(bdp,bth,bht-bth) to DPL(bdp,bwd-bth,bht-bth) \ + then to DPL(bdp,bwd-bth,bth) \ + then to DPL(bth+bth,bwd-bth,bth) + L5: line from DPL(bdp-bth,0,bht-bth) to DPL(bth,0,bht-bth) \ + then to DPL(bth,0,bth) \ + then to DPL(bth,bwd-bth-bth,bth) + L6: line from DPL(0,0,bht) to DPL(bdp,0,bht) \ + then to DPL(bdp,bwd,bht) + L7: line from DPL(0,0,0) to DPL(0,bwd,0) \ + then to DPL(bdp,bwd,0) + ISL(L8,L4.start,UPy_,L4.end,UPz_) + ISL(L9,L4.start,UPy_,DPL(0,bwd,0),UPz_) + ISL(L10,L4.start,UPy_,L5.end,UPz_) + ISL(L11,L5.end,UPy_,L4.start,UPz_) + ISL(L12,L5.end,UPy_,DPL(bdp,0,bht),UPz_) + ISL(L13,L5.end,UPy_,L5.start,UPz_) + ISL(L14,DPL(bdp-bth,bth,bht),UPy_,DPL(bth,bwd-bth-bth,bht-bth),UPz_) + ISL(L15,L2.start,UPx_,DPL(bth,bwd-bth-bth,bht-bth),UPy_) + ISL(L16,DPL(bdp-bth,bth,bht),UPy_,DPL(bth,bwd-bth,bht),UPz_) + ISL(L17,DPL(bdp-bth,bth,bht),UPy_,DPL(bth+bth,bwd-bth,bht-bth),UPz_) + ISL(L18,DPL(bdp-bth,bth,bht),UPy_,DPL(bth+bth,bwd-bth,bht-bth),UPx_) + ISL(L19,L3.start,UPy_,L5.start+DPL(0,0,-bht+bth+bth),UPx_) + ISL(L20,L3.start,UPy_,L5.start+DPL(0,0,-bht+bth+bth),UPz_) + ISL(L21,L3.start,UPy_,DPL(bdp-bth,bth,0),UPz_) + ISL(L22,L3.start,UPy_,L4.start+DPL(0,0,-bht+bth+bth),UPz_) + ISL(L23,DPL(bth,bwd-bth,0),UPx_,L4.start+DPL(0,0,-bht+bth+bth),UPy_) + ISL(L24,L5.start,UPx_,DPL(bth,bth,bth),UPz_) + ISL(L25,L4.start,UPy_,DPL(bdp-bth,bwd-bth,bth),UPz_) + +ifelse(0,1,`for i=1 to 7 do { exec sprintf("\"L%g.s\" at L%g.start",i,i) } + for i=8 to 10 do { exec sprintf("\"L%g\" at L%g",i,i) }') +] with .sw at last [].se+(0.2,0) +') +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EyeDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EyeDPV.m4 new file mode 100644 index 00000000000..0f883bf3341 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/EyeDPV.m4 @@ -0,0 +1,53 @@ +.PS +# EyeDPV.m4 +gen_init + +define(`eye',`[ u = $1; v = 0.47*u; w = 0.25*u + shade(1, + arc thick 0 from (u/2,0) to (-u/2,0) with .c at (0,-u/3) + arc thick 0 to (u/2,0) with .c at (0,u/3) ) + circle diam v fill_(0.24) at (0,0) + circle diam w fill_(0) at (0,0) + circle thick 0 diam last circle.diam/2 fill_(1) at last circle.nw + circle diam last circle.diam-lthick at last circle outlined graystring(0.9) + ] ') + + skale = 2/3 + Bx: box wid 11*skale ht 8.5*skale fill_(0) at (0,0) + C[0]: Bx.se; C[1]: Bx.nw + d[5] = 0.92*Bx.ht + d[4] = 0.78*Bx.ht + d[3] = 0.62*Bx.ht + d[2] = 0.40*Bx.ht + d[1] = 0.25*Bx.ht + ane = atan2(Bx.ht,Bx.wid)*rtod_ + dax = 360/64 + da = 1 + for a=-int(ane/dax)*dax to 180-ane by dax do { + T1: intersect_(Bx.ne,C[(a>ane)],Bx,(Rect_(1,a+da))) + T2: intersect_(Bx.ne,C[(a>ane)],Bx,(Rect_(1,a))) + line outlined "white" shaded "white" from Bx to T1 then to T2 then to Bx + line outlined "white" shaded "white" from Bx to T1*(-1) \ + then to T2*(-1) then to Bx + } + for i=5 to 2 by -1 do { + C[i]: circle diam d[i] fill_(0) at Bx + for a=0 to 359 by dax do { + T1: Rect_(d[i]/2,a) + T2: Rect_(d[i]/2,a-da*2) + nx = int(distance(T1,T2)/lthick*1.5+0.5) + for h = 1 to nx-1 do { + spline 0.55 outlined "white" from h/nx between T1 and T2 \ + to 0.8 between Bx and T2 then to (Rect_(d[i]/4,a+31)) } + } + } + C[1]: circle thick 2 diam d[1] at Bx fill_(0.1) + eye(d[1]-4bp__) at (0,0) + for a=0 to 359 by dax do { + T1: (Rect_(d[1]/2-1bp__,a)) + T2: (Rect_(d[1]/2-1bp__,a+dax/2)) + line thick 0.4 from T1 to T2 then to 0.5 between Bx and T2 \ + then to 0.5 between Bx and T1 then to T1 shaded "white" + } + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FlowDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FlowDPV.m4 new file mode 100644 index 00000000000..e3543ae405b --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FlowDPV.m4 @@ -0,0 +1,144 @@ +.PS +# FlowDPV.m4 +gen_init(svg_font(sans-serif,11bp__,2.5bp__)) +ifdef(`FlowchartDefs_',,`include(../FlowchartDefs.m4)') + +define(`Thistle',`rgbstring(0.85,0.75,0.85)')dnl +define(`RubineRed',`rgbstring(0.81,0,0.35)')dnl +define(`YellowGreen',`rgbstring(0.68,1,0.18)')dnl +define(`SeaGreen',`rgbstring(0.13,0.70,0.67)')dnl +define(`Goldenrod',`rgbstring(0.85,0.65,0.13)')dnl +define(`Beaublue',`rgbstring(0.74,0.83,0.9)')dnl +define(`Celadon',`rgbstring(0.67,0.88,0.69)')dnl + +# Accented characters +define(`svg_ccedilla',`svg_symbol(&`#'231;)')dnl +define(`svg_atilde',`svg_symbol(&`#'227;)')dnl + + linethick_(1.0) + arrowwid = 0.05 + arrowht = 0.1 + fillval = 0.9 + maxpsht = 20 + +define(`shad',`shaded rgbstring(0.9,0.8,0.7)') +define(`Below',`with .nw at last [].sw+(0,-0.25)') +TL: Here +Simple: [ + Fbox("svg_tt(`Fbox')",,shad) + Ftest("svg_tt(``Ftest'')",,shad) Below + Fdata("svg_tt(``Fdata'')",,,shad) Below + Fprep("svg_tt(``Fprep'')",) Below + Fkeying("svg_tt(``Fkeying'')") Below + Fkeyboard("svg_tt(``Fkeyboard'')") Below + Fdocument("svg_tt(``Fdocument'')",,shaded rgbstring(0.9,0.8,0.7)) Below + Fdelay("svg_tt(``Fdelay'')",,shaded Beaublue) Below + Fdisplay("svg_tt(``Fdisplay'')",,shaded Celadon) Below + Fstored("svg_tt(``Fstored'')",,shaded Thistle) Below + Fconnect(,,shaded Thistle) Below + Fconnect("45",wid boxwid ht boxht:45,shaded Thistle) \ + with .w at last [].e+(boxht/8,0) + "svg_tt(`Fconnect')" at last [].nw + (0,boxht/6) + ] with .nw at TL+(0.1,0); move from Simple.nw to TL + +#showbox_ +Complex: [ +Case: Fcase(, + "Test 1",[Fbox("Task 1",, shaded Thistle); W:last [].W; N:last [].N + arrow down linewid/3 from last [].S + Fbox("Task 1.5",, shaded Thistle) with .N at Here + E:last [].E; S:last [].S], + "Test 2",Fbox("Task 2" "is bigger", wid fboxwid*1.2 ht fboxht*3/2, \ + shaded SeaGreen), + "Test 3",Fbox("Task 3",, shaded RubineRed)dnl + ) + + "svg_it(.N)" at Case.N rjust above + "svg_it(.S)" at Case.S rjust below + "svg_it(.E)" at Case.E ljust + "svg_it(.W)" at Case.W rjust + "svg_tt(`Fcase')" below at Case.s #+(0,-0.1) + +Whiledo: Fwhiledo("svg_it(i svg_lt n)",,,Fbox("Task"),"T" above ljust at Test.E) \ + with .nw at Case.ne+(0.25,0) + + "svg_it(.N)" at Whiledo.N rjust + "svg_it(.S)" at Whiledo.S rjust below + "svg_it(.E)" at Whiledo.E ljust + "svg_it(.W)" at Whiledo.W rjust + "svg_tt(`Fwhiledo')" below at Whiledo.s + +Repeatuntil: Frepeatuntil("svg_it(n svg_gt 5)",,,Fbox("Task"), + "T" at Test.E above ljust) with .nw at Whiledo.sw + (0.25,-0.5) + + "svg_it(.N)" at Repeatuntil.N rjust above + "svg_it(.S)" at Repeatuntil.S rjust below + "svg_it(.E)" at Repeatuntil.E ljust + "svg_it(.W)" at Repeatuntil.W rjust + "svg_tt(`Frepeatuntil')" below at Repeatuntil.se +(-0.0,0.1) + +Ifthenelse: Fifthenelse("svg_it(A svg_lt B)",,, + Fbox("False"), + Fbox("True",ht fboxht*1.2 wid fboxwid)dnl + ) with .nw at Repeatuntil.sw +(-0.5,-0.3) + + "svg_it(.N)" at Ifthenelse.N rjust above + "svg_it(.S)" at Ifthenelse.S below rjust + "svg_it(.E)" wid 12bp__ at Ifthenelse.E ljust + "svg_it(.W)" at Ifthenelse.W rjust + "svg_tt(`Fifthenelse')" below at Ifthenelse.s+(0,-0.15) + +Compound: [ right + ellipse shaded YellowGreen "Start" + arrow right linewid/2 + + Fbox("First task") with .W at Here + arrow down linewid/2 from last [].S + + Fifthenelse("Test 1",,, + Frepeatuntil("svg_it(i svg_geq 5)",,shaded Goldenrod,Fbox("Task")), + Fifthenelse("svg_it(A svg_lt B)",,shaded Goldenrod, + Fbox("Left"), + Fbox("Right"), + "T" at Test.E above ljust), + "T" at Test.E above ljust) with .N at Here + + A: arrow down 0.25 from last [].S ] with .nw at Case.sw + (-12bp__,-0.3) + + "svg_it(Compound statements)" at last [].A.end+(0.1,0) ljust above + + ] with .nw at Simple.ne+(0.1,0) + +Example: [ fillvalue = 0.8; awid = linewid/2; right_ + Start: ellipse wid boxwid/2 ht boxwid/3 shaded "green" + arrow right_ awid + B1: Fbox("Planejamento") + B2: Fbox("Execu`'svg_ccedilla`'svg_atilde`'o") with .W at B1.E+(awid*3,0) + B3: Fbox("Sele`'svg_ccedilla`'svg_atilde`'o") with .W at B2.E+(awid*3,0) + LT: Ftest("Avalia`'svg_ccedilla`'svg_atilde`'o do" "Planejamento", + wid fboxwid*1.5 ht fboxht*2.0, + shaded YellowGreen, + "Correto" at Box.e above ljust; + "Incompleto" at Box.w above rjust) with .S at 0.5 between B1.ne and B2.nw + arrow from B1.E to (LT.S,B1.E) then to LT.S + arrow from LT.W to (B1.N,LT.W) then to B1.N + arrow from LT.E to (B2.N,LT.E) then to B2.N + RT: Ftest("Avalia`'svg_ccedilla`'svg_atilde`'o da" \ + "Execu`'svg_ccedilla`'svg_atilde`'o", + wid fboxwid*1.5 ht fboxht*2.0, + shaded YellowGreen, + "Correto" at Box.e below ljust; + "Incompleto" at Box.w below rjust) with .N at 0.5 between B2.se and B3.sw + arrow from B2.E to (RT.N,B2.E) then to RT.N + arrow from RT.W to (B2.S,RT.W) then to B2.S + arrow from RT.E to (B3.S,RT.E) then to B3.S + B4: Fbox("Extra`'svg_ccedilla`'svg_atilde`'o") with .S at B3.N+(0,awid) + arrow from B3.N to B4.S + arrow up_ awid from B4.N + B5: Fbox("Conclus`'svg_atilde`'o") + arrow up_ awid from B5.N + ellipse wid boxwid/2 ht boxwid/3 shaded "red" +] with .nw at last [].Compound.sw+(0,2.5*fboxht) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FlowDPV.svg b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FlowDPV.svg new file mode 100644 index 00000000000..cda3c42bee1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FlowDPV.svg @@ -0,0 +1,890 @@ + + + + + + + + +Fbox + + +Ftest + + +Fdata + + +Fprep + + + + + + + + +Fkeying + + +Fkeyboard + + + + + + +Fdocument + + + + +Fdelay + + + + + + + + + + + + +Fdisplay + + + + + + + + + + + + +Fstored + + + + +45 +Fconnect + + +Test 1 + +Task 1 + + + +Task 1.5 + + + + + + +Test 2 + +Task 2 +is bigger + + + + + + +Test 3 + +Task 3 + + + + + + + + + + + +.N +.S +.E +.W +Fcase + + +i < n + + + +Task + + + + +T +.N +.S +.E +.W +Fwhiledo + +Task + + + + +n > 5 + + +T +.N +.S +.E +.W +Frepeatuntil + + +A < B + +False + + + +True + + + + + + + +.N +.S +.E +.W +Fifthenelse + +Start + + + +First task + + + + +Test 1 + +Task + + + + +i ≥ 5 + + + + + + +A < B + +Left + + + +Right + + + + + + + +T + + + + + + + +T + + +Compound statements + + + + +Planejamento + +Execução + +Seleção + + +Avaliação do +Planejamento +Correto +Incompleto + + + + + + + + +Avaliação da +Execução +Correto +Incompleto + + + + + + + +Extração + + + + + +Conclusão + + + + + diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FontsDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FontsDPV.m4 new file mode 100644 index 00000000000..157f87ef5cc --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FontsDPV.m4 @@ -0,0 +1,31 @@ +.PS +# FontsDPV.m4 +gen_init + textht = 0.2 + +define(`ft',`{ svg_font(`$1',`$2',`$3',"`$1'" ljust) + move to (B.w+(2.5,0),Here) + svg_font(`$1',`$2',`$3',"ABCDEFG abcdefg" ljust)} + move down 0.5; right_') + +B: box wid 5.7 ht 7 + move to B.nw+(0.5,-0.5) + + ft(Arial) + ft(Helvetica) + ft(Times) + ft(Courier) + ft(Cursive) + ft(Verdana) + ft(Georgia) + ft(Palatino) + ft(Garamond) + ft(Bookman) +# ft(Comic Sans MS) + ft(Trebuchet MS) + ft(Arial Black) + ft(Impact) + + textht = 0.12 + "Available fonts: these may be viewer-dependent" above ljust at B.sw +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FontsDPV.svg b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FontsDPV.svg new file mode 100644 index 00000000000..52f9d53f63e --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FontsDPV.svg @@ -0,0 +1,204 @@ + + + + + + + + +Arial + + +ABCDEFG abcdefg + + +Helvetica + + +ABCDEFG abcdefg + + +Times + + +ABCDEFG abcdefg + + +Courier + + +ABCDEFG abcdefg + + +Cursive + + +ABCDEFG abcdefg + + +Verdana + + +ABCDEFG abcdefg + + +Georgia + + +ABCDEFG abcdefg + + +Palatino + + +ABCDEFG abcdefg + + +Garamond + + +ABCDEFG abcdefg + + +Bookman + + +ABCDEFG abcdefg + + +Trebuchet MS + + +ABCDEFG abcdefg + + +Arial Black + + +ABCDEFG abcdefg + + +Impact + + +ABCDEFG abcdefg + +Available fonts: these may be viewer-dependent + diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FourbarDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FourbarDPV.m4 new file mode 100644 index 00000000000..2dd043a4c78 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FourbarDPV.m4 @@ -0,0 +1,59 @@ +.PS +# FourbarDPV.m4 +# https://tex.stackexchange.com/questions/563831/how-to-draw-four-bar-linkage-with-center-of-mass +gen_init +scale = 25.4 + + a = 18 + b = 73 + c = 47 + d = 72 + A0: Here + B0: A0+(d,0) + circlerad = 1 + +define(`pivot',`[ + C: circle + line down_ 4 from C+(2,0) + arc from last line.start to C+(-2,0) with .c at C + line down_ 4 + B: line thick 1.6 right 7 with .c at (C,Here) + thinlines_ + sep = 0.9 + nhash = B.len/sep +#for i=0 to nhash do { line down sep left sep from B.start+(i/nhash*B.len,0) } + for i=0 to nhash do { line down sep left sep from B.end-(i/nhash*B.len,0) } + thicklines_ + ]') + + pivot with .C at A0; "svg_it(A`'svg_sub(0))" at A0-(5,0) + circle dashed rad a at A0 + pivot with .C at B0; "svg_it(B`'svg_sub(0))" at B0-(5,0) + "svg_it(d = A`'svg_sub(0)B`'svg_sub(0))" at 0.5 + + B1: Cintersect(A0,a+b,B0,c) + B2: Cintersect(A0,b-a,B0,c) + arc dashed from B1 to B2 with .c at B0 + + A0B1: line thick 1.6 from A0 to B1 chop 2 chop 0 + line thick 1.6 from B0 to B1 chop 2 chop 0 "svg_it(c)" ljust + circle fill_(1) at B1; "svg_it(B`'svg_sub(1))" wid 3 at B1+(5,0) + A1: circle fill_(1) at LCintersect(A0B1,A0,a,R) + "svg_it(A`'svg_sub(1))" at A1+(5,0) + + A2: b/(b-a) between B2 and A0; "svg_it(a)" at 0.4 above rjust + "svg_it(b)" at 0.4 above rjust + A2B2: line thick 1.6 from A2 to B2 + line thick 1.6 from B0 to B2 chop 2 chop 0 + circle fill_(1) at B2; "svg_it(B`'svg_sub(2))" at B2+(5,0) + circle fill_(1) at A2; "svg_it(A`'svg_sub(2))" at A2+(5,0) + + thinlines_ + line from B0+(3,0) right 4 + ArcAngle(Here,B0,B1,5) ->; "svg_psi`'svg_sub(0)" at last arc.ne above ljust + ArcAngle(B1,B0,B2,8) ->; "svg_psi" at last arc.n+(-3,0) above + ArcAngle(A1,A0,B2,b*0.45) ->; "svg_theta" at last arc.start+(0,4) + line from A0+(3,0) right 8 + ArcAngle(Here,A0,B1,9) -> ; "svg_theta`'svg_sub(0)" at last arc.start+(2,2) + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FusesDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FusesDPV.m4 new file mode 100644 index 00000000000..f45d0461beb --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/FusesDPV.m4 @@ -0,0 +1,39 @@ +.PS +# `FusesDPV.m4' +cct_init(svg_font(sans-serif,11bp__)) + +movewid = 0.25 + + {fuse ; {"`fuse'" at last line.c+(0,-0.2)} + move + fuse(,D) ; {"`fuse(,D)'" at last line.c+(0,-0.2)} + move + fuse(,B) ; {"`fuse(,B)'" at last line.c+(0,-0.2)} + move + fuse(,C) ; {"`fuse(,C)'" at last line.c+(0,-0.2)} + move + fuse(,S) ; {"`fuse(,S)'" at last line.c+(0,-0.2)} + move + fuse(,SB) ; {"`fuse(,SB)'" at last line.c+(0,-0.2)} + } + move down; right_ + { + cbreaker; {"`cbreaker'" at last line.c+(0,-0.25)} + move + cbreaker(,R); {"`cbreaker(,R)'" at last line.c+(0,-0.25)} + move + cbreaker(,,D); {"`...(,,D)'" at last line.c+(0,-0.25)} + move + cbreaker(,,T); {"`...(,,T)'" at last line.c+(0,-0.25)} + move + cbreaker(,,TS); {"`...(,,TS)'" at last line.c+(0,-0.25)} + } + move down; right_ + { + fuse(,HB) ; {"`fuse(,HB)'" at last line.c+(0,-0.2)} + move + fuse(,HC,0.5,0.3) ; {"`(,HC,0.5,0.3)'" ljust at last line.start+(0,-0.25)} + } + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/GeometryDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/GeometryDPV.m4 new file mode 100644 index 00000000000..18e0cb2fcdd --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/GeometryDPV.m4 @@ -0,0 +1,154 @@ +.PS +# GeometryDPV.m4 +# Some constructions from https://tex.stackexchange.com/ +gen_init +maxpswid = 10 + +Fig1: [ +# FourbarDPV.m4 +# https://tex.stackexchange.com/questions/563831/how-to-draw-four-bar-linkage-with-center-of-mass +ls = 1/25.4 # local scale + + a = 18*ls + b = 73*ls + c = 47*ls + d = 72*ls + A0: Here + B0: A0+(d,0) + circlerad = 1*ls + +define(`pivot',`[ + C: circle + line down_ 4*ls from C+(2*ls,0) + arc from last line.start to C+(-2*ls,0) with .c at C + line down_ 4*ls + B: line thick 1.6 right 7*ls with .c at (C,Here) + thinlines_ + sep = 0.9*ls + nhash = B.len/sep + for i=0 to nhash do { line down sep left sep from B.end-(i/nhash*B.len,0) } + thicklines_ + ]') + + pivot with .C at A0; "A`'svg_sub(0)" at A0-(5,0)*ls + circle dashed rad a at A0 + pivot with .C at B0; "B`'svg_sub(0)" at B0-(5,0)*ls + "d = A`'svg_sub(0)B`'svg_sub(0)" at 0.5 + + B1: Cintersect(A0,a+b,B0,c) + B2: Cintersect(A0,b-a,B0,c) + arc dashed from B1 to B2 with .c at B0 + + A0B1: line thick 1.6 from A0 to B1 chop 2*ls chop 0 + line thick 1.6 from B0 to B1 chop 2*ls chop 0 "c" ljust + circle fill_(1) at B1; "B`'svg_sub(1)" wid 3*ls at B1+(5,0)*ls + A1: circle fill_(1) at LCintersect(A0B1,A0,a,R) + "A`'svg_sub(1)" at A1+(5,0)*ls + + A2: b/(b-a) between B2 and A0; "a" at 0.4 above rjust + "b" at 0.4 above rjust + A2B2: line thick 1.6 from A2 to B2 + line thick 1.6 from B0 to B2 chop 2*ls chop 0 + circle fill_(1) at B2; "B`'svg_sub(2)" at B2+(5,0)*ls + circle fill_(1) at A2; "A`'svg_sub(2)" at A2+(5,0)*ls + + thinlines_ + line from B0+(3*ls,0) right 4*ls + ArcAngle(Here,B0,B1,5*ls) ->; "svg_psi`'svg_sub(0)" at last arc.ne above ljust + ArcAngle(B1,B0,B2,8*ls) ->; "svg_psi" at last arc.n+(-3*ls,0) above + ArcAngle(A1,A0,B2,b*0.45) ->; "svg_theta" at last arc.start+(0,4*ls) + line from A0+(3*ls,0) right 8*ls + ArcAngle(Here,A0,B1,9*ls) ->; "svg_theta`'svg_sub(0)" \ + at last arc.start+(2,2)*ls + ] + +Fig2: [ +# FourbarDPV.m4 +# https://tex.stackexchange.com/questions/609452/help-drawing-a-more-sophisticated-right-triangle-with-tikz-or-something-else + + textkht = 12/72 + unit = 0.6 + C: Here; { "C" at C rjust below } + B: C+(4*unit,0); { "B" at B ljust below } + A: C+(0,3*unit); { "A" at A rjust above } + H: PerpTo(C,A,B); { "H" at H ljust above } + line from C to H then to B then to C shaded rgbstring(0.5,0.8,0.9) +# line from C to H then to B then to C shaded "CornflowerBlue" + line from C to H then to A then to C shaded rgbstring(0.8,0.9,0.7) +# line from C to H then to A then to C shaded "SpringGreen" + ArcAngle(C,A,B,unit*0.4) + ArcAngle(C,A,B,unit*0.5) + ArcAngle(A,B,C,unit*0.5,,"svg_theta" rjust) + ArcAngle(B,C,H,unit*0.5); {"svg_theta" at C+(unit*0.3,unit*0.17) } + ArcAngle(B,C,A,unit*0.6) + RightAngle(B,C,A,unit*0.17) + RightAngle(C,H,A,unit*0.17) + ] with .nw at Fig1.sw+(0.2,0) + + +Fig3: [ ls = 3/4 # local scale +# https://tex.stackexchange.com/questions/593272/drawing-complex-geometry + P: dot(at Here); "P" at P.s below + N: dot(at P+(3.5*ls,1.5*ls)); "N" at N.se ljust below + O: dot(at (N,P)); "O" at O.s below + R: dot(at 1/3 between O and P);"R" at R.s below + M: dot(at (R,N)); "M" at M.se ljust below + Q: dot(at (M.x,M.y+distance(M,N)/distance(N,O)*distance(P,O)));"Q" at Q.e ljust + line from P to Q then to N then to O + B: line to P chop -0.3 + line from M to N + Pu: line from R to Q chop 0 chop -0.3 + H: line from P to N chop 0 chop -0.3 + X: dot(at Intersect_(Pu,H)); "X" at X.se ljust below + thinlines_ + RightAngle(Q,M,N) + RightAngle(Q,N,H.end) + RightAngle(N,O,B.start) + ArcAngle(N,P,Q,0.4); "svg_beta" at last arc.ne above ljust + ArcAngle(O,P,N,0.5); "svg_alpha" at last arc.start+(5bp__,8bp__) + ArcAngle(R,Q,N,0.5); "svg_alpha" at last arc.start+(8bp__,-5bp__) + ] with .sw at Fig2.e+(-0.2,-0.7) + +Fig4: [ ls = 2/3 # local scale + A: Here; "A" at A above + B: A+(-1*ls,-3.5*ls); "B" at B below rjust + C: B+(4.6*ls,0); "C" at C below ljust + AB: line from A to B + BC: line from B to C + CA: line from C to A + + perpto(A,BC,L); "L" at L below + AL: line from A to L; RightAngle(A,L,C) + + angleLAC = atan2(C.x-L.x,A.y-L.y) + S: move from A to (sin(angleLAC/2),-cos(angleLAC/2)) + AW: line from A to Intersect_(S,BC) + W: Here; "W" at W below rjust + + perpto(C,AB,N); "N" at N above rjust + CN: line from C to N; RightAngle(C,N,B) + + perpto(B,CA,M); "M" at M above + CM: line from B to M; RightAngle(B,M,C) + + H: Intersect_(CN,AL); "H" at H +(4bp__,10bp__) + + thinlines_ + Equidist3(B,L,N,CC1,c1rad); C1: circle rad c1rad at CC1 + Equidist3(B,W,N,CC2,c2rad); C2: circle rad c2rad at CC2 + Equidist3(B,C,N,CC3,c3rad); C3: circle rad c3rad at CC3 + Equidist3(W,C,M,CC4,c4rad); C4: circle rad c4rad at CC4 + thicklines_ + + Z: LCintersect(AW,CC2,C2.rad); "Z" at Z+(-5bp__,-5bp__) + HZ: move from H to Z + Y: LCintersect(HZ,CC4,C4.rad,R); "Y" at Y above + X: LCintersect(HZ,CC2,C2.rad); "X" at X above rjust + + Loopover_(`P',`dot(at P)',X,Y,Z) + + line dashed from X to Y chop -linewid/2 + RightAngle(A,Z,Y) + ] with .sw at (Fig3.e,Fig2.s) + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/GrayCodeDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/GrayCodeDPV.m4 new file mode 100644 index 00000000000..b878e63d8ef --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/GrayCodeDPV.m4 @@ -0,0 +1,79 @@ +.PS +# Gray_code.m4 +gen_init + +GrayCode: [ + outer = 4 + inner = 0.75 + nbits = 10 + +C: circle diam outer + circle diam inner at C + sectors = 2^nbits + lthk = (outer-inner)/2/nbits + for bit = 1 to nbits do { + for is = 2^(bit-1) to sectors by 2^(bit+1) do { + startang = is/sectors*360 + endang = min(startang+(2^bit)/sectors*360,360) + arcd(C,outer/2-(bit-0.5)*lthk,startang,endang) thick lthk/(1bp__) + } + } + ] +Crossbar: [ +#.PS +# Crossbar switch +#gen_init + svg_font(sans-serif,11bp__) + circlerad = 0.12 + boxwid = 0.18 + boxht = 0.18 + rathick = 1.5 + rawd = rathick*4 bp__ + raht = rawd*2 + boxdist = boxwid*1.8 + +`define bcoord {($2,-($1))*boxdist}' +`define redarrow { arrow ht raht wid rawd thick rathick color "red" }' + +`define cbx {' + thinlines_ + n = $+ - 1 + for i=0 to n do { + line color "blue" from bcoord(i,0) to bcoord(i,n) + line color "blue" from bcoord(0,i) to bcoord(n,i) + C[i]: circle invis at bcoord(i,-1.5) + } + for i=0 to n do { + exec sprintf("col = $%g",i+1) + redarrow from C[i].e right 1.25*boxwid + redarrow from C[i].w+(-boxwid,0) right raht + for j=0 to n do { + B: box color "blue" shaded "yellow" at bcoord(i,j) + if j==col then { + line color "blue" from B.s to B.e + line thick rathick color "red" from C[i].e to B.w \ + then to B.n then to (B.x,C[0].y+(2+j*2/3)*boxht) + continue to (C[j].x-(2+j*2/3)*boxht,Here.y) + continue to (Here,C[j]) then to C[j].w + } \ + else { + line color "blue" from B.n to B.s + line color "blue" from B.w to B.e + } + } + } + thicklines_ + for i=0 to n do { + circle thick 1.5 outlined "blue" shaded "yellow" at C[i] \ + sprintf("ifpostscript(,ifsvg(,\large))%g",i) + } + } + +[ + cbx(3,6,0,5,2,7,1,4) + ] at 4,4 + + command "" # end font +#.PE + ] with .w at last [].e+(0.25,0) +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/GroundsDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/GroundsDPV.m4 new file mode 100644 index 00000000000..b78cc861efa --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/GroundsDPV.m4 @@ -0,0 +1,46 @@ +.PS +# `GroundsDPV.m4' +cct_init(svg_font(sans-serif,11bp__)) + +sep = 0.65 +Ground: ground + move right sep +GT: ground(,T) + move right sep +GF: ground(,,F) +sep = 0.55 + move right sep +GE: ground(,,E) + move right sep + +B: Here+(0,-0.5) +D: B+(0,11bp__) + { "`ground'" wid 36bp__ at (Ground,B) + "`ground'(,T)" at (GT,B)+(0,11bp__) + "(,,F)" at (GF,B) + "(,,E)" at (GE,D)} + + +GS: ground(,,S) + move right sep +GS90: [ground(,,S,90) ] with .n at Here + move right sep from GS90.n +GQ: ground(,,Q) + move right sep +GL: ground(,,L) + move right sep +GP: ground(,,P) + move right sep +GPA: ground(,T,PA) + +C: Here+(0,-0.5) +E: C+(0,11bp__) + "(,,S)" at (GS,C) + "(,,S,90)" at (GS90,E) + "(,,Q)" at (GQ,C) + "(,,L)" at (GL,E) + "(,,P)" at (GP,C) + "(,T,PA)" wid 32bp__ at (GPA,E) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/HeadersDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/HeadersDPV.m4 new file mode 100644 index 00000000000..49cf95afe8b --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/HeadersDPV.m4 @@ -0,0 +1,42 @@ +.PS +# HeadersDPV.m4 +log_init(svg_font(sans-serif,10bp__)) + + Header + {"svg_it(P1)" wid 15bp__ at last [].P1 rjust + `"Header"' wid 45bp__ at last [].s+(0,-10pt__) + "svg_it(P2)" at last [].P2 rjust + thinlines_ + arrow <- from last [].Block.ne-(0,0.1) up 0.15 right 0.15 + "svg_it(Block)" ljust + thicklines_ } + + Header(2,3,8mm__,10mm__) with .nw at last [].ne+(0.75,-0.05) + {"svg_it(P1)" at last [].P1 rjust + "`Header(2,3,8mm__,10mm__)'" at last [].s+(0,-10pt__) + "svg_it(P2)" at last [].P2 ljust + "svg_it(P5)" at last [].P5 rjust + "svg_it(P6)" at last [].P6 ljust} + + left_ + Header(2,4,,,fill_(0.9)) with .sw at last [].se+(0.75,0) + {"svg_it(P1)" at last [].P1 rjust_ + "`left_; Header(2,4,,,fill_(0.9))'" at last [].s+(0,-23pt__) + "svg_it(P8)" at last [].P8 ljust_} + + down_ + Header(2,8) with .nw at last [].ne+(0.75,0) + {"svg_it(P1)" at last [].P1 ljust + "svg_it(P2)" at last [].P2 ljust + "`down_; Header'(2,8)" at last [].s+(0,-10pt__) + "svg_it(P15)" at last [].P15 rjust + "svg_it(P16)" at last [].P16 rjust} + {thinlines_ + arrow <- right 0.15 from last [].PinP1.e ; {move right 0.45} + "svg_it(PinP1)" ljust + arrow <- right 0.15 from last [].PinP2.e + "svg_it(PinP2)" ljust + thicklines_ } + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/HeathkitDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/HeathkitDPV.m4 new file mode 100644 index 00000000000..0dd75645714 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/HeathkitDPV.m4 @@ -0,0 +1,343 @@ +.PS +cct_init(svg_font(Helvetica,7pt__)) +# HeathkitDPV.m4 +# Landscape +maxpswid = 11 +maxpsht = 8.5 + +# llabel and rlabel without math mode +define(`Llabel',`llabel( + ifelse(`$1',,,`m4lstring(`$1',"`$1'")'), + ifelse(`$2',,,`m4lstring(`$2',"`$2'")'), + ifelse(`$3',,,`m4lstring(`$3',"`$3'")'))') +define(`Rlabel',`rlabel( + ifelse(`$1',,,`m4lstring(`$1',"`$1'")'), + ifelse(`$2',,,`m4lstring(`$2',"`$2'")'), + ifelse(`$3',,,`m4lstring(`$3',"`$3'")'))') + +# Grid parameters + picwid = 8.5 + picht = 6 + g = 1/12 + +# Element scaling + linewid = 8*g +define(`dimen_',dimen_*4/5) +# Default sizes + boxwid = 2*g + boxht = 2*g + arrowht = arrowht*2/3 + +# Grid + linethick_(0.4) + for i=0 to picwid/g do { line color "lightgray" up picht from (i*g,0) } + for i=0 to picwid/g by 10 do { sprintf("%g",i) at (i*g,0) below } + for i=0 to picht/g do { line color "lightgray" right picwid from (0,i*g) } + for i=0 to picht/g by 10 do { sprintf("%g",i) at (0, i*g) rjust } + move left 2*g from (0,0) + linethick_(0.8) + + spline outlined "white" shaded "white" \ + from (0,picht+g) down g then down picht/5 then right picwid/5 + for i=1 to 4 do { continue down picht/5 then right picwid/5 } + continue right 2*g then up 2*g + continue up picht-2*g then up g then left g + +# Place the bottom inductor on the grid + I1: inductor(down_ 13*g from (80,22)*g,,13,,g) + I2: inductor(down_ 10*g from I1.start+(0,21*g),,10,,g) + I3: inductor(down_ 10*g from I2.start+(0,12)*g,,10,M,g) + line from M4Core1.end to (M4Core1,I1.end) + line from M4Core2.end to (M4Core2,I1.end) + Scrn: 2 between M4Core1.start and M4Core2.start + line dashed from Scrn to (Scrn,I1.end) + ground + I4: inductor(up_ 5*g from (Scrn.x+M4Core1.x-I2.x,I2.start.y-2*g),,5,,g) + I5: inductor(up_ 5*g from (I4,I2.end+(0,g)),,5,,g) + +# Circuit board + Board: box dashed thick 2 wid 58*g ht 55*g with .se at I1.end+(-7,-2)*g + P: box invis wid 12*g ht 4*g with .s at Board.sw+(26*g,0) \ + "POWER SUPPLY" "CIRCUIT BOARD" + line dashed thick 2 from P.sw to P.nw; line dashed thick 2 to P.ne + line dashed thick 2 to P.se + +define Pad { P`$1': box fill_(1) "$1" } +# Board connections on the right + Pad(1) at (Board.e,I1.end) + line from P1.e to I1.end "RED" above + Pad(2) at (Board.e,I1.start) + line from P2.e to I1.start "RED" above + Pad(3) at (Board.e,I2.end) + GRN1: line left 4*g from I2.start "GRN" above ; ground + GRN2: line from P3.e to I2.end "GRN" above + spline <-> from GRN2.end+(-g,0) up 2.5*g right 0.5*g then up 5*g left g \ + then up 2.5*g right 0.5*g + box invis fill_(1) wid 3*g ht g "6 VAC" at I2-(2*g,0) + Pad(4) at P3-(0,3)*g + line right_ 3*g from P4.e "BRN" above + arrow down_ 2*g ht arrowht*2/3 + "TO DIAL" "LAMPS" at Here+(0,-g) + Pad(5) at (Board.e,I3.end) + line from P5.e to I3.end "BLU" above + Pad(7) at (Board.e,I3.start) + line from P7.e to I3.start "BLU" above + Pad(6) at 0.5 between P5 and P7 + line from P6.e to I3 "BLU-YEL" above + +# Power wiring, plug, switch +define(`socket',`[ + Outer: box wid dimen_*2/3 ht dimen_/2*3/4 + L: box wid dimen_/16 ht dimen_/4 at Outer-(dimen_/6,0) + R: box wid dimen_/16 ht dimen_/4 at Outer+(dimen_/6,0) + line from Outer.w to L.w + line from Outer.e to R.e + ] ') + + BLK: line from I4.end to (int(I4.end.x/g+8)*g,I4.end.y) "BLK" below ; dot + b = lin_leng(BLK) + BLKYEL: line from I4.start right_ b "BLK-YEL" above ; dot + BLKGRN: line from I5.end right_ b "BLK-GRN" below ; dot + BLKRED: line from I5.start right_ b "BLK-RED" above ; dot + line right_ g; PL: dot + line from BLKYEL.end right g then to Here+(0,-g) + fuse(down_ 3*g,D) + {"3 A FUSE" "SLOW BLOW" at last line+(-5*g,0) } + line to (Here.x,int(Here.y/g)*g-g); dot + Sckt1: socket at Here+(5,0)*g + line from Sckt1.w to (PL,Sckt1); A: dot; "A" rjust + line from Sckt1.e right_ lin_leng(last line); B: dot; "B" ljust + Sckt2: socket at (Sckt1,P1+(0,6)*g) + line from Sckt2.w to (A,Sckt2); dot + line from Sckt2.e to (B,Sckt2); dot + Sckt3: socket at (Sckt1,P1+(0,2)*g) + line from Sckt3.w to (A,Sckt3); dot + line from Sckt3.e to (B,Sckt3); dot + +define(`plug',`[ w = dimen_*2/3; q = 0.25*w + F: line right_ w + arc cw from F.start to F.end with .c at F + T1: F+(-q,w/2+g/2) + T2: F+( q,w/2+g/2) + line from T1 to (T1,F)-(0,2*g) + line from T2 to (T2,F)-(0,2*g) ]') + + PP: plug with .F at Sckt3+(0,-8)*g + {"120 VAC" ljust "50/60 Hz" ljust at PP.e } + +define(`pwrswitch',`[ right; circlerad = 1.75*g/2 + C1: circle "1" + C4: circle "4" + C2: circle "2" with .n at C1.s+(0,-C1.diam/2) + C5: circle "5" + C3: circle "3" with .n at C2.s+(0,-C1.diam/2) + C6: circle "6" + hatchbox(wid g ht C2.n.y-C3.s.y,0.05) with .w at 0.5 between C5.e and C6.e + ]') + + Psw: pwrswitch with .C4.e at Sckt1+(0,-4*g) + "POWER" at Psw.w+(-2*g,0) rjust + arrow up Psw.ht/2 at Psw.e+(1.5*g,0) + "ON" above; "OFF" at last arrow.start below + line from Psw.C1.w to (A,Psw.C1) then to A + line from Psw.C2.w to (A,Psw.C2); continue to (Here,PP.T1) then to PP.T1 + line from PP.T2 to (B,PP.T2) then to (B,I4.end) then to I4.end + line from BLKGRN.end to (B,BLKGRN); dot + +# Bottom connections + Pad(25) at Board.se+(-3,0)*g + R516: resistor(down_ 6*g from P25.s) + {"R516" "22" at last line+(-2*g,0)} ; ground(,T) + dot(at P25.s+(0,-g)); line right_ 5*g + reversed(`source',down_ 4*g,B) + {"#49" ljust "HI" ljust "TEMP" ljust at last line+(2*g,0) } + line to (P25,Here); dot + t = linethick; linethick_(0.4) + arrow <- from P25.s+(0,-g/2) right_ 2*g up_ g/4; "BRN" ljust; linethick_(t) + + Pad(24) at P25+(-4,0)*g + line from P24.s to (P24,R516.end); ground(,T) + Pad(23) at Board.sw+(12*g,0) + line from P23.s to (P23,R516.end); ground(,T) + + Pad(22) at Board.sw+(0,3)*g + R514: resistor(right_ 8*g from P22.e); Llabel(,R514); Rlabel(,680 K) + dot; { ground } + line to (P23,Here) then to P23.n + +# Diode bridge + BE: dot(at (P24,I1)) + d1h = lin_leng(I1)/2 + diode(left_ d1h up_ d1h); Rlabel(,,D508) + BN: dot + diode(left_ d1h down_ d1h); Rlabel(D506) + BW: dot + diode(from BE left_ d1h down_ d1h); Llabel(,,D509) + BS: dot + diode(left_ d1h up_ d1h); Llabel(D507) + capacitor(down_ from BN to BS,C); Llabel(C507,,.22) + line from BE to P24.n + line from BN to P2.w + line from BS to P1.w + spline <-> from (BE.x+2*g,BS.y) \ + up d1h/2 right g/2 then up d1h left g then up d1h/2 right g/2 + box invis fill_(1) ht 2*g wid 2*g "57" "VAC" at last spline + +# Left board connections + Pad(21) at (Board.w,BW); line from P21.e to BW + Pad(19) at P21+(0,-3*g) + Pad(20) at P21+(0, 3*g) + +# Transistor with circles +define(`hbi_tr',`[ linewid = linewid*4/4.16 + Q: bi_tr(`$1',`$2',`$3',E) + E: circle rad m4_xyU at 5/4 between Q.A1 and Q.E "E" + B: circle rad m4_xyU at 5/4 between Q.A1 and Q.B "B" + C: circle rad m4_xyU at 5/4 between Q.A1 and Q.C "C" + ]') + +# Interior circuits + line from P6.w left 2*g; ground + line from P5.w left 4*g; dot + { C504: capacitor(down_ 4*g,C); Llabel(C504,,.22); ground(,T) } + D504: diode(left_ 5*g); Rlabel(,D504); dot + { C505: capacitor(down_ to (Here,C504.end),C+L) + Rlabel(C505,100,75 V); ground(,T) } + line right_ to (Here,P7); dot + { D503: reversed(`diode',to (D504.start,Here)); Llabel(,D503); line to P7.w } + d3 = lin_leng(I3) + spline <-> from C504.start+(g/2,0) \ + up d3/4 right g/4 then up d3*2/4 left g/2 then up d3/4 right g/4 + box invis fill_(1) ht g wid 4*g "100 VAC" at last spline+(-g,0) + + down_ + Q503: hbi_tr(,R,P) with .E at (C505,P3) + line from Q503.C.e to (P25,Q503.C) then to P25.n + line from Q503.B.s to (Q503.B.x,Q503.E.y-4*g) + R513: resistor(down_ 5*g) + {"R513" ljust "1500" ljust at last [].e}; ground(,T) + line from P19.e to (BW-(2*g,0),P19) then up Q503.E.y-P19.y+2*g + R511: resistor(right_ 5*g); Llabel(,R511); Rlabel(,470); + line to (Q503.E,Here) then to Q503.E.n + line from P20.e to (BW,P20) then up R513.end.y-P20.y + resistor(up_ lin_leng(R513)) + {"R512" ljust "5600" ljust "1 W" ljust at last [].e} + line to (Here,Q503.B) then to Q503.B.w + "Q503" "S2091 HI TEMP" "CONTROL" at Q503.E+(1.5,4)*g + D505: reversed(`diode',right_ from Q503.E.e to (C504,Q503.E)); Llabel(,D505) + line to P3.w + + line from P4.w left_ 2*g then up P3.y-P4.y; dot + line from D503.end to (R513,D503); dot + { Pad(8) at (Here,Board.n) } + { line to P8.s } + R505: resistor(down_ to (Here,P6)); Llabel(,"R505" ljust "12 K"); dot + { C503: capacitor(down_ to (Here,C505.end),C+L) + Rlabel(C503,100,70 V); ground(,T) } + right_ + Q502: hbi_tr(,R) with .B at (R511.start,Here) + line from Q502.C.e to R505.start + line from Q502.B.e to R505.end + R504: resistor(down_ from Q502.B.s to (Q502.B,C505.end)) + {"R504" ljust "51 K" ljust at last [].e}; ground(,T) + "Q502" "TA7311" "REGULATOR" "CONTROL" at Q502.C+(-1,3)*g + + Pad(9) at (Q502.E,Board.n) + line from Q502.E.n to P9.s + Pad(10) at (Q502.B-(9,0)*g,Board.n) + R502: resistor(left_ from Q502.E.w to (P10,Q502.E)) + Rlabel(,R502); Llabel(,150); dot + + Pad(11) at (Board.w,Q502.E) + Pad(14) at P11+(0,2.5)*g + Pad(12) at P11+(0,-2.5)*g + Pad(13) at P12+(0,-2.5)*g + line right 2*g from P13.e then up P11.y-P13.y; dot + line from P12.e to (Here,P12); dot + Pad(15) at P13+(0,-3)*g + + right_ + Q501: hbi_tr(,R) with .B at P9.n+(0,2*g) + line from Q501.B.s to P9.n + line from Q501.C.e to (P8,Q501.C) then to P8.n + line from Q501.E.w to (P10,Q501.E) then to P10.n + "Q501" "2N3055" "REGULATOR" at Q501.n+(0,2)*g + line from P14.e to (P10,P14); dot + + Pad(17) at (Board.w,R511) + Pad(16) at P17+(0,3*g) + Pad(18) at P17+(0,-3*g) + line right 2*g from P18.e then up P17.y-P18.y; dot + + right_ + Q504: hbi_tr(,R) with .C at (P10,P17) + line from P17.e to Q504.E.w + line from Q504.B.s to (Q504.B,R513.start) + R508:resistor(down_ to (Here,R513.end)) + {"R508" ljust "680" ljust at last [].e}; ground(,T) + dot(at (P10,P15)) + { line to P10.s } + { resistor(down_ 5*g); {"225" ljust "10 W" ljust "5 %" ljust at last [].e} + line to Q504.C.n } + R503:resistor(left_ 10*g); Rlabel(,R503); Llabel(,290 10 W 5%); dot + line to (Here,Q504.B) + resistor(right_ to Q504.B.w); Llabel(,R507); Rlabel(,100) + line from P15.e to R503.end + "Q504" "40409" "REGULATOR" at Q504.C+(3.5,3)*g + resistor(left_ from R502.end to (R503.end,P11)) + Rlabel(,R501); Llabel(,390 5W 5%); line to P11.e + + resistor(right_ from P16.e to (R514.end,P16)); Llabel(,R506); Rlabel(,82) + line down P16.y-P17.y; dot + + dot(at (R514.end,P11)) + C501: capacitor(down_ 6*g,C+) + Llabel(C501); {"100" ljust "30 V" ljust at last [].s +(0,-g)} + ground(,T) + dot(at (Here.x+4*g,P11.y)) + ZD501: reversed(`diode',down_ lin_leng(C501),Z); Llabel(ZD501); ground(,T) + + dot(at (R514.end,P15)) + C502: capacitor(down_ 6*g,C+) + Llabel(C502); {"100" ljust "30 V" ljust at last [].s +(0,-g)} + ground(,T) + dot(at (Here.x+4*g,P15.y)) + ZD502: reversed(`diode',down_ lin_leng(C502),Z); Llabel(ZD502); ground(,T) + + line from (C502,P17) to (C502,R508.start+(0,g)) + C506: capacitor(down_ to (Here,R508.end),C+) + Llabel(C506); {"100" ljust "30 V" ljust at last [].s +(0,-g)} + ground(,T) + +# Left-side boxes + boxwid = 10*g + boxht = 5*g + line left 3*g from P22.w "GRY" above + line left 3*g from P19.w "VIOL" above + box with .e at (Here,0.5 between P19 and P22) "TO SIGNAL" "METER CIRCUIT" + + line left 8*g from P21.w "RED TO C508" above + line left 8*g from P20.w "VIOL" above + + line left 3*g from P17.w "RED" above + line left 3*g from P18.w; {"WHT-" ljust "RED" ljust at Here+(0,g) } + box with .e at (Here,0.5 between P17 and P18) "12.7 V SOURCE" "TO MULTIPLEX" + + line left 3*g from P16.w "WHT" above + box with .se at Here+(0,-g) "12 V SOURCE" "TO FM TUNER" "SOURCE SWITCH" + + line left 3*g from P15.w "ORG" above + box ht 3*g with .e at Here "15 V SOURCE" "TO FM TUNER" + + line left 3*g from P13.w "BLU" above + line left 3*g from P12.w; {"WHT-" ljust "RED" ljust at Here+(0,g) } + line left 3*g from P11.w "RED" above + box ht 6*g with .e at (Here,P12) "27 V SOURCE" "TO CONTROL" "PREAMP AND" \ + "PWR AMPLIFIER" + + line left 3*g from P14.w + {"WHT-" ljust "GRY-" ljust "GRN" ljust at Here+(0,1.5*g) } + box with .se at Here+(0,-g) "50 V SOURCE" "TO PHONO" "PREAMP" + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/HeathkitDPV.svg b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/HeathkitDPV.svg new file mode 100644 index 00000000000..bafdb74ce67 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/HeathkitDPV.svg @@ -0,0 +1,2010 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 +10 +20 +30 +40 +50 +60 +70 +80 +90 +100 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 +10 +20 +30 +40 +50 +60 +70 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +POWER SUPPLY +CIRCUIT BOARD + + + + +1 + +RED + +2 + +RED + +3 + +GRN + + + + + +GRN + + + + +6 VAC + +4 + +BRN + + +TO DIAL +LAMPS + +5 + +BLU + +7 + +BLU + +6 + +BLU-YEL + +BLK + + +BLK-YEL + + +BLK-GRN + + +BLK-RED + + + + + + + + + + +3 A FUSE +SLOW BLOW + + + + + + + + + +A + + +B + + + + + + + + + + + + + + + + + + + + + + +120 VAC +50/60 Hz + +1 + +4 + +2 + +5 + +3 + +6 + + + + + + + + +POWER + + +ON +OFF + + + + + + +25 + +R516 +22 + + + + + + + + + + + + + + + +#49 +HI +TEMP + + + + +BRN + +24 + + + + + +23 + + + + + +22 + +R514 +680 K + + + + + + + + + + + + +D508 + + + + + + +D506 + + + + + + +D509 + + + + + + +D507 + + + + +C507 +.22 + + + + + + + +57 +VAC + +21 + + +19 + +20 + + + + + + + + + + + +C504 +.22 + + + + + + + + +D504 + + + + + + + +C505 +100 +75 V + + + + + + + + + + +D503 + + + + + +100 VAC + + + + + + + + + + + +E + +B + +C + + + +R513 +1500 + + + + + +R511 +470 + + + +R512 +5600 +1 W + +Q503 +S2091 HI TEMP +CONTROL + + + + + +D505 + + + + + + +8 + + +R505 +12 K + + + + + + + +C503 +100 +70 V + + + + + + + + + + + + + + +E + +B + +C + + + +R504 +51 K + + + +Q502 +TA7311 +REGULATOR +CONTROL + +9 + + +10 + +R502 +150 + + +11 + +14 + +12 + +13 + + + + + +15 + + + + + + + + + + + +E + +B + +C + + + +Q501 +2N3055 +REGULATOR + + + +17 + +16 + +18 + + + + + + + + + + + + + +E + +B + +C + + + +R508 +680 + + + + + + +225 +10 W +5 % + + +R503 +290 10 W 5% + + + +R507 +100 + +Q504 +40409 +REGULATOR + +R501 +390 5W 5% + + +R506 +82 + + + + + + + + + +C501 +100 +30 V + + + + + + + + + +ZD501 + + + + + + + + + + +C502 +100 +30 V + + + + + + + + + +ZD502 + + + + + + + + + + +C506 +100 +30 V + + + + +GRY + +VIOL + +TO SIGNAL +METER CIRCUIT + +RED TO C508 + +VIOL + +RED + +WHT- +RED + +12.7 V SOURCE +TO MULTIPLEX + +WHT + +12 V SOURCE +TO FM TUNER +SOURCE SWITCH + +ORG + +15 V SOURCE +TO FM TUNER + +BLU + +WHT- +RED + +RED + +27 V SOURCE +TO CONTROL +PREAMP AND +PWR AMPLIFIER + +WHT- +GRY- +GRN + +50 V SOURCE +TO PHONO +PREAMP + + diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/I2LDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/I2LDPV.m4 new file mode 100644 index 00000000000..835ecaec535 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/I2LDPV.m4 @@ -0,0 +1,78 @@ +.PS +# I2L.m4 +log_init(svg_font(sans-serif,11bp__)) + +[ + down_ +T1: bi_trans(,R,BC2uEBU) + dy = T1.C0.y-T1.C1.y + dx = T1.C0.x-T1.Bulk.x + up_ +Q1: bi_trans(,,BC1dEBU) with .C1 at (T1.C2.x+dy+dx+dx,T1.C0.y-dy) +Q2: bi_trans(,,BC1dEBU) with .C1 at Q1.E+(0,-dy*2) +Q3: bi_tr(,,) with .B at Q2.C0+(2*dy,0) + down_ +T2: bi_trans(,R,BC1uEBU) with .C1 at (Q3.C.x+2*dx+2*dy,Q1.C0.y+dy) + up_ +X1: bi_tr(,,) with .B at (T2.C0.x+dy+dx,Q1.C0.y) +X2: bi_tr(,,) with .B at (X1.B,Q3.C) + + line down dx from Q2.E +G: dot + line from T1.B to (T1.B,G) then to (X1.E.x+dy,G.y) then to X1.E+(dy,0) \ + then to X1.E + line from X2.E right dy; dot + + line from Q1.E down dy then to (T1.B.x,Q1.E.y-dy); dot + line from T1.C0 to (Q3.B,T1.C0) then to Q3.B; dot; line to Q2.C0 + +A: dot(at (T1.B,Q1.B)-(dx,0)); { "svg_it(A)" wid 0.15 rjust } + line to Q1.B + line from T1.C2 to (T1.C2,Q1.B); dot + + line from Q2.B to (A,Q2.B); dot; { "svg_it(B)" rjust } + line right dy from T1.C1 then down T1.C1.y-Q2.B.y; dot + +VB: dot(at (T2.E.x+2*dx,T1.E.y+dy)); { "svg_it(V`'svg_sub(B))" ljust } + line to (T1.E,Here) then to T1.E + line from T2.E to (T2.E,VB); dot + + line from Q1.C1 to (Q3.C,Q1.C1) then to Q3.C; dot; line to X2.B + + line from Q1.C0 to X1.B + dot(at Q1.C0+(dy,0)); line to (Here,Q2.C1) then to Q2.C1 + + line from Q3.E to (Q3.E,G); dot; ground + + line from T2.B to (T2.B,G); dot + + line from T2.C1 to (T2.C1,X1.B); dot + "svg_it(~(A+B))" wid textht*1.5 below at Here+(0,-2pt__) + + line from T2.C0 to (X2.B,T2.C0) then to X2.B; dot + "svg_it(~(A+(~B)))" below at (T2.E,Here)+(0pt__,-2pt__) + +] + +[ +right_ + +jog = AND_ht/2*L_unit + + X1: NOR_gate + line right jog from X1.Out; "svg_it(~(A+B))" ljust + X2: NOR_gate at X1+svec_(0,-AND_ht*3/2) + line right jog from X2.Out; "svg_it(~(A+(~B)))" ljust + line left jog from X2.In2 + right_ + NOT: NOT_gate with .Out at Here + line left jog from NOT.In1 then up X1.In2.y-NOT.In1.y; dot + line from X1.In2 to Here chop 0 chop -jog + B: dot; "svg_it(B)" rjust + line from X1.In1 to (B,X1.In1); dot; "svg_it(A)" wid 0.15 rjust + line left jog from X2.In1 then up X1.In1.y-X2.In1.y; dot + +] with .e at last [].w-(1,0) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/Incl.jpg b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/Incl.jpg new file mode 100644 index 00000000000..80632b54e99 Binary files /dev/null and b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/Incl.jpg differ diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/InclepsDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/InclepsDPV.m4 new file mode 100644 index 00000000000..78235caa350 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/InclepsDPV.m4 @@ -0,0 +1,94 @@ +.PS +# InclepsDPV.m4 : Illustrating one way to import and overwrite jpg in svg +# A bit messy, but it works. This file has to be processed +# by m4 in the usual way and then twice by dpic, eg +# m4 svg.m4 DPVconfig.m4 InclepsDPV.m4 > InclepsDPV.pic +# dpic -v InclepsDPV.pic > InclepsDPV.svg +# dpic -v InclepsDPV.pic > InclepsDPV.svg +# The second requirement is that the result has to be inserted +# into the html document using the object class, e.g., +# +# This is handled by the cfig macro in examples.htmx + +# The double processing is needed because svg coordinates are to the right +# and down. We have to store the coordinates of the nw corner and use them +# on the second pass. + +divert(-1) +###################################################################### +# Macros to simplify inclusion and positioning of raster image files such +# as png or jpg or files with mime type of "image/svg+xml" + + `svg_init_include([Unique_name]) + Put this (once) before all drawing commands + in the diagram. It opens a [] block for the + total diagram and creates the file + Unique_name.dim (default DPVinsertTemp.dim).' +define(`svg_init_include', +`define(`M4IP_uniq',`ifelse(`$1',,DPVinsertTemp,`$1')')dnl + M4IP_NW: (0,0); m4IP_nw = 0; m4IP_lth = lthick + sh "touch M4IP_uniq.dim" + copy "M4IP_uniq.dim" + [ M4IP_NW: M4IP_NW; { move to M4IP_NW } ') + + `svg_include(filename, wid, ht, [position],[attrib]) + Insert bitmap at specified position; also create + an invis box of the same size and location. + arg1= path to image file + arg2= picture width in drawing units + arg3= picture height in drawing units + arg4= position attribute e.g. + Pic: svg_include(Incl.jpg,2,3, with .sw at (1,4)) + arg5= additional svg image attributes in the sprintf + string, e.g. + clip-path=\"polygon(5%% 0%%, 100%% 0%%, 100%% 100%%, 5%% 100%%)\" (distances + in percent to top-left, top-right, bottom-right, bottom-left clip corners, + or in pixels) ' +define(`svg_include',`box invis wid `$2' ht `$3' `$4' +define(`m4xpx',`(last box.w.x-M4IP_NW.x+m4IP_lth/2)/(1px__)')dnl +define(`m4ypx',`(M4IP_NW.y-last box.n.y+m4IP_lth/2)/(1px__)')dnl +define(`m4wdpx',`(`$2')/(1px__)')dnl +define(`m4htpx',`(`$3')/(1px__)')dnl +if m4IP_nw then { command sprintf(\ + "", m4xpx,m4ypx,m4wdpx,m4htpx) } ') + + `svg_end_include + Put this before .PE after all drawing commands. + It closes the [] block and writes to Unique_name.dim' +define(`svg_end_include',`] with .M4IP_NW at M4IP_NW + print sprintf("m4IP_nw=1; m4IP_lth=%g; M4IP_NW:(%g,%g)",lthick,\ + last [].w.x+3*m4IP_lth/2, last [].n.y+3*m4IP_lth/2) > "M4IP_uniq.dim" + undefine(`M4IP_uniq') ') + +###################################################################### +divert(0)dnl + +darrow_init +svg_init_include + + +# This jpg is 242 px x 321 px + Picture: svg_include(Incl.jpg, 242px__, 321px__, with .w at (1,0)) + + define(`backarrow',`darrow(`$1',,,2pt__,6pt__,6pt__,<-|)') + thinlines_ + backarrow( from boxcoord(Picture,0.4,0.95) up 0.4 right 0.7 ) + "Basket" wid 0.45 with .w at Here+(2bp__,0) + backarrow( from boxcoord(Picture,0.9,0.41) up 0.2 right 0.5 ) + "Ball" wid 0.3 with .w at Here+(2bp__,0) + backarrow( from boxcoord(Picture,0.85,0.32) up 0.2 right 0.5 ) + "Star" wid 0.3 with .w at Here+(2bp__,0) + "Player" wid 0.43 with .w at last "".w+(0,-0.15) + +#for i=3 to 1 by -1 do { +# Picture: svg_include(Incl.jpg, i/4*242px__, i/4*321px__, +# with .nw at last box.nw+(0.125,-0.25)) } + +# P2: svg_include(Incl.jpg, 242px__, 321px__, +# with .w at Picture.e+(1.25,0), +# clip-path=\"polygon(30 0, 100%% 0%%, 100%% 100%%, 30 321)\" ) + +svg_end_include + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/InductorsDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/InductorsDPV.m4 new file mode 100644 index 00000000000..9c9e1476dbf --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/InductorsDPV.m4 @@ -0,0 +1,47 @@ +.PS +# `Inductors.m4' +cct_init(svg_font(sans-serif,10pt__)) +textwid = 1.5 +movewid = 2 pt__ +hm = 2.1 +vm = 0.28 + +hm = 2.05 +vm = 0.28 +{ {inductor ; move ; "`inductor '" ljust} + move right_ hm + {inductor(,W); move ; "`inductor(,W) '" ljust} + move right_ hm + {inductor(,L); move ; "`inductor(,L) '" ljust} +} + move down vm; right_ +{ {inductor(,,3,M) ; move ;"`...(,,3,M) '" ljust} + move right_ hm + {inductor(,W,6,P1); variable; move; "`...(,W,6,P1); variable'" ljust} + move right_ hm+5bp__ + {inductor(,L,9,K); move ;"`...(,L,9,K) '" ljust} +} + + move down vm; right_ +{ {I:inductor(,,,M3); addtaps(-,1/2,-dimen_/6); move; `"...(,,,M3)"' ljust + {`"addtaps(-,1/2,-dimen_/6)"' ljust at (I.start,last ""+(0,-textht*3/2)) } + } + move right_ hm + {ebox(,,,0) ; move ;"`ebox(,,,0) '" ljust} + move right_ hm -10bp__ + {TI: tapped(`ebox(,,,0)',-,1/4,-dimen_/6,3/4,-dimen_/6) ; move ; + "`tapped(`ebox(,,,0)','" ljust at Here+(10bp__,-5bp__) \ + "-,1/4,-dimen_/6," ljust "3/4,-dimen_/6)" ljust + "svg_it(Tap1)" at TI.Tap1 rjust below + "svg_it(Tap2)" at TI.Tap2 ljust below } +} + + move down vm*3/2; right_ +{ {shielded(`inductor(,,,M)') ; move + `"shielded(`inductor(,,,M)')"' ljust + move to (3rd last line.start,Here) + shielded(`ebox(,,,0)',R) ; move; `"shielded(`ebox(,,,0)',R)"' ljust } +} + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/JackDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/JackDPV.m4 new file mode 100644 index 00000000000..6af8b6b3017 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/JackDPV.m4 @@ -0,0 +1,75 @@ +.PS +# `Jack.m4' +cct_init(svg_font(sans-serif,10bp__)) + +P: [ + P1: plug + "A" wid 0.1 at P1.A rjust + "B" at P1.B rjust + "TB" at P1.TB ljust above + "TA" at P1.TA ljust below + P2: plug(,R) with .B at P1.A+(0.85,0) + "A" wid 0.1 at P2.A rjust + "B" at P2.B rjust + P3: plug(,3) with .A at P2.B+(0.85,0) + "A" at P3.A rjust + "B" at P3.B rjust + "C" at P3.C rjust + P4: plug(L,3R) with .A at P3.A+(1,0) + "A" wid 0.1 at P4.A ljust + "B" at P4.B ljust + "C" at P4.C ljust + `"plug"' below at P1.s+(0,-0.1) + `"plug(,R)"' below at P2.s+(0,-0.1) + `"plug(,3)"' below at P3.s+(-0.1,-0.1) + `"plug(L,3R)"' below at P4.s+(0.1,-0.1) +] + +L: [ + J1: jack + thinlines_ + "L" wid 0.1 rjust at J1.L + arrow <- right 0.1 from J1.F; "F" ljust + arrow <- down 0.1 from J1.G then left 0.1 ; "G" rjust + thicklines_ + J2: jack(,LMBS) with .F at J1.F+(1.2,0) + thinlines_ + "L" rjust at J2.L + arrow <- from J2.LM left 0.25; "LM" rjust + arrow <- from J2.LB left 0.25; "LB" rjust + "S" rjust at J2.S + thicklines_ + J3: jack(L,RLS) with .F at J2.F+(0.4,0) + thinlines_ + "L" ljust at J3.L + "S" ljust at J3.S + thicklines_ + J4: jack(L,RLBLMLMS) with .F at J3.F+(1,0) + thinlines_ + "L1" ljust at J4.L1 + arrow <- right 0.3 from J4.LM1; "LM1" ljust + "L2" ljust at J4.L2 +# arrow <- right 0.3 from J4.LM2; "LM2" ht 11pt__ ljust + arrow <- right 0.3 from J4.LM2; "LM2" ljust + "S" ljust at J4.S + "L" ljust at J4.L + arrow <- right 0.2 from J4.LB ; "LB" ljust + J5: jack(,RSBSMLB) with .F at J4.F+(1.95,0) + thinlines_ + "L" rjust at J5.L + "S" rjust at J5.S + "S1" rjust at J5.S1 + arrow <- left 0.3 from J5.SM1; "SM1" rjust + arrow <- left 0.25 then left 0.1 down 0.05 from J5.LB; "LB" rjust + arrow <- left 0.25 then left 0.1 up 0.05 from J5.SB; "SB" rjust + thicklines_ + + `"jack"' below at J1.s+(0,-0.15) + `"jack(,LMBS)"' at (J2,last "") + `"..(L,RLS)"' at (J3,last "") + `"..(L,RLBLMLMS)"' at (J4,last "") + `"..(,RSBSMLB)"' wid 72bp__ at (J5,last "") +] with .nw at P.sw + (0,0.1) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/LgateDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/LgateDPV.m4 new file mode 100644 index 00000000000..8ddb951b4c4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/LgateDPV.m4 @@ -0,0 +1,153 @@ +divert(-1) +# LgateDPV.m4 +########################################################################### + +define(`And',`GenLogGate(AND,$@)') +define(`Nand',`GenLogGate(NAND,$@)') +define(`Or',`GenLogGate(OR,$@)') +define(`Nor',`GenLogGate(NOR,$@)') +define(`Xor',`GenLogGate(XOR,$@)') +define(`Nxor',`GenLogGate(NXOR,$@)') +define(`Not',`GenLogGate(NOT,$@)') + +define(`GenLogGate',`[ pushdef(`m4nargs',0)dnl + # Count the arguments and draw the gate + Loopover_(`a',`define(`m4nargs',incr(m4nargs))',shift($@))dnl + G: ifelse(`$1',NOT,`NOT_gate()',`$1_gate(m4nargs)') + Out: G.Out + T: (G.In1.x-2*L_unit,G.y) + # Sublayer gates with centre at the height of G + SubLayer: [ pushdef(`m4_nct',0) + pushdef(`m4glayer')dnl + Loopover_(`arg', + `define(`m4_nct',incr(m4_nct))dnl + # Stack the input label or draw a sublayer gate + pushdef(`m4InNames')dnl + Gate`'m4_nct: ifelse(patsubst(substr(arg,0,1),`[a-zA-Z]',`&'),&, + `[ In`'arg: ifdef(`MarkLogInputs',`"arg" above',Here) + pushdef(`m4InNames',In`'arg)dnl + Out: Here ] ht 2*L_unit', + `arg') ifelse(m4_nct,1,,`with .ne at last [].se+(0,-L_unit)') + ifdef(`MarkSubLayers', + `{ box wid last [].wid ht last [].ht at last [] }') + # Prepend gate name to labels + m4LogPromote(Gate`'m4_nct)', + shift($@)) dnl + # Promote gate labels to Sublayer block + pushdef(`m4InNames') m4LogLabel() + MidOut: 0.5 between Gate`'eval((m4_nct+1)/2).Out \ + and Gate`'eval((m4_nct+2)/2).Out + popdef(`m4_nct')dnl + ] with .MidOut at T+(-m4nargs*L_unit,0) # end SubLayer + ifdef(`MarkSubLayers', + `{ box wid last [].wid ht last [].ht at last [] }') + # Promote sublayer labels to outer block + pushdef(`m4glayer') m4LogPromote(SubLayer) dnl + pushdef(`m4InNames') m4LogLabel() dnl + # Draw the connecting lines + define(`m4hhv',`(m4nargs-1)/2')dnl + for_(1,m4nargs,1,` + line from G.In`'m4x \ + left G.In`'m4x.x-T.x+(m4hhv-abs(m4x-m4hhv-1))*L_unit \ + then up SubLayer.Gate`'m4x.Out.y-G.In`'m4x.y \ + then to SubLayer.Gate`'m4x.Out') + popdef(`m4nargs') dnl + ]') + +# Manage names of sublayer inputs +define(`m4LogPromote',`ifelse(m4InNames,,`popdef(`m4InNames')', + `pushdef(`m4glayer',m4InNames:$1) + popdef(`m4InNames') m4LogPromote($1)') ')dnl + +define(`m4LogLabel',`ifelse(m4glayer,,`popdef(`m4glayer')', + `define(`m4BaseIn',`substr(m4glayer,0,index(m4glayer,:))')dnl + m4glayer.m4BaseIn + pushdef(`m4InNames',m4BaseIn) popdef(`m4glayer') m4LogLabel()') ')dnl + +# Clear a name stack +define(`stack_del',`ifelse($1,`$1',,`popdef(`$1')$0($@)')') + +########################################################################### +divert(0)dnl +.PS +log_init(svg_font(sans-serif,11bp__)) +#define(`MarkLogInputs') + +define(`bbelow',`with .nw at last [].sw+(0,-0.2)') + + define(`MarkLogInputs') +Ex1:Or(x1,q,`Or(y1,z1)',`Or(z3,u,v,`Or(w,r)',x2,y2,z2,m)') + `"Or(x1,q,`Or(y1,z1)',`Or(z3,u,v,`Or(w,r)',x2,y2,z2,m)')"' \ + at Ex1.se+(-0.4,-0.2) + undefine(`MarkLogInputs') + + line from Ex1.Inx1 to (Ex1.w,Ex1.Inx1)-(L_unit,0) + line from Ex1.Inx2 to (Here,Ex1.Inx2) then to Here; dot + line to Here-(2*L_unit,0); Inx: "x" above + + line from Ex1.Iny1 to (Ex1.w,Ex1.Iny1)-(2*L_unit,0) + line from Ex1.Iny2 to (Here,Ex1.Iny2) then to Here; dot + line to Here-(2*L_unit,0); Iny: "y" above + + line from Ex1.Inz1 to (Ex1.w,Ex1.Inz1)-(3*L_unit,0) + {line from Ex1.Inz3 to (Ex1.Inz3,Ex1.Inz1); dot} + line from Ex1.Inz2 to (Here,Ex1.Inz2) then to Here; dot + line to Here-(2*L_unit,0); Inz: "z" above + +Ex2: And(`Not(A)',B,C,`Nor(A2,D)') with .nw at Ex1.Out+(0.75,0.2) + line right 3*L_unit from Ex2.Out + "svg_it(ABC(A+D))" above ljust at Ex2.G.nw + line right 0.1 at last ""+(0.1,0.16) + line right 0.35 at last ""+(0.55,0.16) + line from Ex2.InA2 to (Ex2.InA2,Ex2.InA); dot + line to Ex2.InA chop -3*L_unit chop 0 + "svg_it(A)" rjust at last line.start + "svg_it(B)" rjust at Ex2.InB + "svg_it(C)" rjust at Ex2.InC + "svg_it(D)" rjust at Ex2.InD + `"And(`Not(A)',B,C,`Nor(A2,D)')"' wid 2.1 with .w at Ex2.sw-(0,0.2) + `"line from Ex2.InA2 to (Ex2.InA2,Ex2.InA); dot"' wid 3.2 \ + with .w at last "".w+(0,-0.2) + `"line to Ex2.InA chop -3*L_unit chop 0"' wid 2.60 \ + with .w at last "".w+(0,-0.2) + `"\"A\" rjust at last line.start"' wid 1.6 with .w at last "".w+(0,-0.2) + `"\"B\" rjust at Ex2.InB; \"C\" rjust at Ex2.InC"' wid 2.7 with .w \ + at last "".w+(0,-0.2) + +Ex3: Or(`And(A1,C1)',`And(B1,`Not(C2)')',`And(`Not(A2)',B2,C3)') \ + with .nw at Ex1.sw+(0,-0.4) + line right 3*L_unit from Ex3.Out + line from Ex3.InB2 to (Ex3.InA2,Ex3.InB2)+(-2*L_unit,0) \ + then up Ex3.InB1.y-Ex3.InB2.y; dot + line from Ex3.InB1 to Here chop 0 chop -2*L_unit; B: "svg_it(B)" rjust + line from Ex3.InA2 to (Ex3.InA2,Ex3.InA1); dot + line from Ex3.InA1 to (B,Here) ; "svg_it(A)" rjust + line from Ex3.InC2 to (Ex3.InC2,Ex3.InC1) then to Ex3.InC1 + dot(at Ex3.InC2); line to (B,Here); "svg_it(C)" rjust + dot(at ((Ex3.InC2)+(-2*L_unit,0),Ex3.InC2)) + line to (Here,Ex3.InC3) then to Ex3.InC3 + "svg_it(AC+BC+ABC)" above ljust at Ex3.G.nw + line right 0.1 at last ""+(0.5,0.16) + line right 0.1 at last ""+(0.73,0.16) + `"Or(`And(A1,C1)',`And(B1,`Not(C2)')',`And(`Not(A2)',B2,C3)')"' \ + at (B,Ex3.s)+(0,-0.2) ljust + +# define(`MarkSubLayers') +Ex4: And(`Or(`Nand(`Or(A,B)',C)',D)',E) with .w at Ex3.e+(1.25,0) + "svg_it(A)" rjust at Ex4.InA + "svg_it(B)" rjust at Ex4.InB + line from Ex4.InC to (Ex4.InA,Ex4.InC); "svg_it(C)" rjust + line from Ex4.InD to (Ex4.InA,Ex4.InD); "svg_it(D)" rjust + line from Ex4.InE to (Ex4.InA,Ex4.InE); "svg_it(E)" rjust + line right 3*L_unit from Ex4.Out + "svg_it((D+(A+B)C)E)" above ljust at Ex4.G.nw + line right 0.5 at last ""+(0.6,0.16) + `"And(`Or(`Nand(`Or(A,B)',C)',D)',E)"' at Ex4.sw+(0,-0.2) ljust +# undefine(`MarkSubLayers') + +stack_del(`m4InNames') # clear the name stack in case other diagrams need it +# extend the bounding box +move from Ex1.nw+(-0.35,0.1) to Ex4.Out+(1,-0.65) + +command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/LogicDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/LogicDPV.m4 new file mode 100644 index 00000000000..ec89a62bb02 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/LogicDPV.m4 @@ -0,0 +1,59 @@ +.PS +# Logic.m4 +log_init(svg_font(sans-serif,11bp__)) +xgap = 0.5 +[ dmov = 0.4 +{ {AND_gate ; "`AND_gate'" ljust at last [].w + (xgap,0)} + move down dmov; right_ + {OR_gate ; "`OR_gate'" ljust at last [].w + (xgap,0)} + move down dmov; right_ + {BUFFER_gate ; "`BUFFER_gate'" ljust at last [].w + (xgap,0)} + move down dmov; right_ + {XOR_gate ; "`XOR_gate'" ljust at last [].w + (xgap,0)} + } + +xgap = 0.65 + move right_ 2 +{ { NAND_gate ; "`NAND_gate'" ljust at last [].w + (xgap,0) } + move down dmov; right_ + { Gate: NOR_gate(3) + "`NOR_gate(3)'" ljust at last [].w + (xgap,0) + thinlines_ + spline <- from Gate.Out right arrowht*2.0 \ + then up 0.15 then right 0.05 + "`Out'" ljust + spline <- from Gate.N_Out down arrowht*2.0 \ + then right 0.1+arrowht*1.5+NOT_rad down 0.15-arrowht*2.0 + "`N_Out'" ljust + for_(1,3,1, + `arrow <- left 0.2 down 0.05 from Gate.In`'m4x + "In`'m4x" rjust at Here+(0,(2-m4x)*0.02)') + } + thicklines_ + move down dmov; right_ + { NOT_gate ; "`NOT_gate'" ljust at last [].w + (xgap,0) } + move down dmov; right_ + { NXOR_gate ; "`NXOR_gate'" ljust at last [].w + (xgap,0) } +} + move right_ 2 +{ {B: NAND_gate(,B) ; "`NAND_gate(,B)'" ljust at B.w + (xgap,0)} + { line invis right 1.8 from last [].se then down 1} + move down dmov; right_ + move left N_diam*L_unit; right_ + {NOR_gate(3,NB) ; "`NOR_gate(3,NB)'" ljust at (B.w,last []) + (xgap,0) } + move down dmov; right_ + {BOX_gate(PN,N,,,=1) + "`BOX_gate(PN,N,,,=1)'" ljust at (B.w,last []) + (xgap,0) + line left 0.15 from last [].In1 + line left 0.15-NOT_rad*2 from last [].In2 + line right 0.15 from last [].Out } + move down dmov; move right_ N_diam*L_unit + {BOX_gate(PP,N,,,=) + "`BOX_gate(PP,N,,,=)'" ljust at (B.w,last []) + (xgap,0) + line left 0.15 from last [].In1 + line left 0.15 from last [].In2 + line right 0.15 from last [].Out } +} +] + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/LoglogDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/LoglogDPV.m4 new file mode 100644 index 00000000000..86e506e7008 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/LoglogDPV.m4 @@ -0,0 +1,630 @@ +.PS +# LoglogDPV.m4 +gen_init(svg_font(sans-serif,11bp__)) +maxpswid = 12 + +LL: [ +define(`rint',`sign(`$1')*int(abs(`$1')+.5)') +S:[ + horiz = 4 + vert = horiz*2/3 + tmax = 10 + tmin = 1 + vmax = 100 + vmin = 0.1 + tic = 0.08 + denv = log(vmax) - log(vmin) + denh = log(tmax) - log(tmin) + + Origin: Here + define(`coord', + `Origin+((log(`$1')-log(tmin))/denh*horiz,(log(`$2')-log(vmin))/denv*vert)') + +thinlines_ +# Left axes and labels + psset_(linecolor=gray) + for i = rint(log(vmin)) to rint(log(vmax)) do { + move to coord(tmin,exp(i)) + line right horiz + sprintf("%g",exp(i)) wid 0.2 rjust at last line.start + if i < rint(log(vmax)) then { + for j = 2 to 9 do { move to coord(tmin,j*exp(i)) + line right horiz + if (j==2) || (j==5) then { + sprintf("%g",j*exp(i)) rjust at last line.start } + } } } + +#Horizontal axis and labels + for t = rint(log(tmin)) to rint(log(tmax)) do { + move to coord(exp(t),vmin) + line up vert + sprintf("%g",exp(t)) wid 0.15 below at last line.start + if t < rint(log(tmax)) then { + for j = 2 to 9 do { move to coord(j*exp(t),vmin) + line up vert + if (j==2) || (j==5) then { + sprintf("%g",j*exp(t)) below at last line.start } + } } } + psset_(linecolor=black) + +# arrow from Origin up vert chop 0 chop -0.1 + line from Origin up vert + "svg_it(y(t))" wid 0.3 at Origin+(-0.1,0.5*vert) rjust + +# arrow from Origin right horiz chop 0 chop -0.1 + line from Origin right horiz + "svg_it(t)" at Origin+(.5*horiz,-0.1) below + +thicklines_ + alpha = 2.5 + beta = 3.0 + tm = max(tmin,(vmin/alpha)^(1/beta)) + tM = min(tmax,(vmax/alpha)^(1/beta)) + line from coord(tm,alpha*tm^beta) to coord(tM,alpha*tM^beta) +P: box invis fill_(1) wid 0.75 ht 0.18 \ + "svg_it(y(t) = 1.5 t)" with .w at coord(2.005,14) + "svg_it(svg_small(3))" with .w at P.ne #ljust + + alpha = 0.05 + beta = 2.0 + tm = max(tmin,(vmin/alpha)^(1/beta)) + tM = min(tmax,(vmax/alpha)^(1/beta)) + line from coord(tm,alpha*tm^beta) to coord(tM,alpha*tM^beta) +Q: box invis fill_(1) wid 0.80 ht 0.18 \ + "svg_it(y(t) = 0.05 t)" with .e at coord(4.6,1.4) + "svg_it(svg_small(2))" with .w at Q.ne #ljust + +] + +# box wid S.wid ht S.ht at S +# print (S.wid,S.ht)/(1 pc__) + command "" # end font +] # LL +#showbox_ + +Cons: [ +#.PS +## Consumption.m4 +#gen_init +svg_font(Helvetica,10pt__) + +#vg_rot_init(test) +svg_rot_init(LoglogDPV) + +divert(-1) + `brace(linespec,depth,arm thickness,attributes) + Curly brace along linespec + default depth is linewid/5 + attributes = eg + thick 0.4 outlined "string" shaded "string" + (default black)' +define(`brace',`rpoint_(ifelse(`$1',,`to rvec_(linewid,0)',`$1')) + M4brS: last line.start; M4brE: last line.end + [ brdepth = ifelse(`$2',,linewid/5,`$2') + brthick = ifelse(`$3',,brdepth/6,`$3') + define(`m4braceattribs', + `ifelse(`$4',,`thick 0.4 shaded rgbstring(0,0,0)',`$4')')dnl + tension = 0.55 + halfwid = distance(M4brS,M4brE) + smallrad = brdepth-brthick + bigrad = brdepth+brthick + for sgn=1 to -1 by -2 do { + S: rvec_(sgn*halfwid/2,0) + A: S+vec_(0,smallrad/2) + B: vec_(0,smallrad/2) + T: vec_(0,brdepth) + C: vec_(0,bigrad/2) + D: vec_(sgn*halfwid/2,bigrad/2) + {spline tension m4braceattribs \ + from S to tension between S and A \ + then to tension between A-vec_(sgn*bigrad/2,0) and A \ + then to A-vec_(sgn*bigrad/2,0) \ + then to B+vec_(sgn*bigrad/2,0) \ + then to tension between B+vec_(sgn*bigrad/2,0) and B \ + then to tension between T and B \ + then to T \ + then to tension between T and C \ + then to tension between C+vec_(sgn*bigrad/2,0) and C \ + then to C+vec_(sgn*bigrad/2,0) \ + then to D-vec_(sgn*bigrad/2,0) \ + then to tension between D-vec_(sgn*bigrad/2,0) and D \ + then to tension between S and D \ + then to S } + } + E: (0,0) +] with .E at 0.5 between M4brS and M4brE') +divert(0)dnl + +#nl raw data ranges + rxmin=1.76665, rxmax=5.87332, rymin=1.49164, rymax=4.00836 + +#nl horiz range + yearmin = 1850 + yearmax = 2040 +#nl data ranges + tonsmin = 0 + tonsmax = 2.0 + popmin = 0 + popmax = 10 +#nl page graph size + minx = 0 + maxx = 4.5 + maxx = 4.566 + miny = 0 + maxy = 3.5 + +define dtop {(minx + ($1-yearmin)/(yearmax-yearmin)*(maxx-minx), \ + miny + ($2-tonsmin)/(tonsmax-tonsmin)*(maxy-miny))} +define ptop {(minx + ($1-yearmin)/(yearmax-yearmin)*(maxx-minx), \ + miny + ($2-popmin)/(popmax-popmin)*(maxy-miny))} + +define(`rtod',`yearmin + (`$1'-rxmin)/(rxmax-rxmin)*(2010-yearmin), \ + tonsmin + (`$2'-rymin)/(rymax-rymin)*1.8') + +[ +nD = 0 +define data { nD+=1 + yr[nD]=$1; pop[nD]=$2/1e9; wood[nD]=$3; other[nD]=$4; hydro[nD]=$5 + coal[nD]=$6; oil[nD]=$7; gas[nD]=$8; nuclear[nD]=$9 } + +data(1850,1241000000,0.238506368,0.238506368,0.238506368,0.274220157,0.274220157,0.276138711,0.276138711) +data(1851,1247847137,0.238701076,0.238701076,0.238701076,0.2788137,0.2788137,0.280785327,0.280785327) +data(1852,1254732053,0.238886465,0.238886465,0.238886465,0.287918165,0.287918165,0.289942225,0.289942225) +data(1853,1261654955,0.239062633,0.239062633,0.239062633,0.290097546,0.290097546,0.292173405,0.292173405) +data(1854,1268616055,0.239229675,0.239229675,0.239229675,0.289984551,0.289984551,0.292111579,0.292111579) +data(1855,1275615561,0.239387687,0.239387687,0.239387687,0.289864062,0.289864062,0.292041635,0.292041635) +data(1856,1282653687,0.239651345,0.239651345,0.239651345,0.301026039,0.301026039,0.303253538,0.303253538) +data(1857,1289730646,0.239904902,0.239904902,0.239904902,0.298720029,0.298720029,0.300996841,0.300996841) +data(1858,1296846651,0.24014846,0.24014846,0.24014846,0.303062054,0.303062054,0.30538757,0.30538757) +data(1859,1304001918,0.240382123,0.240382123,0.240382123,0.309545901,0.309914765,0.312288384,0.312288384) +data(1860,1311196664,0.24060599,0.24060599,0.24060599,0.309390256,0.310123937,0.312545059,0.312545059) +data(1861,1318431107,0.240590657,0.240590657,0.240590657,0.319869525,0.320964008,0.323432041,0.323432041) +data(1862,1325705465,0.240568247,0.240568247,0.240568247,0.308599723,0.310051026,0.312565381,0.312565381) +data(1863,1333019958,0.24053884,0.24053884,0.24053884,0.318950063,0.320754238,0.323314334,0.323314334) +data(1864,1340374810,0.240502511,0.240502511,0.240502511,0.327038715,0.329191844,0.331797103,0.331797103) +data(1865,1347770241,0.240459339,0.240459339,0.240459339,0.328647778,0.331145979,0.333795828,0.333795828) +data(1866,1347770241,0.242191279,0.242191279,0.242191279,0.330379718,0.333234804,0.335943539,0.335943539) +data(1867,1362683739,0.241253672,0.241253672,0.241253672,0.336892133,0.340068952,0.342806283,0.342806283) +data(1868,1370202258,0.24163346,0.24163346,0.24163346,0.336747138,0.340257568,0.3430378,0.3430378) +data(1869,1377762260,0.242001817,0.242001817,0.242001817,0.33659359,0.340433875,0.343256455,0.343256455) +data(1870,1385363974,0.242358855,0.242358855,0.242358855,0.348847699,0.353014113,0.355878493,0.355878493) +data(1871,1393007630,0.24215233,0.24215233,0.24215233,0.358346838,0.362835686,0.365741322,0.365741322) +data(1872,1400693459,0.241940775,0.241940775,0.241940775,0.365684522,0.37049214,0.373438493,0.373438493) +data(1873,1408421694,0.24172425,0.24172425,0.24172425,0.360718048,0.365840803,0.368827338,0.368827338) +data(1874,1416192570,0.241502816,0.241502816,0.241502816,0.363892286,0.369326575,0.372352763,0.372352763) +data(1875,1424006320,0.241276535,0.241276535,0.241276535,0.362994434,0.368736684,0.371802,0.371802) +data(1876,1431863183,0.240604702,0.240604702,0.240604702,0.369663316,0.375709983,0.378813907,0.378813907) +data(1877,1439763395,0.239932976,0.239932976,0.239932976,0.368283426,0.374630997,0.377773011,0.377773011) +data(1878,1447707196,0.239261379,0.239261379,0.239261379,0.366907548,0.373552539,0.376732133,0.376732133) +data(1879,1455694826,0.238589927,0.238589927,0.238589927,0.373413172,0.380352127,0.383568794,0.383568794) +data(1880,1463726528,0.23791864,0.23791864,0.23791864,0.383753486,0.390982979,0.394236217,0.394236217) +data(1881,1471802544,0.237570608,0.237570608,0.237570608,0.392344331,0.399860965,0.403150275,0.403150275) +data(1882,1479923119,0.237219231,0.237219231,0.237227977,0.396963826,0.404764232,0.40808912,0.40808912) +data(1883,1488088499,0.236864558,0.236864558,0.236881953,0.403447314,0.411528151,0.414888128,0.414888128) +data(1884,1496298931,0.236506634,0.236506634,0.236532584,0.406015836,0.414373792,0.417768372,0.417768372) +data(1885,1504554663,0.236145507,0.236145507,0.236179917,0.404733187,0.413364978,0.416793681,0.416793681) +data(1886,1512855946,0.235261191,0.235261191,0.235303968,0.40293236,0.411834727,0.415297076,0.415297076) +data(1887,1521203030,0.23437947,0.23437947,0.23443052,0.406792802,0.415962519,0.419458041,0.419458041) +data(1888,1529596169,0.233500342,0.233500342,0.233559574,0.423718314,0.433152176,0.436680404,0.436680404) +data(1889,1538035617,0.232623805,0.232623805,0.232691127,0.425534315,0.435229149,0.438789617,0.438789617) +data(1890,1546521628,0.231749857,0.231749857,0.231825179,0.431025052,0.44097771,0.444569959,0.444569959) +data(1891,1555054461,0.23057828,0.23057828,0.230661512,0.436142504,0.446349864,0.449973439,0.449973439) +data(1892,1563634373,0.229412583,0.229412583,0.229503635,0.439357394,0.449816361,0.453470809,0.453470809) +data(1893,1572261624,0.228252736,0.228252736,0.228351521,0.431583686,0.442291192,0.445976065,0.445976065) +data(1894,1580936476,0.22709871,0.22709871,0.22720514,0.436575574,0.447528576,0.45124343,0.45124343) +data(1895,1589659190,0.225950477,0.225950477,0.226064464,0.441499685,0.452695166,0.456439562,0.456439562) +data(1896,1598430032,0.225392144,0.225392144,0.225513603,0.450527775,0.461962746,0.465736247,0.465736247) +data(1897,1607249265,0.224833135,0.224833135,0.224961981,0.457659825,0.469331318,0.473133492,0.473133492) +data(1898,1616117159,0.224273475,0.224273475,0.224409622,0.473569462,0.48547454,0.489304958,0.489304958) +data(1899,1625033980,0.223713188,0.223713188,0.223856553,0.494583176,0.506718923,0.510577162,0.510577162) +data(1900,1634000000,0.223152296,0.223152296,0.223302795,0.504825195,0.51718872,0.521074359,0.521074359) +data(1901,1648219401,0.221510378,0.221510378,0.221677629,0.505816316,0.519528083,0.5237969,0.5237969) +data(1902,1662562543,0.219880182,0.219880182,0.220068436,0.508573752,0.523333498,0.527978592,0.527978592) +data(1903,1677030501,0.218261627,0.218261627,0.218478353,0.530583699,0.546223844,0.551238406,0.551238406) +data(1904,1691624363,0.216654634,0.216654634,0.216900192,0.527887731,0.545298807,0.550676116,0.550676116) +data(1905,1706345223,0.215059124,0.215059124,0.215337131,0.547716584,0.564693219,0.570426643,0.570426643) +data(1906,1721194188,0.214836225,0.214836225,0.215148552,0.563118074,0.579880854,0.585963848,0.585963848) +data(1907,1736172371,0.214601167,0.214601167,0.214954035,0.596547339,0.617095414,0.62352152,0.62352152) +data(1908,1751280897,0.214354174,0.214354174,0.214752998,0.574277169,0.596299335,0.60306218,0.60306218) +data(1909,1766520901,0.214095471,0.214095471,0.214542936,0.586977877,0.609919015,0.61701231,0.61701231) +data(1910,1781893526,0.213825278,0.213825278,0.214318488,0.603352348,0.628089516,0.635693908,0.635693908) +data(1911,1797399927,0.212500054,0.212500054,0.213041248,0.605588411,0.631564823,0.639504319,0.639504319) +data(1912,1813041268,0.211181781,0.211181781,0.211751647,0.620130467,0.646297549,0.654565803,0.654565803) +data(1913,1828818723,0.209870438,0.209870438,0.210513435,0.644310839,0.672912362,0.681503109,0.681503109) +data(1914,1844733476,0.208566004,0.208566004,0.209324315,0.595307622,0.624513467,0.633420528,0.633420528) +data(1915,1860786724,0.207268457,0.207268457,0.208098411,0.584702733,0.615780985,0.624998263,0.624998263) +data(1916,1876979669,0.204485426,0.204485975,0.205402589,0.605882504,0.638934007,0.648455487,0.648455487) +data(1917,1893313529,0.201734987,0.201735896,0.202715085,0.616179081,0.652399178,0.662218924,0.662218924) +data(1918,1909789530,0.199016787,0.199017732,0.200115349,0.602687652,0.638337653,0.648449811,0.648449811) +data(1919,1926408908,0.196330472,0.196331097,0.196945715,0.535439366,0.575689906,0.586088699,0.586088699) +data(1920,1943172912,0.193675695,0.193676005,0.195243412,0.579848388,0.630973534,0.641653264,0.641653264) +data(1921,1960082799,0.192957547,0.192958381,0.194440762,0.512833825,0.567705487,0.578660532,0.578660532) +data(1922,1977139839,0.192237376,0.192238246,0.193895625,0.527050727,0.587771773,0.599365431,0.599365431) +data(1923,1994345313,0.19151527,0.191516348,0.193525554,0.578230714,0.649426509,0.662893064,0.662893064) +data(1924,2011700513,0.190791315,0.190792469,0.192986897,0.564368556,0.634750802,0.650057077,0.650057077) +data(1925,2029206742,0.190065598,0.190066911,0.192579912,0.561692328,0.634850472,0.651963721,0.651963721) +data(1926,2046865313,0.189342426,0.18934419,0.192313939,0.556598403,0.631036129,0.649924035,0.649924035) +data(1927,2064677552,0.188617585,0.188619709,0.191901916,0.581066305,0.66532014,0.685950808,0.685950808) +data(1928,2082644798,0.187891159,0.187893595,0.191560967,0.570524051,0.658240401,0.680582356,0.680582356) +data(1929,2082644798,0.188791962,0.188794439,0.19317309,0.596191895,0.694524554,0.718247863,0.718247863) +data(1930,2119049713,0.186433874,0.186436187,0.190385499,0.552331717,0.644491424,0.668934944,0.668934944) +data(1931,2137490116,0.185921585,0.185923717,0.190113868,0.506565457,0.594964462,0.620348577,0.620348577) +data(1932,2156090991,0.185404259,0.185406253,0.189724679,0.468661357,0.552304395,0.578611056,0.578611056) +data(1933,2174853735,0.184882022,0.184885026,0.189466471,0.478973885,0.569521584,0.596732983,0.596732983) +data(1934,2193779755,0.184354996,0.184357857,0.189137885,0.50231919,0.597048389,0.625146959,0.625146959) +data(1935,2212870475,0.183823303,0.183826489,0.189391253,0.513244919,0.615346693,0.6443151,0.6443151) +data(1936,2232127325,0.183422624,0.183426207,0.189292235,0.541976812,0.652213355,0.6820345,0.6820345) +data(1937,2251551752,0.183015177,0.183016132,0.189691455,0.557024422,0.681411525,0.713128315,0.713128315) +data(1938,2271145215,0.182601109,0.182608794,0.189219601,0.528985648,0.649365004,0.682755166,0.682755166) +data(1939,2290909184,0.182180563,0.182198879,0.189050477,0.544855454,0.669193862,0.704673928,0.704673928) +data(1940,2310845143,0.181753683,0.181773628,0.188817984,0.577859192,0.705095325,0.742626751,0.742626751) +data(1941,2330954589,0.180256141,0.180280081,0.187681608,0.587475315,0.717410922,0.756955672,0.756955672) +data(1942,2351239032,0.17877091,0.178803567,0.18636161,0.589499673,0.710751063,0.752271606,0.752271606) +data(1943,2371699993,0.17729789,0.177330845,0.185849103,0.596589637,0.725948747,0.769408049,0.769408049) +data(1944,2392339011,0.17583698,0.175847008,0.183932936,0.574921594,0.722215099,0.767576618,0.767576618) +data(1945,2413157633,0.174388081,0.174391359,0.182283924,0.493293215,0.63914527,0.68637295,0.68637295) +data(1946,2434157423,0.173522919,0.173531361,0.182267965,0.514250229,0.668057865,0.717384008,0.717384008) +data(1947,2455339957,0.172659705,0.172683238,0.181755468,0.551547112,0.719518964,0.773619655,0.773619655) +data(1948,2476706827,0.17179847,0.171828917,0.181742644,0.560535238,0.749010917,0.809647204,0.809647204) +data(1949,2498259635,0.170939245,0.17097559,0.181133719,0.538171636,0.723949765,0.788183962,0.788183962) +data(1950,2557628654,0.167579756,0.167622721,0.178408185,0.559396293,0.762977841,0.834822272,0.834822272) +data(1951,2594938936,0.167032664,0.167085184,0.179115513,0.574723533,0.802272625,0.886283415,0.886283415) +data(1952,2636770386,0.166215588,0.166275557,0.178905263,0.565999791,0.801386992,0.890443027,0.890443027) +data(1953,2682050452,0.165211328,0.165271599,0.178153454,0.56040182,0.805094458,0.897685967,0.897685967) +data(1954,2730224110,0.164066346,0.164125585,0.177552809,0.548214509,0.799870041,0.895277726,0.895277726) +data(1955,2782093851,0.162744571,0.162802026,0.177062242,0.572289721,0.849071541,0.950920777,0.950920777) +data(1956,2835293441,0.161343608,0.161397559,0.176802814,0.586639897,0.882197665,0.990604979,0.990610309) +data(1957,2891342302,0.159836585,0.159890471,0.176313385,0.589494533,0.894932945,1.010584994,1.010622753) +data(1958,2948128605,0.158347259,0.158403549,0.176092897,0.594122165,0.901178987,1.023306716,1.023348608) +data(1959,3000706677,0.157134282,0.157194027,0.175092878,0.60075882,0.926301469,1.060278841,1.060403012) +data(1960,3042990271,0.156490706,0.156555865,0.175795691,0.61309257,0.958977014,1.102738263,1.102971765) +data(1961,3084007286,0.155724141,0.155801371,0.175847845,0.582341401,0.945610971,1.097964839,1.098333034) +data(1962,3140187350,0.154229357,0.154309778,0.175037739,0.583886676,0.970894477,1.134494733,1.135032498) +data(1963,3209978774,0.152139251,0.152229147,0.173552486,0.585699084,0.991892736,1.166953505,1.167858812) +data(1964,3281412257,0.150062967,0.150160837,0.171811855,0.592867755,1.021995792,1.209049525,1.210281169) +data(1965,3350699989,0.14816998,0.148271574,0.171655685,0.592192206,1.043069039,1.239349435,1.241269627) +data(1966,3421015609,0.147131043,0.14723349,0.171776593,0.589397107,1.068586677,1.275452622,1.27813231) +data(1967,3490735455,0.146158896,0.14626543,0.170803075,0.56557596,1.069927556,1.288070014,1.291237119) +data(1968,3562786611,0.145129793,0.1452355,0.170411047,0.568040201,1.107666962,1.34146315,1.345320724) +data(1969,3637707956,0.14402776,0.144141478,0.170254838,0.567570209,1.136409991,1.38786865,1.392325229) +data(1970,3713327898,0.142943308,0.143053274,0.169862261,0.574604634,1.187424472,1.460093809,1.4656198) +data(1971,3790980082,0.141867123,0.1419725,0.169518561,0.562377273,1.199174341,1.484731543,1.492185663) +data(1972,3867242256,0.14088476,0.141006603,0.169241956,0.55299154,1.211873977,1.508449967,1.518429829) +data(1973,3942790520,0.139965732,0.140098019,0.168229646,0.551337808,1.256519325,1.5637256,1.576827076) +data(1974,4017323955,0.139116394,0.139264313,0.169566501,0.548855283,1.243354913,1.55159078,1.568155026) +data(1975,4088810897,0.138401041,0.13856795,0.16866321,0.563492361,1.21131787,1.515162671,1.537578295) +data(1976,4158888836,0.137644673,0.137823056,0.167542119,0.566773642,1.257660106,1.569161684,1.594857237) +data(1977,4229748034,0.136888084,0.137068744,0.166990254,0.571441309,1.275256046,1.610533422,1.641644931) +data(1978,4300631215,0.136155668,0.136323913,0.168223987,0.572181835,1.27205561,1.591706702,1.627562741) +data(1979,4374349678,0.135359212,0.13557451,0.168367796,0.588798681,1.303224877,1.642092677,1.678738222) +data(1980,4445423675,0.13466922,0.135694224,0.169018612,0.535103352,1.264795628,1.575204786,1.612060086) +data(1981,4526817917,0.134213008,0.135336361,0.168515198,0.530410164,1.209074468,1.518426926,1.559512282) +data(1982,4607193353,0.133802494,0.135342954,0.168753641,0.536996737,1.176267133,1.47980709,1.52463367) +data(1983,4688582743,0.133377208,0.135246041,0.169576319,0.532088682,1.158420925,1.46002144,1.510279864) +data(1984,4767669177,0.133030663,0.135364454,0.170242063,0.54694641,1.180279911,1.506703536,1.566412047) +data(1985,4849860549,0.132610473,0.135051242,0.169658748,0.552747513,1.171095757,1.504285752,1.573424331) +data(1986,4934211409,0.131291387,0.133685377,0.168393392,0.554194404,1.186400652,1.520044231,1.593296333) +data(1987,5021085089,0.129951317,0.132539382,0.166722644,0.554231496,1.181208808,1.524791298,1.603295671) +data(1988,5108736553,0.128637242,0.13125772,0.166140318,0.556210491,1.195203161,1.549641815,1.633219996) +data(1989,5195979089,0.127377522,0.13079373,0.164881748,0.553926742,1.193159265,1.553390392,1.638232703) +data(1990,5284252039,0.126134805,0.129737215,0.164632138,0.553384674,1.190735096,1.553386431,1.640350219) +data(1991,5367488662,0.125428663,0.12928236,0.164254982,0.528423389,1.154980396,1.516498613,1.613399159) +data(1992,5452187873,0.124710625,0.128643771,0.163153115,0.518552304,1.13735672,1.494240768,1.590566106) +data(1993,5534418049,0.12406988,0.128046593,0.163990775,0.50470235,1.119339298,1.477198192,1.575200738) +data(1994,5614530098,0.123494469,0.127690239,0.163473418,0.506216459,1.12531413,1.481458633,1.580083078) +data(1995,5695823105,0.122909758,0.127213893,0.164248122,0.510641048,1.135855904,1.49167459,1.592774524) +data(1996,5776327747,0.12216812,0.12649691,0.163557636,0.510522671,1.141850345,1.503121808,1.606488473) +data(1997,5854841500,0.121488167,0.12619452,0.163583023,0.524945344,1.167177534,1.523679854,1.624760285) +data(1998,5932024858,0.120853308,0.125593429,0.162567495,0.521014085,1.167330383,1.52595967,1.627688406) +data(1999,6008646651,0.120245994,0.125081498,0.162173341,0.512693203,1.14325022,1.505666716,1.609442579) +data(2000,6084703879,0.119665076,0.124729832,0.16178992,0.513011266,1.158715327,1.529969497,1.634878653) +data(2001,6160890093,0.119894056,0.125258541,0.161095098,0.524198822,1.1611659,1.535602425,1.642047723) +data(2002,6237154134,0.118903979,0.124921559,0.160784753,0.529942594,1.153921617,1.530689162,1.637033401) +data(2003,6313942570,0.117913902,0.124642773,0.160192176,0.546832827,1.182503339,1.566938847,1.670839416) +data(2004,6390636309,0.116923825,0.12432827,0.161759107,0.565673251,1.221114221,1.610936278,1.717713694) +data(2005,6467431499,0.115933748,0.124259776,0.162887647,0.604148825,1.263290753,1.659620623,1.765386482) +data(2006,6545218993,0.114943672,0.124695239,0.164252513,0.623509498,1.274460793,1.680457898,1.786351327) +data(2007,6623523655,0.113953595,0.125629532,0.165251003,0.637952129,1.279256584,1.68820381,1.790810594) +data(2008,6702159402,0.112963518,0.127142703,0.167940953,0.64989848,1.292105043,1.710278853,1.811269586) +data(2009,6780833881,0.111973441,0.127858368,0.168866486,0.654393109,1.282816573,1.686869485,1.785251313) +data(2010,6858584755,0.110983364,0.12921584,0.172117414,0.680609275,1.328410794,1.756431211,1.856334479) +data(2011,6935999491,0.109993287,0.130385385,0.173636892,0.704216284,1.348176864,1.785673581,1.880255695) +data(2012,7013871313,0.10900321,0.130975574,0.175672274,0.688388925,1.341250864,1.785302272,1.872409847) +data(2013,7092128094,0.108013133,0.132480909,0.177353971,0.688378378,1.336238537,1.781754888,1.868322734) +data(2014,7169968185,0.107023056,0.133567224,0.177755023,0.681107631,1.336758872,1.78693987,1.874787234) +data(2015,7247892788,0,0,0,0,0,0,0) +data(2016,7325996709,0,0,0,0,0,0,0) +data(2017,7405107650,0,0,0,0,0,0,0) +nD0=nD-3 + +define yrdata { nyd +=1; yrd[nyd]=$1; ypop[nyd]=$2/1e9 } + +nyd = 0 +yrdata(1850,1169923623) +yrdata(1851,1177298999) +yrdata(1852,1184724181) +yrdata(1853,1192199527) +yrdata(1854,1199725401) +yrdata(1855,1207302168) +yrdata(1856,1214930197) +yrdata(1857,1222609858) +yrdata(1858,1230341525) +yrdata(1859,1238125576) +yrdata(1860,1245962390) +yrdata(1861,1253852349) +yrdata(1862,1261795840) +yrdata(1863,1269793250) +yrdata(1864,1277844972) +yrdata(1865,1285951399) +yrdata(1866,1294112930) +yrdata(1867,1302329966) +yrdata(1868,1310602910) +yrdata(1869,1318932168) +yrdata(1870,1327318152) +yrdata(1871,1335761275) +yrdata(1872,1344261952) +yrdata(1873,1352820603) +yrdata(1874,1361437653) +yrdata(1875,1370113525) +yrdata(1876,1379548537) +yrdata(1877,1389051752) +yrdata(1878,1398623687) +yrdata(1879,1408264863) +yrdata(1880,1417975804) +yrdata(1881,1427757042) +yrdata(1882,1437609109) +yrdata(1883,1447532543) +yrdata(1884,1457527886) +yrdata(1885,1467595685) +yrdata(1886,1477736490) +yrdata(1887,1487950857) +yrdata(1888,1498239345) +yrdata(1889,1508602518) +yrdata(1890,1519040944) +yrdata(1891,1529555197) +yrdata(1892,1540145854) +yrdata(1893,1550813497) +yrdata(1894,1561558712) +yrdata(1895,1572382092) +yrdata(1896,1583284233) +yrdata(1897,1594265734) +yrdata(1898,1605327202) +yrdata(1899,1616469247) +yrdata(1900,1630171098) +yrdata(1901,1644554295) +yrdata(1902,1659067684) +yrdata(1903,1673712471) +yrdata(1904,1688489874) +yrdata(1905,1703401122) +yrdata(1906,1718447458) +yrdata(1907,1733630134) +yrdata(1908,1748950415) +yrdata(1909,1764409579) +yrdata(1910,1780008913) +yrdata(1911,1795749721) +yrdata(1912,1811633314) +yrdata(1913,1827661021) +yrdata(1914,1843834178) +yrdata(1915,1860154139) +yrdata(1916,1876622267) +yrdata(1917,1893239939) +yrdata(1918,1910008546) +yrdata(1919,1926929491) +yrdata(1920,1944419089) +yrdata(1921,1962566145) +yrdata(1922,1980884876) +yrdata(1923,1999376931) +yrdata(1924,2018043972) +yrdata(1925,2023803913) +yrdata(1926,2043462180) +yrdata(1927,2063406322) +yrdata(1928,2082689730) +yrdata(1929,2103850414) +yrdata(1930,2124167500) +yrdata(1931,2143802732) +yrdata(1932,2164157870) +yrdata(1933,2184604692) +yrdata(1934,2205534997) +yrdata(1935,2226530597) +yrdata(1936,2247993326) +yrdata(1937,2268545035) +yrdata(1938,2290267593) +yrdata(1939,2312702889) +yrdata(1940,2350947590) +yrdata(1941,2373554827) +yrdata(1942,2396382640) +yrdata(1943,2419433211) +yrdata(1944,2442708748) +yrdata(1945,2466211477) +yrdata(1946,2489943650) +yrdata(1947,2513907539) +yrdata(1948,2538105439) +yrdata(1949,2562539670) +yrdata(1950,2579434878) +yrdata(1951,2653954580) +yrdata(1952,2692712961) +yrdata(1953,2732388944) +yrdata(1954,2772909569) +yrdata(1955,2814390135) +yrdata(1956,2856675848) +yrdata(1957,2899864004) +yrdata(1958,2943689748) +yrdata(1959,2987555529) +yrdata(1960,3030709021) +yrdata(1961,3090453463) +yrdata(1962,3137151355) +yrdata(1963,3211786601) +yrdata(1964,3270671214) +yrdata(1965,3330055803) +yrdata(1966,3401169329) +yrdata(1967,3463250974) +yrdata(1968,3526647458) +yrdata(1969,3591511933) +yrdata(1970,3657420066) +yrdata(1971,3724116214) +yrdata(1972,3791497136) +yrdata(1973,3859732004) +yrdata(1974,3928723212) +yrdata(1975,3998320921) +yrdata(1976,4080634693) +yrdata(1977,4156349026) +yrdata(1978,4233151108) +yrdata(1979,4311785729) +yrdata(1980,4391777096) +yrdata(1981,4472736872) +yrdata(1982,4555816222) +yrdata(1983,4640588050) +yrdata(1984,4726272158) +yrdata(1985,4813567478) +yrdata(1986,4902566593) +yrdata(1987,4985904892) +yrdata(1988,5070443631) +yrdata(1989,5156030340) +yrdata(1990,5219191372) +yrdata(1991,5304659362) +yrdata(1992,5390911229) +yrdata(1993,5477320137) +yrdata(1994,5564356643) +yrdata(1995,5652711036) +yrdata(1996,5738516173) +yrdata(1997,5824945702) +yrdata(1998,5912061676) +yrdata(1999,5999735497) +yrdata(2000,6088144560) +yrdata(2001,6173932167) +yrdata(2002,6250016823) +yrdata(2003,6326520742) +yrdata(2004,6403805522) +yrdata(2005,6481944062) +yrdata(2006,6525559210) +yrdata(2007,6602274812) +yrdata(2008,6789771253) +yrdata(2009,6873741054) +yrdata(2010,6958169159) +yrdata(2011,7043008586) +yrdata(2012,7128176935) +yrdata(2013,7213426452) +yrdata(2014,7298453033) +yrdata(2015,7383008820) +yrdata(2016,7466964280) +yrdata(2017,7550262101) + +Left: line from dtop(yearmin,tonsmin) to dtop(yearmin,tonsmax) + htic = 8pt__ +# htic = maxy + vtic = 13pt__/2 +# vtic = maxy + "0" wid 5bp__ at dtop(yearmin,tonsmin) rjust above + for y=0.2 to 2 by 0.2 do { + move to dtop(yearmin,y) + if y<2 then {{ line right htic }} + sprintf("%g",y) wid 5bp__ rjust } + svg_rot(90,"Tonnes of oil equivalent per capita",at Left-(0.3,0)) + +Right: line from dtop(yearmax,tonsmin) to dtop(yearmax,tonsmax) + for p=0 to popmax do { + move to ptop(yearmax,p) + if p>0 && p + + spline <- from dtop(yr[nD0]-1,0.12) left 0.2 up 0.1 then left 0.55 up 0.05 + "Other renewables" wid 100bp__ with .b at Here+(-0.4,2pt__) + +Q: NPopulation.end + (-1.25,-0.1) + spline ctension_ <- \ + from NPopulation.end+(-3pt__,0) left 0.3 down 0.1 then left 0.45 then to Q + sprintf("%g %% of 1850 population",round_(ypop[nyd]/ypop[1]*10)*10) \ + wid 100bp__ rjust +] + + command "" # end font +#.PE + ] with .sw at last [].se+(-40bp__,0) # Cons +#showbox_ + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/MCDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/MCDPV.m4 new file mode 100644 index 00000000000..6232d8758e3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/MCDPV.m4 @@ -0,0 +1,99 @@ +.PS +#MCDPV.m4 +cct_init(svg_font(Times,11bp__)) +textoffset = 3bp__ + +MC:[ + dv = dimen_*0.6 + dh = dimen_*0.4 + backup = dimen_/6 + + for i=1 to 3 do {{ + if i==2 then { Input: dot } else { line up (2-i)*dv } + source(right_ dimen_,AC) +# The pound sign has to be protected from m4 + llabel(,,sprintf("svg_it(v`'svg_sub(&``#''%g;,66%))",96+i)) + resistor(right_ dimen_ from Here-(backup/2,0)) + if i==1 then { llabel(,R`'svg_sub(i))} + inductor(right_ dimen_ from Here-(backup,0),W) + if i==1 then { llabel(,L`'svg_sub(i))} + line right_ i*dh + b_current(sprintf("svg_it(i`'svg_sub(&``#''%g;,66%))",96+i)); dot + { line down (3-i)*dv; capacitor(down_ dimen_) + if i==1 then { rlabel(,C`'svg_it(i)) } + if i==2 then { dot } else { line right (2-i)*dh }} + line right 3*dh; dot + E: Here+((3-i)*dh+dimen_*2,(4-2*i)*dv) + for j=1 to 3 do {{ + line up (6-j*3)*dv then right (3-i)*dh + switch(right_ E.x-Here.x) + llabel(,,sprintf("svg_it(S`'svg_sub(&``#''%g;&``#''%g;,66%))",96+i,64+j)) + if i==2 then { dot } else { line down (2-i)*dv } + }} + line from E right dh then down E.y-Here.y + arrow right dimen_/2 + { sprintf("svg_it(i`'svg_sub(&`#'%g;,66%))",64+i) above } + resistor(right_ dimen_ from Here-(arrowht/2,0)) + if i==1 then {llabel(,R`'svg_sub(o))} + inductor(right_ dimen_ from Here-(backup,0),W) + if i==1 then {llabel(,L`'svg_sub(o))} + source(right_ dimen_,AC) + llabel(sprintf("svg_it(v`'svg_sub(&``#''%g;,66%))",64+i)) + if i==2 then { Output: dot } else { line down (2-i)*dv } + }} +] + +Three: [ + gapht = 4*dimen_ + dv = dimen_*0.6 + dh = dimen_*5/6 + define(`swfet',`mosfet(`$1',,dMEDSuBQPy)') + define(`swpair',`[ up_ + BS: swfet(up_ dimen_); { "`$1'" at BS.D-(0,2bp__) rjust } + L: line up_ gapht-2*dimen_ from BS.D + TS: swfet(up_ dimen_) with .S at Here; { "`$2'" at TS.S+(0,2bp__) rjust } + T: TS.D + B: BS.S + C: L.c + ]') + + V1: gap(up_ gapht,1,A) + { "svg_it(V)svg_sub(1)" wid 12bp__ at last arrow.c rjust } + line right_ dimen_/2 + { C1: capacitor(down_ to (Here,V1.start)); llabel(svg_it(C)svg_sub(1)) } + for_(1,3,1,` + line right_ dimen_ ifelse(m4x,1,,*5/4) + {SP1`'m4x: swpair(svg_it(S`'svg_sub(1`'eval(m4x+3))), + svg_it(S`'svg_sub(1`'m4x))) with .T at Here + dot(at last [].C + (0,(2-m4x)*dh)) + line right_ (3-m4x)*dimen_*5/4+dimen_/4 + inductor(right_ dimen_,L) + {sprintf("svg_it(L`'svg_sub(1&`#'%g;,70%))",64+m4x) at last [].n+(0,8bp__)} + line down_ (2-m4x)*dh*2/3 + pushdef(`dimen_',dimen_*1.2) inductor(right_ dimen_*3/4) popdef(`dimen_') + line down_ (2-m4x)*dh/3 + M: move right_ dimen_/8 + line up_ (2-m4x)*dh/3 + pushdef(`dimen_',dimen_*1.2) inductor(right_ dimen_*3/4) popdef(`dimen_') + line up_ (2-m4x)*dh*2/3 + inductor(right_ dimen_,L) + {sprintf("svg_it(L`'svg_sub(2&`#'%g;,70%))",64+m4x) at last [].n+(0,8bp__)} + line right_ dimen_/8+(m4x-1)*dh*5/4 + dimen_/4 + dot + SP2`'m4x: swpair(svg_it(S`'svg_sub(2`'eval(m4x+3))), + svg_it(S`'svg_sub(2`'m4x))) \ + with .C at Here+(0,(m4x-2)*dh) } + ') + "svg_it(T)svg_sub(r)" at M.c+(0,dimen_*2/3) + line from V1.start to SP13.B + line from SP21.B to SP23.B+(dh*3/4,0) + { C2: capacitor(up_ to (Here,V1.end)); llabel(,,svg_it(C`'svg_sub(2))) } + line right_ dimen_/2 + gap(up_ gapht,1,A) + { "svg_it(V`'svg_sub(2))" wid 12bp__ at last arrow.c ljust } + line to SP21.T chop dotrad_ chop 0 + +] with .nw at MC.sw+(0,-0.2) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/Makefile b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/Makefile new file mode 100644 index 00000000000..ff4933c4645 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/Makefile @@ -0,0 +1,166 @@ +LIBDIR = $$HOME/lib +M4LIBS = svg.m4 DPVconfig.m4 +M4LIBS = svg.m4 +M4 = m4 +# PDFCONVERT = pdf2svg +PDFCONVERT = dvisvgm + +# To process a single file, copy it to test.m4 and type "make tst" +# to produce tstDPV.html + +DPIC = dpic +#DPIC = $$HOME/dpic/pascal/p2c/ftp/dpic +#DPIC = ../dpic/pascal/p2c/ftp/dpic +#DPIC = ../dpic/bison/dpic +#DPIC = ../dpic/bi*dev/dpic + +# To test the Windows executable. Change these as needed for the operating +# system. NOTE: cscDPV.m4 and Connectors.m4 use awk and sed which +# do not work at present with the Windows version. +# M4LIBS = svg.m4 windows.m4 +# DPIC = ../dpic/bison/distsrc/Windows/dpic + +.SUFFIXES: .pic .svg .m4 .xsvg +.pic.svg: + $(DPIC) -v $*.pic > $*.svg +# grep '<\!-- width' $*.svg | sed -e 's%<\!-- *%%' -e 's% *-->%%' > $*.siz +.m4.svg: + m4 $(M4LIBS) $*.m4 | sed -e '/^\%/d' | $(DPIC) -v > $*.svg +# m4 $(M4LIBS) $*.m4 | sed -e '/^\%/d' > $*.pic +# $(DPIC) -v $*.pic > $*.svg +.m4.xsvg: + touch F_$*.dim + $(M4) pgf.m4 F_$*.dim $*.m4 > $*.pic + $(DPIC) -g $*.pic >> $*.tex + echo "\documentclass[crop,tikz,multi=false]{standalone}" > F_$*.tex + echo "\usepackage{boxdims,siunitx,amssymb}" >> F_$*.tex + echo "\begin{document}" >> F_$*.tex + echo "\input $*.tex" >> F_$*.tex + echo "\end{document}" >> F_$*.tex + pdflatex --quiet F_$* + $(M4) pgf.m4 F_$*.dim $*.m4 > $*.pic + $(DPIC) -g $*.pic >> $*.tex + pdflatex --quiet F_$* + if test "$(PDFCONVERT)" = "pdf2svg" ; then \ + pdf2svg F_$*.pdf $*.xsvg && cp $*.xsvg $*.svg ; \ + else \ + dvisvgm --pdf F_$*.pdf && mv F_$**.svg $*.svg ; cp $*.svg $*.xsvg ; \ + fi + rm -f F_$** + +CCTDPV = \ + AdderDPV.svg AlogixDPV.svg ABlogixDPV.svg AmpTableDPV.svg AntennasDPV.svg \ + ArrestersDPV.svg AudioDPV.svg \ + BipDPV.svg BtreeDPV.svg ByteDPV.svg ButtonsDPV.svg \ + CanLogicDPV.svg CapacitorsDPV.svg ChipsDPV.svg ConnDPV.svg ConnectorsDPV.svg \ + ContactDPV.svg ContactsDPV.svg \ + CrowDPV.svg CsourceDPV.svg \ + DecoderDPV.svg DemultiplexerDPV.svg DiniDPV.svg DiodesDPV.svg DriveDPV.svg \ + EEPDPV.svg EmarrowsDPV.svg EscherDPV.svg EVplugsDPV.svg \ + FlowDPV.svg FontsDPV.svg FusesDPV.svg \ + GeometryDPV.svg GrayCodeDPV.svg GroundsDPV.svg \ + HeadersDPV.svg HeathkitDPV.svg \ + InclepsDPV.svg InductorsDPV.svg I2LDPV.svg JackDPV.svg \ + LogicDPV.svg LoglogDPV.svg \ + MCDPV.svg MixerDPV.svg MoreTableDPV.svg MotorControlDPV.svg \ + MultiplexerDPV.svg \ + NLGDPV.svg NPDTDPV.svg NportDPV.svg OpampDPV.svg OptoisoDPV.svg \ + PconnDPV.svg PlateDPV.svg PushPullDPV.svg QuantumDPV.svg \ + RectifiersDPV.svg RelayDPV.svg ResistorsDPV.svg RotboxDPV.svg\ + SchottkyDPV.svg ShiftRDPV.svg SierpinskiDPV.svg \ + SixpoleDPV.svg SourcesDPV.svg SQUIDDPV.svg SwitchesDPV.svg \ + TTLnandDPV.svg TgateDPV.svg ThreeDPV.svg \ + TubediagsDPV.svg VariableDPV.svg WindingsDPV.svg XformDPV.svg \ + controlDPV.svg cscDPV.svg diamondDPV.svg ex00DPV.svg \ + ex01DPV.svg ex02DPV.svg ex03DPV.svg ex04DPV.svg ex05DPV.svg ex06DPV.svg \ + ex08DPV.svg ex09DPV.svg ex10DPV.svg ex11DPV.svg ex12DPV.svg \ + ex15DPV.svg ex16DPV.svg ex17DPV.svg ex18DPV.svg ex21DPV.svg \ + expDPV.svg fetDPV.svg graysurfDPV.svg keyboardDPV.svg lcctDPV.svg \ + pwrsupplyDPV.svg quickDPV.svg randomDPV.svg recycleDPV.svg relaycoilDPV.svg \ + roseDPV.svg sfgDPV.svg shapesDPV.svg SmithchartDPV.svg paletteDPV.svg \ + thyristorDPV.svg ujtDPV.svg UNODPV.svg wormDPV.svg XORDPV.svg Np.svg + +TEXTFREE = \ + DiniDPV.svg DriveDPV.svg EscherDPV.svg SierpinskiDPV.svg SixpoleDPV.svg \ + diamondDPV.svg ex02DPV.svg ex15DPV.svg pwrsupplyDPV.svg recycleDPV.svg \ + roseDPV.svg + +CCTDPVs = \ + ByteDPV.svg ConnectorsDPV.svg controlDPV.svg CsourceDPV.svg \ + EEPDPV.svg ex01DPV.svg FlowDPV.svg HeathkitDPV.svg \ + quickDPV.svg NportDPV.svg + +examplesDPV.html: examplesDPV.htmx + cp ../quick.m4 . + make $(CCTDPV) quick.xsvg + Version=`sed -e 's/Version //' $(LIBDIR)/doc/Version.tex` ; \ + sed -e 's/Version XXX/Version '$$Version'/' examplesDPV.htmx \ + | m4 > examplesDPV.html + +examplesDPVs.html: examplesDPVs.htmx + cp ../quick.m4 . + make $(CCTDPVs) quick.xsvg + Version=`sed -e 's/Version //' $(LIBDIR)/doc/Version.tex` ; \ + sed -e 's/Version XXX/Version '$$Version'/' examplesDPVs.htmx \ + | m4 > examplesDPVs.html + +SED = sed -e '/^\%/d' +TEST = test +tst: + @if test -f test.pic; then printf "\n\nUsage: make clean tst\n\n"; exit 1;fi + m4 $(M4LIBS) test.m4 | $(SED) > test.pic + $(DPIC) -v $(TEST).pic > $(TEST).svg + m4 $(M4LIBS) $(TEST).m4 | $(SED) > $(TEST).pic + $(DPIC) -v $(TEST).pic > $(TEST).svg +# grep '<\!-- width' $(TEST).svg | sed -e 's%<\!-- *%%' -e 's% *-->%%' \ +# > $(TEST).siz + make tstDPV.html + +test.pic: + if test -f test.pic ; then echo "Usage: make clean tst" ; fi + m4 $(M4LIBS) test.m4 | $(SED) > test.pic + m4 $(M4LIBS) test.m4 | $(SED) > test.pic + +tstDPV.html: tstDPV.htmx $(TEST).svg + Version=`sed -e 's/Version //' $(LIBDIR)/doc/Version.tex` ; \ + sed -e 's/Version XXX/Version '$$Version'/' \ + -e 's/XXXXX/'$(TEST)'/g' \ + tstDPV.htmx | m4 > tstDPV.html +# cp tstDPV.html $(TEST) $$HOME/public_html/svg + +echospics: + @echo $(CCTDPVs) + +# necessary because of rotated text: +LoglogDPV.svg: + m4 $(M4LIBS) $*.m4 | sed -e '/^\%/d' > $*.pic + $(DPIC) -v $*.pic > $*.svg + m4 $(M4LIBS) $*.m4 | sed -e '/^\%/d' > $*.pic + $(DPIC) -v $*.pic > $*.svg +# grep '<\!-- width' $*.svg | sed -e 's%<\!-- *%%' -e 's% *-->%%' > $*.siz + +ConnectorsDPV.svg cscDPV.svg SmithchartDPV.svg test.svg: + m4 $(M4LIBS) $*.m4 | sed -e '/^\%/d' > $*.pic + $(DPIC) -v $*.pic > $*.svg + m4 $(M4LIBS) $*.m4 | sed -e '/^\%/d' > $*.pic + $(DPIC) -v $*.pic > $*.svg +# grep '<\!-- width' $*.svg | sed -e 's%<\!-- *%%' -e 's% *-->%%' > $*.siz + +InclepsDPV.svg: InclepsDPV.m4 + m4 $(M4LIBS) $*.m4 | sed -e '/^\%/d' > $*.pic + $(DPIC) -v $*.pic > $*.svg + $(DPIC) -v $*.pic > $*.svg + +Incleps.png: + (cd ..; make Incleps.png); cp ../Incleps.png . + +clean: + @printf "\n svg clean:\n" + rm -f *.svg *.dim *.ps *log *.siz *.pic Incleps.png examplesDP*.html + rm -f tstDPV.html copy_tmp__ quick.m4 quick.xsvg + rm -f *.otf xx* *png *.pdf *.css *.xml quick.tex + @printf "\n" + +clobber: clean +# (cd dev; make clobber) + rm -f test.m4 diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/MixerDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/MixerDPV.m4 new file mode 100644 index 00000000000..e4be95909a5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/MixerDPV.m4 @@ -0,0 +1,98 @@ +.PS +#`MixerDPV.m4 +# Showing VMOS mosfet and custom transformer' +cct_init(svg_font(sans-serif,10.5bp__,1bp__)) + +define(`dimen_',0.6) +define(`elen_',0.75) + +define(`Xform21', + `[ L1: inductor(to rvec_(dimen_*0.5,0),L,,M) + Core1E: M4Core1.end; Core2E: M4Core2.end + D: (0.5 between M4Core1 and M4Core2) - L1 + T: line to rvec_(dimen_/3,0); { dot(at T.c) } + L2: inductor(to rvec_(L1.len,0),L,,M) + line from M4Core1.start to Core1E + line from M4Core2.start to Core2E + L3: inductor(to rvec_(-L1.len,0) with .c at T+(D.x*2,D.y*2),L) ]') + + del = dimen_/3 + setdir_(U) +T1: Xform21; "T1" at T1.n above rjust + dot(at T1.L3.start+(0,4bp__)) + dot(at T1.L1.end+(4bp__,0)) + dot(at T1.L2.end+(4bp__,0)) + line from T1.L3.start left_ dimen_*2/3 +RF: dot(,,1); "RF" at RF.w rjust + line from T1.L3.end left_ del; corner; ground(,,F) + + line down_ del/2 from T1.L1.start then right_ del + reversed(`capacitor',right_ dimen_,C); llabel(,0.1 svg_micro`'F) +BT: dot(at Here) + line up_ del/2 from T1.L2.end then right del + reversed(`capacitor',right_ dimen_,C); llabel(,0.1 svg_micro`'F) + t = dimen_*7/8 + line to (BT.x+4*t,Here.y) +TT: dot + line right_ dimen_+del/2; setdir_(U) +Q1: mosfet(,,dMESDQuB,E) with .G at Here + { "Q1" at Q1.Env.ne above ljust } + ground(at Q1.S,,F) + line right_ del*3/2 from Q1.D then down_ Q1.D.y-T1.L2.end.y +T2: Xform21 with .L1.start at (Here,T1.L2.end); "T2" at T2.n above ljust + dot(at T2.L1.start+(-4bp__,0)) + dot(at T2.L3.end+(0,4bp__)) + line from T2.L3.end right_ dimen_*2/3 +IF: dot(,,1); "IF" wid 12bp__ at IF.e ljust + setdir_(U) +Q2: mosfet(,,dMESDQuB,E) at (Q1,T2.s-(0,elen_-del)) + { "Q2" at Q2.Env.ne above ljust } + line from Q2.D to (T2.L2.end,Q2.D) then to T2.L2.end + line from Q2.G left_ del/2 then up_ BT.y-Q2.G.y then to BT + + line right_ del from T1.T then down_ T1.T.y-BT.y+del*3/2 + corner; left_ + capacitor(to (T1.L3.end-(del,0),Here),C) + rlabel(,0.1 svg_micro`'F ) +LOD: dot + { line to (RF,Here) + dot(,,1); move left_ 4bp__; "local" rjust "oscillator" rjust; + move left 50bp__ } + line from T2.T left_ to (Q1.S,T2.T) +T2T: dot + { capacitor(down_ to (Here,BT),C); rlabel(,0.1 svg_micro`'F) + ground(,T,F) } + { line from T2.L3.start right_ del; corner; ground(,,F) } +Vt: dot(at (0.5 between BT and TT,Q1.Env.nw),,1) + { "+V`'svg_sub(CC)" at last [].e ljust } + line to (Here,T2T); dot + { line to (Here,BT); Cv: capacitor(down_ 3/2*dimen_,C) + llabel(10 svg_micro`'F); G: dot; ground(,,F) } + + for s=-1 to 1 by 2 do {{ + line right s*t; corner + resistor(down_ to (Here,BT)) + if s<0 then { llabel(,5 k`'svg_ohm) } \ + else { rlabel(,5 k`'svg_ohm) + { dot(at last line.start); line to (TT,Here) + resistor(right_ to (T2T,Here)) + llabel(,10 svg_ohm) } } + P: potentiometer(down_ Cv.len,,0.5,s*t ) with .Start at Here + if s<0 then { "1 k`'svg_ohm" at P. 1st [].ne ljust } \ + else { "1 k`'svg_ohm" at P. 1st [].sw rjust } + dot(at P.End) + dot(at P.T1) + { L: inductor(up_ to (Here,BT),L); + if s<0 then { "100 svg_micro`'H" at last [].sw rjust } \ + else { line to TT + "100 svg_micro`'H" at last [].ne ljust below } } + capacitor(down_ to (Here,G),C) + if s<0 then { rlabel(,0.1 svg_micro`'F) } \ + else { llabel(,0.1 svg_micro`'F) } + dot }} + + resistor(down_ from LOD to (LOD,G)); llabel(,51 svg_ohm); corner + line to (Q2.S,Here) then to Q2.S + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/MoreTableDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/MoreTableDPV.m4 new file mode 100644 index 00000000000..833dd21a656 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/MoreTableDPV.m4 @@ -0,0 +1,43 @@ +.PS +# MoreTableDPV.m4 +cct_init(svg_font(sans-serif,11pt__)) +textwid = 1.5 +movewid = 2 pt__ +hm = 2.1 +vm = 0.28 + +hm = 2.05 +vm = 0.28 + +{ {memristor ; move;"`memristor '" ljust} + move right_ hm + {heater; move;"`heater '" ljust} + move right_ hm + {tline ; move;"`tline '" ljust} +} + move down 0.25; right_ +{ {pvcell ; move;"`pvcell '" ljust} + move right_ hm + {reed ; move ;"`reed '" ljust} + move right_ hm + {reed(,,,fill_(0.9),CR) ; move ; "`reed(,,,fill_(0.9),CR) '" ljust} +} + move down 0.25; right_ +{ {gap ; move ;"`gap '" ljust} + move right_ hm + {gap(,,A) ; move ;"`gap(,,A) '" ljust} + move right_ hm + {arrowline ; move;"`arrowline '" ljust} +} + move down 0.25; right_ +{ move down 0.10; right; {lamp ; move;"`lamp '" ljust} + move right_ hm + {thermocouple ; move;"`thermocouple '" ljust } +# move up 0.10 right_ hm +# {arrester ; move ;"`arrester '" ljust} + move right_ hm + {xtal ; move ;"`xtal '" ljust} +} + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/MotorControlDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/MotorControlDPV.m4 new file mode 100644 index 00000000000..7a27d4b4d32 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/MotorControlDPV.m4 @@ -0,0 +1,58 @@ +.PS +# MotorControl.m4 +cct_init(svg_font(sans-serif,11bp__)) + + trad = 2.5*dotrad_ +define(`bigterminal',`circle rad trad') + + mrad = linewid*2/3 +Motor: circle rad mrad "Motor" + + linethick = 2 + T2: Motor.n+(0,dimen_/2) + + for i=1 to 3 do { + if i==2 then { line from Motor.n to T2 } \ + else { line from Motor right (i-2)*Motor.diam chop Motor.rad chop 0 \ + then up T2.y-Motor.y } + bigterminal + cbreaker(up_ dimen_*3/4,,T) + bigterminal + line up_ dimen_ + bigterminal + capacitor(up_ dimen_*1.2,,,dimen_/3,dimen_/6) + { circle fill_(1) rad dotrad_*3/2 thick 0.8 \ + at 0.25 between last line.end and last line.start } + if i==1 then { L1: last circle } \ + else { if i==2 then { L2: last circle }} + bigterminal + line up_ dimen_/4 + } + linethick_(0.8) + C2: circle rad mrad/3 at Motor.n+ (0,dimen_*2) + line from C2.e right_ dimen_/3 then up C2.rad*1.5 + line to (L1.x-dimen_/2,Here.y) + {S23: capacitor(up_ dimen_*2/3 from (L1.x-dimen_/2,Here.y),,, + dimen_/3,dimen_/6); dot(,,1) } + dot(,,1) + line to (L1.x-dimen_*2,Here.y) chop dotrad_ chop 0 then up dimen_/3 + S1: [ bswitch(right_ dimen_/2) ] with .Bsw_T1.s at Here + S2: [ bswitch(right_ dimen_/2,,C) ] at S1+(0,-dimen_) + line right dimen_/6 down dimen_/6 from S1.Bsw_T2.se \ + then down S1.Bsw_T2.se.y-S2.Bsw_T2.ne.y-dimen_/3 \ + then to S2.Bsw_T2.ne + box wid S1.wid+dimen_/2 ht S1.n.y-S2.s.y+dimen_/3 \ + at 0.5 between S1.s and S2.n + line left dimen_/2 from S23.end chop dotrad_ chop 0; corner + line to (Here,S1.Bsw_T2) then to S1.Bsw_T2.e + line from S2.Bsw_T1.w left dimen_/2; corner + line to (Here,L1) then to L1 chop 0 chop dotrad_ + + dot(at 0.5 between L1 and L2,,1) + { line to L2 chop dotrad_ } + S45: variable(`capacitor(down_ dimen_*2/3 chop dotrad_ chop 0,,, + dimen_/3,dimen_/6)',L,,dimen_/2); dot(,,1) + line to (Here,C2) then to C2.w chop dotrad_ chop 0 + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/MultiplexerDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/MultiplexerDPV.m4 new file mode 100644 index 00000000000..ab04ce19a0f --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/MultiplexerDPV.m4 @@ -0,0 +1,42 @@ +.PS +# MultiplexerDPV.m4 +log_init + +# Font + textht = textht*0.8 + command "" + right_ + + Mux(4,M1) + "`Mux'(4,M1)" at last [].s below + "svg_it(In0)" at last [].In0.end rjust wid 14bp__ + "svg_it(In1)" at last [].In1.end rjust + "svg_it(In2)" at last [].In2.end rjust + "svg_it(In3)" at last [].In3.end rjust + "svg_it(Out)" at last [].Out.end above + "svg_it(Sel)" at last [].Sel.end ljust above + + left_; Mux(4,,LNOE) with .c at last [].c+(0.9,0) + "`left_; Mux'(4,,LNOE)" at last [].s +(0,-20bp__) + "svg_it(In0)" at last [].In0.end above + "svg_it(NOE)" at last [].NOE.end +(4bp__,0) below + "svg_it(Out)" at last [].Out.end below + "svg_it(Sel)" at last [].Sel.end rjust below + + right_; Mux(4,,OEBN2) with .c at last [].c+(1.4,0) + "`Mux'(4,,OEBN2)" at last [].s below + "svg_it(Sel0)" at last [].Sel0.end rjust + "svg_it(Sel1)" at last [].Sel1.end ljust + "svg_it(In0)" at last [].In0.end rjust + "svg_it(In3)" at last [].In3.end rjust + "svg_it(OE)" at last [].OE.end rjust + + down_; Mux(8,,L3,,28*L_unit) with .c at last [].c+(1.7,0) + "`down_; Mux'(8,,L3,,28*L_unit)" at last [].s below wid 162bp__ + "svg_it(Sel0)" at last [].Sel0.end rjust + "svg_it(Sel2)" at last [].Sel2.end rjust below + "svg_it(In0)" at last [].In0.end rjust + "svg_it(In7)" at last [].In7.end ljust wid 14bp__ + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/NLGDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/NLGDPV.m4 new file mode 100644 index 00000000000..987e2911fb1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/NLGDPV.m4 @@ -0,0 +1,21 @@ +.PS +# NLG.m4 +cct_init(svg_font(sans-serif,11bp__)) + + define(`nullor',`nport(`$1' + {`"0"' at Box.w ljust + `"oo"' at Box.e rjust},shift($@))') + +N: nullor +`"nullor"' at last [].s+(0,-3pt__) below +G: gyrator with .sw at N.se+(0.5,0) +`"gyrator"' at G.s+(0,-3pt__) below +I: gyrator(invis,,0,N) with .w at G.e+(0.5,0) +`"gyrator(invis,,0,N)"' at I.s +V: gyrator(invis wid boxht,,0,NV) with .w at I.e+(1,0) +`"gyrator(invis wid boxht,,0,NV)"' wid 2 at V.s+(0,-3pt__) below + + move right 0.9 + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/NPDTDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/NPDTDPV.m4 new file mode 100644 index 00000000000..3702d025501 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/NPDTDPV.m4 @@ -0,0 +1,41 @@ +.PS +# `NPDT.m4' +cct_init(svg_font(sans-serif,11bp__)) + + movewid = 1.0 + + NPDT + {move left 0.1 from last [].w} + { "svg_it(R)" at last [].R.s below + "svg_it(T)" at last [].T.s below + "svg_it(L)" at last [].L.s below } + { `"NPDT"' at last [].s +(0,-0.22) } + + up_; NPDT with .sw at last[].se+(0.5,0) + { "svg_it(R)" wid 8pt__ at last [].R.e ljust + "svg_it(T)" at last [].T.e ljust + "svg_it(L)" at last [].L.e ljust } + { `"up_; NPDT"' at last [].s +(0.1,-0.15) } + right_ + + NPDT(2) with .w at last [].e+(0.75,0) + { for_(1,2,1, + `"svg_it(R`'m4x)" at last [].R`'m4x.e ljust + "svg_it(L`'m4x)" wid 11pt__ at last [].L`'m4x.w rjust') } + { `"NPDT(2)"' at last [].s +(0,-0.15) } + move + + NPDT(3,R) + { for_(1,3,1, + `"svg_it(R`'m4x)" at last [].R`'m4x.e ljust + "svg_it(L`'m4x)" wid 11pt__ at last [].L`'m4x.w rjust') } + { `"NPDT(3,R)"' at last [].s below } + + left_; NPDT(2,R) with .w at last [].e+(1.0,0) + { for_(1,2,1, + `"svg_it(R`'m4x)" at last [].R`'m4x.w rjust + "svg_it(L`'m4x)" wid 11pt__ at last [].L`'m4x.e ljust') } + { `"left_; NPDT(2,R)"' wid 90bp__ at last [].s +(0,-0.15) } + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/Np.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/Np.m4 new file mode 100644 index 00000000000..1ce8686c4d1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/Np.m4 @@ -0,0 +1,21 @@ +.PS +#npDPV.m4 +svg_font(sans-serif,9bp__) + +B: box invis wid 6 ht 2 +"`nport(box specs; other commands,nw,nn,ne,ns,space ratio,pin lgth,style,other commands)" \ + ljust at B.w \ +"" ljust \ +"Default is a twoport the size of a normal box." ljust \ +"Args 2 to 5 are the number of ports to be drawn on w, n, e, s sides." ljust \ +"" ljust \ +"The port pins are named by side, number, and by a or b pin," ljust \ +"e.g. W1a, W1b, W2a, ... . Arg 6 specifies the ratio of" ljust \ +"port width to interport space, and arg 7 is the pin length." ljust \ +"" ljust \ +"Set arg 8 to N to omit the dots on the port pins" ljust \ +"Arguments 1 and 9 allow customizations'" ljust + +svgLink(NportDPV.svg,"<- back" ljust at last box.sw above ljust,B) +command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/NportDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/NportDPV.m4 new file mode 100644 index 00000000000..6baa8ef12e1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/NportDPV.m4 @@ -0,0 +1,47 @@ +.PS +# `NportDPV.m4' +cct_init(svg_font(sans-serif,11bp__)) + +textoffset = 2bp__ +Twoport: nport + + "W1a" wid 0.35 above rjust at Twoport.W1a + "W1b" below rjust at Twoport.W1b + "E1a" above ljust at Twoport.E1a + "E1b" below ljust at Twoport.E1b + +#Nport: nport(wid 1 ht 1.5 fill_(0.9) svgLinkString(Np.svg,n-port,B),1,2,3,4) \ +# with .Box.w at Twoport.Box.e+(1.0,0) +Nport: nport(wid 1.75 ht 1 fill_(0.9),1,2,3,4) \ + with .Box.w at Twoport.Box.e+(1.25,0) + svgLink(Np.svg,"n-port" at Nport,B) + + "W1a" rjust at Nport.W1a + "W1b" rjust at Nport.W1b + + "E1a" ljust at Nport.E1a + "E3b" ljust at Nport.E3b + + "N1a" above at Nport.N1a.n + "N1b " above at Nport.N1b.n + " N2a" above at Nport.N2a.n + "N2b" above at Nport.N2b.n + + "S1a" below at Nport.S1a.s + "S4b" below at Nport.S4b.s + + "..." at 0.5+(0,-0.10) + "..." at 0.5+(0.15,0.05) + +Nterm: nterm with .Box.w at Nport.Box.e+(1.0,0) + "W1" rjust at Nterm.W1 + "E1" wid 0.2 ljust at Nterm.E1 + "S1" below at Nterm.S1.s + + `"nport"' at Twoport.s+(0,-0.3) + `"nport(wid 1.5 ht 1.75 fill_(0.9),1,2,3,4)"' ljust at Nport.sw+(0,-0.3) + `"svgLink(Np.svg,\"n-port\" at Nport,B)"' ljust at Nport.sw+(0,-0.5) + `"nterm"' at Nterm.s+(0,-0.3) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/NportDPV.svg b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/NportDPV.svg new file mode 100644 index 00000000000..c6968728c8d --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/NportDPV.svg @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + +W1a +W1b +E1a +E1b + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +n-port + +W1a +W1b +E1a +E3b +N1a +N1b + N2a +N2b +S1a +S4b +... +... + + + + + + + +W1 +E1 +S1 +nport +nport(wid 1.5 ht 1.75 fill_(0.9),1,2,3,4) +svgLink(Np.svg,"n-port" at Nport,B) +nterm + + diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/OpampDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/OpampDPV.m4 new file mode 100644 index 00000000000..7137e428cef --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/OpampDPV.m4 @@ -0,0 +1,35 @@ +.PS +# Opamp.m4 +cct_init(svg_font(sans-serif,11bp__)) + + A: opamp + thinlines_ + "`opamp'" at A.s-(0,0.25) + "Out" below at A.Out + spline <- from A.In1 left 0.1 then up 0.1 left 0.1 + "In1" wid 0.25 rjust above + spline <- from A.In2 left 0.1 then down 0.1 left 0.1 + "In2" rjust below + arrow <- up 0.1 right 0.1 from A.E1 + "E1" ljust above + arrow <- down 0.1 right 0.1 from A.E2 + "E2" ljust below + thicklines_ + Point_(15) + B: opamp(,,,,PR) with .sw at A.se+(0.65,0) + thinlines_ + "`Point_(15); opamp(,,,,PR)'" at B.s-(0,0.25) + spline <- right arrowht up arrowht from B.V1 then right 0.1 + "V1" ljust + spline <- right arrowht down arrowht from B.V2 then right 0.1 + "V2" ljust + thicklines_ + Point_(90) + C: opamp with .sw at B.se+(1.05,0) + "`Point_(90); opamp'" at C.s-(0,0.25) + right_ + D: opamp(,,,,T) with .sw at C.se+(0.65,0) + "`opamp(,,,,T)'" wid 0.85 at D.s-(0,0.25) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/OptoisoDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/OptoisoDPV.m4 new file mode 100644 index 00000000000..fd212ba963b --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/OptoisoDPV.m4 @@ -0,0 +1,64 @@ +.PS +# OptoisoDPV.m4 +cct_init(svg_font(sans-serif,11bp__,3bp__)) +movewid = 0.25 + +# `optoiso([L|R][A|B|C])' +define(`optoiso',`ifinstr(`$1',C, +`[{ u = dimen_ + hd = u/5 + Q: bi_tr(up hd*4,ifinstr(`$1',R,R)) + line from Q.E ifinstr(`$1',R,left,right)(hd+u/3); Pin4: dot(,,1) + line from Q.C to (Pin4,Q.C); Pin5: dot(,,1) + T: (Q.B,Pin5)+(0,4*hd) + line from Q.B to T then to (Pin5,T); Pin6: dot(,,1) + D: diode(from Pin6 +(ifinstr(`$1',R,+,-)(u/3+hd*8),0) down hd*4) + line from D.start ifinstr(`$1',R,right,left) (hd*2+u/3); Pin1: dot(,,1) + line from D.end to (Pin1,D.end); Pin2: dot(,,1) + line from (D.end,Pin4) to (Pin1,Pin4) chop hd chop 0; Pin3: dot(,,1) + B: box wid hd*10 ht hd*10 with .c at 0.5 between Pin4 and Pin1 + arrow from B.c+(ifinstr(`$1',R,,-)hd*1.5,hd*1.5) to B.c chop 0 chop -0.7*hd + F: (ifinstr(`$1',R,,-)hd*0.5,-hd*0.5) + arrow from last arrow.start+(F.x,F.y) to last arrow.end+(F.x,F.y) + `$2' }]', +`[{u = dimen_/2 + Q: bi_trans(up u*2,ifinstr(`$1',R,R),ifinstr(`$1',B,B)CBUdE) + E: Q.E; C: Q.C; A:ifinstr(`$1',R,Q.e+(u*3/2,u),Q.w+(-u*3/2,u)); K: A-(0,u*2) + ifinstr(`$1',B,line from Q.B to (Q.B,E); B: Here) + D: diode(from A to K) + arrow from D.c+(0,u/6) to Q.ifinstr(`$1',R,e,w)+(0,u/6) chop u/3 chop u/4 + arrow from last arrow.start-(0,u/3) to last arrow.end-(0,u/3) + Enc: box rad u wid abs(C.x-A.x)+u*2 ht u*2 with .c at 0.5 between C and K + `$2' }]')') + +define(`optlabels', + `{"svg_it(C)" ht 0.1 at last [].C above + "svg_it(E)" at last [].E below + ifinstr(`$1',B,`"svg_it(B)" at last [].B below') + "svg_it(A)" at last [].A above + "svg_it(K)" at last [].K below}') + +Q: optoiso; optlabels; move + {`"optoiso"' at last [].s+(0,-0.22)} + optoiso(Rightorientation); optlabels; move + {`"optoiso(R)"' at last [].s+(0,-0.22)} + optoiso(B); optlabels(B); move + {`"optoiso(B)"' at last [].s+(0,-0.22)} + optoiso(RB); optlabels(B) + {`"optoiso(RB)"' at last [].s+(0,-0.22)} + +R: optoiso(C) with .nw at Q.sw+(0.33,-0.75); move 1 +{"svg_it(1)" at R.Pin1 rjust; "svg_it(2)" at R.Pin2 rjust + "svg_it(3)" wid 0.3 at R.Pin3 rjust} +{"svg_it(4)" at R.Pin4 ljust; "svg_it(5)" at R.Pin5 ljust + "svg_it(6)" at R.Pin6 ljust } +{`"optoiso(C)"' at R.s below } +S: optoiso(RC) +{"svg_it(1)" at S.Pin1 ljust; "svg_it(2)" at S.Pin2 ljust + "svg_it(3)" at S.Pin3 ljust } +{"svg_it(4)" at S.Pin4 rjust; "svg_it(5)" at S.Pin5 rjust + "svg_it(6)" wid 0.3 at S.Pin6 rjust } +{`"optoiso(RC)"' at S.s below } + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/PconnDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/PconnDPV.m4 new file mode 100644 index 00000000000..266cf694c67 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/PconnDPV.m4 @@ -0,0 +1,57 @@ +.PS +# `PconnDPV.m4' +cct_init(svg_font(sans-serif,11bp__)) + +P1: [ + C1: pconnex(,A) + thinlines_ + arrow <- left 0.2 from C1.H.w; "svg_it(H)" wid 10bp__ rjust + thicklines_ + `"pconnex(,A)"' at last [].s below + C2: pconnex(,AF) with .w at C1.e+(0.3,0) + thinlines_ + arrow <- right 0.2 up 0.1 from C2.H.e; "svg_it(H)" ljust + N: box invis wid (C2.w.x-C1.e.x)/2 ht C1.N.ht \ + with .n at 0.5 between C1.ne and C2.nw "svg_it(N)" + arrow from N.w to C1.N.e + arrow from N.e to C2.N.w + G: box invis wid N.wid ht N.ht with .n at (N,C1.N.s) "svg_it(G)" + arrow from G.w to C1.G.e + arrow from G.e to C2.G.w + `"(,AF)"' at last [].s below + thicklines_ + C03: pconnex(,AC) with .w at C2.e+(0.25,0) + `"(,AC)"' at last [].s below + C3: pconnex(,ACF) with .w at last [].e+(0.2,0) + `"(,ACF)"' at last [].s below + + C5: pconnex(U,D) with .w at last [].e+(0.25,0) + `"(U,D)"' at last [].s below + C6: pconnex(U,DF) with .w at last [].e+(0.25,0) + `"(U,DF)"' at last [].s below + C7: pconnex(U,J) with .w at last [].e+(0.25,0) + `"(U,J)"' at last [].s below + C8: pconnex(U,JF) with .w at last [].e+(0.25,0) + `"(U,JF)"' wid 28bp__ at last [].s below + ] + +P2: [ + C9: pconnex(,G) + `"(,G)"' at last [].s below + C91: pconnex(,GF) with .w at last [].e+(0.2,0) + `"(,GF)"' at last [].s below + C92: pconnex(L,GF) with .w at last [].e+(0.2,0) + `"(L,GF)"' at last [].s below + C10: pconnex(,GC) with .w at last [].e + (0.2,0) + `"(,GC)"' at last [].s below + C12: pconnex(,GCF) with .w at last [].e + (0.2,0) + `"(,GCF)"' at last [].s below + C4: pconnex(,P) with .w at last [].e + (0.2,0) + `"(,P)"' at last [].s below + C11: pconnex(,PF) with .w at last [].e+(0.2,0) + `"(,PF)"' at C11.s below +] with .nw at P1.C1.sw + (0,-0.35) + + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/PlateDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/PlateDPV.m4 new file mode 100644 index 00000000000..e54235ebc5a --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/PlateDPV.m4 @@ -0,0 +1,173 @@ +.PS +# ASME_Y14-5.m4 +# https://en.wikipedia.org/wiki/Geometric_dimensioning_and_tolerancing +# See the ASME Y14.5 standard, Figure 6-30. +scale = 100/3 +cct_init +include(../ASME_Y14-5.m4) +ifsvg(`svg_font(sans-serif,9.5bp__)', +`textht = 10bp__*2/3 + iflatex(`command "{\sf"')') +# ASME Y14.5 specs: + arrowht = textht*0.8 + arrowwid = textht*0.6 + maxpswid = 12 + +# Diameters + d1 = (20.13+20.00)/2 + d2 = 31.7 + d3 = 36 + d4 = (40.60+40.45)/2 + d5 = 57 + d6 = 86 + d7 = 100 + d8 = 8.0 + adj = 1.5 + +Section: [ + Orig: (0,0) + T0: (0,-d7/2) + T1: (6,-d5/2) + T2: (15.5,-d3/2) + T3: (22,-d3/2-adj) + T4: (32,-d2/2) + T5: (41.3,0) + T6: (9.5,-d4/2) +# for_(0,5,1,`"m4x" at T`'m4x') +# Hatching + H: hatchbox(invis ht d7 wid 41.3,2,thick 0.4,-45) with .w at Orig + box invis fill_(1) wid T5.x-T1.x ht T1.y-H.s.y with .se at H.se + box same with .ne at H.ne + box invis fill_(1) wid T3.x-T2.x ht T2.y-T1.y with .nw at T2 + box same with .sw at (T2.x,-T2.y) + box invis fill_(1) wid T4.x-T3.x ht T3.y-T1.y with .nw at T3 + box same with .sw at (T3.x,-T3.y) + box invis fill_(1) wid T5.x-T4.x ht T4.y-T1.y with .nw at T4 + box same with .sw at (T4.x,-T4.y) +# Section outline lower + line from (0,-d4/2) to T0 then right T1.x-T0.x then up 1 + arcto(T1,(T2,T1),1) + line to (T2,T1) then up 1 + arcto(T2,(T3,T2),1) + arcto((T3,T2),T3,0.5) + arcto(T3,(T4,T3),0.5) + arcto((T4,T3),T4,1) + arcto(T4,(T5,T4),1) + line to (T5,T4) then to (T5.x,-T4.y) then left 1 +# Section outline upper + line from (0,d4/2) to (0,-T0.y) then right T1.x-T0.x then down 1 + arcto((T1.x,-T1.y),(T2.x,-T1.y),1) + line to (T2.x,-T1.y) then down 1 + arcto((T2.x,-T2.y),(T3.x,-T2.y),1) + arcto((T3.x,-T2.y),(T3.x,-T3.y),0.5) + arcto((T3.x,-T3.y),(T4.x,-T3.y),0.5) + arcto((T4.x,-T3.y),(T4.x,-T4.y),1) + arcto((T4.x,-T4.y),(T5.x,-T4.y),1) + line to (T5.x,-T4.y) + + box wid 6 ht d8 fill_(1) with .w at (0,d6/2) + box wid 6 ht d8 fill_(1) with .w at (0,-d6/2) + box invis wid T6.x ht d4 fill_(1) with .w at Orig + box wid T5.x-T6.x ht d1 fill_(1) with .e at T5 + + line from (Orig.x,-T6.y) to (Orig.x,T6.y) + arcto(T6,(T6,Orig),1) + arcto((T6.x,-T6.y),(0,-T6.y),1) + line to (0,-T6.y) + +define(`dialabel', +`[tmpthick = linethick; linethick_(1) + [Y14_dia_]; [$1 wid ifelse(`$2',,textht,`$2')] with .w at last [].e+(0.5,0) + linethick_(tmpthick)]') + +thinlines_ + dimension_(from (0,T6.y) to (0,-T6.y),40,dialabel("40.60" "40.45",12),textht*3) + line up 4 from AE_dimen_.end + Y14_frame(Y14_per_,Y14_dia_;"0";"(M)","A") with .sw at Here + Y14_frame("B") with .s at last [].n+(0,6) +thicklines_(1) + datumarrow(from last [].s to 2nd last [].n) +thinlines_ + dimension_(from T2 to (T2.x,-T2.y),30, + dialabel("35.5" "36.0",12),textht*3) + dimension_(from T0 to T0+(T1.x,0),-8," 6.1 " " 5.9 ",textht) + dimension_(from S_dimen_.end to S_dimen_.end+(T2.x,0),-9, + "15.4" "15.6",textht*4) + line from E_dimen_.start to (T2,T1) chop 0 chop 1 + dimension_(from S_dimen_.end to S_dimen_.end+(T3.x,0),-9, + "21.9" "22.1",textht*4) + line from E_dimen_.start to T3 chop 0 chop 1 + dimension_(from S_dimen_.end to S_dimen_.end+(T4.x,0),-9, + "31.9" "32.1",textht*4) + line from E_dimen_.start to (T4,T3) chop 0 chop 1 + dimension_(from S_dimen_.end to S_dimen_.end+(T5.x,0),-9, + "41.2" "41.4",textht*4) + line from E_dimen_.start to (T5,T4) chop 0 chop 1 + line from S_dimen_.start to T0 chop 0 chop 1 + dimension_(from (0,d7/2) right T6.x,8,"9.6" "9.4",3*textht) + line from E_dimen_.start to (T6.x,d4/2) chop 0 chop 1 + ctrline(from (-3,0) to T5+(3,0),T5.x/2) + ctrline(from (-3,d6/2) right T1.x+6) + ctrline(from (-3,-d6/2) right T1.x+6) + dimension_(from T5-(0,d1/2) to T5+(0,d1/2),-14, + dialabel("20.13" "20.00",4*textht),textht*3) + dimension_(from T5-(0,d2/2) to T5+(0,d2/2),-35, + dialabel("31.8" "31.6",3*textht),textht*3) + arrow <- from (T5.x+6,d1/2) by (Rect_(20,75)) then right 6 + Y14_frame(Y14_cir_,"0.06" wid 3*textht,"A","B") with .w at Here + Y14_frame("C") with .n at last [].se+(-6,-8) +thicklines_(1) + datumarrow(from last [].n up 8) +thinlines_ + arrow <- from (T5.x+6,-d2/2) by (Rect_(10,-75)) then right 4 + Y14_frame(Y14_cir_,"0.1" wid textht*2,"C") with .w at Here + arrow <- from ((T3.x+T4.x)/2,d3/2+adj) by (Rect_(30,75)) then right 4 + "M42 X 1.5 - 6g" wid 9*textht ljust + Y14_frame(Y14_pos_,Y14_dia_;"0.1" wid textht*2;"(M)","C";"(M)") \ + with .nw at last "".sw+(0,-2) + line from (T2.x,-T1.y) up 25 chop 1 chop 0 + Y14_frame(Y14_par_,"0.06" wid 3*textht,"A") with .sw at Here + Y14_frame(Y14_sur_," 0.1 " wid 3*textht,"A") with .sw at last [].nw + arrow <- from (0,-d6/2+10) left 13 + Y14_frame(Y14_fla_,"0.02" wid 4*textht) with .e at Here + Y14_frame("A") with .n at last [].s+(0,-6) + datumarrow(from last [].n up 6) + ] + +Topview:[ + C: circle diam d7 + for i=0 to 7 do { circle diam d8 at C+(Rect_(d6/2,i/8*360)) } + C5: circle diam d5 at C + C4: circle diam d3+2*adj at C + C3: circle dashed diam d3 at C + C2: circle diam d2 at C + C1: circle diam d1 at C + +thinlines_ + dimension_(from C.w-(0,10) to C.e-(0,10),-C.rad-15, + dialabel("100" "99",textht*3),textht*5) + dimension_(from C5.w-(0,5) to C5.e-(0,5),-C.rad-5, + dialabel("57.2" "56.8",textht*4),textht*5) + arrow <-> from C+(Rect_(d6/2,-120)) to C+(Rect_(d6/2,60)) + line from last arrow.end to C+(Rect_(d7/2+6,60)) then right 4 + dialabel("86.2" "85.8",textht*4) with .w at Here+(1,0) + ctrline(from (C.x-(d6-d7/2),C.y) to (C.x+(d6-d7/2),C.y)) + ctrline(from (C.x,C.y-d6/2+d8/2) to (C.x,C.y+d6/2-d8/2)) + for_(0,315,45,`ctrarcr(C,d6/2,(m4x-22.5)*dtor_,(m4x+22.5)*dtor_) + ctrline(from C+(Rect_(d6-d7/2,m4x)) to C+(Rect_(d7/2,m4x))) ') + arcdimension_(from C+(0,d7/2) to C+(Rect_(d7/2,135)) with .c at C, + 8,"8X 45`'iflatex($^\circ$)" wid textht*3.5,15,1) + ifsvg("svg_deg" wid textht*2/3 with .w at last "".e) + move to C+(0,d6/2) + arrow <- from Here+(Rect_(8/2,75)) to Here+(Rect_(25,75)) then right_ 3 + "8X" wid 2*textht ljust + linethick_(1); [Y14_dia_] with .w at last "".e+(1,0) + "7.9 - 8.1" wid 8*textht ljust + Y14_frame(Y14_pos_,Y14_dia_;"0.14" wid 3*textht;"(M)","A","C") \ + with .nw at 2nd last "".sw+(0,-2) + + ] with .C at Section.Orig+(4.5*scale,0) + + +command iflatex(`"}"',ifsvg(`""')) +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/PushPullDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/PushPullDPV.m4 new file mode 100644 index 00000000000..a08847132e5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/PushPullDPV.m4 @@ -0,0 +1,108 @@ +.PS +# `PushPullDPV.m4' +cct_init(svg_font(sans-serif,9bp__,1bp__)) + +linewid = 1.2*linewid + +# Transformer as for Mixer.m4 +define(`Xform21', + `[ L1: inductor(to rvec_(dimen_*0.5,0),,,M) + Core1E: M4Core1.end; Core2E: M4Core2.end + D: (0.5 between M4Core1 and M4Core2) - L1 + T: line to rvec_(dimen_/3,0); { dot(at T.c) } + L2: inductor(to rvec_(L1.len,0),,,M) + line from M4Core1.start to Core1E + line from M4Core2.start to Core2E + L3: inductor(to rvec_(-L1.len,0) with .c at T+(D.x*2,D.y*2),) ]') + + del = dimen_/3 + up_ + T1: Xform21 + line left_ del from T1.L3.end; corner; ground(,,F) + line left_ 2*del from T1.L3.start + In: dot(,,1); { "RF" wid 12bp__ at In.n above } + up_ + Q1: mosfet(,,dBSDFQM1,E) with .G0 at T1.T+(2*dimen_+del/2,dimen_) + { "3N200" at last [].n above } + line from T1.L2.end to (T1.L2.end,Q1.G0) then to Q1.G0 + Q2: mosfet(,,dBSDFQM1,E) with .G0 at (Q1.G0.x,T1.T.y-dimen_) + { "3N200" at last [].n above } + line from T1.L1.start to (T1.L1.start,Q2.G0) then to Q2.G0 + + resistor(right_ dimen_ from T1.T); llabel(,330`'svg_ohm); Tx:dot + { line right_ del*3/2; corner; ground(,,F) } + dot(at (Tx,Q1.G0)) + capacitor(down_ to Tx,C); llabel(5.6pF) + dot(at (Tx,Q2.G0)) + capacitor(up_ to Tx,C); rlabel(5.6pF) + + for_(1,2,1, + `dot(at Q`'m4x.S+(dimen_+del/2,0)) + { resistor(down_ dimen_); G1:Here; + { "120" at last [].w rjust "svg_ohm" rjust } + dot; ground(,,F) } + line from Q`'m4x.S to (Here.x+dimen_*3/4,Q`'m4x.S.y); corner + capacitor(down_ to (Here,G1),C) + { "1000" at last [].w rjust "pF" rjust } + corner + line left_ 2*dimen_*3/4; corner + TG: dot(at (Here,Q`'m4x.S)) + capacitor(down_ to (Here,G1),C); rlabel(,0.01 svg_micro(F)) + ') + + R: dot(at (Here.x+dimen_*2,(Q1.D.y+Q2.D.y)/2)) + dot(at (R,Q1.D)); capacitor(down_ to R,C); llabel(20pF) + dot(at (R,Q2.D)); capacitor(up_ to R,C); llabel(20pF) + line right_ del*3/2 from R then down_ R.y-(Q1.S.y-dimen_); ground(,,F) + + Vc: dot(at (R+(dimen_,0),Q1.ne),,1); { "+Vc" rjust at Vc.w } + dot(at (Vc,R)) + inductor(right_ dimen_,); llabel(,1 svg_micro(H)) + down_ + T2: Xform21 with .T at Here + arrow from T2.L2 to T2.L3 chop -dimen_/4 + line right_ del from T2.L3.start; corner + capacitor(down_ dimen_,C); llabel(1000 pF); ground(,T,F) + line right_ 2*del from T2.L3.end + Out: dot(,,1); { "IF" wid 12bp__ at Out.n above }; move right_ 0.3 + + line from T2.L1.start to (T2.L1,Q1.D) then to Q1.D + line from T2.L2.end to (T2.L2.end,Q2.D) then to Q2.D + + line from Vc to (Vc,Q2.S) chop dotrad_/2 chop 0; dot + { line right_ del*2; corner + capacitor(down_ dimen_,C); llabel(,1000 pF); ground(,,F) } + reversed(`inductor',down_ dimen_,); rlabel(,1 svg_micro(H)) + line down_ dimen_/2 + + TL: dot(at (Q1.G1.x-del/2,Here.y)) + up_ + Q3: bi_tr(,R,,E) with .C at (TG.x,TL.y-dimen_*2/3) + resistor(right_ from TL to (Q3.C,TL)); llabel(,82 k`'svg_ohm) + line to (Vc,Here); dot + resistor(down_ to (Here,Q3.B)); rlabel(,8.2 k`'svg_ohm); dot + dot(at Q3.B+(del,0)) + line up_ (TL.y+Q3.C.y)/2 - Here.y+del/4 then left_ Here.x-TL.x + reversed(`capacitor',left_ dimen_,C); llabel(,1500 pF) + Osc: dot(,,1); { "Osc" above at Osc.n } + + line from Q3.B to (Vc,Q3.B) + line from Q3.C to (Q3.C,TL); dot + dot(at Q3.C+(0,del/2)) + capacitor(left_ to (TL,Here),C); llabel(,1500 pF); dot + line down_ del/2 from Q3.E; dot + { resistor(down_ dimen_*3/4); rlabel(,820`'svg_ohm) + G: Here; ground(,T,F) } + line right_ dimen_; corner + capacitor(down_ to (Here,G),C); llabel(,1000 pF) + ground(,T,F) + ground(at (TL,G),T,F) + resistor(up_ dimen_); llabel(,12 k`'svg_ohm) + line to (Here,Q1.G1) then to Q1.G1 + line from Q2.G1 to (TL,Q2.G1); dot + + ground(at (Vc,G),T,F) + resistor(up_ dimen_); rlabel(,5.6 k`'svg_ohm); line to (Here,Q3.B) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/QuantumDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/QuantumDPV.m4 new file mode 100644 index 00000000000..7d2de93cbdd --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/QuantumDPV.m4 @@ -0,0 +1,31 @@ +.PS +# QuantumDPV.m4 +gen_init + + boxht = 0.35 + boxwid = boxht + define(`dotrad_',boxht/5) + +define(`Bus',`line right_ 10*boxwid `$1' + circle diam boxht `$2' at last line.start + box fill_(1) "H" at last line.start+(boxwid*3/2,0) + box fill_(1) "H" at last line.end-(boxwid*2.5,0) ') + +define(`Meter',`[ Box: box wid boxwid*3/2 fill_(1) + r = Box.wid/3 + C: 0.3 between Box.s and Box.n + arc cw from C+(-r,0) to C+(r,0) with .c at C + arrow from C+(-r/4,0) to C+(0.9*r,0.9*r) ]') + +X: Bus(,shaded rgbstring(0.5,0.5,1) "X") +A1: Bus(from X.start+(0,-boxht*3/2), shaded "red" "A") +A2: Bus(from 2 between X.start and A1.start, shaded "red" "A") + dot(at X.start+(3*boxwid,0)) + line to (Here,A2); dot + circle rad dotrad_ at A1.start+(4*boxwid,0) + line from last circle.s to (last circle,X); dot + Meter with .e at X.end + box wid boxwid*1.2 ht boxht*1.2 fill_(1) at A2.end-(4.5*boxwid,0) \ + "svg_it(R)svg_sub(svg_psi)svg_sup(svg_pi/2,,,-1.2ex)" + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/README_svg b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/README_svg new file mode 100644 index 00000000000..66f21ee887e --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/README_svg @@ -0,0 +1,13 @@ + + Many circuit diagrams do not contain sophisticated text formatting so + the sources in this directory might serve as useful examples. Some of + the diagrams contain no text at all but do contain many elements and + may exceed LaTeX memory. + + Type "make" in this directory to generate examplesDPV.html. The diagram + sources have LaTeX formatting replaced by svg macros from configuration + file svg.m4 for font manipulation and special characters. + + The source files consist of the .m4 diagram sources and + examplesDPV.htmx which is processed through m4 by the Makefile to + produce examplesDPV.html. diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/RectifiersDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/RectifiersDPV.m4 new file mode 100644 index 00000000000..3b6e79f8a45 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/RectifiersDPV.m4 @@ -0,0 +1,190 @@ +.PS +# RectifiersDPV.m4 +cct_init(svg_font(Times,11bp__)) + + tmax = 3.5 + period = tmax/1.75 + eamp = 0.5 + omega = twopi_/period + ed = eamp/6 + r = 0.95 + +# For DC voltages + ted = asin(ed/eamp)/twopi_*period + npts = 40; sum = 0 + for i=0 to npts do { + t = ted+(period/2-2*ted)*i/npts + sum += (eamp*cos(omega*t-pi_/2) - ed)*r } + +define(`Sine',`Cosine(eamp,omega,`$1',-pi_/2)') +define(`axis',`line thick 0.4 right tmax chop -tmax*0.04 chop 0') + +Threephase: [ linethick_(1) + Ai: axis ; "N`'svg_sub(o)" ljust + move right 0.3 from Ai.end + EOrig: Ai.start+(tmax*0.04,0) + E1: sinusoid(eamp,omega,-pi_/2,-ted,tmax) with .Origin at EOrig + E2: sinusoid(eamp,omega,-pi_/2-twopi_/3,-ted,tmax) with .Origin at EOrig + E3: sinusoid(eamp,omega,-pi_/2+twopi_/3,-ted,tmax) with .Origin at EOrig + "e`'svg_sub(1)" at EOrig+(period/3,eamp*0.8) ljust above + "e`'svg_sub(2)" at EOrig+(2*period/3,eamp*0.8) ljust above + "e`'svg_sub(3)" at EOrig+(period,eamp*0.8) ljust above + + Ad: axis with .end at Ai.end+(0,-eamp*2.1); "N`'svg_sub(o)" ljust + DOrig: Ad.start+(tmax*0.04,0) + Id: axis with .end at Ad.end+(0,-eamp*1.2); "0" ljust + IOrig: Id.start+(tmax*0.04,0) + + for i=1 to 11 by 2 do { + tl = max(0,period/2-i*period/6) + tr = min(period/2,tmax-(i*period/6-period/2)) + sinusoid(eamp,omega,-pi_/2,tl,tr,thick 0.4 dashed) \ + with .Origin at DOrig+(i*period/6-period/2,0) + tl = max(period/12,-(i*period/6-period/2+period/12) ) + tr = period/2-period/12 + S1: sinusoid(eamp*r,omega,-pi_/2,tl,tr) \ + with .Origin at DOrig+(i*period/6-period/2,0)+(0,-ed*r); round(at S1.End) + S2: sinusoid(eamp*r,omega,-pi_/2,tl,tr) \ + with .Origin at IOrig+(i*period/6-period/2,0)+(0,-ed*r); round(at S2.End) + } + "e`'svg_sub(1)" at DOrig+(period/3,eamp*0.8) ljust above + "e`'svg_sub(2)" at DOrig+(2*period/3,eamp*0.8) ljust above + "e`'svg_sub(3)" at DOrig+(period,eamp*0.8) ljust above + + "e`'svg_sub(L)" at DOrig+(period/4,eamp*0.8) below + "i`'svg_sub(L)" at IOrig+(period/6,eamp*0.6) rjust above + + vEd = r*eamp*cos(pi_/12)/(5*pi_/12) - r*ed + VEd: axis with .end at Ad.end+(0,vEd); "E`'svg_sub(D)" ljust + IEd: axis with .end at Id.end+(0,vEd); "I`'svg_sub(D)" ljust + ] + +Cct3:[ + No: dot; {"N`'svg_sub(o)" at last [].s below rjust } + { inductor(to Here+(Rect_(dimen_,60)),W); E2: Here; "e`'svg_sub(2)" ljust } + { inductor(to Here+(Rect_(dimen_,-60)),W); E3: Here; "e`'svg_sub(3)" ljust } + { inductor(from No-(dimen_,0) to No,W); E1: last line.start + "e`'svg_sub(1)" at E1 above } + D3: diode(down_ from E3); b_current(i`'svg_sub(3),rjust) + llabel(,,D`'svg_sub(3)) + line from E1 to (E1.x,D3.start.y+dimen_/3) then right_ (E3.x+E1.x)/2-E1.x \ + then down_ dimen_/3 + D1: diode(down_); b_current(i`'svg_sub(1),rjust); llabel(,,D`'svg_sub(1)) + line from E2 left E2.x-E1.x+dimen_/3 then down E2.y-E3.y \ + then to 2 between D3.start and D1.start + D2: diode(down_); b_current(i`'svg_sub(2),rjust); llabel(,,D`'svg_sub(2)) + { line from D2.end to D3.end } + dot(at D1.end) + arrowline(down elen_/2); rlabel(,i`'svg_sub(L)) + resistor(right_ elen_); rlabel(+,e`'svg_sub(L),-); llabel(,R) + line to (Here,No) then to No + ] with .e at Threephase.w-(0.5,0) + move left 0.2 from Cct3.w + +Fullwave: [ + linethick_(1) + Ai: axis ; "N`'svg_sub(o)" ljust + EOrig: Ai.start+(tmax*0.05,0) + E1: sinusoid(eamp,omega,-pi_/2,-ted,tmax) with .Origin at EOrig + "e`'svg_sub(1)" at EOrig+(period/3,eamp*0.8) ljust above + E2: sinusoid(eamp,omega, pi_/2,-ted,tmax) with .Origin at EOrig + "e`'svg_sub(2)" at EOrig+(period*5/6,eamp*0.8) ljust above + + Ad: axis with .end at Ai.end+(0,-eamp*2.1); "N`'svg_sub(o)" ljust + DOrig: Ad.start+(tmax*0.05,0) + Id: axis with .end at Ad.end+(0,-eamp*1.2); "0" ljust + IOrig: Id.start+(tmax*0.05,0) + + for i=0 to 3 do { + if i<3 then { tf = period/2 } else { tf = Ad.end.x-(DOrig.x+3*period/2) } + sinusoid(eamp,omega,-pi_/2,0,tf,thick 0.4 dashed) \ + with .Origin at DOrig+(i*period/2,0) + line from DOrig+(i*period/2-ted,0) right 2*ted + line from IOrig+(i*period/2-ted,0) right 2*ted + if i<3 then {tf = period/2-ted } else {tf = Ad.end.x-(DOrig.x+3*period/2) } + Ed: sinusoid(eamp*r,omega,-pi_/2,ted,tf) \ + with .Origin at DOrig+(i*period/2,-ed*r) + Ed: sinusoid(eamp*r,omega,-pi_/2,ted,tf) \ + with .Origin at IOrig+(i*period/2,-ed*r) + } + "e`'svg_sub(1)" at DOrig+(period/6,eamp*0.9) rjust above + "e`'svg_sub(2)" at DOrig+(period/6+period/2,eamp*0.9) rjust above + "e`'svg_sub(L)" at DOrig+(period/4,eamp*0.8) below + "i`'svg_sub(L)" at IOrig+(period/6,eamp*0.6) rjust above + + vEd = sum/(period/2/(period/2-2*ted)*npts) + VEd: axis with .end at Ad.end+(0,vEd); "E`'svg_sub(D)" ljust + IEd: axis with .end at Id.end+(0,vEd); "I`'svg_sub(D)" ljust + ] with .sw at Threephase.nw+(0,0.5) + +Cct2:[ + T: transformer(right_ elen_,R,8,AW,8) + line up elen_/2 from T.P1 + gap(right_ elen_) + { sinusoid(0.08,omega*8,-pi_/2,0,twopi_/(omega*8)) with .c at last [] } + line to T.P2 + line from T.S1 to (T.P1,T.S1) then down elen_/2 + D1: diode(down_ elen_*3/4); rlabel(,D`'svg_sub(1)) + line from T.S2 to (T.P2,T.S2) then to (T.P2,D1.start) + D2: diode(down_ elen_*3/4); rlabel(,D`'svg_sub(2)) + corner; line to D1.end; corner + dot(at 0.5 between D1.end and D2.end) + arrowline(down elen_/2); rlabel(,i`'svg_sub(L)) + resistor(right_ elen_); rlabel(+,e`'svg_sub(L),-); llabel(,R) + line to (Here,T.TS)-(0,elen_/2) then left Here.x-T.TS.x then to T.TS + {"N`'svg_sub(o)" at T.TS-(0,elen_/2) below } + thinlines_ + move to T.TS-(0,0.1) + { arrow to (T.P1,Here) chop 0.05 "e`'svg_sub(1)" below } + { arrow to (T.P2,Here) chop 0.05 "e`'svg_sub(2)" below } + linethick_(1) + ] at (Cct3,Fullwave) + +Halfwave: [ + linethick = 1 + Ai: axis ; "N`'svg_sub(o)" ljust + EOrig: Ai.start+(tmax*0.05,0) + Ei: sinusoid(eamp,omega,-pi_/2,0,tmax) with .Origin at EOrig + "e`'svg_sub(i)" at EOrig+(period/3,eamp*0.8) ljust above + + Ad: axis with .end at Ai.end+(0,-eamp*1.75); "N`'svg_sub(o)" ljust + DOrig: Ad.start+(tmax*0.05,0) + sinusoid(eamp,omega,-pi_/2,0,period/2,thick 0.4 dashed) with .Origin at DOrig + sinusoid(eamp,omega,-pi_/2,0,period/2,thick 0.4 dashed) \ + with .Origin at DOrig+(period,0) + "e`'svg_sub(i)" at DOrig+(period/5,eamp*0.9) rjust above + + line from Ad.start to DOrig+(ted,0) + Ed: sinusoid(eamp*r,omega,-pi_/2,ted,period/2-ted) \ + with .Origin at DOrig+(0,-ed*r) + "e`'svg_sub(L)" at DOrig+(period/3,eamp*0.6) below + line from Ed.End right period/2+2*ted + Ed2: sinusoid(eamp*r,omega,-pi_/2,ted,period/2-ted) \ + with .Origin at DOrig+(period,-ed*r) + line from Ed2.End to Ad.end + + vEd = sum/(period/(period/2-2*ted)*npts) + VEd: axis with .end at Ad.end+(0,vEd); "E`'svg_sub(D)" ljust above + + Id: axis with .end at Ad.end+(0,-eamp*1.0); "0" ljust + IOrig: Id.start+(tmax*0.05,0) + line from Id.start to IOrig+(ted,0) + Sd: sinusoid(eamp*r,omega,-pi_/2,ted,period/2-ted) \ + with .Origin at IOrig+(0,-ed*r) + "i`'svg_sub(L)" at IOrig+(period/3,eamp*0.7) above + line from Sd.End right period/2+2*ted + Sd2: sinusoid(eamp*r,omega,-pi_/2,ted,period/2-ted) \ + with .Origin at IOrig+(period,-ed*r) + line from Sd2.End to Id.end + IEd: axis with .end at Id.end+(0,vEd); "I`'svg_sub(D)" ljust above + ] with .sw at Fullwave.nw+(0,0.5) + +Cct1:[ diode(down_ elen_); b_current(i`'svg_sub(L),rjust,O,E); rlabel(D) + resistor(right_ elen_); rlabel(+,e`'svg_sub(L),-); llabel(,R) + line up elen_ + { "N`'svg_sub(o)" ljust below } + gap(left_ elen_); rlabel(-,e`'svg_sub(i),+) + ] at (Cct3,Halfwave) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/RelayDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/RelayDPV.m4 new file mode 100644 index 00000000000..3746a20b9f1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/RelayDPV.m4 @@ -0,0 +1,47 @@ +.PS +# RelayDPV +cct_init +svg_font(sans-serif,10bp__) + +skip = 1.1 + +R1:relay + {"svg_it(V1)" wid 0.16 rjust at last [].V1 + "svg_it(V2)" ljust at last [].V2 + "svg_it(P1)" rjust at last [].P1-(dotrad_,0) + "svg_it(O1)" ljust at last [].O1 + "svg_it(C1)" ljust at last [].C1 } + S: "svg_tt(`relay')" at last [].s+(0,-0.2) + +R5:relay(2,CTh) with .sw at last [].sw+(skip,0) + { for_(1,2,1,` + "svg_it(P`'m4x)" rjust at last [].P`'m4x-(dotrad_,0) + "svg_it(C`'m4x)" ljust at last [].C`'m4x ') } + "svg_tt((2,CTh))" at (last [],S) + +R4:relay(2,O) with .sw at last [].sw+(skip,0) + {for_(1,2,1,` + "svg_it(P1)" rjust at last [].P1-(dotrad_,0) + "svg_it(O`'m4x)" ljust at last [].O`'m4x ')} + "svg_tt((2,O))" at (last [],S) + +R3:relay(2,PIAX) with .sw at last [].sw+(skip,0) + {"svg_it(V1)" rjust at last [].V1 + "svg_it(V2)" rjust at last [].V2 + for_(1,2,1,` + "svg_it(P`'m4x)" rjust at last [].P`'m4x-(dotrad_,0) + "svg_it(O`'m4x)" ljust at last [].O`'m4x+(dotrad_,0) + "svg_it(C`'m4x)" ljust at last [].C`'m4x+(dotrad_,-2pt__) ') } + "svg_tt((2,PIAX))" at (last [],S) + +R2:relay(2,R) with .sw at last [].sw+(skip,0) + {"svg_it(V1)" rjust at last [].V1 + "svg_it(V2)" wid 0.2 ljust at last [].V2 + for_(1,2,1,` + "svg_it(P`'m4x)" rjust at last [].P`'m4x-(dotrad_,0) + "svg_it(O`'m4x)" ljust at last [].O`'m4x + "svg_it(C`'m4x)" ljust at last [].C`'m4x ') } + "svg_tt(`relay(2,R)')" at (last [],S) + + command ")" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ResistorsDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ResistorsDPV.m4 new file mode 100644 index 00000000000..419371702b3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ResistorsDPV.m4 @@ -0,0 +1,48 @@ +.PS +# `ResistorsDPV.m4' +cct_init(svg_font(sans-serif,11pt__)) +textwid = 1.5 +movewid = 2 pt__ +hm = 2.1 +vm = 0.28 + +hm = 2.05 +vm = 0.28 +{ + {resistor ; move ; svgLink(NportDPV.svg,"`resistor'" ljust)} + move right_ hm + {resistor(,,Q) ; move ; "`resistor(,,Q) '" ljust} + move right_ hm + {resistor(,,V) ; move ; "`resistor(,,V) '" ljust} +} + move down vm; right_ +{ + {resistor(,,ES) ; move ; "`resistor(,,ES) '" ljust} + move right_ hm + {resistor(,,H) ; move ; "`resistor(,,H) '" ljust} + move right_ hm + {resistor(,,AC) ; move ; "`resistor(,,AC) '" ljust} +} + move down vm; right_ +{ + {resistor(,,B) ; move ; "`resistor(,,B) '" ljust} + move right_ hm + {resistor(,,E) ; move + "`resistor(,,E)'" ljust " svg_equiv `ebox'" ljust} + move right_ hm + {ebox(,0.5,0.3) ; move ;"`ebox(,0.5,0.3) '" ljust} +} + move down vm; right_ +{ + {ebox(,,,0.6) ; move ; "`ebox(,,,0.6) '" ljust} + move right_ hm + {ebox(,,,,shaded "yellow") ; move ;"`ebox(,,,,shaded \"yellow\") '" ljust} +} + move down vm; right_ +{ + {ebox(,wdth=0.2;box=dashed shaded "green";text="X") ; move + "`ebox(,wdth=0.2;box=dashed shaded \"green\";text=\"X\")'" ljust} +} + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/RotboxDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/RotboxDPV.m4 new file mode 100644 index 00000000000..fba198a6690 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/RotboxDPV.m4 @@ -0,0 +1,21 @@ +.PS +# RotboxDPV.m4 +gen_init +#nclude(dpictools.pic) + +[ + Point_(-10) + rotbox(boxwid/2,,thick 2) + Point_(30) + rotbox(,,shaded "yellow" outlined "blue" thick 3,r=0.1) \ + at last []+vec_(boxwid,0) + "r=0.1" at last [] + move to last [].ne + Point_(0) + [[]; for_(2,8,2, `rotbox(,,dashed,t=m4x/10) at last []+vec_(boxwid*1.1,0) + sprintf("t=%g",m4x/10) at last [] ') ] with .nw at last [].ne+(0.1,0) + [[]; for_(10,16,2, `rotbox(,,dashed,t=m4x/10) at last []+vec_(boxwid*1.1,0) + sprintf("t=%g",m4x/10) at last [] ') ] with .nw at last [].sw+(0,-0.1) +] + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SQUIDDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SQUIDDPV.m4 new file mode 100644 index 00000000000..a6beabbfe09 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SQUIDDPV.m4 @@ -0,0 +1,19 @@ +.PS +# SQUIDDPV.m4 +cct_init(svg_font(sans-serif,11bp__)) + +down_ +S1: SQUID + "J1" at S1.J1 above rjust wid 15bp__ + "J2" at S1.J2 above ljust + +S2: SQUID(3,dimen_*1.5,-120) at S1.e+(elen_,0) + "J1" at S2.J1 above rjust + "J2" at S2.J2 below ljust + "J3" at S2.J3 above ljust + arcrad = S2.C.rad*0.7 + arc from S2.c+(Rect_(arcrad,-135)) to S2.c+(Rect_(arcrad,-45)) \ + with .c at S2.C -> + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SchottkyDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SchottkyDPV.m4 new file mode 100644 index 00000000000..4257991773d --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SchottkyDPV.m4 @@ -0,0 +1,54 @@ +.PS +# SchottkyDPV.m4 +# 4-input positive NAND: the Schottky option for transistors (TI TTL data book) +cct_init(svg_font(sans-serif,11bp__,1bp__)) + + tic = dimen_/4 + rlen = dimen_*3/4 + +E1: dot; line up_ tic +Q1: bi_trans(,,dEBCBUS) with .E at Here; line left tic from Q1.B; B1: Here + resistor(up_ rlen from Q1.C); llabel(,3 k`'svg_ohm); B2: dot; line right_ tic +Q2: bi_trans(up_ dimen_,,dEBCBUS) with .B at Here + line from Q2.E to (Q2.E,E1); dot +Gnd: "GND" ljust at Here+(dimen_/2,0) + dot(at Q2.C) + { line to (Gnd,Here); "Y" wid 0.3 ljust } + line to (Q1.C,Here); dot + resistor(up_ rlen); llabel(,4 k`'svg_ohm); B4: dot; line right_ tic; up_ +Q4: bi_tr with .B at Here + line from Q4.E to Q2.C + line up_ tic from B4 +Q5: bi_trans(,,dEBCBUS) with .E at Here; line left_ tic from Q5.B; B5: dot + line from Q5.C to (Q4.C,Q5.C); dot + { line to Q4.C } + resistor(up_ rlen); llabel(,120 svg_ohm); dot +Vcc: "Vcc" ljust at (Gnd,Here) + dot(at (B5,Vcc)) + resistor(to (Here,Q5.C)); llabel(,8 k`'svg_ohm) + diode(from (B4,Q2.C) to (B5,Q2.C),Z) + line to (Here,Q5.C) + diode(from B4 to (Here,B4),Z); dot + line left_ tic; up_ +Q3: bi_trans(,,dEBCBUS) with .C at Here; line left_ tic from Q3.B; B3: Here + line from Q3.E to (Q3.E,B2); dot + dot(at (B1,Here)); resistor(down_ to (Here,Q1.C)); rlabel(,1.5 k`'svg_ohm) + line to B1 + resistor(down_ from B3 to (B3,B2)); rlabel(,12 k`'svg_ohm); line to B2 + line from Vcc to (B3,Vcc); resistor(down_ to (Here,Q5.C)) + rlabel(,20 k`'svg_ohm) + line to B3 + ground(at (Q3.C,Gnd),,F); dot + + for_(0,3,1, + `dot(at (B3+(0,tic*m4x))) + line left_ tic*m4x; diode(left_ dimen_,Z); dot + {line down_ dimen_; reversed(`diode',down_ dimen_,Z); line to (Here,Gnd) \ + ifelse(m4x,3,`then to Gnd',`; dot') } + line left_ tic*eval(4-m4x) + "ifelse(m4x,3,D,m4x,2,C,m4x,1,B,m4x,0,A)" wid 0.15 rjust + ') + + command "" # end font +.PE + diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ShiftRDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ShiftRDPV.m4 new file mode 100644 index 00000000000..de8e13843e5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ShiftRDPV.m4 @@ -0,0 +1,49 @@ +.PS +# ShiftR.m4 +log_init(svg_font(sans-serif,11*0.9bp__)) +textoffset = textht/6 + +define(`lg_plen',3) + +define(`customFF',`FlipFlopX(wid 10*L_unit ht FF_ht*L_unit,, + :S;NE:CK;:R, N:PR, :Q;;ifelse(`$1',1,:svg_ol(Q)), N:CLR,,)') + + F0: customFF(1) + + BUFFER_gate(,N) with .Out at F0.W1.end + line left 2*L_unit from last [].In1 + T: dot + reversed(`NOT_gate',left 10*L_unit) + {move left textht*8} + Serial: "SERIAL" rjust "INPUT" rjust + line from T to (T,F0.W3) then to F0.W3.end + + NCLR: NOT_gate(right T.x-Serial.x from (Serial,F0.S1.end),N) + "svg_ol(CLEAR)" wid 33bp__ at NCLR.start rjust + + CLK: NOT_gate(right T.x-Serial.x from NCLR.start+(0,-BUF_ht*3/2*L_unit)) + "CLOCK" at CLK.start rjust + +for_(1,4,1,` + F`'m4x: customFF(eval(m4x!=4)) with .W3.end at F`'eval(m4x-1).E3.end + ') + + "OUTPUT" wid 0.7 at F4.E1.end ljust + line from NCLR.end to F4.S1.end + + down_ +for_(0,4,1,` + line from F`'m4x.W2.end down F0.W2.y-CLK.y + ifelse(eval(m4x!=4),1,`dot',`line to CLK.end') + N`'m4x: NAND_gate with .Out at F`'m4x.N1.end + line up 2*L_unit from N`'m4x.In2 + { line up 6*L_unit from N`'m4x.In1 + "PR`'eval(4-m4x)" rjust } + ifelse(eval(m4x!=4),1, + `dot; dot(at F`'m4x.S1.end)', + `line to (Serial,Here) + "PRESET" rjust "ENABLE" rjust ') + ') + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SierpinskiDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SierpinskiDPV.m4 new file mode 100644 index 00000000000..08d7fab1117 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SierpinskiDPV.m4 @@ -0,0 +1,54 @@ +.PS +# Sierpinski.m4 +gen_init +[ + define Sierpinski { + if $1 > 0.04 then { + d = $1/2-lh + shade(1,line from $2+(d/2,d/2*s3+lw*2) right d/2 up d/2*s3 then left d*2 \ + then right d down d*s3 then right d/2 up d/2*s3 ) + Sierpinski($1/2,$2-($1/2,0)) + Sierpinski($1/2,$2+($1/2,0)) + Sierpinski($1/2,$2+(0,$1*s3/2)) + } + } + + r = 3 + linethick = 0.2 + #linethick = 1/2 /(1pt__) + lw = linethick pt__ /2 + s3 = sqrt(3) + lh = lw*s3 + A: 3,3 + d = r/2-lh + shade(0,line from A+(0,lw) right d then up d*s3 left d then down d*s3 left d\ + then right d ) + ifpstricks(`psset_(linecolor=white)') + Sierpinski(r/2,A) + + ifpstricks(`psset_(linecolor=black)') + thicklines_ + ] + +# CayleyGraph.m4 +[ +define CayleyGraph { + if $3 > 0 then { + { line to Here+(cosd($2),sind($2))*($1) + exec sprintf("CayleyGraph(%g,%g,%g);", ($1)/2, $2, $3-1); } + { line to Here+(cosd($2+90),sind($2+90))*($1) + exec sprintf("CayleyGraph(%g,%g,%g);", ($1)/2, $2+90, $3-1); } + { line to Here+(cosd($2-90),sind($2-90))*($1) + exec sprintf("CayleyGraph(%g,%g,%g);", ($1)/2, $2-90, $3-1); } + } + } + + size = 2 + depth = 6 + for t=0 to 270 by 90 do { + line from (0,0) to (cosd(t),sind(t))*size/2; + { exec sprintf("CayleyGraph(%g,%g,%g);",size/4,t,depth); } + } + ] scaled 3/4 with .sw at last [].se+(-0.25,0) + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SixpoleDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SixpoleDPV.m4 new file mode 100644 index 00000000000..430c0450697 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SixpoleDPV.m4 @@ -0,0 +1,25 @@ +.PS +# sixpole.m4 +define(`biquad',`[ +In: Here + resistor(right_) +E: dot + resistor + dot + {capacitor(down_,C); ground(,T)} + line right_ elen_/3 + { dot + line up_ elen_ + amp(to (E,Here),elen_/2) + capacitor(from E to Here,C) } + amp(right_,elen_/2) + Out: Here + ]') + +cct_init +define(`elen_',linewid) + + biquad + biquad with .In at last [].Out+(-linewid/4,0) + biquad with .In at last [].Out+(-linewid/4,0) +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SmithchartDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SmithchartDPV.m4 new file mode 100644 index 00000000000..e87dfeec9d8 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SmithchartDPV.m4 @@ -0,0 +1,222 @@ +.PS +# SmithchartDPV.m4 +gen_init +#https://utah.instructure.com/courses/684846 +#https://www.youtube.com/watch?v=RptPsP8hS4g +#https://www.youtube.com/watch?v=UUk1R01uEoE +##https://www.youtube.com/watch?v=TsXd6GktlYQ + +scalefactor = 6.5/2 # to vary the final chart diameter +#calefactor = 6.5/2*3/4 # 3/4 scale for svg examples +# Basic definitions +define Rac {($1/($1+1),0)*scalefactor} # centre of const ra circle +define rar {1/abs($1+1)*scalefactor} # radius +define Xac {(1,1/($1))*scalefactor} # centre of const xa circle +define xar {1/abs($1)*scalefactor} # radius +define Rc {CRc[$1*100]} # Rc circle indexed by value +define Xc {CXc[$1*100]} # Xc circle indexed by value +define grayline {outlined graystring($1)} +define arct {arc thick $1} + +# `SGamma(ra,xa) chart location of complex value' +define(`SGamma',`(ifelse(`$2',0,`Rc($1).w', + `Cintersect(Rac(`$1'),rar(`$1'),Xac(`$2'),xar(`$2'), dnl + ifelse(substr(`$2',0,1),-,R))'))') +# 1-piece Ra arc +define(`RaArc1',`ifinstr(`$1',to,for ix=`$1' do,ix=`$1';) { + Rc(ix): arct(`$2') grayline(`$2'g) dnl + from SGamma(ix,`$3') to SGamma(ix,-(`$3')) with .c at Rac(ix)}') +# 2-piece Ra arc +define(`RaArc2',`ifinstr(`$1',to,for ix=`$1' do,ix=`$1';) { + Rc(ix): arct(`$2') grayline(`$2'g) dnl + from SGamma(ix,`$3') to SGamma(ix,`$4') with .c at Rac(ix) + arct(`$2') grayline(`$2'g) dnl + from SGamma(ix,-(`$4')) to SGamma(ix,-(`$3')) with .c at Rac(ix)}') +# Positive and negative Xa arcs +define(`XaArc2',`ifinstr(`$1',to,for ix=`$1' do,ix=`$1';) { + Xc(ix): arct(`$2') grayline(`$2'g) dnl + from SGamma(`$3',ix) to SGamma(`$4',ix) with .c at Xac(ix) + Xc(-ix): arct(`$2') grayline(`$2'g) dnl + cw from SGamma(`$3',-ix) to SGamma(`$4',-ix) with .c at Xac(-ix)}') + +define(`Smithchart',`[ +iflatex(s_init(tst) + command "{\tiny") +ifsvg(svg_font(sans-serif,10bp__) + svg_rot_init(SmithchartDPV)) + + thk = 1.2 # width of thick lines (pt) + thn = 0.4 # thin lines + thkg = 0.33 # weight of thick lines + thkg =0.5 + thng = 0.4 # weight of thin lines + thng = 0.6 + +C: circle thick thk rad rar(0) at (0,0) + line thick thk grayline(thkg) from C.w to C.e + +Rc(50): circle thick thk grayline(thkg) rad rar(50) at Rac(50) +Loopover_(`term',`RaArc1(patsubst(term,:,`,'))', + 20:thn:50, + 30 to 40 by 10:thn:50, + 20:thk:20, + 12 to 18 by 2:thn:20, + 10:thn:50, + 10:thk:20, + 6 to 9:thn:10, + 5:thk:10, + 2.2 to 4.81 by 0.2:thn:5, + 4:thn:20, + 4:thk:5, + 3:thn:10, + 3:thk:5, + 2:thn:20, + 2:thk:5, + 1.1 to 1.91 by 0.2:thn:2, + 1.2 to 2.01 by 0.2:thk:2, + 1:thn:10, + 1:thk:5, + 0.2 to 1.81 by 0.2:thn:5, + 0.2 to 0.81 by 0.2:thk:2, + 0.6 to 0.91 by 0.1:thk:1, + 0.55 to 0.951 by 0.1:thn:1, + 0.1 to 0.91 by 0.2:thn:2, + 0.1 to 0.91 by 0.2:thk:1, + 0.22 to 0.481 by 0.02:thn:0.5, + 0.01 to 0.191 by 0.01:thn:0.2, + 0.05 to 0.151 by 0.1:thk:0.2) + +Loopover_(`term',`RaArc2(patsubst(term,:,`,'))', + 0.05 to 0.451 by 0.1:thn:1:0.5, + 0.02 to 0.181 by 0.02:thn:0.5:0.1) + +Xc(50): arct(thk) cw grayline(thkg) from C.e \ + to SGamma(0,50) with .c at Xac(50) +Xc(-50): arct(thk) grayline(thkg) from C.e \ + to SGamma(0,-50) with .c at Xac(-50) + +Loopover_(`term',`XaArc2(patsubst(term,:,`,'))', + 10 to 20 by 10:thn:0:50, + 7 to 9 by 2:thn:0:10, + 2 to 18 by 2:thn:0:20, + 0.2 to 4.81 by 0.2:thn:0:5, + 1.1 to 1.91 by 0.2:thn:0:2, + 1 to 4:thn:0:10, + 0.1 to 0.91 by 0.2:thn:0:2, + 0.22 to 0.481 by 0.02:thn:0:0.5, + 0.55 to 0.951 by 0.1:thn:0:1, + 10 to 20 by 10:thk:0:20, + 5:thk:0:10, + 1.2 to 1.81 by 0.2:thk:0:2, + 1 to 4:thk:0:5, + 0.2 to 0.81 by 0.2:thk:0:2, + 0.1 to 0.91 by 0.2:thk:0:1) + +Loopover_(`term',`XaArc2(patsubst(term,:,`,'))', + 0.05 to 0.451 by 0.1:thn:0.5:1, + 0.02 to 0.181 by 0.02:thn:0:0.5, + 0.02 to 0.191 by 0.01:thn:0:0.2, dnl 0.02 should be 0.01 + 0.05 to 0.151 by 0.1:thk:0:0.2) +dnl these avoid TeX arithmetic overflow: + line thick thn grayline(thng) from SGamma(0,0.01) to SGamma(0.2,0.01) + line thick thn grayline(thng) from SGamma(0,-0.01) to SGamma(0.2,-0.01) + dot(at C,,1,grayline(thkg)) + +dnl Internal labels start here + textht = C.wid/120 +# Horizontal axis +Loopover_(`t',`box wid textht ht textht*1.5 colored "white" \ + with .se at Rc(t).w+(-2bp__,2bp__) + r_text(90,"t",at Rc(t).w+(-textht/3,textht*1.5))', + 0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9, 1,1.2,1.4,1.6,1.8, 2,3,4,5,10,20,50) +# Xc=1 labels +Loopover_(`tt', + `define(`m4ta',patsubst(tt,:.*))define(`m4vl',patsubst(tt,.*:))dnl + X: SGamma(m4vl,1) + M: move from Rc(m4vl) to X; ax = lin_ang(M)*rtod_-90 #; print ax + r_text(m4ta,m4vl,at X+(Rect_(textht*2,ax+30))) + Y: X-Rc(m4vl); X: Rc(m4vl)+(Y.x,-Y.y) + r_text(-m4ta,m4vl,at X+(Rect_(textht*1.7,-(ax+30)))) ', + 10:0.2, 19:0.4, 26:0.6, 32:0.8, 37:1) +# right-side circumference +Loopover_(`tt', + `define(`m4ta',patsubst(tt,:.*))define(`m4vl',patsubst(tt,.*:))dnl + X: Xc(m4vl).start; ax = atan2(X.y,X.x)*rtod_ ; # print round_(ax) + r_text(m4ta,m4vl,at X+(Rect_(textht*2,ax-120))) + if m4vl>=2 then { + r_text(-m4ta,m4vl,at (X.x,-X.y)+(Rect_(textht*1.5,-ax+135))) }\ + else { r_text(-m4ta,m4vl,at (X.x,-X.y)+(Rect_(textht*2,-ax+150))) } ', + 6:20, 11:10, 23:5, 28:4, 37:3, 53:2, 58:1.8, 64:1.6, 71:1.4, 80:1.2, 90:1) +# left-side circumference +Loopover_(`tt', + `X: Xc(m4Lx*0.1).start; # print round_(atan2(X.y,X.x)*rtod_-180) + r_text(-patsubst(tt,:,`,'),at X+(Rect_(textht*1.7,-m4Lx*11+40))) + r_text( patsubst(tt,:,`,'),at (X.x,-X.y)+(Rect_(textht*2.1,m4Lx*11-30))) ', + 11:0.1, 23:0.2, 33:0.3, 44:0.4, 53:0.5, 62:0.6, 70:0.7, 77:0.8, 84:0.9) +# Ra=1 labels +Loopover_(`tt',`X: SGamma(1,m4Lx*0.2) + M: move from Rac(1) to X; # print round_(lin_ang(M)*rtod_-180) + r_text(-eval(m4Lx*11),ifelse(m4Lx,5,1,0.eval(m4Lx*2)), + at X+(Rect_(textht*1.5,-m4Lx*11+40))) + r_text( eval(m4Lx*11),ifelse(m4Lx,5,1,0.eval(m4Lx*2)), + at (X.x,-X.y)+(Rect_(textht*2,m4Lx*11-30))) ', + 11:0.2, 23:0.4, 33:0.6, 44:0.8, 53:1) + + textht *=0.9 +# Wavelength circle and tics + wvsep = textht*3/2 + wltic = C.wid/120 + circle thick thn grayline(thkg) diam C.diam+wltic/2+wvsep*11 at C +W: circle thick thn grayline(thkg) diam C.diam+wvsep*8 at C + for tc=0 to 249 do {ax = 180-tc/250*360; line thick thn grayline(thkg) \ + from W+(Rect_(W.rad+wltic/2,ax)) to W+(Rect_(W.rad-wltic/2,ax)) } +# Wavelength circle labels +for_(0,49,1, + `ifelse(eval(m4x<5),1,, + `r_text(eval(90-m4x*180/25),ifelse(m4x,0,0,eval(m4x<10),1,0.0`'m4x,0.`'m4x), + at W+(Rect_(W.rad+wltic/2+textht*0.5,180-m4x*180/25)))') + ifelse(eval(m4x<47),1, + `r_text(eval(90-m4x*180/25),ifelse(m4x,0,0,eval(m4x>40),1,0.0`'eval(50-m4x), + 0.`'eval(50-m4x)), at W+(Rect_(W.rad-wltic/2-textht*1.0,180-m4x*180/25)))')') + + circle thick thn grayline(thkg) diam C.diam+wvsep*5 at C +A: circle thick thn grayline(thkg) diam C.diam+wvsep*2.5 at C + for tc=0 to 359 by 2 do {line thick thn grayline(thkg) \ + from A+(Rect_(A.rad+wltic/2,tc)) to A+(Rect_(A.rad,tc)) } +for_(20,170,10, + `r_text(eval(-90+m4x),m4x,at A+(Rect_(A.rad+textht*0.5,m4x))) + r_text(eval( 90-m4x),-m4x,at A+(Rect_(A.rad+textht*1.2,-m4x))) + ') + r_text(90,180,at A-(A.rad+textht/2,0)) +Loopover_(`rca', + `r_text(eval(90-(180-rca/10)),eval(m4Lx*5+5), + at A+(Rect_(A.rad-textht*0.7,rca/10))) + r_text(eval(-90+(180-rca/10)),eval(-m4Lx*5-5), + at A+(Rect_(A.rad-textht*0.7,-rca/10))) ', + 195,295,392,490,588,685,782,880,967,1072, + 1165,1260,1352,1438,1518,1598,1645) + +# Internal labels + setrgb(thng,thng,thkg) + "RESISTANCE R/Zo OR CONDUCTANCE G/Yo" at C+SGamma(0.5,0)-(0,C.rad/40) + Loopover_(`Lttr',`ifelse(Lttr,*,,`r_text(eval(87-m4Lx*86/100),Lttr, + at W+(Rect_(W.rad+wltic/2+textht*0.5, 177-m4Lx*0.86))) ')', + W,A,V,E,L,E,N,G,T,H,S,*,T,O,W,A,R,D,*,G,E,N,E,R,A,T,O,R) + Loopover_(`Lttr',`ifelse(Lttr,*,,`r_text(eval(115-m4Lx*86/100),Lttr, + at W+(Rect_(W.rad-wltic/2-textht*1.0, 204-m4Lx*0.86))) ')', + W,A,V,E,L,E,N,G,T,H,S,*,T,O,W,A,R,D,*,L,O,A,D) + Loopover_(`Lttr',`ifelse(Lttr,*,,`define(`xa','13-m4Lx*86/100`) + r_text(eval(xa-90),Lttr,at A+(Rect_(A.rad+textht*0.7, xa))) ')', + R,E,F,L,E,C,T,I,O,N,*,C,O,E,F,F,I,C,I,E,N,T,*,A,N,G,L,E) + Loopover_(`Lttr',`ifelse(Lttr,*,,`define(`xa','14-m4Lx*86/100`) + r_text(eval(xa-90),Lttr,at A+(Rect_(A.rad-textht*0.7, xa))) ')', + T,R,A,N,S,M,I,S,S,I,O,N,*,C,O,E,F,F,I,C,I,E,N,T,*,A,N,G,L,E) + resetrgb + +iflatex(command "}%", +ifsvg(command "")) +] ') + +Smithchart at (0,0) + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SourcesDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SourcesDPV.m4 new file mode 100644 index 00000000000..91e2edeba64 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SourcesDPV.m4 @@ -0,0 +1,48 @@ +.PS +# `SourcesDPV.m4' +cct_init(svg_font(sans-serif,11bp__)) +textwid = 0.7 +movewid = 2pt__ +moveht = 0.275 +define(`NL',`; move down $1; right_') +{ + {source ; move ; "`source'" ljust} NL + {source(,I) ; move ; "`source(,I)'" ljust} NL + {source(,i) ; move ; "`source(,i)'" ljust} NL + {source(,V) ; move ; "`source(,V)'" ljust} NL + {source(,v) ; move ; "`source(,v)'" ljust} NL + {source(,AC); move ; "`source(,AC)'" ljust} NL + {source(,X) ; move ; "`source(,X)'" ljust} NL + {source(,F) ; move ; "`source(,F)'" ljust} NL + {source(,G) ; move ; "`source(,G)'" ljust} NL + {source(,Q) ; move ; "`source(,Q)'" ljust} NL(0.3) + {proximity ; move ; "`proximity" ljust "= consource(,P)'" ljust} +} + move right_ 2.0 +{ + {source(,,0.4) ; move ; "`source(,,0.4)'" ljust} NL(0.35) + {source(,P) ; move ; "`source(,P)'" ljust} NL + {source(,U) ; move ; "`source(,U)'" ljust} NL + {source(,H) ; move ; "`source(,H)'" ljust} NL + {source(,R) ; move ; "`source(,R)'" ljust} NL + {source(,S) ; move ; "`source(,S)'" ljust} NL + {source(,T) ; move ; "`source(,T)'" ljust} NL + {source(,L) ; move ; "`source(,L)'" ljust} NL + {source(,B) ; move ; "`source(,B)'" ljust} NL + {nullator ; move ; "`nullator'" ljust} NL(moveht*0.8) + {norator ; move ; "`norator'" ljust} +} + move right_ 2.0 + {source(,N) ; move ; "`source(,N)'" ljust} NL + {source(,"svg_micro(A)"); move; "`source(,\"svg_micro(A)\")'" \ + wid 1.7 at Here ljust}NL(0.31) + {consource ; move ; "`consource'" ljust } NL(0.32) + {consource(,I) ; move ; "`consource(,I)'" ljust} NL(0.32) + {consource(,i) ; move ; "`consource(,i)'" ljust} NL(0.32) + {consource(,V) ; move ; "`consource(,V)'" ljust} NL(0.32) + {consource(,v) ; move ; "`consource(,v)'" ljust} NL(0.3) + {battery ; move ; "`battery'" ljust} NL + {battery(,3,R) ; move ; "`battery(,3,R)'" ljust} + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SwitchesDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SwitchesDPV.m4 new file mode 100644 index 00000000000..eb55f57c19c --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/SwitchesDPV.m4 @@ -0,0 +1,149 @@ +.PS +# SwitchesDPV.m4 +cct_init(svg_font(sans-serif,11bp__,2bp__)) +textoffset = 3bp__ + +movewid = 0.25 + +define(`Below',`at last [].s+(0,-(8 ifelse(`$1',,,+10*(`$1')))bp__)') +movewid = 0.25 + +# Row 1 + right_; { + lswitch; {"svg_tt(`lswitch')" at last [].s Below} + move right_ + lswitch(,,O); {"svg_tt(`(,,O)')" at last [].s Below} + move right_ + lswitch(,,C); {"svg_tt(`(,,C)')" at last [].s Below} + move right_ + lswitch(,,DA); {"svg_tt(`(,,DA)')" at last [].s Below} + move right_ + lswitch(,,dDO); {"svg_tt(`(,,dDO)')" at last [].s Below} + move right_ + lswitch(,,uDC); {"svg_tt(`(,,uDC)')" at last [].s Below} + } +# Row 2 + move down 0.4; right_; { + lswitch(,,K); {"svg_tt(`(,,K)')" at last [].s Below} + move right_ + lswitch(,,KD); {"svg_tt(`(,,KD)')" at last [].s Below} + move right_ + lswitch(,,KOD); {"svg_tt(`(,,KOD)')" at last [].s Below} + move right_ + lswitch(,,KCD); {"svg_tt(`(,,KCD)')" at last [].s Below} + move right_ + bswitch; {"svg_tt(``bswitch'')" at last [].s Below} + move right_ + bswitch(,,C); {"svg_tt(`(,,C)')" at last [].s Below} + } +# Row 3 + move down 0.45; right_; { + D: dswitch; {"svg_tt(`dswitch')" at D.start below ljust} + thinlines_ + {spline <- from last [].B.c up 0.1 then up 0.05 left 0.1 + "svg_tt(`B')" rjust} + thicklines_ + move right_ + dswitch(,,WdBK); {"svg_tt(`(,,WdBK)')" at last [].s Below} + thinlines_ + { spline <- from 0.5 along_(last [].B) up 0.1 then up 0.10 left 0.1 + {"svg_tt(`B')" rjust} } + { spline <- from last [].K right 0.1 then right 0.05 up 0.15 + {"svg_tt(`K')" above }} + thicklines_ + move right_ + dswitch(,,WBmdDK); {"svg_tt(`(,,WBmdDK)')" at last [].s Below} + move right_ + dswitch(,,WBKTr); {"svg_tt(`(,,WBKTr)')" at last [].s Below} + move right_ + dswitch(,,WdBL); {"svg_tt(`(,,WdBL)')" at last [].s Below} + move right_ + dswitch(,,WBSd); {"svg_tt(`(,,WBSd)')" at last [].s Below} + } +# Row 4 + move down 0.4; right_; { + dswitch(,,WBCb); {"svg_tt(`(,,WBCb)')" at last [].s Below} + move right_ + dswitch(,,WBcCb); {"svg_tt(`(,,WBcCb)')" at last [].s Below} + move right_ + dswitch(,,WBcDI); {"svg_tt(`(,,WBcDI)')" at last [].s Below} + thinlines_ + {arrow <- from last [].DI.start up_ 0.1 right_ 0.15; "svg_tt(`DI')" ljust} + thicklines_ + move right_ +# dswitch(,,WBDI); {"svg_tt(`(,,WBDI)')" at last [].s Below} + dswitch(,,WBKCo); {"svg_tt(`(,,WBKCo)')" at last [].s Below} + move right_ + dswitch(,,WBFDI); {"svg_tt(`(,,WBFDI)')" at last [].s Below} + move right_ + dswitch(,,WBFSd); {"svg_tt(`(,,WBFSd)')" at last [].s Below} + } +# Row 5 + move down 0.4; right_; { + dswitch(,,WBMMR); {"svg_tt(`(,,WBMMR)')" at last [].s Below} + move right_ + dswitch(,,WBMM); {"svg_tt(`(,,WBMM)')" at last [].s Below} + move right_ + dswitch(,,WBMR); {"svg_tt(`(,,WBMR)')" at last [].s Below} + move right_ + dswitch(,,WBEL); {"svg_tt(`(,,WBEL)')" at last [].s Below} + move right_ + dswitch(,,WBLE); {"svg_tt(`(,,WBLE)')" at last [].s Below} + move right_ + dswitch(,,WBoKEL); {"svg_tt(`(,,WBoKEL)')" at last [].s Below} + } +# Row 6 + move down moveht+2bp__; right_; { + dswitch(,,WBTh); {"svg_tt(`(,,WBTh)')" at last [].s Below} + move right_ + dswitch(,,WBKC); {"svg_tt(`(,,WBKC)')" at last [].s Below} + thinlines_ + { arrow <- from last [].C.c left 0.2; "svg_tt(`C')" rjust } + thicklines_ + move right_ + dswitch(,,WBM); {"svg_tt(`(,,WBM)')" at last [].s Below} + move right_ + dswitch(,,WBCO); {"svg_tt(`(,,WBCO)')" at last [].s Below} + move right_ + dswitch(,,WBMP); {"svg_tt(`(,,WBMP)')" at last [].s Below} + move down_ 2bp__ then right_ + dswitch(,,WBoKCP); {"svg_tt(`(,,WBoKCP)')" at last [].s Below} + } +# Row 7 + move down moveht*7/6; right_; { + dswitch(,,WBCY); {"svg_tt(`(,,WBCY)')" at last [].s Below} + move right_ + dswitch(,,WBCZ); {"svg_tt(`(,,WBCZ)')" at last [].s Below} + move right_ + dswitch(,,WBCE); {"svg_tt(`(,,WBCE)')" at last [].s Below} + move right_ + dswitch(,,WBRH); {"svg_tt(`(,,WBRH)')" at last [].s Below} + move right_ + dswitch(,,WBRdH); {"svg_tt(`(,,WBRdH)')" at last [].s Below} + move right_ + dswitch(,,WBRHH); {"svg_tt(`(,,WBRHH)')" at last [].s Below} + } +# Row 8 + move down moveht; right_; { + move down_ 2bp__; right_ + dswitch(,,WBPr); {"svg_tt(`(,,WBPr)')" at last [].s Below} + move right_ + dswitch(,,WBPrT); {"svg_tt(`(,,WBPrT)')" at last [].s Below} + move down_ 6bp__ then right_ + dswitch(,,WBPrM); {"svg_tt(`(,,WBPrM)')" at last [].s Below} + move right_ + dswitch(,,WBDIGX,text=W); #{"svg_tt(`(,,WBDIGX,W)')" at last [].s Below} + {"svg_tt(`(,,WBDIGX,')" ljust at last line.start+(0,-15bp__) \ + "svg_tt(`text=W)')" ljust} + move right_ + dswitch(,,WBDIGC,text=M) + {"svg_tt(`(,,WBDIGC,')" ljust at last line.start+(0,-15bp__) \ + "svg_tt(`text=M)')" ljust} + move right_ + dswitch(,,WBcDIGC,text=M) # + {"svg_tt(`(,,WBcDIGC,')" ljust at last line.start+(0,-15bp__) \ + "svg_tt(`text=M)')" ljust} + } + + command "')" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/TTLnandDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/TTLnandDPV.m4 new file mode 100644 index 00000000000..7b270778665 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/TTLnandDPV.m4 @@ -0,0 +1,54 @@ +.PS +# TTLnand.m4 +cct_init(svg_font(sans-serif,11bp__,1bp__)) + + up_ +Q3: bi_tr + "Q3" at Q3.E above ljust + dot(at Q3.C); reversed(`diode',up_ dimen_/2) +Q4: bi_tr with .E at Here + "Q4" at Q4.E above ljust + resistor(up_ dimen_ from Q4.C); rlabel(,`svg_norm(130 svg_ohm)') +V: dot + line left_ dimen_*0.75 from Q4.B; dot + line left_ dimen_*0.75 from Q3.B; dot +Q2: bi_tr(up_ Q4.B.y-Q3.B.y) with .E at Here + "Q2" at 1/2 between Q2.E and Q2.C ljust + resistor(from Q2.C to (Q2.C,V)); rlabel(,`svg_norm(1.6 k`'svg_ohm)'); dot + resistor(from Q2.E down_ dimen_); llabel(,`svg_norm(1 k`'svg_ohm)') + line to (Q4.E,Here) +G: dot + line to Q3.E + line left_ dimen_/4 from Q2.B + right_ +Q1: bi_trans(,,BCdE2BU) with .C at Here + "Q1" at Q1.Bulk above rjust + resistor(up_ from Q1.B to (Q1.B,V)); rlabel(,svg_norm(4 k`'svg_ohm)) + line to V + + line left dimen_ from Q1.E2 +X1: dot; "X1" wid 0.2 rjust above at last [].w +X2: dot(at (X1,Q3.C)); "X2" rjust at last [].w + AA: line invis right dimen_ from X2 + line from X2 to Intersect_(AA,Q1.Em1) then to Q1.E1 +X3: dot(at 2 between X1 and X2); "X3" rjust below at last [].w + AA: line invis right dimen_ from X3 + line from X3 to Intersect_(AA,Q1.Em0) then to Q1.E0 + +W: X2+(dimen_/2,0) +N: V+(0,dimen_/4) +S: (N.x,N.y-2*(N.y-W.y)) + line from V to 2 between V and N +Vcc:dot; "+5 svg_norm(V)" ljust at last [].e + line from G to (G,S) + ground + line from N to (W,N) then to (W,S) then to S + arc rad N.y-W.y ccw to N with .c at 1/2 between N and S + + line right (N.y-S.y)/2+dimen_/2 from Q3.C +Z: dot + lw = 1.05 + "svg_it(Z = svg_ol(X1 . X2 . X3))" wid lw ljust + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/TgateDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/TgateDPV.m4 new file mode 100644 index 00000000000..35054606391 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/TgateDPV.m4 @@ -0,0 +1,53 @@ +.PS +# Tgate.m4 +cct_init(svg_font(sans-serif,11bp__)) + +right_ + +[ { Q: tgate + "A" at Q.A rjust + "B" at Q.B ljust + "G" at Q.G ljust below + "Gb" at Q.Gb ljust above + `"tgate"' wid 0.5 at Q.A-(0.25,0) rjust + } + + move down_ linewid; right_ + { Q: tgate(,L) + "A" at Q.A rjust + "B" at Q.B ljust + "G" at Q.G rjust above + "Gb" at Q.Gb ljust below + `"tgate(,L)"' at Q.A-(0.25,0) rjust + move left 0.75; right + } + ] + +[ { Q: tgate(,B) + "A" at Q.A rjust + "B" at Q.B ljust + "G" at Q.G ljust + `"tgate(,B)"' at Q.G-(0,10bp__) below + } + ] with .Q.A at last [].Q.B+(0.5,linewid/2) + +[ { Q: ptrans + "A" at Q.A rjust + "B" at Q.B ljust + "G" at Q.G rjust below + "Gb" at Q.Gb rjust + `"ptrans"' at Q.B+(0.25,0) ljust + } + + move down_ linewid; right_ + { Q: ptrans(,L) + "A" at Q.A rjust + "B" at Q.B ljust + "G" at Q.G ljust above + "Gb" at Q.Gb ljust below + `"ptrans(,L)"' wid 0.75 at Q.B+(0.25,0) ljust + } + ] with .Q.Gb at (last [].e.x+elen_/2+0.5,1st [].Q.Gb.y) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ThreeDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ThreeDPV.m4 new file mode 100644 index 00000000000..7f2311d0ea8 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ThreeDPV.m4 @@ -0,0 +1,47 @@ +.PS +# ThreeDPV.m4: three-phase oscillator +cct_init(svg_font(sans-serif,11bp__)) + +define(`section',`[ I: Here + resistor(right elen_*0.75); llabel(,R/2) +T: dot + line down dimen_/2 then right_ dimen_/4 + Amp: opamp(,,,,,{ + rgbfill(0.9*255,0.6*255,0.1*255,line to N then to E then to S then to Here) + "-" at In1 ljust + "+" at In2 ljust } + ) with .In1 at Here + line left dimen_/4 from Amp.In2 then down dimen_/4; G: ground(,,) + resistor(from T to (Amp.Out,T)); llabel(,R) +O: dot + { arrow up dimen_*0.5 then right dimen_/4 up dimen_/4 + "`$1'" above } + line to Amp.Out + dot(at T+(dimen_/4,0)); line up dimen_*0.6 + capacitor(right_ Amp.Out.x-Here.x-dimen_/4,C); llabel(,2C) + line to (Here,T); dot + ]') + +A: section(svg_symbol(0&`#'176;)) +B: section(svg_symbol(120&`#'176;)) with .I at A.O +C: section(svg_symbol(-120&`#'176;)) with .I at B.O + move right 22pt__ from C.O + + ground(at (A.I,A.G)+(dimen_/3,0),,) +P:potentiometer(down_ dimen_/2,,0.75,dimen_/2) with .End at Here + line from P.Start to (A.I,P.Start); dot + resistor(up_ dimen_*0.75 from P.T1) + line to A.T + + dot(at B.Amp.Out+(dimen_/3,0)); { "svg_it(V`'svg_sub(c))" at last [].n above } + resistor(down_ dimen_*0.75) + { dot; line right (C.T.x-Here.x)/2 + reversed(`diode',up_ dimen_) + line to C.T } + resistor(down_ dimen_*0.75) + dot + line from C.O right dimen_/4 then down C.O.y-Here.y then to (A.I,Here) \ + then to A.I + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/TimerDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/TimerDPV.m4 new file mode 100644 index 00000000000..6b36efe4906 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/TimerDPV.m4 @@ -0,0 +1,51 @@ +.PS +# TimerDPV.m4 +cct_init(svg_font(sans-serif,10.5bp__)) + +define(`ic555',`[Chip: box ht boxwid wid boxwid "555" + P7: "7" ljust at 1/6 + P6: "6" ljust at 1/2 + P2: "2" ljust at 5/6 + P4: "4" below at 1/3 + P8: "8" below at 2/3 + P3: "3" rjust at Chip.e + P1: "1" above at Chip.s + ]') + + define(`elen_',`linewid') +Vs: dot + down_ + variable(`resistor(,E); llabel(,svg_norm(1 M`'svg_ohm))'); + resistor(,E); llabel(,svg_norm(100 k`'svg_ohm)) + capacitor(,E); llabel(svg_norm(220 svg_micro`'F)) +Zero: dot + + dot(at Vs+(elen_*4/3,0)) + resistor(,E); llabel(,svg_norm(33 k`'svg_ohm)) + line to (Here,Zero) chop 0 chop elen_ +C2: capacitor; llabel(svg_norm(0.1 svg_micro`'F)) + dot + +IC1: ic555 with .P7 at C2.start + (elen_,0) + line from IC1.P4 to (IC1.P4,Vs); dot + line from IC1.P8 to (IC1.P8,Vs); dot + line from IC1.P1 to (IC1.P1,Zero); dot + line from IC1.P2 to (C2,IC1.P2); dot + crossover(from IC1.P7 to (Zero,IC1.P7),R,C2); dot + line from IC1.P6 left elen_/2 then down IC1.P6.y-IC1.P7.y; dot + line from IC1.P3 right elen_*2/3 +R: dot + line right_ elen_/3 +B: buzzer(,,C) with .In3 at Here + line from B.In1 to (R,B.In1) + reversed(`diode',to (Here,Vs),LE); "red" at last line.c+(elen_/2,0) + resistor(down_ elen_ from R,E); llabel(,svg_norm(470 svg_ohm)) + diode(to (Here,Zero),LE); {"green" wid 0.4 at last line.c+(elen_*2/3,0)} + line to Zero chop 0 chop -elen_ + line up_ (Vs.y-Here.y)/3 + battery(up_ (Vs.y-Here.y)/3); rlabel(,,svg_norm(9 V)) + switch(to (Here,Vs),,D) + line to (R,Vs) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/TtreeDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/TtreeDPV.m4 new file mode 100644 index 00000000000..2b779191b72 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/TtreeDPV.m4 @@ -0,0 +1,70 @@ +.PS +# Ttree.m4 +# A binary tree using m4 +gen_init +sinclude(tst.dim) +s_init(Ttree) + +# `Node(no in row, head [location], +# displacement of top of body (.n) wrt head, +# body Node 1, body Node 2, ...) ' +define(`Node',` + Head`$1': `$2' + ifelse(`$3',,,` Body`$1': [ + Loopover_(`v',`v; define(`m4ct',m4Lx)',shift(shift(shift($@)))) + ] with .n at Head`$1' + `$3' + connect(`$1',m4ct)')') + +define(`connect',`Bot: move from Head$1.sw-(0,5bp__) to Head$1.se-(0,5bp__) +for_(1,`$2',1, + `Top: move from Body$1.Head`'m4x.nw+(0,2bp__) \ + to Body$1.Head`'m4x.ne+(0,2bp__) + Mov: move from Head$1 to Body$1.Head`'m4x + if Bot.len*Top.len*Mov.len > 0 then { + line from Intersect_(Mov,Top) to Intersect_(Mov,Bot)}')') + + vsep = 0.75 +define(`txw',`wid `$1'mm__')dnl scaled by 14/12 for 14 pt type + + Node(1,"svg_it(h(h(h(x`'svg_sub(1),x`'svg_sub(2))," \ + + "h(x`'svg_sub(3),x`'svg_sub(4))),h(h(x`'svg_sub(5),x`'svg_sub(6))," \ + + "h(x`'svg_sub(7),x`'svg_sub(8)))))" txw(70) , + (0,-vsep), + Node(1,"svg_it(h(h(x`'svg_sub(1),x`'svg_sub(2)),h(x`'svg_sub(3)," \ + + "x`'svg_sub(4))))" txw(32) , + (0,-vsep), + Node(1,"svg_it(h(x`'svg_sub(1),x`'svg_sub(2)))" txw(14) , + (0,-vsep), + Node(1,"svg_it(x`'svg_sub(1):=((A,pk`'svg_sub(A)),h`'svg_sub(1)))" \ + txw(29) ), + Node(2,"svg_it(x`'svg_sub(2):=((B,pk`'svg_sub(B)),h`'svg_sub(2)))" \ + txw(29) with .n at last "".ne+(0.2,-vsep*2/3))), + Node(2,"svg_it(h(x`'svg_sub(3),x`'svg_sub(4)))" txw(14) \ + with .nw at Head1.ne+(Body1.wid/2+0.1,0), + (0,-vsep), + Node(1,"svg_it(x`'svg_sub(3):=" \ + + "((A,pk`'svg_prime`'svg_sub(A,,,-0.5ex)),h`'svg_sub(3)))" \ + txw(29)), + Node(2,"svg_it(x`'svg_sub(4):=((D,pk`'svg_sub(D)),h`'svg_sub(4)))" \ + txw(29) with .n at last "".ne+(0.2,-vsep*2/3)))), + Node(2,"svg_it(h(h(x`'svg_sub(5),x`'svg_sub(6)),h(x`'svg_sub(7)," \ + + "x`'svg_sub(8))))" txw(29) with .nw at Head1.ne+(Body1.wid/2,0), + (0,-vsep), + Node(1, "svg_it(h(x`'svg_sub(5),x`'svg_sub(6)))" txw(14) , + (0,-vsep*5/4), + Node(1,"svg_it(x`'svg_sub(5):=((E,pk`'svg_sub(E)),h`'svg_sub(5)))" \ + txw(29) ), + Node(2,"svg_it(x`'svg_sub(6):=((H,pk`'svg_sub(H)),h`'svg_sub(6)))" \ + txw(29) with .n at last "".ne+(0.2,-vsep*2/3))), + Node(2,"svg_it(h(x`'svg_sub(7),x`'svg_sub(8)))" txw(14) \ + with .nw at Head1.ne+(Body1.wid/2+0.1,0), + (0,-vsep*5/4), + Node(1,"svg_it(x`'svg_sub(7):=" \ + + "((D,pk`'svg_prime`'svg_sub(D,,,-0.5ex)),h`'svg_sub(7)))" \ + txw(29) ), + Node(2,"svg_it(x`'svg_sub(8):=((K,pk`'svg_sub(K)),h`'svg_sub(8)))" \ + txw(29) with .n at last "".ne+(0.2,-vsep*2/3))), + Node(3,"svg_it(h(x`'svg_sub(9)))" txw(8) \ + at 0.5 between Head1 and Head2))) + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/TubediagsDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/TubediagsDPV.m4 new file mode 100644 index 00000000000..03a7f451f22 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/TubediagsDPV.m4 @@ -0,0 +1,361 @@ +.PS +# TubediagsDPV.m4 + +cct_init(svg_font(sans-serif,10bp__,2bp__)) +include(../tubedefs.m4) + +# Some base diagrams +[ Loopover_(`xv',` + V_`'xv: m4xpand(B_`'xv) ifelse(m4Lx,1,, + `with .Base at last [].Base+(dimen_*3,0)') + "xv" at V_`'xv.Base.s+(0,-dimen_/3) below', + 2AG,2D,4BB,9K) ] + +# Test circuit +[ +Ld: dot + battery(up dimen_,2) + line right_ dimen_ +Pot1: potentiometer(down_ dimen_*2,5) with .Start at Here + line from Pot1.End left_ dimen_ + battery(up_ to Ld,2) +Tg: dot(at Pot1.T1) + source(right_ dimen_ from Pot1.T1,"svg_mu`'A") + line right_ dimen_/3 +Tr: triode with .G1.w at Here + line from Tr.K1.sw to (Tr.K1.sw,Pot1.End); dot + { line down dimen_/2 +B: dot } + source(to (Tg,Here),"V"); corner; line to Tg + line from Tr.P1.c to (Tr.P1.c,Pot1.Start) + source(right_ elen_,"mA"); llabel(-,,+); rlabel(,I`'svg_sub(b)) +Tp: dot + { source(down_ to (Here,B),"V") + llabel(+,,-); rlabel(,E`'svg_sub(b)); dot } + line right_ dimen_/2 then down_ (Here.y-B.y)/2 then right_ dimen_/2 +P2: potentiometer(down_ Tp.y-B.y,5,0.5,-dimen_/6) with .T1 at Here + dot(at P2.End) + line right_ dimen_ from P2.Start; corner + battery(down_ dimen_*3/4,2,R) +T: Here + battery(up_ dimen_*3/4 from (Here,B),2) + line dashed up_ to T "B" ljust + line from (T,B) left T.x-Ld.x+dimen_/2 then up Ld.y-B.y then to Ld + ] with .nw at last [].sw + (0,-dimen_/2) + +define(`OutputXformer',`[ pushdef(`dimen_',dimen_*1.5) + S1: inductor(up_ dimen_*.4,L,3,M) + { line right_ dimen_/4 from last [].e; S2T: dot(,,1) + line from S1.end right_ S2T.x-S1.end.x; S21: dot(,,1) + line from S1.start right_ S2T.x-S1.end.x; S22: dot(,,1) } + move up_ dimen_/8 + S2: inductor(up_ dimen_*.4,L,3,M) + { line right_ dimen_/4 from last [].e; S1T: dot(,,1) + line from S2.end right_ S2T.x-S2.end.x; S11: dot(,,1) + line from S2.start right_ S2T.x-S2.end.x; S12: dot(,,1) } + line down_ dimen_/8 from M4Core1.start + line down_ dimen_/8 from M4Core2.start + P: inductor(down_ dimen_*0.6 with .c at 0.5 between S1.end and S2.start \ + -(dimen_*0.8,0),L,5,) + P1: P.start + P2: P.end + PT: last [].w + popdef(`dimen_')]') + +define(`PowerXformer',`[ pushdef(`dimen_',dimen_*1.5) + S3: inductor(up_ dimen_*.2,L,1,M) + ST3: last [].e + { line up_ dimen_/10 from M4Core1.end; line up_ dimen_/10 from M4Core2.end } + S2: inductor(up_ dimen_*.2 from S3.end+(0,dimen_/10),L,1,M) + { line up_ dimen_/10 from M4Core1.end; line up_ dimen_/10 from M4Core2.end } + S1: inductor(up_ dimen_*.4 from S2.end+(0,dimen_/10),L,3,M) + ST1: last [].e + P: inductor(down_ dimen_*0.6 with .c at 0.5 between S1.end and S3.start \ + -(dimen_*0.8,0),L,5,) + popdef(`dimen_')]') + +# Circuit of 25 W amplifier (adapted from F. Langford-Smith, "Radiotron +# Designer's Handbook," fourth edition, Harrison, NJ, Radio Corporation +# of America, 1952) + +[ Toprail: Here +#{"Toprail"} + resistor(down_ dimen_); rlabel(,100 k) +V1P: dot +#{"V1P" rjust} + line down_ dimen_*3/4 +V1: triode(,W) with .P1 at Here + {"6SL7" at V1.nw above } + resistor(down_ dimen_*3/2 from V1.K1.sw); llabel(,2.2 k) +Rail1: dot +#{"Rail1"} + ground + arrow left_ from V1.G1.w +RP: Here + arrow <- right from (Here,Rail1) to Rail1 + dot(at last arrow) + resistor(up_ 2nd last arrow.y-Here.y); llabel(,22 k); dot + { move left_ dimen_ }; "Pickup" at RP below + capacitor(right_ dimen_ from V1P,C,R); llabel(,0.05 svg_mu) + resistor(down_ dimen_); rlabel(,470 k) +V1o: dot +#{ "V1o" at V1o rjust } + resistor(down_ (Here.y-Rail1.y)/2); rlabel(,22 k) + dot + { capacitor(down_ Here.y-Rail1.y,C); rlabel(,0.01 svg_mu); dot } + line right_ dimen_/2 +R47: resistor(down_ to (Here,Rail1)); llabel(,4.7 M) + line to Rail1 + +Pot1: potentiometer(down_ dimen_,,0.5,dimen_*2/3) \ + with .T1 at (V1o+(elen_+dimen_*2/3,0),V1.G1) + { line from Pot1.Start left_ (Pot1.Start.x-V1o.x)/2 + continue to (Here,V1o) then to V1o } + line from Pot1.End down_ dimen_/3 +Rail2: dot + ground +V2: triode(,E) with .G1.w at Pot1.T1; "6SL7" at V2.ne above + resistor(from Rail2 right_ V2.K1.e.x-Rail2.x); rlabel(,22 k); dot + { capacitor(right_ dimen_,C,R); rlabel(,2 n) +V2k: dot } +#{ "V2k" at V2k above } + { line down_ to (Here,Rail1) + variable(`resistor(right_ dimen_); rlabel(,1 M);') + line up_ to V2k } + line to V2.K1.se + + line from Toprail to (R47,Toprail); dot + { capacitor(down_ dimen_,C); rlabel(10 svg_mu); ground(,T) } + R51k: resistor(right_ dimen_); rlabel(,51 k); dot + { capacitor(down_ dimen_,C); llabel(10 svg_mu); ground(,T) } + dot(at (V2.P1.c,Here)) + resistor(down_ dimen_); llabel(,100 k) +V2p: dot + line to V2.P1 + +V3: triode(,W) with .G1.w at (V2k+(dimen_,0),V2.G1) + " 6SL7" at V3.n below ljust + resistor(from V3.K1.sw to (V3.K1.sw,Rail1)); llabel(,1.5 k); dot; ground + line left_ dimen_/2 + resistor(up_ to (Here,V3.G1)); llabel(,,2.2); rlabel(,,M); dot + { line to V3.G1.w } + line to (Here,V2p); capacitor(left_ to V2p,C,R); rlabel(,3 n) + + dot(at (V3.P1.c,Toprail)); { line to R51k.end } + resistor(down_ dimen_); llabel(,51 k) +V3p: dot +#{"V3p"} + line down_ (Here.y-V3.n.y)/2 +V3q: dot; { line to V3.P1.c } + capacitor(left_ dimen_*2/3,C); rlabel(,.1 svg_mu) + line to (V2k,Here) + resistor(down_ to V2k); rlabel(0.1); llabel( M) +#{"V2k" at V2k} + +V4: triode(,E) with .G1.w at (V3.G1.e+(dimen_*2,0),V3.G1) + "6SL7" at V4.n above rjust + resistor(from V4.K1.se to (V4.K1.se,Rail1)); rlabel(,,1.5 k) +V4k: dot +#{"V4k"} + line left dimen_*3/4 +V4k1: dot + { resistor(up_ V4.G1.y-Here.y); llabel(,,2.2 M) +V4G: dot } + line from V3p right_ dimen_ + variable(`resistor(down_ to (Here,V4.G1)); llabel(100 k)') +V3o: dot + capacitor(right_ to V4G,C); llabel(,3 n) + line to V4.G1.w + resistor(left_ from V4k1 to (V3o,V4k)); rlabel(,51 k); dot + ground + capacitor(down_ from V3o to Here,C); llabel(,,500 p) + + line from V4.P1.c to (V4.P1.c,V3p); + resistor(up_ dimen_); llabel(,51 k); dot + resistor(left_ to (V3p,Here)); llabel(,10 k) + +V5: triode(,N) with .G1.w at V4.G1.e+(2.25*dimen_,0) + "6SL7" at V5.n above rjust +V6: triode(,SR) with .G1.w at V5.G1.w-(0,dimen_*2.5) + "6SL7" at (V6.w,V6.P1) below rjust + +V4p: dot(at (V4.P1.c,V3p)) +#{"V4p"} + line right_ dimen_*2/3; capacitor(right_ dimen_,C); llabel(,3 p) + line down_ to (Here,V5.G1) +V5G: dot; { line to V5.G1.w } +#{"V5G"} + resistor(down_ dimen_); rlabel(,2.2 M); dot; + resistor(right_ to (V5.K1.sw,Here)); llabel(,1 k) +V5K: dot +#{"V5K"} + line to V5.K1.sw + line from V4k down_ V4k.y-V6.G1.y then right_ V5G.x-V4k.x - dimen_ + capacitor(right_ dimen_,C); rlabel(,3 p) +V6G: dot; { line to V6.G1.w } +#{"V6G"} + resistor(up_ dimen_); llabel(,2.2 M); dot + resistor(right_ to (V6.K1.nw,Here)); llabel(,1 k) +V6K: dot +#{"V6K"} + line to V6.K1.nw + resistor(left_ dimen_*2/3 from (V6G,V6K)); rlabel(,1 k) dot; ground + line to (Here,V5K); resistor(right_ dimen_*2/3); llabel(,1 k) + +PV: dot(at (V4.e.x+dimen_/5,Toprail.y)) +#{"PV"} + line from V6.P1.c down_ V4p.y-V4.P1.c.y +Rail2: dot +#{"Rail2" below} + line from PV to (PV,Rail2); corner + { resistor(right_ to Rail2); llabel(,220 k) } + move up_ dimen_*2/3; dot; line left_ dimen_/2 +V6sw: dot +#{"V6sw"} + capacitor(down_ dimen_*2/3,C); rlabel(,10 svg_mu); ground(,T) + +V5P: dot(at (V6.P1.c,V4p)); { line to V5.P1.c } +#{"V5P"} + resistor(to (Here,Toprail)); rlabel(,220 k) + line to (V4p,Here) + + V7: V_6L6G at (V3,Rail2+(0,-2*dimen_)); "6L6G" at V7.n above ljust + V8: V_6L6G(,R) at V7+(0,-2*dimen_); "6L6G" at V8.s below ljust + line right dimen_/4 from V7.G2.e; resistor(right_ dimen_); llabel(,100); +V9G: dot +#{"V9G"} + line right dimen_/4 from V8.G2.e; resistor(right_ dimen_); llabel(,100); + V9: V_6L6G(,,G2) with .G2.w at V9G+(dimen_/2,0); "6L6G" at V9.n above rjust + V10: V_6L6G(,R,G2) at V9+(0,-2*dimen_); "6L6G" at V10.s below rjust + line from V9G to V9.G2.w + line from V10.G2.w left_ dimen_/2 +L910: line from V9G to (V9G,V10.G2); dot + line left_ dimen_/2 from V7.G1.w +V7G: dot +#{"V7G"} + resistor(down_ to 0.5 between Here and (Here,V10.G1)); rlabel(,220 k) +V7T: dot +#{"V7T"} + { line left_ dimen_/3; corner; ground } + line from V8.G1.w to (V7G,V8.G1); dot + resistor(up_ to V7T); llabel(,220 k) + + line from V9.K1.sw to V10.K1.nw + line from V7.K1.sw to V8.K1.nw +V7K: dot(at last line.c+(0,dimen_/8)) +#{"V7K"} + line left_ dimen_*2; dot + { capacitor(down_ dimen_/2,C); llabel(,50 svg_mu); ground(,T) } +PP: potentiometer(left_ dimen_,,0.5,dimen_/2) with .Start at Here + rlabel(,50 10 W) + corner(,at PP.T1); line left_ dimen_ then up_ dimen_/4 + round(,tubethick) + line thick tubethick up tubeplatelen/3 left tubeplatelen*2/9 + round(,tubethick) + line thick tubethick down tubeplatelen/3 left tubeplatelen*2/9 + line down_ dimen_/4 then left_ dimen_ then up_ dimen_/4 + round(,tubethick) + line thick tubethick up tubeplatelen/3 left tubeplatelen*2/9 + round(,tubethick) + line thick tubethick down tubeplatelen/3 left tubeplatelen*2/9 + line down_ dimen_/4; ground + "1st two 6SL7" at Here+(dimen_*3/4,dimen_/2) above + +V9T: dot(at (L910,V7K)-(0,dimen_/4)) +#{"V9T"} + + line right_ dimen_/2 from V9.G1.e; continue to (Here,V9.P1)+(0,dimen_*2/3) + resistor(left_ to (V7G,Here)); llabel(,100) +V7nw: dot; { line to (Here,V7.G1) } + line right_ dimen_/2 from V10.G1.e; continue to (Here,V10.P1)-(0,dimen_*2/3) + resistor(left_ to (V7G,Here)); rlabel(,100) +V8sw: dot; { line to (Here,V8.G1) } + + line from V9.P1.c up_ dimen_ +V9P: dot + line from V10.P1.c down_ dimen_ +V10P: dot +#{"V10P"} + + line from V7.P1.c up_ V9P.y-V7.P1.y then to V9P + resistor(right_ to (V5.e+(dimen_/4,0),Here)) + rlabel(,"100 k" "2 W") +Rt1: Here + line to (Here,V6.e)+(0,dimen_/6); resistor(up_ dimen_) + llabel(,"100 k" rjust "2 W") + line to (Here,V5K) then to V5K + line from V8.P1.c down_ V8.P1.y-V10P.y then to V10P + resistor(right_ to (V6.e+(dimen_/2,0),Here)) + llabel(,"100 k" "2 W") + resistor(up_ dimen_*3/2) + llabel(,"100 k" rjust "2 W") + line to (Here,V6K) then to V6K + + line from V9T to (V9.e+(dimen_*3/4,0),V9T) +Xout: OutputXformer with .PT at Here + line from Xout.P1 to (Xout.P1,V9P); dot + line from Xout.P2 to (Xout.P1,V10P); dot + line from Xout.PT left_ dimen_/4 +XT: dot + + resistor(from V6sw left_ dimen_); rlabel(,10 k) +XP: dot + { line down_ dimen_; continue to (XT,Here) then to XT } + + capacitor(right_ dimen_*5/4 from V5P,C); llabel(,0.1 svg_mu) + corner; line to (Here,Rail2)-(0,dimen_/2) + continue to (V7nw,Here) then to V7nw + line from V8sw down_ dimen_*5/8 + continue to (Rail2,Here) then to (Rail2,V9.n) + capacitor(up_ dimen_/2,C,R); rlabel(,0.1 svg_mu) + line to Rail2 + + line from XP left_ dimen_*2; dot + { dot(at Here+(dimen_,0)) + { "290 V" at last [].n above } +R100: resistor(down_ dimen_*2/3) + llabel(,"100 k" ljust "2 W"); dot; ground } + { capacitor(down_ dimen_*2/3,C); llabel(,40 svg_mu); dot } + reversed(`inductor',left_ dimen_,L,,M); rlabel(,4 H 300 mA) +Filt: dot + { capacitor(down_ dimen_*2/3,C); llabel(,40 svg_mu) + line to R100.end } + +Pwr: [ + PXform: PowerXformer + line left_ dimen_/4 from PXform.P.start; fuse(left_ dimen_/2,D) + AC1: arrow left_ dimen_/2 + AC2: arrow from PXform.P.end to (AC1.end,PXform.P.end) + "AC" at 0.5 between AC1.end and AC2.end ljust + dot(at PXform.ST3); line right_ dimen_/4; dot + dot(at PXform.ST1); line right_ dimen_/4 then down_ dimen_*3/2; ground(,T) + line from PXform.S2.end right_ dimen_*2.5 then up_ dimen_/4 + Rect2: V_5V4G with .F1.sw at Here; "5V4G" at Rect2.n+(0,dimen_/2) + Rect1: V_5V4G with .e at Rect2.w-(dimen_/2,0); "5V4G" at Rect1.n+(0,dimen_/2) + move to Rect1.F1.sw; line to (Here,PXform.S2.end); dot + move to Rect1.F1.se; line to (Here,PXform.S2.start); dot + move to Rect2.F1.se; line to (Here,PXform.S2.start) +PO: dot + line from Rect1.P1 left_ dimen_/2; dot + { line to (Here,PXform.S1.start) then to PXform.S1.start } + line to (Here,Rect1.n)+(0,dimen_/8) + continue to (Rect1.P2+(dimen_/2,0),Here) + continue to (Here,Rect1.P2) then to Rect1.P2 + line from Rect2.P1 left_ dimen_/2 then up_ Rect2.ht/2+dimen_/4; dot + { line to (Rect2.P2+(dimen_/2,0),Here) + continue to (Here,Rect2.P2) then to Rect2.P2 } + move to PXform.S1.end + line right_ dimen_/8 then up last [].y - Here.y then to last [].w + arrow from PXform.S3.start right_ dimen_ + arrow from PXform.S3.end right_ dimen_ + "5 V" at PXform.S2 + (dimen_*3/4,0) + "6.3 V" at 0.5 between last arrow.end and 2nd last arrow.end ljust + ] with .nw at (RP,Filt)+(0,dimen_/4) + line from Pwr.PXform.S2.start to Pwr.PO + (dimen_*3/4,0); corner + resistor(up_ to (Here,Filt)); rlabel(,"V" ljust "adj"); corner + line to Filt + + ] with .nw at last [].sw+(0,-0.5) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/UNODPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/UNODPV.m4 new file mode 100644 index 00000000000..8cd5bf3898b --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/UNODPV.m4 @@ -0,0 +1,577 @@ +.PS +# UNODPV.m4 +log_init +include(icsDPV.m4) +textoffset = 1.5bp__ +svg_font(sans-serif,8.5bp__,textoffset) + +divert(-1) + + `Header([A][1|2], rows, wid, ht, + boxspec, pinlen;pinsize) + arg1: A= type A; number of columns + arg2: pins per column + arg3,4: custom wid, ht + arg5: eg fill_(0.9)' +define(`Header', +`[ define(`m4tp',ifinstr(`$1',A,A))define(`m4Hq',patsubst(`$1',A))dnl + define(`m4Hn',`ifelse(m4Hq,,1,m4Hq)')dnl + define(`m4Hm',`ifelse(`$2',,2,`$2')')dnl + define(`m4Hw',`ifelse(`$3',,`m4Hn*L_unit*3',`($3)')')dnl + define(`m4Hh',`ifelse(`$4',,`m4Hm*L_unit*3',`($4)')')dnl + ifinstr(`$6',;, + `stacksplit_(`m4Jdr',`$6',;)dnl + define(`m4Jps',ifelse(m4Jdr,,`L_unit',m4Jdr))popdef(`m4Jdr')dnl + define(`m4Jpl',ifelse(m4Jdr,,`lg_plen*L_unit',m4Jdr))popdef(`m4Jdr') ', + `define(`m4Jps',L_unit)dnl + define(`m4Jpl',`ifelse(`$6',,lg_plen*L_unit,`$6')')')dnl + Block: rotbox(m4Hw,m4Hh,`$5') + ifelse(`m4tp',A,`pushdef(`L_unit',(linewid/6))') + define(`m4Hct',1)dnl + for_(1,m4Hm,1, + `HeaderPin(Block.NW+vec_(m4Jps*3/2,-(m4x-1/2)*m4Hh/m4Hm), + ifinstr(m4tp,A,1,eval(m4Hct-1)), + P`'m4Hct, w, (m4Jpl+m4Jps);m4Jps) define(`m4Hct',incr(m4Hct)) + ifelse(m4Hn, 2, `HeaderPin(Block.NE+vec_(-m4Jps*3/2,-(m4x-1/2)*m4Hh/m4Hm), + 1, P`'m4Hct, e, (m4Jpl+m4Jps);m4Hps) define(`m4Hct',incr(m4Hct))') ') + ifelse(`m4Hq',A,`popdef(`L_unit')') + `$7' ]') + `HeaderPin(location, type, Picname, n|e|s|w, + [length][;pinsize]) + arg2: 0= square' +define(`HeaderPin',` + ifinstr(`$5',;, + `stacksplit_(`m4Hdr',`$5',;)dnl + define(`m4Hps',ifelse(m4Hdr,,`L_unit',m4Hdr))popdef(`m4Hdr')dnl + define(`m4Hpl',ifelse(m4Hdr,,`lg_plen*L_unit',m4Hdr))popdef(`m4Hdr') ', + `define(`m4Hps',L_unit)dnl + define(`m4Hpl',`ifelse(`$5',,lg_plen*L_unit,`$5')')')dnl + ifelse(`$1',,,`move to `$1';') + ifelse(`$3',,,`$3':) line to ifelse( + `$4',n,`rvec_(0,m4Hpl)', `$4',e,`rvec_(m4Hpl,0)', + `$4',s,`rvec_(0,-m4Hpl)', `rvec_(-m4Hpl,0)') + ifelse(`$3',,,Pin`$3':) ifelse(ifelse(`$2',,0,`$2'),0, + `rotbox(m4Hps,m4Hps,fill_(1))', + `circle diam m4Hps fill_(1)') at last line.start ') + +define(`brdge',`eleminit_(`$1') + define(`m4h',ifelse(`$2',,`sourcerad_',`($2)/2'))dnl + { line to rvec_(rp_len/2-m4h/2,0) + move to rvec_(m4h/2,0) + for m4ng=75 to 255 by 180 do {{ + m4fshade(0, arc cw from rvec_(Rect_(m4h/2,m4ng)) \ + to rvec_(Rect_(m4h/2,-m4ng)) \ + with .c at Here ) }} + line from rvec_(m4h/2,0) to rvec_(rp_len/2,0) } + { [box invis ht_ m4h wid_ m4h] at rvec_(rp_len/2,0) } + line to rvec_(rp_len,0) invis ') + +define(`ATMEGA16U2',`[ + Chip: box wid 10*lg_pinsep ht 25*lg_pinsep + Loopover_(`x', + `Arightpin(patsubst(x,;,`,'))', + 6;PD0, 7;PD1, 8;PD2, 9;PD3, 10;PD4, 11;PD5, 12;PD6, 13;PD7, + 131;nul, + 5;PC2, 26;PC4, 25;PC5, 23;PC6, 22;PC7, + 132;nul, + 133;nul, + 14;PB0, 15;PB1, 16;PB2, 17;PB3, 18;PB4, 19;PB5, 20;PB6, 21;PB7) + Loopover_(`x', + `Aleftpin(patsubst(x,;,`,'))', + 33;PAD, + 100;nul, + 28;UGND, 29;D`'svg_it(+), 30;D`'svg_it(-), 31;UVCC, 27;UCAP, + 101;nul, 102;nul, + 3;GND, 4;VCC, 103;nul, + 104;nul, + 32;AVCC, + 105;nul, 106;nul, + 1;XTAL1, + 107;nul, + 2;XTAL2(PC0), + 108;nul, 109;nul) + lg_pin(Pin109+(0,lg_pinsep),RESET,Pin24,wN,24,pinlen) + ]') +define(`Aleftpin',`move to Chip.sw+(0,m4Lx*lg_pinsep) + Pin`$1': ifelse(`$2',nul,Here,dnl + `line left pinlen "`$1'" above + "`$2'" ljust at last line.start')') +define(`Arightpin',`move to Chip.se+(0,m4Lx*lg_pinsep) + Pin`$1': ifelse(`$2',nul,Here,dnl + `line right pinlen "`$1'" above + "`$2'" rjust at last line.start')') + +define(`ATMEGA328P',`[ + Chip: box wid 10*lg_pinsep ht 23*lg_pinsep + Loopover_(`x', + `Arightpin(patsubst(x,;,`,'))', + 2;PD0, 3;PD1, 4;PD2, 5;PD3, 6;PD4, 11;PD5, 12;PD6, 13;PD7, + 100;nul, + 23;PC0, 24;PC1, 25;PC2, 26;PC3, 27;PC4, 28;PC5, + 101;nul, + 14;PB0, 15;PB1, 16;PB2, 17;PB3, 18;PB4, 19;PB5) + Loopover_(`x', + `Aleftpin(patsubst(x,;,`,'))', + 201;nul, 202;nul, 203;nul, 204;nul, 205;nul, 206;nul, 207;nul, 208;nul, + 209;nul, + 8;GND, 7;VCC, + 301;nul, + 22;AGND, 20;AVCC, 21;AREF, + 302;nul, + 9;XTAL1, + 303;nul, + 10;XTAL2, + 304;nul, 305;nul) + lg_pin(Pin305+(0,lg_pinsep),RESET,Pin1,wN,1,pinlen) + ]') + +define(`rswitch',`dswitch(`$1',,WBoDCP) + DS: last line.start; DC: last line.c; DE: last line.end + DL: DC-vec_(dimen_/6,0); DR: DC+vec_(dimen_/6,0) + {{"1" at DL above rjust}; {"3" at DR above ljust} + { line from DL to DL-vec_(0,dimen_/6) chop dotrad_ chop 0 + {"2" below rjust} + continue to DS-vec_(0,dimen_/6) then to DS; dot } + { line from DR to DR+vec_(0,-dimen_/6) chop dotrad_ chop 0 + {"4" below ljust} + continue to DE+vec_(0,-dimen_/6) then to DE; dot } + line from DC+vec_(dimen_/10,-dimen_/6) to DC+vec_(-dimen_/10,-dimen_/6) + move to last line.c; line to rvec_(0,-dimen_/3) \ + then to rvec_(-dimen_/3,-dimen_/3) + {"5" below}} ') + +divert(0)dnl + + maxpswid = 20 + maxpsht = 20 + + define(`pinlen',`30bp__') + define(`lg_pinsep',(1.2*lg_pinsep)) + del = lg_pinsep + define(`pindiam',0.1) + + define(`egnd',`ground(,,E); "GND" at last line.c below') + + U3: ATMEGA16U2 + `"ATMEGA16U2-MU(R)"' at U3.Chip.s below + `"U3"' at U3.Chip.nw ljust above + ZU4: ATMEGA328P with .Chip.nw at U3.Chip.sw+(-2.5,-10*del) + `"ATMEGA328P-PU"' at ZU4.Chip.s below + `"ZU4"' at ZU4.Chip.nw ljust above + + dot(at U3.Pin2.end) + R1: resistor(down_ 2*lg_pinsep,,E) + rlabel(,"R1" rjust "1M" rjust) + dot + dot(at R1.start-(2*del,0)) + xtal(down_ 2*lg_pinsep) + rlabel(16,,MHz); dot + XT2: dot(at last line.start-(2*del,0)); { "XT2" at last [].n above } + + Br1: brdge(left_ from U3.Pin33.end to (XT2,U3.Pin33)) + rlabel(1,,2); llabel(,GROUND) + BRE: dot + line to (Here,U3.Pin28) then to U3.Pin28.end + {"UGND" at (Br1,Here) above} + + XT1: dot(at XT2-(del,R1.len)); { "XT1" at last [].n above } + line from XT1 to U3.Pin1.end + line from U3.Pin2.end to (XT1,XT2) + C11: capacitor(left_ 3*del); rlabel(,C11); llabel(,22`'pF) + C9: capacitor(from XT1 to (Here,XT1)); {"C9" "22`'pF" at last [].s+(0,-11bp__)} + { line to C11.end } + dot + G1: egnd + line from XT1 down_ 3*del; continue to (G1,Here); dot(,,1) + {"XT3" at last [].n above} + dot(at Here+(0,-3/2*del),,1); {"XT4" at last [].n above} + { line to (XT2,Here) then to XT2 chop dotrad_ chop 0 } + USBVCC: dot(at Here+(0,-7/2*del),,1) + {"USBVCC" at last [].n-(3/2*del,0) above ljust} + { line to (Here,U3.Pin31) chop dotrad_ chop 0; continue to U3.Pin31.end } + dot(at Here+(2*del,0),,1); {"VUCAP" at last [].e+(0,-5bp__) ljust} + line to (Here,U3.Pin27) chop dotrad_ chop 0; dot + line from U3.Pin27.end to (G1.x-4.5*del,U3.Pin27.y) + C8: capacitor(down_ to (Here,Br1)); llabel(C8,,1`'svg_micro) + Bus1: dot + + dot(at U3.Pin33.end) + move to U3.Pin3.end; line to (Here,U3.Chip.s) + G2: ground(,T,E); {"GND" at last line.c below } + + dot(at U3.Pin32.end) + {line to U3.Pin4.end; dot} + line left del; ground(,,E,U); {"svg_it(+)5 V" at last line.c above} + + line from U3.Pin4.end left_ 2*del + capacitor(down_ 3*del); { llabel(C7,,100n) } + G3: ground(,T,E); {"GND" at last line.c below } + + line from U3.Pin30.end to (G1.x-2*del,U3.Pin30.y); TD: Here + continue to (Here,U3.Pin32) + { "RD`'svg_it(-)" above rjust }; continue left_ 1.5*del + RN3A: resistor(left_ 3/2*dimen_,,E); rlabel(,22R RN3A) + Dm: line left_ 7*del + +USB: [ K: box invis wid dimen_/2 ht 5*lg_pinsep + "USB" rjust at K.e + line thick 1.5 from K.nw to K.ne then to K.se then to K.sw + Loopover_(`x', + `Pin`'m4Lx: K.ne-(0,m4Lx/5*K.ht) + "x" at Pin`'m4Lx ljust above', + 1 XUSB, 2 D`'svg_it(-), 3 D`'svg_it(+), 4 UGND) + P_1: K.sw; {"P$`1'" at P_1 below rjust} + P_2: K.s; {"P$`2'" at P_2 below ljust} + ] with .Pin2 at Here; "X2" at USB.ne above rjust + + move to U3.Pin29.end + line to (TD.x-del,Here.y); continue to (Here,Dm-(0,lg_pinsep)) + { "RD`'svg_it(+)" above rjust} + continue to (RN3A.start,Here) + RN3D: resistor(left_ 3/2*dimen_,,E); llabel(,22R RN3D) + line to USB.Pin3 + + dot(at RN3A.end); line to (Here,RN3D) + Z2: variable(`resistor(down_ to (Here,U3.Pin27),,E); rlabel(Z2)',NN) + dot(at RN3D.end-(2*del,0)) + Z1: variable(`resistor(to (Here,U3.Pin27),,E); rlabel(Z1)',NN) + dot; line to (Z2,Here) + move up Z1.len/4 from last line.c; "CG0603MLC-05E" "X 2" + + line down_ del from USB.P_1; continue to (USB.P_2,Here); dot + line from USB.P_2 to (USB.P_2,Z1.end) then to Z1.end + dot(at (USB.P_2,Here)+(3/2*del,0)); line to (Here,USBVCC) + dot(,,1); {"USHIELD" at last [].n+(4bp__,0) above} + + L1: reversed(`inductor',down_ from Z1.end to (Z1,C8.end),W,,) + rlabel(,L1); llabel("svg_thinsp`'BLM21" ljust); dot + { dot(at (Z2,Here)); line to (Here,U3.Pin28); dot(,,1) + "UGND" at last [].n above } + line from USB.Pin1 to (Z2,USB.Pin1) then up 2*del + XUSB: dot(,,1); {"XUSB" at last [].n above} + line from (Z1,USB.Pin3) to (Z1,XUSB); + DP: dot(,,1); {"D`'svg_it(+)" at last [].n above} + dot(at (DP,USB.Pin2)-(2*del,0)); line to (Here,XUSB) + DM: dot(,,1); "D`'svg_it(-)" at last [].n above + line from USB.Pin4 to (DM,USB.Pin4) then to (DM,BRE) then to BRE + + line from U3.Pin18.end right_ 3.5*del + JP2: Header(A2,2,4*del,2*lg_pinsep,,0.2;pindiam) with .P3.end at Here + "JP2" at JP2.Block.nw above ljust + "2X2M - NM" at JP2.s below + "1" at JP2.P3.end above ljust; "3" at JP2.P1.end above ljust + "2" at JP2.P4.end above rjust; "4" at JP2.P2.end above rjust + line from JP2.P1.end to (JP2.P1.end,U3.Pin19) then to U3.Pin19.end + dot(at JP2.P1.end); line up 3.5*del + TPPB5: dot(,,1); {"PB5" at last [].e ljust} + TPPB4: dot(at TPPB5-(del*3/2,0),,1); {"PB4" at last [].w rjust} + line to (Here,JP2.P3); dot + line from JP2.P2.end to (JP2.P2.end,TPPB4) + TPPB7: dot(,,1); {"PB7" at last [].w rjust} + line from JP2.P4.end right del*3/2; continue to (Here,TPPB4) + TPPB6: dot(,,1); {"PB6" at last [].n above} + line from U3.Pin20.end right del then up del; continue to (TPPB6,Here); dot + line from U3.Pin21.end up del; continue to (TPPB7,Here); dot + + ICSP1: Header(A2,3,4*del,2.5*lg_pinsep,,0.2;pindiam) \ + with .P1.end at (JP2.P1.end,U3.Pin14) + "ICSP1" at last [].Block.nw above ljust + "3X2 M" at last [].Block.sw below ljust + for_(1,5,2,`"m4x" at ICSP1.P`'m4x.end above ljust') + for_(2,6,2,`"m4x" at ICSP1.P`'m4x.end above rjust') + line from ICSP1.P1.end to (ICSP1.P1.end,U3.Pin17) then to U3.Pin17.end + line from ICSP1.P3.end left del; continue to (Here,U3.Pin15) \ + then to U3.Pin15.end + + dot(at U3.Pin24.end); + RN1C: resistor(up_ 5*lg_pinsep,,E); rlabel(,10K,RN1C); llabel(5,,3) dot +# D3: diode(up_ 5*lg_pinsep); rlabel(,,D3); dot + line up_ 2*del; ground(,T,E,U); {"+5 V" at last line.w rjust} + dot(at U3.Pin24.end-(del,0)); +# RN1C: resistor(up_ D3.len,,E); llabel(,10K,RN1C) + D3: diode(up_ RN1C.len); llabel(,,D3) + line to (TPPB6.x+del,Here.y) + continue to (Here,ICSP1.P2.end) then to ICSP1.P2.end + line from ICSP1.P5.end down 2*del; continue to (TPPB6.x+2*del,Here.y) + TRESET2: Here + continue to (Here.x,D3.end.y+del) then to (RN1C.end.x-2.5*del,D3.end.y+del) + continue to (Here,U3.Pin24) then to U3.Pin24.end + G4: ground(at ICSP1.P6.end,,E); {"GND" at last line.c below } + line from ICSP1.P4.end right del then up U3.Pin16.y-ICSP1.P4.y \ + then to U3.Pin16.end + dot(at ICSP1.P1.end); line left_ 2.5*del then down_ 5*del + MISO2: dot(,,1); {"MISO2" at last [].s below } + dot(at ICSP1.P3.end-(del,0)); line to (Here,MISO2) + SCK2: dot(,,1); {"SCK2" at last [].s below ljust } + dot(at TRESET2); line to (Here,SCK2) + RESET2: dot(,,1); {"RESET2" wid 36bp__ at last [].s below } + dot(at ICSP1.P4.end+(del,0)); line to (Here,RESET2) + MOSI2: dot(,,1); {"MOSI2" at last [].s-(del,0) below } + + line right_ del from U3.Pin11.end then up_ del*3/2 + TXLED: reversed(`diode',right_ elen_,LER) + rlabel(,YELLOW); llabel(TX); dot + {line up_ del; TPTXL: dot(,,1); "TXL" at last [].n above} + RN2C: resistor(right_ elen_,,E); llabel(,1 K RN2C); rlabel(6,,3); dot + line from U3.Pin10.end to (TXLED.start,U3.Pin10) + RXLED: reversed(`diode',to (TXLED.end,Here),LER) + rlabel(,YELLOW); llabel(RX); dot + {line up_ del; dot(,,1); "RXL" at last [].n above} + RN2B: resistor(right_ elen_,,E); llabel(,1 K RN2B); rlabel(7,,2) + line to (Here,TPTXL); ground(,T,E,U); "+5 V" at last line.c above + +# ZU4 connections + line left_ del*3/2 from ZU4.Pin7.end; dot + {line up_ del; G4: ground(,T,E,U); "+5 V" at last line.c above } + C6: capacitor(down dimen_); llabel(100n,,C6); dot + { dot(at ZU4.Pin8.end) }; dot(at (ZU4.Pin8.end,Here)) + { G4: ground(at Here+(0,-del),,E); {"GND" at last line.c below } + line to ZU4.Pin22.end } + line left_ Here.x-C6.x + dimen_*5/4 + C10: capacitor(up_ C6.len); llabel(100n,,C10); dot + { line to (Here,ZU4.Pin20) then to ZU4.Pin20.end } +# L2: ebox(right_ to C6.start,,,0.2); rlabel(,L2); llabel(,100`'svg_micro`'H) + L2: inductor(right_ to C6.start,W); rlabel(,L2); llabel(,100`'svg_micro`'H) + + line left 2*del from ZU4.Pin9.end; PE: dot + R2: resistor(up_ to (Here,ZU4.Pin10),,E); llabel(,R2); rlabel(,1 M); dot + dot(at Here-(del*4.0,0)); { "XTAL2" above ljust } + XTAL: xtal(down_ R2.len); llabel(16 MHz); dot; { "XTAL1" below ljust } + pushdef(`dimen_',dimen_/2) + capacitor(left_ del from 0.25 between XTAL.start and XTAL.end) + capacitor(left_ del from 0.75 between XTAL.start and XTAL.end) + popdef(`dimen_') + line up XTAL.len/2 + line left del from last line.c then down del + G5: ground(,T,E); "GND" at last line.c below + line down_ del from XTAL.end; dot(,,1); "XT1" at last [].s below + line up del from XTAL.start; dot(,,1); "XT2" at last [].n above + line from XTAL.start to ZU4.Pin10.end + line from XTAL.end to ZU4.Pin9.end + line left 2*del from ZU4.Pin1.end; dot +# dot(at ZU4.Pin1.end) + D2: diode(up_ dimen_); rlabel(,D2) + dot(at D2.start-(2.5*del,0)) + RN1D: resistor(up_ D2.len,,E); rlabel(10 K,,RN1D); dot + { line to D2.end } + line up_ del; ground(,T,E,U); "+5 V" at last line.c above + + line from ZU4.Pin1.end to (RN1D-(1.5*del,0),ZU4.Pin1) then up 7*del + continue to (ZU4.Chip.w,Here)+(del,0); BRB: dot + { line down_ 2*del; Br2: brdge(right_ dimen_) + llabel(1,,2); rlabel(,RESET_EN); line up_ 2*del; dot } + line right_ dimen_+del + C5: capacitor(right_ dimen_); llabel(,C5); rlabel(100n); dot + { RN2D: resistor(down_ dimen_,,E); rlabel(,1 K); llabel(,RN2D) + G6: ground(,T,E); "GND" at last line below } + { line up_ del; DTR: dot(,,1); "DTR" at last [].e ljust } + line from U3.Pin13.end right del/2; continue to (Here,U3.Chip.s) \ + then left+2*del; continue to (Here,BRB) then to C5.end + TP2: Here; continue to C5.end + + line up 3*del from BRB + TP1: dot #; line left BRB.x-RN1D.x + RESET: rswitch( right_ dimen_ from (USB.e,Here)+(del/2,0)) + { "RESET" at RESET+(-del*1.7,1.0*del) above } + line left del from RESET.start then down del + G7: ground(,T,E); "GND" at last line.c below + + ICSP: Header(A2,3,4*del,2.5*lg_pinsep,,0.2;pindiam) \ + with .Block.sw at ZU4.Pin19.end+(2*del,del*3) + "ICSP" at ICSP.Block.nw above ljust + "3X2 M" at ICSP.Block.sw below ljust + for_(1,5,2,`"m4x" at ICSP.P`'m4x.end above ljust') + for_(2,6,2,`"m4x" at ICSP.P`'m4x.end above rjust') + dot(at ZU4.Pin19.end); line to (Here,ICSP.P3) then to ICSP.P3.end + line from ZU4.Pin18.end right del; dot + line to (Here,ICSP.P1) then to ICSP.P1.end + move to ICSP.P5.end; line to (ZU4.Pin19.end,Here)-(del,0); + continue to (Here,TP1); dot + line from ICSP.P2.end up_ del; ground(,T,E,U); "+5 V" at last line.c above + line from ICSP.P6.end down_ del; G9: ground(,T,E); "GND" at last line.c below + move to ICSP.P4.end; line right_ del then down Here.y - ZU4.Pin17.y; dot +# move to ICSP.P4.end; line right_ del then down Here.y - G9.y + del +# continue to (ICSP.P1.end.x+del,Here.y) then down_ Here.y-ZU4.Pin17.y; dot + + line right_ from RESET.end to (U3.Chip.e+(12*del,0),TP1) + POWER: Header(A1,8,1.5*del,7*lg_pinsep,,0.2;pindiam) with .P3.end at Here + "POWER" wid 36bp__ at POWER.Block.nw above ljust + "8X1F-H8.5" at POWER.Block.sw below ljust + for_(1,8,1,`"m4x" at POWER.P`'m4x.end above ljust') + line from POWER.P2.end left del/2 then down POWER.P2.y-POWER.P5.y ; dot + line from POWER.P4.end left 2.5*del; "+3V3" above ljust + dot(at POWER.P3.end-(del*1.5,0)); line up 2*del + dot(,,1); "RESET" at last [].n above + line from POWER.P5.end left 3.5*del then up 4*del; ground(,T,E,U) + "+5 V" at last line.c above + line left del*2 from POWER.P8.end; "VIN" above ljust + line left del/2 from POWER.P7.end; dot + line from POWER.P6.end to (Here,POWER.P6.end) then to Here+(0,-2.5*del) + G10: ground(,T,E); "GND" at last line.c below + + right_ + + IOH: Header(A1,10,1.5*del,10*lg_pinsep,,0.2;pindiam) \ + with .P10.end at ZU4.Pin14.end + (del*15,0) + "IOH" at IOH.Block.nw above ljust + "10X1F-H8.5" at IOH.Block.se below ljust + for_(0,9,1,` + { "incr(m4x)" above ljust at IOH.P`'eval(10-m4x).end } + move to IOH.P`'eval(10-m4x).start-(pindiam/2+dotrad_/2,0) + ifelse(m4x,6,,`dot') + move to IOH.P`'eval(10-m4x).end + ifelse(eval(m4x<6),1,`line from ZU4.Pin`'eval(14+m4x).end to Here ') + ifelse(m4x,6,,` line right del*4; dot(,pindiam/2,1) ') + ifelse(eval(m4x<6),1,`"eval(8+m4x)" at last [].e ljust ')') + "SCL" at last [].e ljust + "SDA" at 3rd last [].e ljust + "AREF" at 5th last [].e ljust + + AD: Header(A1,6,1.5*del,6*lg_pinsep,,0.2;pindiam) \ + with .P6.end at (IOH.P10.end,ZU4.Pin23) #.end + (del*6,0) +# with .P6.end at ZU4.Pin23.end + (del*6,0) + "AD" at AD.Block.nw above ljust + "6X1F-H8.5" at AD.Block.se below ljust + for_(0,5,1,` + dot(at AD.P`'eval(6-m4x).start-(pindiam/2+dotrad_/2,0)) + line from ZU4.Pin`'eval(23+m4x).end \ + to AD.P`'eval(6-m4x).end; {"incr(m4x)" above ljust} + line right del*4; dot(,pindiam/2,1) + "A`'m4x" at last [].e ljust ') + + IOL: Header(A1,8,1.5*del,8*lg_pinsep,,0.2;pindiam) \ + with .P8.end at (AD.P1.end,ZU4.Pin2) + "IOL" at IOL.Block.nw above ljust + "8X1F-H8.5" at IOL.Block.sw ljust below + for_(0,7,1,` + dot(at IOL.P`'eval(8-m4x).start-(pindiam/2+dotrad_/2,0)) + line from ZU4.Pin`'eval(ifelse(eval(m4x<5),1,2,6)+m4x).end \ + to IOL.P`'eval(8-m4x).end; {"incr(m4x)" above ljust} + line right del*4; dot(,pindiam/2,1) + "m4x" at last [].e ljust ') + + line from ZU4.Pin21.end up RESET.y-ZU4.Pin21.y-del \ + then right ICSP.P4.end.x-ZU4.Pin21.end.x + 2*del + continue to (Here,IOH.P3)+(0,del*3/2); dot + { C4: capacitor(down_ 3.0*del); llabel(C4,,100n) + { ground(,T,E); "GND" at last line.e ljust} + line from IOH.P4.end to (Here,IOH.P4); dot } + line right del*3/2; continue to (Here,IOH.P3) then to IOH.P3.end + + line left del/2 from IOH.P2.end; continue to (Here,AD.P2); dot + line left del*3/2 from IOH.P1.end; continue to (Here,AD.P1); dot + +# line right_ del*2 from U3.Pin9.end then down_ 5.5*lg_pinsep; dot + line right_ del*2 from U3.Pin9.end then down_ 3.5*lg_pinsep; dot + { line right_ 2*del; dot(,,1); "RX" at last [].e ljust } + line to (Here,RESET)-(0,del) + RN4B: resistor(down_ dimen_,,E); llabel(7,"RN4B" ljust "1 K" ljust,2) + line down_ del then left_ Here.x - IOH.P9.end.x + del*2.5 + continue to (Here,ZU4.Pin2); dot + + line right_ del from U3.Pin8.end; dot + { line right_ 3*del; dot(,,1); "TX" at last [].e ljust } + line to (Here,RN4B.start) + RN4A: resistor(down_ dimen_,,E); rlabel(8,"RN4A" rjust "1 K" rjust,1) + line to (IOH.P9.end,Here)-(del*3.5,0); continue to (Here,ZU4.Pin3); dot + +Pwr: [ + Vin: line right 2*del "VIN" above + RN1A: resistor(down_ dimen_*5/4,,E); rlabel(8, "RN1A" rjust "10 K" rjust ,1) + CMP: dot + RN1B: resistor(down_ dimen_*5/4,,E); rlabel(2, "RN1B" rjust "10 K" rjust ,7) + B12: ground(,T,E); "GND" at last line below + + line right_ 2*del from CMP; dot + { line up_ 2*del; dot(,,1); "CMP" at last [].n above } + line right_ del + POA: opamp(,"+" ljust,"-" ljust) with .In1 at Here + "U5A" at last [].n; "1" at POA.Out above rjust + "3" at POA.In1 rjust above; "2" at POA.In2 rjust above + line left_ del from POA.In2 then down_ del; "+3V3" below + dot(at POA.Out); {line up_ 2*del; dot(,,1); "GATE" at last [].n above } + T1: mosfet(down_ dimen_*1.5,R,dMdPyEDSQdB,) with .G at Here + "T1" at T1 + (-dimen_/4,del*5/4) + "FDN340P" at T1 + (0,-del*5/4) rjust +# "USBVCC" at T1.D rjust + dot(at T1.S); { line up_ 2*del; ground(,T,E,U); "+5 V" at last line above } + ] with .RN1B at (USB.e.x+del,RN1C.y-2*del) + dot(at XUSB+(0,-del/2)) + F1: fuse(right_ to (Pwr.T1.D,Here)); { "500 mA" ljust } + { "MF-MSMF050-2" at last [].sw below ljust } + line to Pwr.T1.D + + line from Pwr.T1.S right_ 2.5*lg_pinsep + { U2:box ht 3*lg_pinsep wid 5*lg_pinsep with .nw at Here+(0,lg_pinsep/2) } + {"1" above rjust}; {"IN" ljust} + "LP2985-33DBVR" at U2.s below + "U2" above ljust at U2.nw + "3" above rjust at U2.w; line left del from U2.w then up_ lg_pinsep; dot + "ON/svg_ol(OFF)" at U2.w ljust +# line right_ textht*0.66*3 from U2.w+(textht*0.66*5,textht) + U2P2: U2.w+(0,-lg_pinsep); "2" at U2P2 above rjust; "GND" at U2P2 ljust + line from U2P2 left del then down_ del + G15: ground(,T,E); "GND" at last line.c below + U2P5: (U2.e.x,U2.e.y+lg_pinsep) + "OUT" at U2P5 rjust; "5" at U2P5 above ljust + line from U2P5 right 2*del "+3V3" below; dot + { line up_ del; dot(,,1); "3V3" at last [].n above } + C3: capacitor(down_ to(Here,G15)); rlabel(,"C3" rjust "1`'svg_micro" rjust) + ground(,T,E); "GND" at last line.c below + "NC/FB" at (U2.e.x,U2P2.y) rjust + + "SCK" above ljust at Pwr.Vin + (0,4*del) + line right_ 3*del + U5B: opamp(,"+" ljust, "-" ljust) with .In1 at Here + "5" at U5B.In1 above rjust; "6" at U5B.In2 above rjust + "U5B" at last [].n; "7" at U5B.Out above rjust + line from U5B.In2 left del then down del then right U5B.Out.x-U5B.In1.x+del + TD2: dot + dot(at U5B.Out); dot(at Here+(0,2*del),,1); "LCMD" at last [].e ljust + line down_ from last [].s to TD2 + RN2A: resistor(right_ dimen_*5/4,,E); llabel(8,"1K",1); rlabel(,RN2A) + dot; {line up_ 2*del; dot(,,1); "LL" at last [].n above } + diode(right_ dimen_*5/4,LE); rlabel(,YELLOW) + line down_ dimen_/4; egnd + + X1:box ht 3*lg_pinsep wid 5*lg_pinsep with .w at (U2.x,U5B.y+del) + "X1 DC21MMX" at X1.nw above ljust; "PWR SUPPLY" at X1.nw below ljust + X1P1: 1/3 between X1.sw and X1.se; "1" at X1P1 rjust below + X1P2: 2/3 between X1.sw and X1.se; "2" at X1P2 rjust below + line down_ del from X1P1; dot; { egnd } + line right X1.e.x+del - Here.x then up_ X1.e.y-Here.y then to X1.e + "3" above ljust at X1.e + line from X1P2 down del/2 then right X1.e.x+del*2 - X1P2.x \ + then up X1.n.y - X1P2.y + del/2; dot + { line up_ 2*del; PWRIN: dot(,,1); "PWRIN" at last [].w rjust } + D1: diode(right_ dimen_); llabel(,D1); rlabel(,M7); dot + { PC1: capacitor(down_ dimen_,C); llabel(,"PC1" ljust "47`'svg_micro" ljust) + G16: egnd } + { line to (Here,PWRIN); dot(,,1); "VIN" at last [].e ljust } + line right 3*del; { "3" above rjust } + U1P1: Here + U1: box ht 3*lg_pinsep wid 4*lg_pinsep with .nw at Here+(0,lg_pinsep/2) + "IN" at U1P1 ljust; "OUT" at (U1.e,U1P1) rjust + "1" below rjust at U1.s + "U1" at U1.nw + (0,textht/dptextratio) above ljust \ + "NCP1117ST50T3G" ljust + line from U1.s to (U1.s,G16); egnd + U1P4: (U1.e,U1P1); U1P2: U1P4+(0,-del) + { "4" at U1P4 above ljust }; { "2" at U1P2 above ljust }; + line right_ 2*del from U1P4; dot; + line from U1P2 to (Here,U1P2); dot; { line to (Here,U1P4) } + { PC2: capacitor(down_ to (Here,G16),C) + llabel(,"PC2" ljust "47`'svg_micro" ljust); egnd } + line right_ del*3/2 from (Here,U1P4); dot + { line to (Here,PWRIN); ground(,T,E,U); "+5V" at last line.c above } + line right_ del*3/2; dot; { line to (Here,PC2.start) + C2: capacitor(down_ to (Here,G16),C) + llabel(,"C2" ljust "100`'svg_micro" ljust); egnd } + { line to (Here,PWRIN); dot(,,1); "5V" at last [].n above } + line right_ del*3/2 then to (Here.x+del*3/2,PWRIN.y); dot(,,1) + "5V1" at last [].n above + + + + command "" +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/VariableDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/VariableDPV.m4 new file mode 100644 index 00000000000..fb23355e87b --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/VariableDPV.m4 @@ -0,0 +1,29 @@ +.PS +# `VariableDPV.m4' +cct_init + +define(`elen_',dimen_); down_ +[ { variable(`resistor',A) }; {"svg_tt(A)" at last line.end below}; move right + { variable(`resistor',N) }; {"svg_tt(N)" at last line.end below}; move right + { variable(`resistor',uN) }; {"svg_tt(uN)" at last line.end below}; move right + { variable(`resistor',NN) }; {"svg_tt(uN)" at last line.end below}; move right + { variable(`resistor',uNN) }; {"svg_tt(uNN)" at last line.end below} + ] +[ + skp = 0.4 + hskip = linewid*0.5 + cskip = hskip +Orig: Here + { move right cskip+elen_+hskip + line invis right_ elen_ "svg_tt(C)"; move right_ hskip + { move up_ 0.25 } + line invis right_ elen_ "svg_tt(S)" } + Loopover_(`char', + `move down skp ifelse(char,A,*0.5) + { line invis right_ cskip "svg_tt(char)" + variable(`capacitor(,C)',char); move right_ hskip + variable(`capacitor(,C)',char`'C); move right_ hskip + variable(`capacitor(,C)',char`'S) }', + A,P,L,N) + ] with .w at last [].e+(0.4,0) +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/WindingsDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/WindingsDPV.m4 new file mode 100644 index 00000000000..e4faa89b5c1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/WindingsDPV.m4 @@ -0,0 +1,102 @@ +.PS +# Windings.m4 +cct_init(svg_font(sans-serif,10bp__)) +textoffset = 3bp__ + +define(`vlight',`rgbstring(0.9,0.9,0.9)') +define(`lightgray',`rgbstring(0.7,0.7,0.7)') + +[ winding ] + `"winding"' at last [].s below + +[ winding(R) ] with .n at last "".s+(0,-0.1) + `"winding(R)"' wid 1 at last [].s below + +[ sk = 0.75 + d = 1.5*sk + p = 0.4*sk + w = 1*sk + +W: winding(L,d,p,4,w,vlight) + +thinlines_ + dimension_(from W.nw+(p/4,0) right p,0.1,"pitch" above,0.3) + dimension_(from W.sw to W.nw,0.2,diam,0.3) + dimension_(from W.e+(-p/2,-w/2) up w,-0.3,,0.2) + "core wid" wid 0.75 at W.e ljust + arrow <- up d-w+0.1 left d/10 from W.ne+(-p/2,-(d-w)) + "core color" at Here+(-0.2,0) ljust above +thicklines_ +] with .sw at last [].se+(0.25,0) + "T1" at last [].W.T1 below + "T2" at last [].W.T2 below + +[ +#`winding(L|R, diam, pitch, nturns, core wid, core color )' +boxwid = 0.3 +boxht = 0.4 + down_ +B1: box + winding(,boxwid*1.3,boxht/5,3,boxwid) at B1 + "Left pins" "cw" at B1.s+(0,-0.15) + for_(1,2,1,`"svg_small(T`'m4x)" at last [].T`'m4x rjust') +B2: box at B1.e + (0.5,0) + winding(R,boxwid*1.3,boxht/5,3,boxwid) at B2 + "Left pins" "ccw" at B2.s+(0,-0.15) + for_(1,2,1,`"svg_small(T`'m4x)" at last [].T`'m4x rjust') + up_ +B3: box at B1.s + (0,-0.55) + winding(,boxwid*1.3,boxht/5,3,boxwid) at B3 + "Right pins" "cw" at B3.s+(0,-0.15) + for_(1,2,1,`"svg_small(T`'m4x)" at last [].T`'m4x ljust') +B4: box at (B2,B3) + winding(R,boxwid*1.3,boxht/5,3,boxwid) at B4 + "Right pins" "ccw" at B4.s+(0.07,-0.15) + for_(1,2,1,`"svg_small(T`'m4x)" at last [].T`'m4x ljust') +] with .sw at last [].se+(0,-0.15) + +[ + Q: box invis ht 1 wid 5/4 + g = Q.wid/12 + ironwid = Q.wid/4.5 + + line thick ironwid/(1bp__)+linethick from Q.n+(g/2-linethick/2 bp__,0) \ + to Q.ne then to Q.se then to Q.sw then to Q.nw \ + then to Q.n+(-g/2+linethick/2 bp__,0) + line thick ironwid/(1bp__)-linethick outlined lightgray \ + from Q.n+(g/2+linethick/2 bp__,0) \ + to Q.ne then to Q.se then to Q.sw then to Q.nw \ + then to Q.n+(-g/2-linethick/2 bp__,0) + +thinlines_ + dimension_(from Q.n+(-g/2,-ironwid/2) right g,-ironwid/4, + "svg_it(g)" below,1,2pt__) +thicklines_ + + down_ + P: winding(R,ironwid*5/4,ironwid/2,4,ironwid,lightgray) at Q.w + line left ironwid*2/3 from P.T1 + arrow right to P.T1 "svg_it(i`'svg_sub(1))" above + line left ironwid*2/3 from P.T2 + gap(up_ to 2nd last line.end) + llabel(-,svg_it(v`'svg_sub(1)),+) + "svg_it(N`'svg_sub(1))" at P.e ljust + + up_ + S: winding(L,ironwid*5/4,ironwid/2,4,ironwid,lightgray) at Q.e + line right ironwid*2/3 from S.T2 + arrow left to S.T2 "svg_it(i`'svg_sub(2))" above + line right ironwid*2/3 from S.T1 + gap(up_ to 2nd last line.end) + rlabel(-,"svg_it(v`'svg_sub(2))" wid 0.2,+) + "svg_it(N`'svg_sub(2))" at S.w rjust + + box dashed rad ironwid/4 wid Q.wid ht Q.ht at Q + arrow right arrowht from 0.5 between Q.n and Q.ne + + move up ironwid/2 from Q.n + move down ironwid/2 from Q.s +] with .sw at last [].se+(0.25,0) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/XORDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/XORDPV.m4 new file mode 100644 index 00000000000..cf373cb065d --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/XORDPV.m4 @@ -0,0 +1,67 @@ +.PS +# `XORDPV.m4' +# Realizations of the XOR function +log_init +scale = 2.54 + +define(`gatelineth',1.6) # gate line thickness +define(`lineth',0.8) # connection thickness + +define(`labels',` + "svg_it(A)" at last [].InA above wid 0.25 + "svg_it(B)" at last [].InB above wid 0.25 + "svg_it(A) O`'svg_sup(+,100,0,-1.4ex) svg_it(B)" at last [].Out ljust wid 1.2 +#"svg_it(A) svg_font(Latin,,,"O")`'svg_sup(+,100,0,-1.4ex) svg_it(B)" at last [].Out ljust +') + +# single gate + XOR: Autologix(Xor(A,B)) + labels + +# canonical form + Autologix(Or(And(A,Not(B)),And(Not(A),B))) \ + with .nw at last [].sw+(0,-1) + labels + +# mixed gates + Autologix(And(Nand(A,B),Or(A,B))) \ + with .nw at last [].nw+(8,0) + labels + +# nand realization + Autologix(Nand(Nand(Nand(A,A),B),Nand(Nand(B,B),A))) \ + with .nw at 2nd last [].sw+(0,-1) + labels + +# nor realization + Autologix(Nor(Nor(Nor(A,A),Nor(B,B)),Nor(A,B))) \ + with .nw at last [].nw+(8,0) + labels + +# These functions contain topologies in common so write a macro +define(`customAB', + `S: Autologix(N`$1'(N`$1'(A,B1),N`$1'(B1,B)),N) with .Out at Here + line thick lineth from S.In2 to S.In3; InAB: dot(at last line.c) + line thick lineth from InAB left 2*L_unit + TN: Autologix(N`$1'(A,B)) with .Out at Here + line thick lineth from TN.InA up 3*L_unit; InA: Here + line thick lineth from TN.InB up 3*L_unit; InB: Here + line thick lineth from S.In4 to (InB,S.In4) then to (InB,TN.In2); dot + line thick lineth from S.In1 to (InA,S.In1); dot') + + [ customAB(and) + Out: S.Out + ] with .nw at 2nd last [].sw+(0,-1) + labels + + [ linethick = gatelineth + H: NOR_gate(2); linethick = lineth + L:dot(at H.w-(2*L_unit,0)) + line from H.In1 to (L,H.In1) then to (L,H.In2) then to H.In2 + line from L left 2*L_unit + customAB(or) + Out: H.Out + ] with .nw at last [].nw+(8,0) + labels + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/XformDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/XformDPV.m4 new file mode 100644 index 00000000000..ff39a8b83eb --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/XformDPV.m4 @@ -0,0 +1,41 @@ +divert(-1) +# `XformDPV.m4' +define(`trlabels', + `{ thinlines_ + ifelse(`$1',R, + `arrow from `$3'.P1 <- right 0.12 up 0.072 chop 1pt__ ; "P1" ljust + arrow from `$3'.P2 <- right 0.12 down 0.072 chop 1pt__ ; "P2" ljust + arrow from `$3'.TP <- right 0.12 chop 1pt__ ; "TP" ljust + arrow from `$3'.S1 <- left 0.12 up 0.072 chop 1pt__ ; "S1" rjust + arrow from `$3'.S2 <- left 0.12 down 0.072 chop 1pt__ ; "S2" rjust + arrow from `$3'.TS <- left 0.12 chop 1pt__ ; "TS" rjust + ',` + arrow from `$3'.P1 <- left 0.12 up 0.072 chop 1pt__ ; "P1" rjust + arrow from `$3'.P2 <- left 0.12 down 0.072 chop 1pt__ ; "P2" rjust + arrow from `$3'.TP <- left 0.12 chop 1pt__ ; "TP" rjust + arrow from `$3'.S1 <- right 0.12 up 0.072 chop 1pt__ ; "S1" ljust + arrow from `$3'.S2 <- right 0.12 down 0.072 chop 1pt__ ; "S2" ljust + arrow from `$3'.TS <- right 0.12 chop 1pt__ ; "TS" ljust + ') + `"'`$2'`"' at `$3'.s+(0,-(`$4')) + thicklines_ } ') +divert(0)dnl +.PS +cct_init(svg_font(sans-serif,11bp__)) + +move right 0.5 + down_ + T1: transformer + trlabels(,`transformer',T1,0.3) + T2: transformer(down_ 0.6,,2,P,8) with .w at T1.e+(1,0) + trlabels(,`...(down_ 0.6,,2,P,8)',T2,0.3) + T3: transformer(,,8,WD12,4) with .w at T2.e+(1,0) + trlabels(,`...(,,8,WD12,4)',T3,0.23) + T4: transformer(,,9,AL) with .sw at T3.se+(1,0) + trlabels(,`...(,,9,AL)',T4,0.3) + T5: transformer(,R,8,AW) with .sw at T4.se+(1,0) + trlabels(R,`...(,R,8,AW)',T5,0.3) +move right 0.4 from last [].e + +command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/Xtest.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/Xtest.m4 new file mode 100644 index 00000000000..67580438164 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/Xtest.m4 @@ -0,0 +1,58 @@ +.PS +# test.m4 +gen_init + +divert(-1) + +divert(0)dnl + +gs = 0.1 +gw = 3 +gh = 3 +define grid {($1*gs,$2*gs)} +B: box invis wid gw+2 ht gh+2 with .c at (0,0) +bix = gw/gs/2 +G:[ +C: 0,0 +for i=-bix to bix do { line wid 0.4 outlined "gray" from grid(-bix,i) right gw } +for i=-bix to bix by 5 do { sprintf("%g",i) at grid(-bix,i) rjust } +for j=-bix to bix do { line wid 0.4 outlined "gray" from grid(j,-bix) up gh } +for j=-bix to bix by 5 do { sprintf("%g",j) at grid(j,-bix) below } + + line from grid(-bix,0) right gw + line from grid(0,-bix) up gh +] with .C at B + +textoffset = 0 +xwid = 0.71; svg_font(Times,72bp__) +#xwid = 0.65; svg_font(sans-serif,72bp__) +#xwid = 0.64; svg_font(Arial,1) +#xwid = 0.64; svg_font(Helvetica,1) +#xwid = 0.54; svg_font(Courier,1) +#xwid = 0.67; svg_font(Cursive,1) +#xwid = 0.64; svg_font(Verdana,1) +#xwid = 0.70; svg_font(Georgia,1) +#xwid = 0.70; svg_font(Palatino,1) +#xwid = 0.70; svg_font(Garamond,1) +#xwid = 0.70; svg_font(Bookman,1) +##xwid = 0.70; svg_font(Comic Sans MS,1) +#xwid = 0.55; svg_font(Trebuchet MS,1) +#xwid = 0.78; svg_font(Arial Black,1) +#xwid = 0.49; svg_font(Impact,1) +[ +C: 0,0 + "X" wid xwid at grid(0,0) above ljust ; showbox_(last "") + "X" wid xwid at grid(0,0) below ljust ; showbox_(last "") + "X" wid xwid at grid(0,0) above rjust ; showbox_(last "") + "X" wid xwid at grid(0,0) below rjust ; showbox_(last "") +] with .C at G.C +[ + Q: box wid gw ht gh "X" ljust "Y" rjust "Z" + line from Q.n to Q.s; line from Q.w to Q.e +] with .w at B.e + + "X" wid xwid at G.n above; showbox_(last "") + + + command "" +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/controlDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/controlDPV.m4 new file mode 100644 index 00000000000..0a7506585d4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/controlDPV.m4 @@ -0,0 +1,224 @@ +.PS +# controlDPV.m4 +gen_init(svg_font(Times,11bp__)) + linewid = linewid*0.8 + circlerad = 0.25/2 + bw = boxwid/2 + bh = boxht/2 + maxpsht = 15 + +# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . # + +PID: [ + {"svg_it(r(s))" above ljust} + arrow +S1: circle + line right "svg_it(e(s))" above + { arrow right ; box ht bh wid bw "svg_it(K)svg_sub(P)" + arrow right linewid-circlerad ; S2: circle } + { line up linewid ; arrow right ; box ht bh wid bw "svg_it(K)svg_sub(D)s" + line to (S2,Here) ; arrow to S2.n } + { line down linewid ; arrow right ; box ht bh wid bw "svg_it(K)svg_sub(I)/s" + line to (S2,Here) ; arrow to S2.s } + arrow right from S2.e "svg_it(u(s))" above + box "svg_it(G(s))" + arrow right ; "svg_it(y(s))" above rjust at Here+(0,2pt__) + line down boxht*3/2 from last arrow.c then left last arrow.c.x-S1.x + arrow to S1.s + "svg_it(-)" rjust at Here+(-2bp__,-2bp__) +] + "(a) svg_it(PID) control" below ljust at PID.sw+(0,-5pt__) + +# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . # + +# https://tex.stackexchange.com/questions/575592/how-to-create-a-controls-system-diagram +Observer: [ + define(`thickarrow',`arrow thick 3 wid 7bp__') + define(`thickline',`line thick 3') + fillval = 0.6 + boxwid = 0.3 + boxht = 0.4 + circlerad = 0.1 + {"svg_it(r)" above ljust} +R: arrow +S: circle fill + {"svg_thinsp`'svg_it(-)" below ljust at S.s + "svg_it(+)" above rjust at S.w+(2bp__,0)} +{ PLT: box invis fill 0.9 wid 3.1 ht 1.2 with .nw at Here+(0.3,boxht*3/4) + "svg_it(Plant)" at PLT.sw above ljust } +U: arrow right 0.4 + {"svg_it(u)" at last arrow+(2bp__,0) above } +Bp: box fill "svg_it(B)" + thickarrow right 0.4 +Sp: circle fill + {"svg_thinsp`'svg_it(+)" below ljust at Sp.s + "+" above rjust at Sp.w+(2bp__,2bp__)} + thickarrow right 0.4 + {"svg_bf(x)" at last arrow + (0,7bp__); "." at last "".n +(0,textoffset)} +Ip: box fill "svg_it(I/s)" + thickarrow right 1 + {"svg_bf(x)" at last arrow + (0,7bp__) } +Cp: box fill "svg_it(C)" +# print Cp.e.x - Bp.w.x + 0.2 + thickline right 0.4 +Yp: thickarrow + {"svg_bf(y)" at last arrow + (0,7bp__) } +Ap: box fill "svg_it(A)" with .n at Ip.s+(0,-boxht/2) + thickarrow <- from Ap.e right 0.4 then up Ip.y-Ap.y + thickarrow from Ap.w to (Sp,Ap) then to Sp.s +# print PLT.n.y-Ap.s.y+0.1 +# +K: box fill "svg_it(K)" at Ap + (0,-boxht*3/2) + arrow from K.w to (S,K) then to S.s + {OBS: box invis fill 0.9 wid 4.3 ht 1.8 with .nw at (S.w,K.s)-(0.1,0.1) + "svg_it(Observer)" at OBS.sw ljust above } +Io: box fill "svg_it(I/s)" at K + (0,-boxht*3/2) + thickarrow <- from Io.w left 0.4 + {"svg_bf(x)" at last arrow + (0,7bp__); "svg_circ" at last "" + "." at last "".n above} +Sxo: circle fill + {"svg_thinsp`'svg_it(+)" below ljust at Sxo.s + "svg_it(+)" above rjust at Sxo.w+(2bp__,2bp__)} + thickarrow <- left 0.4 +SLo: circle fill + {"svg_thinsp`'svg_it(+)" below ljust at SLo.s + "svg_it(+)" above rjust at SLo.w+(2bp__,2bp__)} + thickarrow <- left 0.4 +Bo: box fill "svg_it(B)" + arrow from 1/4 between U.start and U.end up boxht*3/4 \ + then left 2*boxht then down Bp.y-Bo.y+boxht*3/4 then to Bo.w +Ao: box fill "svg_it(A)" with .n at Io.s+(0,-boxht/2) + thickline from Io.e right 0.4 + {thickarrow <-> from K.e to (Here,K.e) then to (Here,Ao) then to Ao.e + thickarrow from Ao.w to (Sxo,Ao.w) then to Sxo.s } +Xhat: Here +Co: box fill "svg_it(C)" at (Cp,Here) + thickarrow right 0.4 + {"svg_bf(y)" at last arrow + (0,7bp__); "svg_circ" at last ""} + { thickarrow from Xhat to Co.w } + {"svg_it(x)" at last arrow + (0,7bp__); "svg_circ" at last "" } +Syo: circle fill + {"svg_it(+)" above ljust at Syo.n + "svg_it(-)" above rjust at Syo.w+(2bp__,2bp__)} + thickarrow <- from Syo.n to (Syo,Cp) +Lo: box fill "svg_it(L)" with .n at Ao.s+(0,-boxht/2) +# print Io.n.y+0.1 - (Lo.s.y-0.1) + thickarrow from Syo.s down Syo.s.y-Lo.y then to Lo.e + thickarrow from Lo.w to (SLo,Lo.w) then to SLo.s + ] with .nw at last [].sw+(0,-0.5) + +Eqns: [ {"svg_it(r)" above ljust} + ex = textht*2/3 + define(`DDt',`svg_frac(svg_it(d):1*ex,svg_it(dt):2*ex)') + arrow +S: circle + "svg_it(-)" below rjust at S.s + arrow <- down linewid/2 from S.s + box ht bh wid bw "svg_it(K)" + arrow <- down linewid/2 + line right linewid + {"svg_hat(svg_bf(x))" at last line.c above } +Obs:box wid linewid*5 ht boxht*5/4 + [ DDt; "svg_hat(svg_bf(x)) svg_it(= (A-LC)) svg_hat(svg_bf(x)) + svg_it(+ Bu + L)svg_bf(y)" wid 1.5 ljust ] at Obs + "svg_it(Observer)" above ljust at Obs.sw + arrow <- right linewid/2 from 3/4 + line to (Here,S) + {"svg_it(u)" above at Here+(linewid/2,0)} + arrow from S.e to Here+(linewid,0) +Plant: box wid boxwid*3/2 ht boxht*5/4 + [ DDt; "svg_bf(x) svg_it(= A) svg_bf(x) svg_it(+ Bu)" wid 0.8 ljust + "svg_bf(y) svg_it( = C) svg_bf(x)" wid 0.6 ljust \ + at last "".w + (0,-textht*2) ] at Plant+(0,0.05) + "svg_it(Plant)" above ljust at Plant.sw + arrow right from Plant.e + "svg_it(y)" above rjust at Here+(0,2pt__) + move to last arrow.c + line to (Here, 1/4) + arrow to (Obs.e,Here) + ] with .nw at last [].sw+(0,-0.1) + "(b) Plant with feedback from a full-order observer" \ + below ljust at Eqns.sw+(0,-5pt__) + +# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . # + +Multiblock: [ +boxht = 0.4 +boxwid = boxht + +define summer { circle + {line from last circle.nw to last circle.se + line from last circle.sw to last circle.ne + "svg_it($1)" at 0.6 between last circle and last circle.n + "svg_it($2)" at 0.6 between last circle and last circle.s + "svg_it($3)" at 0.6 between last circle and last circle.e + "svg_it($4)" at 0.6 between last circle and last circle.w } +} + + arrow "svg_it(E`'svg_sub(1))" above +S1: summer(,-,,+) + linewid = boxwid/2 + arrow "svg_epsilon" above + [box "svg_it(H)svg_sub(1)"; arrow; box "svg_it(H)svg_sub(2)"] + arrow +S2: summer(-,,,+) + arrow +T: [box "svg_it(H)svg_sub(3)"; arrow; box "svg_it(H)svg_sub(4)"] + line +Y: Here + arrow + "svg_it(S)svg_sub(1)" above +R1: box "svg_it(R)svg_sub(1)" at (T.x,T.y+boxht*3/2) + arrow from Y to (Y,R1) then to R1.e + arrow from R1.w to (S2,R1) then to S2.n + "svg_it(n)svg_sub(1)" ljust at S2.n+(0,boxht/2) + left +Rf: [box "svg_it(R)svg_sub(2)"; arrow; box "svg_it(R)svg_sub(3)"] \ + at ((S1.x+T.x)/2,T.y-boxht*3/2) + arrow from T to (T,Rf) then to Rf.e + arrow from Rf.w to (S1,Rf) then to S1.s + "svg_it(n)svg_sub(2)" at S1.s+(0,-boxht/2) ljust +] with .nw at Eqns.sw + (0,-0.3) + "(c) A multiblock example" below ljust at Multiblock.sw+(0,-5pt__) + +# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . # + +Nonlinear: [boxwid = boxwid*3/2; boxht = boxht*3/2 + thicklines_ + boxwid = boxwid*0.6 + boxht = boxht/2 +R: box "reference" "svg_it(R)" + arrow right linewid*4/3 + {"svg_it(y)svg_sub(c)[ref]" at last arrow+(0,textht/3) above } +Gh: box "\"i`'nverse\"" "of svg_it(G)" + arrow from Gh.s down "svg_it(y)svg_sub(m)[ref]" ljust +E: circle + arrow from E.e right "svg_it(e)" above + box "stabilizer" "svg_it(K)" + arrow "svg_delta`'u" above +D: circle + line from Gh.e to (D,Gh.e) "svg_it(u)[ref]" above + arrow to D.n + arrow from D.e right "svg_it(u)" above +G: box "plant" "svg_it(G)" + arrow <- from G.n up boxht/2; "disturbance svg_it(z)" above + arrow right from G.e + (0,boxht/4); "svg_it(y)svg_sub(c)" wid 0.2 ljust + arrow right from G.e + (0,-boxht/4); "svg_it(y)svg_sub(m)" ljust + move to last arrow.c + arrow down Here.y-G.s.y+boxht*2/3 then left Here.x-E.x then to E.s + "svg_it(-)" rjust below + arrow <- down from R.s + "svg_it(W) control input" at Here - (0,0.1) +UL:R.nw +(-boxht/2,boxht/2) +UR:(D.e,UL) + (0.1,0) + line dashed from UL to UR then to (UR,G.s+(0,-boxht*3/2)) + line dashed to (Gh.w,Here) "Controller" above + line dashed to (Here,Gh.s+(0,-boxht/2)) + line dashed to (UL,Here) then to UL +] with .nw at last [].sw + (0,-0.3) + "(d) Nonlinear feedforward (for performance) and small-signal feedback + (for stability)" below ljust at Nonlinear.sw+(0,-5pt__) + +#print PID.n.y - Nonlinear.s.y +command "" +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/controlDPV.svg b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/controlDPV.svg new file mode 100644 index 00000000000..bb24d97319a --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/controlDPV.svg @@ -0,0 +1,745 @@ + + + + + + + +r(s) + + + + +e(s) + + + +KP + + + + + + + +KD s + + + + + + + +KI /s + + + + + +u(s) + +G(s) + + +y(s) + + + +- +(a) PID control +r + + + +- ++ + +Plant + + +u + +B + + + ++ ++ + + +x +. + +I/s + + +x + +C + + + +y + +A + + + + + +K + + + +Observer + +I/s + + +x +ˆ +. + ++ ++ + + + ++ ++ + + + +B + + + +A + + + + + + + +C + + +y +ˆ + + +x +ˆ + ++ +- + + + +L + + + + +r + + + +- + + + +K + + + +ˆx + + ddt + +ˆx = (A-LC) ˆx ++ Bu + Ly +Observer + + + +u + + + + ddt + +x = A x + Bu +y = C x +Plant + + +y + + + +(b) Plant with feedback from a full-order observer + + +E1 + + + + +- + ++ + + +ε + +H1 + + + +H2 + + + + + +- + + ++ + + + +H3 + + + +H4 + + + +S1 + +R1 + + + + +n1 + +R2 + + + +R3 + + + + +n2 +(c) A multiblock example + +reference +R + + +yc [ref] + +"inverse" +of G + + +ym [ref] + + + +e + +stabilizer +K + + +δu + + +u[ref] + + + + +u + +plant +G + + +disturbance z + + +yc + + +ym + + +- + + +W control input + + +Controller + + +(d) Nonlinear feedforward (for performance) and small-signal feedback +(for stability) + + diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/cscDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/cscDPV.m4 new file mode 100644 index 00000000000..f2e48166e05 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/cscDPV.m4 @@ -0,0 +1,249 @@ +.PS +#.PS 3.5 +# csc.m4 +# This file includes AntiqueClock and works for PSTricks, Tikz, and svg +gen_init +NeedDpicTools + +skale = 0.878 +circlerad=1.91*skale +hubrad=0.10*skale +s=0.5*skale + +define(`midnight',`0.1, 0.1, 0.44') +define(`white',`1, 1, 1') +define(`spokewidth',0.1) +define(`spoke',`dnl + {line from rvec_(0,hubrad-spokewidth/2) to rvec_(circlerad-0.05,0)} + {line from rvec_(0,-(hubrad-spokewidth/2)) to rvec_(circlerad-0.05,0)}') +define(`lwid',1) +define(`coord',`(s*(`$1'),s*(`$2'))') + +# Circle and spokes +CSC: [ +rgbdraw(midnight, + linethick=`0.'eval(lwid*15)/(1pt__) + {circle with .c at Here + circle invis diam last circle.diam + linethick pt__ at last circle } + linethick=spokewidth/(1pt__) + for angle = 0 to 330 by 30 do { + Point_(angle) + {spoke} + } + ) + +# Whiten where the hull will be + linethick=`0.'eval(lwid*20)/(1pt__) + rgbdraw(white, + Point_(-60){line to rvec_(circlerad*0.72,0)} + Point_(-90){line to rvec_(circlerad*0.72,0)} + Point_(-120){line to rvec_(circlerad*0.72,0)} + + linethick=`0.'eval(lwid*15)/(1pt__) + {move to coord(1.8,-2.3)+(0,0.025) + spline to Here+coord(-0.8,-0.3) then to Here+coord(-1.8,-0.3) \ + then to Here+coord(-2.18,-0.27) \ + then to Here+coord(-3.93,-0.1)} + ) + +# Sail + thinlines_ + rgbfill(midnight, + line from coord(0.44,3.38) to coord(0.44,2.6) \ + then to coord(2.1,-1.75) \ + then to coord(1.22,-1.53) \ + then to coord(0.62,-1.4) \ + then to coord(0.55,-1.6) \ + then to coord(-2.2,-1.6) \ + then to coord(-2.35,-1.5) + spline to coord(-2.14,-0.78) \ + then to coord(-1.74,0.22) \ + then to coord(-1.42,0.89) \ + then to coord(-0.92,1.73) \ + then to coord(0,2.9) \ + then to coord(0.44,3.38) + ) + +# Hull + rgbfill(midnight, + spline from coord(2.1,-1.75) to coord(1.9,-2.2) \ + then to coord(1.85,-2.3) then to coord(1.8,-2.33) \ + then to coord(1,-2.5) then to coord(0,-2.6) then to coord(-0.38,-2.57) \ + then to coord(-2.13,-2.4) + line to coord(-2.2,-2.05) then to coord(2.1,-1.75) + spline to coord(-1,-2.08) then to coord(0.55,-1.77) + ) + ] + +Clock: [ +# PSTricks, tikz, or svg only: +ifelse(ifpstricks(T)`'ifpgf(T)`'ifsvg(T),T,` +#.PS +# AntiqueClock.m4 +#gen_init +#NeedDpicTools + +iflatex(`latexcommand({\sf)') +ifsvg(svg_font(font-family="sans-serif" font-stretch="condensed") +# svg_rot_init(test)) + svg_rot_init(cscDPV)) + +# https://tex.stackexchange.com/questions/236923/generate-analog-clock-with-numbered-face-add-seconds-roman-numerals + +# `hms2deg(hr,min,sec) hr:min:sec to degrees +# blank arg1: degrees for minute hand +# blank arg1 and arg2: degrees for second hand' +define(`hms2deg',`ifelse(`$1',, + `ifelse(`$2',, + `(90-pmod(ifelse(`$3',,0,`$3'),60)/60*360)', + `(90-(pmod(`$2',60)/60 + pmod(ifelse(`$3',,0,`$3'),60)/60/60)*360)')', + `(90-(pmod(`$1',12) + pmod(ifelse(`$2',,0,`$2'),60)/60 + dnl + pmod(ifelse(`$3',,0,`$3'),60)/3600)/12*360)')') + +# `SecondHand(length,hr,min,sec)' +define(`SecondHand',`[ shsf = (`$1')/3.2 + C: Here + { L: rpoint_(to (Rect_(`$1',hms2deg(,,`$4')))) } + line thick 8*shsf to rvec_(`$1',0) + ]') + +# `AntiqueMinuteHand(length,hr,min,sec)' +define(`AntiqueMinuteHand',`[ mhsf = (`$1')/2.84 + L: rpoint_(to (Rect_(`$1',hms2deg(,`$3',`$4')))) + C: circle fill_(0) diam 0.47*mhsf at L.start + move to C + spline from rvec_(0,0.047*mhsf) \ + to rvec_(1.65*mhsf,0.11*mhsf) \ + then to rvec_(`$1',0.018*mhsf) \ + then to rvec_(`$1',-0.018*mhsf) \ + then to rvec_(1.65*mhsf,-0.11*mhsf) \ + then to rvec_(0,-0.047*mhsf) \ + shaded rgbstring(0,0,0) + ]') + +# `AntiqueHourHand(length,hr,min,sec)' +define(`AntiqueHourHand',`[ hhsf = (`$1')/2.2 + L: rpoint_(to (Rect_(`$1',hms2deg(`$2',`$3',`$4')))) + C: circle fill_(0) diam 0.6*hhsf at L.start + move to C + v = 0.25*hhsf + { line to rvec_(1.1*hhsf,0) thick 0.15/(1bp__)*hhsf } + C1: rvec_(1.25*hhsf,0) + d = `$1'-1.25*hhsf + q = 1bp__*hhsf + r1 = (d^2 + q^2 - v^2)/(v-q)/2 + tang = atan2((r1+q),d) + for i=0 to 3 do { + X[i]: C1+vec_(rect_(v, pi_+i/3*( tang-pi_))) + Y[i]: C1+vec_(rect_(v,-pi_+i/3*(-tang+pi_))) + } + n = 3 + for i=1 to 4 do { aa = -pi_+tang + i/4*(pi_/2-tang) + XX: (d,r1+q)+(rect_(r1,aa)) + n+=1; + X[n]: C1+vec_(XX.x, XX.y) + Y[n]: C1+vec_(XX.x,-XX.y) + } + m = n + for i= 0 to m do { n+=1; X[n]: Y[m-i] } + fitcurve(X,n,shaded rgbstring(0,0,0)) + ]') + + +define(`AntiqueClock',`[ # h,m,s,diam +# Clock size parameters: + hour = ifelse(`$1',,3,`$1') + minute = ifelse(`$2',,41,`$2') + second = ifelse(`$3',,51,`$3') + # outer radius + ifelse(`$4',,`skale=0.5; r1=2',`r1=(`$4')/2; skale=r1/4') + r2 = r1-0.5*skale + r3 = r2-0.14*skale + r4 = r3 - 0.35*skale + r5 = r4 - 0.17*skale + r6 = r5 - 0.63*skale + r7 = r6 - 0.17*skale + shadelinethick = 1.0 + +C: circle thick 0.2 rad r1 + +define shadeline { + s = 1-($`'1)*2 + v = r*s + h = sqrt(r^2-v^2) + t = 1-abs(s) + line from (vrot_(-h,v,cost,sint)) to (vrot_(h,v,cost,sint)) \ + thick shadelinethick outlined rgbstring(t,t,t) + } + + r = r1 # Bezel outer + nlines = int(2*r/(shadelinethick pt__)*1.1) + cost = cosd(10); sint = sind(10); + ShadeObject(shadeline,nlines, 0, 0,0,0, 0.5, 1,1,1, 1, 0,0,0 ) at C + + r = r2 # Bezel inner + nlines = int(2*r/(shadelinethick pt__)*1.1) + cost = cosd(-10); sint = sind(-10); + ShadeObject(shadeline,nlines, 0, 0,0,0, 0.25, 0.8,0.8,0.8, 0.5, 1,1,1, + 0.75, 0.8,0.8,0.8, 1, 0,0,0 ) at C + +# Clock face +Face: circle thick 0 fill_(1) rad r3 at C + circle rad r4 at C + circle rad r5 at C + circle rad r6 at C + circle rad r7 at C + +# Ad hoc shift of rotated svg text + ifsvg(`define adj {+(-cosd($`'1)*textht*0.5*sign(180-($`'1)),\ + (0.25+0.25*cosd(2*($`'1)))*textht) }', + `define adj {}') + define adj {} + +# Outer numbers + iflatex(`command sprintf("\font\outerfont=cmss12 at %4.2fin",r3-r4)') + ifsvg(`textht = (r3-r4)*0.6') + for_(-15,15,5,`aa=90-(m4x)*6 + r_text(eval(-(m4x)*6),eval((m4x+60)%60), + at C+(Rect_((r3+r4)/2,aa)) adj(aa))') + for_(20,40,5,`aa=450-(m4x)*6 + r_text(eval(180-m4x*6),m4x,at C+(Rect_((r3+r4)/2,aa)) adj(aa))') +# Outer tics + for mn = 1 to 60 do { t = 90-mn/60*360 + line from C+(Rect_(r5,t)) to C+(Rect_(r4,t)) } + +# Inner numbers + iflatex(`command sprintf("\font\innerfont=cmss12 at %4.2fin",r5-r6)') + ifsvg(`textht = (r5-r6)*0.6') + Loopover_(`mx',`aa=180-(m4Lx-1)*30 + r_text(eval(120-m4Lx*30),iflatex({\innerfont mx},mx), + at C+(Rect_((r5+r6)/2,aa)) adj(aa))', + IX,X,XI,XII,I,II,III) + Loopover_(`mx',`aa=360-m4Lx*30 + r_text(eval(90-m4Lx*30), iflatex({\innerfont mx},mx), + at C+(Rect_((r5+r6)/2,aa)) adj(aa))', + IV,V,VI,VII,VIII) + +# Inner tics + for mn = 5 to 60 by 5 do { t = 90-mn/60*360 + line from C+(Rect_(r7,t)) to C+(Rect_(r6,t)) } + +# Hands + AntiqueHourHand(r6,hour,minute,second) with .C at C + AntiqueMinuteHand(r5,hour,minute,second) with .C at C + SecondHand((r3+r4)/2,hour,minute,second) with .C at C + +# Center + dot(at C,0.1/4*r1,1) + ]') `# AntiqueClock' + + Clock1: AntiqueClock(,,,3.5) +# Clock2: AntiqueClock(4,50,07,2) at Clock1.e+(1.5,0) + + iflatex(`latexcommand(}%)') + ifsvg(`command ""') + +#.PE +',` "AntiqueClock.m4 requires PSTricks, Tikz-pgf, or svg" ') + ] with .sw at last [].se+(0.25,0) +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/diamondDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/diamondDPV.m4 new file mode 100644 index 00000000000..3c5e0f5bfea --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/diamondDPV.m4 @@ -0,0 +1,34 @@ +.PS +# diamond.m4 +# See LaTeX Graphics Companion pp 57-58 +gen_init +dimen = 1.5*scale +ratio = 0.9 +n = 30 + +North: (0,dimen) +East: (dimen,0) +South: (0,-dimen) +West: (-dimen,0) + +define(`square', + `shade(`$1', + line from North to East then to South then to West then to North) + ') + +define(`diamond',`[ +for i = 2 to n do { + square(`$1') + Tmp: North + North: ratio between East and North + East: ratio between South and East + South: ratio between West and South + West: ratio between Tmp and West + }]') + +linethick = 0 +diamond( i % 2 ) +linethick = 0.4 +diamond( (n-i)/(n-2) ) with .w at last [].e+(0.25,0) + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex00DPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex00DPV.m4 new file mode 100644 index 00000000000..97c52687257 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex00DPV.m4 @@ -0,0 +1,94 @@ +.PS +# ex00.m4 +gen_init(svg_font(sans-serif,11bp__)) + +[ +thicklines_ +ewid = 2 +eht = 0.5 +E: ellipse wid ewid ht eht + + [ narrows = 5 + de = ewid/narrows + for i=0 to narrows do { + arrow down from i*de,0 } + ] with .s at E.n+(0,0.25) + + "svg_bf(B)svg_it((t))" at last [].c + +thinlines_ + arrow from E.c to E.ne + box invis fill_(1) ht 0.12 wid 0.12 with .c at last arrow.c "svg_it(r)" + + command "" # end font +] +[ +# ex07.m4 +#gen_init + +Barrel: box invis ht 0.4 wid 1.5 + up +Face: arc rad 2.6 from Barrel.e+(2.4,-1.7/2) to Barrel.e+(2.4,1.7/2) + + eps = 0.03 + arc ccw rad 2.6 from Face.start-(eps,0) to Face.end-(eps,0) \ + with .c at Face.c-(eps,0) + line from Barrel.nw to Barrel.ne then to Face.end + line from Barrel.sw to Barrel.se then to Face.start + arc cw from Barrel.sw to Barrel.nw rad Barrel.ht*1.2 + +Cathode: Barrel.w+(0.3,0) +Term: Barrel.w+(-0.25,0) + dcath = 0.13 + dan = 0.12 + + line from Cathode up dcath/2 left dcath/2 then to Term.x,Cathode.y+dcath/2 + dot + line from Cathode down dcath/2 left dcath/2 then to Term.x,Cathode.y-dcath/2 + dot + + hole = 0.06 +Hole: line invis up hole from Cathode+(0.5,-hole/2) + line from Hole.end up dan-hole/2 then to Term.x,Cathode.y+dan; dot + line from Hole.start down dan-hole/2 then to Term.x,Cathode.y-dan; dot + + platewid = 0.25 + platesep = 0.15 +Plates: box invis wid platewid ht platesep at Barrel.e+(-platewid/2,0) + line right platewid from Plates.nw + line right platewid from Plates.sw + line up 0.3 from Plates.n + line down 0.3 from Plates.s + +linethick_(1.4) + + move to Cathode+(0.03,0) +Spot: 0.9 + arcto(Plates.c,Spot,(Plates.c.x-Cathode.x)*0.90,outlined "lightgrey" thick 2) + line to Spot chop 0 chop -0.02 outlined "lightgrey" thick 2 + +thinlines_ + + arrow <- from Cathode+(0.2,0.06) up 0.5 left 0.3 + "electron" above "gun" above + + arrow <- from Plates.nw+(0,0.06) up 0.5 left 0.3 + "deflection" above "plates" above + + arrow <- from 0.5+(0,0.06) up 0.5 left 0.3 + "electron beam" at Here+(-0.3,0) above + + spline <- from 1.015 right 0.1 up 0.1 then up 0.1 \ + then up 0.1 left 0.1 + "spot of light" rjust + + "vacuum" at 0.5+(-0.4,0) rjust + + arrow <- from Face.start+(0.1,0.5) left 0.6*1.4 down 0.3*1.4 + "phosphor coating" rjust + + arrow <- from 0.2 left 0.6 down 0.3 + "glass enclosure (tube)" rjust + +] with .sw at last [].se+(0.5,0) +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex01DPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex01DPV.m4 new file mode 100644 index 00000000000..7b30f1b60f3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex01DPV.m4 @@ -0,0 +1,80 @@ +.PS +# TimerDPV.m4 +cct_init(svg_font(sans-serif,10.5bp__)) + +define(`ic555',`[Chip: box ht boxwid wid boxwid "555" + P7: "7" ljust at 1/6 + P6: "6" ljust at 1/2 + P2: "2" ljust at 5/6 + P4: "4" below at 1/3 + P8: "8" below at 2/3 + P3: "3" rjust at Chip.e + P1: "1" above at Chip.s + ]') + +Timer: [ + define(`elen_',`linewid') +Vs: dot + down_ + variable(`resistor(,,E); llabel(,svg_norm(1 M`'svg_ohm))'); + resistor(,,E); llabel(,svg_norm(100 k`'svg_ohm)) + capacitor(,E); llabel(svg_norm(220 svg_micro`'F)) +Zero: dot + + dot(at Vs+(elen_*4/3,0)) + resistor(,,E); llabel(,svg_norm(33 k`'svg_ohm)) + line to (Here,Zero) chop 0 chop elen_ +C2: capacitor; llabel(svg_norm(0.1 svg_micro`'F)) + dot + +IC1: ic555 with .P7 at C2.start + (elen_,0) + line from IC1.P4 to (IC1.P4,Vs); dot + line from IC1.P8 to (IC1.P8,Vs); dot + line from IC1.P1 to (IC1.P1,Zero); dot + line from IC1.P2 to (C2,IC1.P2); dot + crossover(from IC1.P7 to (Zero,IC1.P7),R,C2); dot + line from IC1.P6 left elen_/2 then down IC1.P6.y-IC1.P7.y; dot + line from IC1.P3 right elen_*2/3 +R: dot + line right_ elen_/3 +B: buzzer(,,C) with .In3 at Here + line from B.In1 to (R,B.In1) + reversed(`diode',to (Here,Vs),LE); "red" at last line.c+(elen_/2,0) + resistor(down_ elen_ from R,,E); llabel(,svg_norm(470 svg_ohm)) + diode(to (Here,Zero),LE); {"green" wid 0.4 at last line.c+(elen_*2/3,0)} + line to Zero chop 0 chop -elen_ + line up_ (Vs.y-Here.y)/3 + battery(up_ (Vs.y-Here.y)/3); rlabel(,,svg_norm(9 V)) + switch(to (Here,Vs),,D) + line to (R,Vs) +] +Ex01: [ +# ex01.m4 + +linewid = linewid*1.5 # let's make the circuit elements bigger than usual +define(`elen_',linewid) # but not longer + + del = elen_/4 # a spacing parameter + move right 0.4 +Vin: source(up_ elen_ + 2*del, V); llabel(,v`'svg_sub(s),) + + switch(right_ elen_,,C); rlabel(,t = svg_norm(0),) + resistor; llabel(,svg_norm(47 ohm),); b_current() + { "svg_it(i`'svg_sub(R))" at last arrow.end+(0,3bp__) above rjust } + + line right_ elen_/2 then down_ del + P:parallel_(`L:inductor(,W); llabel(,"L" wid 0.15,); b_current()', + `capacitor(,C); rlabel(+,v`'svg_sub(C),-); llabel(,,C)') + { "svg_it(i`'svg_sub(L))" at P.E1.L.start+(2bp__,0) ljust below } + line to (Here,Vin.start) then to Vin.start + + define(`meshcurrent',`[arc -> cw with .c at (0,0) \ + from (Rect_(`$1',-30)) to (Rect_(`$1',30)) "svg_it(`$2')"]') + + right_ + meshcurrent(del,i`'svg_sub(2)) at last[].C + meshcurrent(2*del,i`'svg_sub(1)) at Vin.start + (4*del,3*del) + ] with .sw at Timer.se+(0.5,0) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex01DPV.svg b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex01DPV.svg new file mode 100644 index 00000000000..52d4f52e466 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex01DPV.svg @@ -0,0 +1,391 @@ + + + + + + + + + + + +1 MΩ + + + + + +100 kΩ + + + + + +220 μF + + + + + +33 kΩ + + + + + +0.1 μF + + +555 +7 +6 +2 +4 +8 +3 +1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +red + + + +470 Ω + + + + + + + + + +green + + + + + + +9 V + + + + + + + + +- ++ + +vs + + + + + +t = 0 + +47 ohm + + +iR + + + + + + + + + + + + +L + + + + + + ++ +vC +- +C + + + + + + +iL + + + +i2 + + +i1 + + diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex02DPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex02DPV.m4 new file mode 100644 index 00000000000..ad2f7324fb7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex02DPV.m4 @@ -0,0 +1,52 @@ +.PS +# ex02.m4 +cct_init +linewid = linewid*4/5 + +[ + [ for angle = 0 to 315 by 45 do { Point_(angle) + opamp(to rvec_(linewid*3/2,0)) with .Out at 0,0 } ] + resistor(down_ dimen_ from last [].s) + diode(down_ dimen_*2/3,LE) + diode(down_ dimen_*2/3,LER) + ground(,T) +] + +[ + define(`elen_',`dimen_*3/2') # restore defaults + define(`sourcerad_',`dimen_*0.25') + leng = elen_ + define(`fromcentre',`move to C+(-elen_/2,-elen_*cosd(15)/(2*sind(15)))') + C: dot + { fromcentre() + for i = 0 to 359 by 30 do { + Point_(i); inductor + } + } + define(`elen_',leng*0.8) + { fromcentre() + for i=0 to 359 by 30 do { + Point_(i); inductor(,W) + } + } + define(`elen_',leng*0.6) + { fromcentre() + for i=0 to 359 by 30 do { + Point_(i); resistor + } + } + define(`elen_',leng*0.4) + { fromcentre() + for i=0 to 359 by 30 do { + Point_(i); capacitor(,C) + } + } + define(`elen_',leng*0.2) + { fromcentre() + for i=0 to 359 by 30 do { + Point_(i); diode + } + } + ] with .sw at last [].se+(linewid,0) + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex03DPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex03DPV.m4 new file mode 100644 index 00000000000..ef1e6126d2b --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex03DPV.m4 @@ -0,0 +1,37 @@ +.PS +# ex03.m4 +cct_init(svg_font(sans-serif,11bp__)) + +circlerad = 0.35/2 +define(`elen_',`dimen_') +del = linewid*0.6 + + "svg_it(u`'svg_sub(k))" wid 0.15 above + line +{ + arrow right_ del +B0: circle "svg_it(b`'svg_sub(0))" + arrow right linewid/2 +S: circle + line right 2*circlerad + del + S.w.x-B0.e.x + {arrow ; "svg_it(y`'svg_sub(k))" wid 0.2 above } + down_ + delay + {line left_ del + circle "svg_it(-a`'svg_sub(1))" ; arrow from last circle to S chop} + line dashed down_ del + delay + {line left_ del + circle "svg_it(-a`'svg_sub(n))" ; arrow from last circle to S chop} +} + down_ + delay + {line right_ del + circle "svg_it(b`'svg_sub(1))" ; arrow from last circle to S chop} + line dashed down_ del + delay + {line right_ del + circle "svg_it(b`'svg_sub(n))" ; arrow from last circle to S chop} + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex04DPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex04DPV.m4 new file mode 100644 index 00000000000..366cf24c05e --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex04DPV.m4 @@ -0,0 +1,61 @@ +.PS +# ex04.m4 +cct_init(svg_font(sans-serif,10bp__)) + +[ +pushdef(`elen_',`dimen_') # short elements +pushdef(`sourcerad_',`dimen_*0.2') +#linewid = 0.85 +linewid = 0.6 + +Ct:dot + Point_(-60); capacitor(,C); dlabel(0.14,0.14,,,C`'svg_sub(3)) +Cr:dot + left_; capacitor(,C); dlabel(0.14,0.14,C`'svg_sub(2),,) +Cl:dot + down_; capacitor(from Ct to Cl,C); dlabel(0.14,-0.10,C`'svg_sub(1),,) + +T:dot(at Ct+(0,elen_)) + inductor(from T to Ct); dlabel(0.12,-0.1,,,L`'svg_sub(1)) + + Point_(-30); inductor(from Cr to Cr+vec_(elen_,0)) + dlabel(0,-0.07,,L`'svg_sub(3),) +R:dot +L:dot( at (Cl-(Cos(30)*(elen_),0),R) ) + + inductor(from L to Cl); dlabel(-0.1,-0.1,L`'svg_sub(2),,,X) + + right_; resistor(from L to R); rlabel(,R`'svg_sub(2),) + move down 0.3 + + resistor(from T to R); dlabel(0,0.15,,R`'svg_sub(3),) + b_current(y,ljust above) + + line from L to 0.2 + source(to 0.5 between L and T); dlabel(sourcerad_+0.07,0.1,-,,+) + dlabel(0,sourcerad_+0.07,,u,) + resistor(to 0.8 between L and T); dlabel(0,0.15,,R`'svg_sub(1),) + line to T + ] +popdef(`elen_') +popdef(`sourcerad_') + +[ + Point_(225) +{B1: ebox ; b_current; dlabel(dimen_*0.4,-0.1,i`'svg_sub(1)) + dot + B4: ebox(to rvec_(rp_len,0)); b_current(,,,E); dlabel(dimen_*0.4,-0.1,,,i`'svg_sub(4)) } + Point_(-45) + B2: ebox ; b_current; dlabel(dimen_*0.4, 0.1,i`'svg_sub(2)) + dot + B7: ebox ; b_current; dlabel(dimen_*0.4, 0.1,i`'svg_sub(7)) + B3: ebox(from B1.end to B2.end); b_current; dlabel(dimen_*0.4,0.1,i`'svg_sub(3)) + dot(at (B1.start,B7.end)) +{B5: ebox(to B1.end); b_current; dlabel(dimen_*0.4,-0.09,i`'svg_sub(5))} +{B6: ebox(to B2.end); b_current; dlabel(dimen_*0.4, 0.09,i`'svg_sub(6))} +{B8: ebox(right_ to B4.end); b_current; dlabel(dimen_*0.4, 0.1,i`'svg_sub(8))} + B9: ebox(left_ to B7.end); b_current; dlabel(dimen_*0.4,-0.1,i`'svg_sub(9)) + ] with .w at last [].e+(0.5,0) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex05DPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex05DPV.m4 new file mode 100644 index 00000000000..e44542dc3db --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex05DPV.m4 @@ -0,0 +1,115 @@ +.PS +# ex05DPV.m4 +darrow_init + +Kalman: [ + fillval = 0.8 + + boxht = 0.35 + boxwid = 1.5*boxht + dx = boxht/5 + circlerad = boxht*3/8 + extlen=4*dx + indel = boxht/3 + define(`dlthick',dlthick*3/4) + +define(`overbar',`line right textht*0.8 \ + with .c at last box.c + ((`$1')*textht,0.7*textht)') + +COb: box fill_ "CO"; overbar(0.5) +CO:box fill_ with .nw at last box.se+(dx,-dx) "CO" +CbOb: box fill_ with .nw at last box.se+(dx,-dx) "CO" + overbar(-0.5); overbar(0.5) +CbO: box fill_ with .nw at last box.se+(dx,-dx) "CO"; overbar(-0.5) + + dline(from CbO.s down_ dx,,t,,!-) + dright +{Sum: circle invis at (CO,Here)} + darrow(to Sum.e) + +SW: (COb.w,Sum.s)+(-3*dx-extlen/2,-dx) +NE: (CbO.e,COb.n)+(dx,dx) + right_; +SB: shadebox(box wid NE.x-SW.x ht NE.y-SW.y with .sw at SW) + +U: COb.w-(3*dx+extlen,0) + {"svg_it(U)" wid 0.1 rjust at U} + dline(from U right_ extlen+dx,,t,,|-) +TU: dtee(R) + {darrow(to COb.w,t)} + dline(to (Here,CO),t,t) +{Dum: circle invis at (Here,Sum)} + dtee(L) + {darrow(to CO.w,t)} +{D: box "D" wid boxwid/2 ht boxwid/2 at 0.5} + darrow(to D.n,t) + darrow(from D.s to Dum.n,,,,,,!-) + + dline(up_ from CO.n to (CO,COb)-(0,indel),,t,,!-) + dleft; darrow(to (COb.e,Here)) + + dline(up_ from CbOb.n to (CbOb,COb),,t,,!-) + dleft; darrow(to COb.e) + + dline(from CbO.n-(indel,0) up_ CbOb.y-CbO.n.y,,t,,!-) + dleft; darrow(to CbOb.e) + + dline(up_ from CbO.n to (CbO,CO),,t,,!-) + dleft + dline(to (CbOb.w,Here)); darrow(to CO.e) + + dline(up_ from CbO.n+(indel,0) to (CbO,COb)+(indel,indel),,t,,!-) + dleft; darrow(to (COb.e,Here)) + + darrow(from CO.s to Sum.n,,,,,,!-) + + darrow(left_ from Sum.w to Dum.e) + dline(from Dum.w to (SB.w-(0.1,0),Dum)); darrow(to (U,Here)) + {"svg_it(Y)" rjust} + move left 0.23 + + circle at Sum + circle at Dum + ] +Coxeter: [ +# Coxeter.m4 + + customlinethick = 1.5 + + linethick = customlinethick + define(`dotrad_',`(3/2*linethick pt__)') + + Orig: (0,0) + for i=0 to 4 do { P[i]: dot(at (i*linewid,0)) } + line from Orig to P[4] + P[-1]: dot(at (Rect_(linewid, 120))); line to Orig + P[-2]: dot(at (Rect_(linewid,-120))); line to Orig + + Pa: dot(at P[4]+(linewid,0)); "svg_it(a)" at last [].n above + arrow from P[4] to Pa chop linewid/4 + Pd: dot(at Pa+(linewid,0)); "svg_it(d)" at last [].w rjust + Pe: dot(at Pd+(linewid,0)); "svg_it(e)" at last [].n above + Pf: dot(at Pe+(linewid,0)); "svg_it(f)" at last [].n above + Pb: dot(at Pd+(Rect_(linewid,120))); "svg_it(b)" at last [].w rjust + Pc: dot(at Pd+(Rect_(linewid,-120))); "svg_it(c)" at last [].w rjust + line from Pb to Pd then to Pc + line from Pd to Pf + + define(`customarc', + `pushdef(`dfillcolor',`0.7,0.7,0.7') linethick_(0.4); dnl + Darc(`$1',linewid, (`$2')*dtor_, (`$3')*dtor_, + thick=linewid/6; wid=linewid*0.3; ht=linewid/6; ends=<->)dnl + linethick_(customlinethick); popdef(`dfillcolor')') + + customarc((linewid,-linewid/3), 25,155) + "svg_it(d)" at (linewid,linewid*2/3) + customarc((2*linewid,-linewid/3), 25,155) + "svg_it(e)" at (2*linewid,linewid*2/3) + customarc((3*linewid,-linewid/3), 25,155) + "svg_it(f)" at (3*linewid,linewid*2/3) + customarc(Orig,130,230); "svg_it(a)" at (Rect_(linewid,180)) + customarc(Orig, 10,110); "svg_it(b)" at (Rect_(linewid, 60)) + customarc(Orig,-110,-10); "svg_it(c)" at (Rect_(linewid,-60)) + + ] with .sw at Kalman.se+(15bp__,0) +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex06DPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex06DPV.m4 new file mode 100644 index 00000000000..67bbf481bd3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex06DPV.m4 @@ -0,0 +1,64 @@ +.PS +# ex06DPV.m4 +gen_init(svg_font(font-family="Times" font-style="italic",11bp__)) + +F: box invis wid 1.6i ht 1.8i +E: box invis wid F.wid ht F.ht +G: box invis wid 1i ht F.ht + + ell = F.ht-0.6i + r = 0.3i + offset = 8bp__ + hatch = 0.1i + dhs = hatch * sqrt(2) + qmell = F.ht - ell + kwid = F.wid-qmell-r + + box wid G.e.x-F.w.x ht F.ht with .sw at F.sw thick linethick*3/2 + Loopover_(`B', + `line from B.ne to B.se thick linethick*3/2 + B`'T: B.se + (-qmell,qmell) + line from (B.w,B`'T) to B`'T chop 0 chop -offset + line from B`'T up ell chop -offset chop 0 + line from B`'T + (-r,0) up ell + line dashed from B`'T to B.se + "svg_fsize(0,110)" at B`'T + (-r/2,ell/2) + "svg_fsize(0,110)" at B`'T + (qmell/2,ell/2) + "t" at (B`'T,B.n) + (-offset/2,offset) + thinlines_ + arrow <-> from B.nw+(0,offset*2/3) right B.wid-qmell-r "k" above + for x = hatch to B`'T.x-B.w.x-r by hatch do {line down ell from B.nw+(x,0)} + for y = dhs to qmell by dhs do {line up y right y from (B.w,B`'T)+(0,-y)} + for x = y-qmell to B.wid-qmell*2 by dhs do { + line up qmell right qmell from B.sw+(x,0) } + for x = last line.start.x-B.w.x+dhs to B.wid by dhs do { + line up (B.wid-x)/2 right (B.wid-x)/2 from B.sw+(x,0) } + thicklines_ + ',F,E) + + line from (G.w,ET) right G.wid + line from ET + (0,r) left ET.x-E.w.x + + thinlines_ + for y = hatch to r by hatch do { line left r from ET+(0,r-y) } + for x = dhs to G.wid by dhs do { + line left x down x from G.nw+(x,0) } + for y=x-G.wid to G.ht-G.wid by dhs do { + line left G.wid down G.wid from G.ne+(0,-y) } + for x = y-(G.ht-G.wid) to G.wid by dhs do { + line right G.wid-x up G.wid-x from G.sw+(x,0) } + arrow <-> up r with .c at ET+(offset*2/3,r/2) "r" ljust + thicklines_ + + "q" at F.sw + (-offset,offset/3) + "l" at (F.w,FT) + (-offset,offset/3) + + "n+p+m" at G.ne + (0,offset) + + Loopover_(`B',`"B" ht 0.12 below at B.s+(0,-2bp__)',F,E,G) + +# Adjust the bounding box without using s_box: + move from F.nw+(-12bp__,21bp__) to G.se+(20bp__,-15bp__) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex08DPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex08DPV.m4 new file mode 100644 index 00000000000..aca3f41069a --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex08DPV.m4 @@ -0,0 +1,83 @@ +.PS +# ex08.m4 +log_init(svg_font(sans-serif,11bp__)) + +define(`del',`L_unit*5/2') + +# Input labels +C: "C" rjust at grid_(0,0) +DE: grid_(0,AND_ht*7/4) +A0: DE+grid_(0,BUF_ht*3/2); "A0" rjust at A0 +A1: A0+grid_(0,BUF_ht*3/2); "A1" rjust at A1 +A2: A1+grid_(0,BUF_ht*3/2); "A2" wid 0.2 rjust at A2 + move to (-0.2,0) # Lettering within the global object + +# Buffer strings +for_(1,3,1, + `line right 3*del from A`'eval(3-m4x) + B`'eval(2*m4x-1): NOT_gate; line right 2*del + T`'m4x: last line.c + B`'eval(2*m4x): BUFFER_gate(,N) ') + +B7: BUFFER_gate at (B1,C) + +G1: NOR_gate with .Out at (B1.Out,DE) +G2: NOR_gate at (B2+grid_(N_rad,0),G1-grid_(0,AND_ht)) +G3: AND_gate(4) with .In1 at (G2.Out+(9*del,0),A2) +G5: AND_gate(4) with .In4 at (G3.In1,G2.Out) +G6: AND_gate at G5+grid_(AND_wd,AND_ht*3/4)+(del*2,0) +G4: NOR_gate with .In1 at (G6.Out,G3)+(2*del,0) +G7: NOR_gate with .In2 at (G4.In2,G5.Out) + +# Output to other latches +TOL: (G2.Out,C)+(4*del,-4*L_unit) + move to TOL+(3*del,-del/3) ; {move down 0.15} + "To other latches" below + +# Remaining input lines + line from G1.In1 to (DE,G1.In1); "D" rjust + line from G1.In2 to (DE,G1.In2); "E" rjust + dot(at G1.In2-(del,0)); line to (Here,G2.In2) then to G2.In2 + line from C to B7.In1 + +# Connect Bi, and connect to output bus +for_(1,3,1, + `dot(at T`'m4x.c) ; line down (A2.y-A1.y)/2 + line to (TOL-(m4x*del,0),Here) ; arrow to (Here,TOL) ') + +# G1 to G2 + dot(at (T1.c,G1)); line to (Here,G2.In1) then to G2.In1 + +# Upper And inputs to output bus +for_(1,4,1, + `line left eval(5-m4x)*del from G3.In`'m4x + arrow to (Here,TOL) ') + + line from B2.Out to (G3.In1,B2)-(4*del,0) ; dot + line from B4.Out to (G3.In2,B4)-(3*del,0) ; dot + line from B6.Out to (G3.In3,B6)-(2*del,0) ; dot + line from G1.Out to (G3.In4,G1)-(del,0) ; dot + +# Lower And inputs + line left 4*del from G5.In1 ; dot + line left 3*del from G5.In2 ; dot + line left 2*del from G5.In3 ; dot + line from G2.Out to G5.In4 ; dot(at (TOL,Here)) ; arrow to (Here,TOL) + +# Fix up G4, G6, G7 + line from G3.Out to G4.In1 + line right del from G4.Out + {dot; line right del + "Q7" wid 0.2 ljust; move right 0.2 } # letters in object + line down 2*del then to G6.In1+(-del,del) + line to (Here,G6.In1) then to G6.In1 + line from G4.In2 to (G6.In1+(-del,0),G4.In2) + line down del then to G7.Out+(del,2*del) + line to (Here,G7) then to G7.Out + line from G6.Out right del ; line to (Here,G7.In1) then to G7.In1 + line from G5.Out to G7.In2 + line left del from G6.In2 ; arrow to (Here,TOL) + dot(at (Here,C)) ; line to B7.Out + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex09DPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex09DPV.m4 new file mode 100644 index 00000000000..b267c68ea09 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex09DPV.m4 @@ -0,0 +1,131 @@ +.PS +# ex09.m4 +# Illustrating the arguments of the `dimension_' and `arcdimension_' macros. +gen_init(svg_font(sans-serif,10bp__,3bp__)) +scale = 25 + +define(`spacer',` +[ +linethick_(1.0) + + WC: circle diameter 4.22 at 0,0 + EC: circle same at 30.15,0 + NC: circle diameter 2.36 at 13.28, 10.92/2 + SC: circle same at 13.28,-10.92/2 + + C: 0.5 # spacer centre + h = 27.26 # spacer height + s = 4.22/2 # small arc radius + r = h/2*0.80 # large arc radius + Cr: C+(0,h/2-r) # upper arc centre + e = s # small arc centre offset from small circle + Cs: EC+(e,0) # right arc centre + +# Tangent points Tr and Ts to circles at Cr and Cs + dx = Cr.x-Cs.x; dy = Cr.y-Cs.y; dsq = dx*dx+dy*dy + Tr: (r*(r-s)/dsq) + (vscal_(r*sqrt(dsq-(r-s)^2)/dsq,dy,-dx)) + Ts: (s/r)-(dx,dy) + + line from Tr to Ts + arc cw to (Ts.x,-Ts.y) with .c at Cs +E: last arc.e + line to (Tr.x,-Tr.y) + arc cw to (C.x-(Here.x-C.x),Here.y) with .c at (Cr.x,-Cr.y) +S: last arc.s + line to (Cs.x-Ts.x-s,Cs.y-Ts.y) + arc cw to (Here.x,-Here.y) with .c at (-e,0) +W: last arc.w + line to (C.x-(Tr.x-C.x),Tr.y) + arc cw to Tr with .c at Cr +N: last arc.n + +thinlines_ + dimension_(from S+(2,0) to N+(2,0),-(E.x-C.x+4),27.76, 5) + dimension_(from SC.n+(0,2) left SC.x-WC.x, (SC.n.y-S.y+3), 13.28, 10) + dimension_(from WC.n+(0,2) right EC.x-WC.x,-(WC.n.y-S.y+7), 30.15, 10) + dimension_(from W+(0,-1.5) to E+(0,-1.5), -(C.y-S.y+8), 41.28, 10) + dimension_(from SC.e+(2,0) up NC.y-SC.y, (SC.e.x-W.x+8),"10.92" wid 10, 5) + + arrow <- from EC left 6 up 16 chop EC.rad chop 0 + line left 4 "4.22 (2) PL" above + arrow <- from NC up last line.y-NC.y+7/8 left 8 chop NC.rad chop 0 + {"2.36" above} + arrow to SC chop 0 chop SC.rad + +] ') + +define(`sk',`scale*0.7') + +define(`bdot', + `dot(`$1',,0.5) + "svg_it($2)" $1 $3 ') + + thinlines_ + + move right 0.8 + +# Upper left diagram + spacer + +# Lower left diagram +[ define(`lwid',`29bp__') +A: bdot(at (0,0),A,below) +B: bdot(at (2*sk,0),B,below) +Ctr: 0.5 between A and B + move up 1*sk from A +L: move left 0.85*sk from A + + linethick_(1) + dimension_(from A to B,0.5*sk,svg_it(label),lwid,0.1*sk) + "`dimension_(from A to B,0.5,label,29bp__,0.1)'" wid 70 \ + with .w at (L.end.x+2,A.y-10) + move down_ 4 from last "" + + thinlines_ + arrow from A to B chop 0.05*sk "svg_it(linespec)" below + dimension_(up_ 0.5*sk from A,0.2*sk,"svg_it(offset)" rjust,,,->) + dimension_(up_ 0.1*sk from B,-0.2*sk," svg_it(tic offset)" ljust) + dimension_(up_ 0.1*sk from B+(0,0.5*sk),-0.2*sk, + " svg_it(tic offset)" ljust) + dimension_(from Ctr+(-lwid/2,0.5*sk) right lwid,0.2*sk, + "svg_it(blank width)" above) +] with .nw at last [].sw+(0,-0.4*sk) +#showbox_ + +# Upper right diagram +[ A: bdot(at (0,0),A, above rjust) + B: bdot(at (2*sk,0),B, above ljust) + C: bdot(at (0,-1.5*sk),C, above rjust) + D: bdot(at (2*sk,-1.5*sk),D, above ljust) + +T: C+(-1*sk,-0.5*sk) +T: C+(-0.45*sk,-0.5*sk) + dimension_(from A to B,0.3*sk,svg_it(AB),20bp__) + dimension_(from C to B chop dotrad_,,svg_it(X),16bp__) + dimension_(from C to A,0.3*sk,svg_it(CA),14bp__,,->) + dimension_(from D to B,-0.3*sk,"svg_it(DB)" ljust) + dimension_(from C to D chop dotrad_,,svg_it(T`'svg_sub(15)),15bp__) + arcdimension_(from C to D with .c at 0.5 between A and B,12bp__, + svg_it(C) to svg_it(D),34bp__) +Q: C+(-9,-15) + +`define' leftparagraph { [ baselineskip = textht*1.5; { move right $1 } + for i = 2 to $+ do { + move to Here+(0,-baselineskip) + exec sprintf("{ `\"$%g \"' wid 4.5*scale ljust }; ",i) } ] } + +leftparagraph(1.7*scale; baselineskip = 1.5*textht, + `dimension_(from A to B,0.3,AB,20bp__)', + `dimension_(from C to B,,X,16bp__)', + `dimension_(from C to A,0.3,CA,14bp__,,->)', + `dimension_(from D to B,-0.3,"DB" ljust)', + `dimension_(from C to D chop dotrad_,,T`'svg_sub(15),15bp__)', + `arcdimension_'svg_symbol(&`#'40;)`from C to D with .c at 0.5 \ + between A and B'svg_comma`12bp__'svg_comma, + svg_ensp `C to D'svg_comma`34bp__'svg_symbol(&`#'41;) + ) with .nw at Q + +] with .nw at 1st [].ne+(1.7*sk,0) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex10DPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex10DPV.m4 new file mode 100644 index 00000000000..0c707781b35 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex10DPV.m4 @@ -0,0 +1,62 @@ +.PS +# ex10.m4 +cct_init(svg_font(sans-serif,11bp__)) + +[ + dt = 360/5 + r = 0.75 + + N0: dot(at (Rect_(r,90))) + N1: dot(at (Rect_(r,(90-dt)))) + N2: dot(at (Rect_(r,(90-2*dt)))) + N3: dot(at (Rect_(r,(90-3*dt)))) + N4: dot(at (Rect_(r,(90-4*dt)))) + + line from N0 to N1 then to N2 then to N3 then to N4 then to N0 + L14: line from N1 to N4 + L24: line from N2 to N4 + C02: crossover(from N0 to N2,,L14) + C13: crossover(from N1 to N3,,C02,L24) + C03: crossover(from N0 to N3,,L14,L24) + ] + +[ +move right 0.5 + up_ +setrgb(255,0,0) +Q1: bi_tr(,R) # Q1 upward with base to the right + llabel(,Q`'svg_sub(1)) + resetrgb # Label to left of last [] +setrgb(0,0,255) +Q2: bi_tr with .C at Q1.C+(elen_*7/4,0) # Q2 with base to left + rlabel(,Q`'svg_sub(2)) + resetrgb + move right 0.5 + + ground(at Q1.E) + ground(at Q2.E) + + line right_ dimen_/3 from Q1.B # Extend the base conductors +B1: Here + line left_ dimen_/3 from Q2.B +B2: Here + + resistor(up_ elen_*0.75 from Q1.C); llabel(,R`'svg_sub(L)) # Load resistors + line to (Q2.C,Here) "svg_it(V`'svg_sub(svg_norm(cc)))" below + resistor(down_ to Q2.C); llabel(,R`'svg_sub(L)) + + move to Q1.C+(0,dimen_/5) + { resistor(right_ to (B1,Here)); llabel(,R`'svg_sub(1)) +X: line to B2 } # Label the line to be jumped + resistor(from (Q2.C,Here) left_ to (B2,Here)); rlabel(,R`'svg_sub(1)) + crossover(to B1,R,X) + + resistor(down_ elen_*0.75); rlabel(,R`'svg_sub(2)) # Bias resistors + {"svg_it(-V`'svg_sub(svg_norm(cc)))" rjust} + line to (B2,Here) + resistor(up_ to B2); rlabel(,R`'svg_sub(2)) + ] with .sw at last [].se+(0.75,0) + + command "" # end font + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex11DPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex11DPV.m4 new file mode 100644 index 00000000000..cca63ef176c --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex11DPV.m4 @@ -0,0 +1,75 @@ +.PS +# ex11.m4 +cct_init(svg_font(sans-serif,11bp__,1bp__)) + + "audio" ljust + { arrow down_ elen_/4} + resistor(down_ 2*elen_) ; llabel(R`'svg_sub(17)) +G: ground + capacitor(right_ dimen_ from last [].c) ; rlabel(,C`'svg_sub(19)) + {arrow <- right_ arrowht from last line.start} + { resistor(down_ to (Here,G)); rlabel(,R`'svg_sub(19)) } +{R18: resistor(up_ elen_*1.2); llabel(,R`'svg_sub(18)) } + + line right_ elen_/4 ; up_ +Q4: bi_tr(,,,E) with .B at Here; llabel(,,Q`'svg_sub(4)) + resistor(down_ from Q4.E to (Q4.E,G)); rlabel(,R`'svg_sub(21)) + resistor(up_ from Q4.C to (Q4.C,R18.end)); llabel(,R`'svg_sub(20)) + line up_ elen_/4; dot; "svg_it(V`'svg_sub(CC))" ljust + +T1: Q4.C+(0,elen_/8) + + capacitor(right_ dimen_ from T1); llabel(,C`'svg_sub(20)) + { capacitor(down_ 0.5*(Here.y-G.y)); rlabel(,C`'svg_sub(21)) + resistor(right_ elen_); llabel(,R`'svg_sub(23)) + arrow <- from last [] to (last [],G) + } + resistor(right_ elen_); llabel(,R`'svg_sub(22)) + { resistor(down_ 0.5*(Here.y-G.y)); llabel(,R`'svg_sub(24)) + capacitor(down_ to (Here,G)); llabel(,C`'svg_sub(22)) } + + capacitor(right_ dimen_); llabel(,C`'svg_sub(23)) + { capacitor(down_ to (Here,G)); rlabel(,C`'svg_sub(24)) } + line right_ elen_/2 +Q5I: Here + line right_ elen_/4 ; up_ +Q5: bi_tr(,,,E) with .B at Here; rlabel(,Q`'svg_sub(5)) +R27: resistor(down_ dimen_ from Q5.E); rlabel(,R`'svg_sub(27)) + line to (Here,G) + resistor(from Q5I down_ Q5I.y-R27.end.y-elen_/12); rlabel(,R`'svg_sub(25)) + { capacitor(to (Here,G)); llabel(,C`'svg_sub(25)) } + + crossover(to (R27,Here)+(hoprad_,0),,R27) +R28: resistor(right_ elen_-hoprad_); llabel(,R`'svg_sub(28)) + resistor(down_ to (Here,G)); rlabel(,R`'svg_sub(30)) + line to G + + resistor(up_ from Q5.C to (Q5.C,R18.end)); llabel(,R`'svg_sub(26)) + line to R18.end + + up_ +Q6: bi_tr(,,,E) with .E at (R28.end.x,Q5.E.y+(T1.y-Q4.B.y)); llabel(,,Q`'svg_sub(6)) + + line from Q6.B to (Q5.C,Q6.B) + resistor(down_ from Q6.E to R28.end); rlabel(,R`'svg_sub(29)) + + line right_ dimen_*3/4 from Q6.C + + { R31: resistor(down_ elen_); circle diam dimen_*0.8 with .c at last line.c + "svg_it(R`'svg_sub(31))" below at last circle.sw + "svg_it(V)" below at last line.c+(dimen_/4,0) } + line right_ dimen_ + { capacitor(down_ elen_); rlabel(,,C`'svg_sub(26)) + line down_ elen_/4; dot; "svg_it(V`'svg_sub(SS))" ljust } + line right_ dimen_/2 +T6: transformer(down_ elen_) with .P1 at Here + line from T6.P2 to R31.end + {"svg_it(T`'svg_sub(6))" at T6.n above } + line right_ elen_/3 from T6.S1 + inductor(down_ elen_,W) + line to T6.S2 + + speaker(R) with .Box.w at last [].e+(dimen_/8,0) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex12DPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex12DPV.m4 new file mode 100644 index 00000000000..1dfa749b7a4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex12DPV.m4 @@ -0,0 +1,136 @@ +.PS +# ex12.m4 +cct_init(svg_font(sans-serif,11bp__)) + +[ + fetht = dimen_*0.9 + +G: ground +Q4: e_fet(up_ fetht) with .S at G +Q3: e_fet(up_ fetht) with .S at Q4.D + +Q2: e_fet(down_ fetht,R,P) with .G at Q3.Channel+( dimen_*0.25,dimen_*1.8) +Q1: e_fet(down_ fetht,R,P) with .G at Q2.G + (-dimen_*1.25,0) + + line left_ dimen_ from Q3.G +A: dot; "svg_it(A)" wid 0.15 rjust + line left_ dimen_ from Q4.G +B: dot; "svg_it(B)" rjust + + line from Q1.G to (Q1.G,Q3.D) then to (Q1.Channel,Q3.D) \ + then to (Q1.Channel,B);dot + line from Q2.G to (Q3.Channel,Q2.G) then to (Q3.Channel,Q3.D) \ + then to (Q3.G,Q3.D) then to Q3.G;dot + line from Q1.D to Q2.D + line from Q1.S to Q2.S + dot(at (G,Q1.S)) ; line up dimen_/3 ; "+5 V" rjust + line from Q3.D to (Q3.D,Q2.D);dot + dot(at Q3.D) + line right_ dimen_ ; dot ; "svg_it(~(AB))" above +] + +[ + del = dimen_/3 + +define(`pair',`[ +Q1: c_fet(up_ dimen_,,P) + line right dimen_*2/3 from Q1.D + {dot(at last line.c); reversed(`source',up_ dimen_,I); Rail: Here + line right dimen_/2 with .c at Here} +Q2: c_fet(up_ dimen_,R,P) with .D at Here + line down del*2 from Q2.S + resistor(down_ dimen_) +Gnd: ground(,T,S) + ]') + +P1: pair +Rail: P1.Rail +Vc: dot(at P1.Q2.S+(0,-del)); "svg_it(V`'svg_sub(c))" rjust + line from P1.Q1.G to (P1.Q1.G,Rail)+(0,del/2); "svg_it(S+)" ljust + + line right_ del from P1.Q2.G + {dot(at last line.c); line up del; "svg_it(V`'svg_sub(ref))" above} + pht = P1.Rail.y-P1.Gnd.y + +P2: pair with .Q1.G at Here +Vcp: dot(at P2.Q2.S+(0,-del*2)); {"svg_it(V`'svg_sub(c'))" above rjust} + {line to (P1.Q1.S,Here) then to P1.Q1.S} + line from P2.Q2.G to (P2.Q2.G,Rail)+(0,del/2); "svg_it(S-)" rjust + + line from Vc to (P2.Q1.S,Vc) then to P2.Q1.S + +define(`cpair',`[ +Rail: line right dimen_/2 +Q1: c_fet(up_ dimen_,,P) with .D at last line.c +Q2: c_fet(up_ dimen_) with .S at Rail+(0,-pht) + ground(at Q2.S,T,S) + line from Q1.G to Q2.G + line from Q1.S to Q2.D + ]') + +S1: cpair with .Rail at P2.Rail+(P2.Q2.G.x-P2.Rail.x+P2.Q2.G.x-P2.Q2.D.x+del,0) +S2: cpair with .Q1.G at (S1.Q1.D.x+del,S1.Q1.G.y) +S3: cpair with .Rail at 2 between S1.Rail and S2.Rail + + line from Vcp to (S2.Q2.G,Vcp); dot + dot(at (S2.Q2.D,Here)); line to (S3.Q2.G,Here); dot + dot(at (S3.Q2.D,Here)); arrow right del + "svg_it(e`'svg_sub(2))" ljust + dot(at P2.Q1.S); line to (S1.Q1.G,Here); dot + dot(at (S1.Q2.D,Here)); arrow to (last arrow.end,Here) + "svg_it(e`'svg_sub(1))" ljust + + +] with .sw at last [].se+(0.25,0) + +[ + elen=0.2 + +VDD: dot; llabel(,V`'svg_sub(DD),) + line down_ elen/2 +P1: mosfet(up_,,ZSDFdTX,) with .D at Here + +MIDDLE: line from P1.S down_ elen/2 + +N1: mosfet(up_,,ZSDFTX,) with .D at Here +N2: mosfet(up_,,ZSDFTX,) with .D at N1.S + ground(at N2.S) + +ING: P1.G+(-elen/2,0) + + line from P1.B right_ elen * 2/5 then down_ elen * 4/5 + line to (ING, Here) + dot + + line from N1.B right_ elen * 2/5 then up_ elen * 4/5 + line to (ING, Here) + dot + + line from N1.G to (ING,N1.G) + dot + + line from N2.G to (ING,N2.G) then to ING then to P1.G + + dot(at (ING,MIDDLE)) + line left_ elen*2 + "svg_it(V`'svg_sub(in))" above + + dot(at MIDDLE) + line right_ elen*2 + { "svg_it(V`'svg_sub(out))" wid 0.25 above } + + line from N2.B to (Here,N2.B) + "svg_it(V`'svg_sub(BB))" above + +PUNT:dot(at 0.5 between N1.S and N2.D) + + "svg_it(V`'svg_sub(x))" ljust + + "svg_it(P`'svg_sub(1))" at P1.Channel.end above rjust + "svg_it(N`'svg_sub(1))" at N1.Channel.start below rjust + "svg_it(N`'svg_sub(2))" at N2.Channel.start below rjust + +] with .sw at last [].se + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex15DPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex15DPV.m4 new file mode 100644 index 00000000000..ca15109fa98 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex15DPV.m4 @@ -0,0 +1,40 @@ +.PS +# ex15.m4 +gen_init + +[ +n = 10; r = 1 +for i = 1 to n-1 do { + for j = i+1 to n do { + line from rect_(r,i*twopi_/n) to rect_(r,j*twopi_/n) + } + } + ] +[ + linethick = 2.5 + lt = linethick bp__ + crad = 1.0 + C: circle rad crad + g = 0.65 + D: C+(Rect_(crad*g,110)) + rm = crad+distance(C,D) + for r=lt to rm by 2*lt do { + if r < (1-g)*crad then { circle rad r at D thick r/rm*linethick } \ + else { arc cw from Cintersect(D,r,C,crad) \ + to Cintersect(D,r,C,crad,R) with .c at D thick r/rm*linethick } + } + linethick = 1.5 + lt = linethick bp__ + C: circle invis rad crad with .w at C.e+(0.1,0) + D: C+(Rect_(crad*g,110)) + rm = crad+distance(C,D) + for r=lt to rm by lt do { + u = (1-r/rm) + if r < (1-g)*crad then { rgbdraw(u,u,u,circle rad r at D) } \ + else { rgbdraw(u,u,u,arc cw from Cintersect(D,r,C,crad) \ + to Cintersect(D,r,C,crad,R) with .c at D) } + } + circle rad C.rad at C + ] with .w at last [].e+(0.1,0) + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex16DPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex16DPV.m4 new file mode 100644 index 00000000000..70a7d00e28a --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex16DPV.m4 @@ -0,0 +1,70 @@ +.PS +# ex16.m4 +cct_init(svg_font(sans-serif,11bp__)) + +[ +define(`elen_',linewid*1.2) + circlerad = delay_rad_ + {"input" above ljust} + line right_ +J: Here + delay +K: Here + delay +L: Here +S1: circle "+" at (K.x,K.y+linewid) +S2: circle "+" at (L,S1) + arrow up_ S1.y-J.y from J then to S1.w + arrow from K to S1.s + arrow from S1.e to S2.w + arrow from L to S2.s +S3: circle "+" at (L.x,L.y-linewid) + arrow down_ J.y-S3.y from J then to S3.w + arrow from L to S3.n + arrow from S2.e right_ linewid/2 then down_ (S2.y-S3.y)/2-circlerad \ + then right_ linewid/2 + arrow from S3.e right_ linewid/2 then up_ (S2.y-S3.y)/2-circlerad \ + then right_ linewid/2 + "output" at 0.5 + ] +[ + circlerad = 0.35/2 + d = linewid*1.75 + S00: circle "00" + S10: circle "10" at S00+(d,d) + S01: circle "01" at S00+(d,-d) + S11: circle "11" at S01+(d,d) + dx = circlerad*cosd(60) + dy = circlerad*sind(60) + brad = circlerad*1.3 + qrad = circlerad*6 + + arc -> cw from S00+(-dx,-dy) to S00+(-dx,dy) rad brad \ + with .c at S00-(dx+sqrt(brad^2-dy^2),0) + "0/00" at last arc.w rjust + right + arc -> cw from S00+(dx,dy) to S10+(-dy,-dx) rad qrad + "1/11" at last arc.nw rjust above + right + arc -> cw from S10+(dy,-dx) to S11+(-dx,dy) rad qrad + "1/01" at last arc.ne ljust above + up_ + arc -> cw from S11+(dx,dy) to S11+(dx,-dy) rad brad \ + with .c at S11+(dx+sqrt(brad^2-dy^2),0) + "1/10" wid 0.3 at last arc.e ljust + down_ + arc -> cw from S11+(-dx,-dy) to S01+(dy,dx) rad qrad + "0/01" at last arc.se ljust below + left_ + arc -> cw from S01+(-dy,dx) to S00+(dx,-dy) rad qrad + "0/11" at last arc.sw rjust below + up_ + arc -> cw from S01+(-dx,dy) to S10+(-dx,-dy) rad qrad*2 + "1/00" at last arc.w rjust + down_ + arc -> cw from S10+(dx,-dy) to S01+(dx,dy) rad qrad*2 + "0/10" at last arc.e ljust + ] with .sw at last [].se+(0.4,0) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex17DPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex17DPV.m4 new file mode 100644 index 00000000000..d1017e02639 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex17DPV.m4 @@ -0,0 +1,44 @@ +.PS +# ex17DPV.m4 +cct_init(svg_font(sans-serif,11bp__,0bp__)) + +[ +nrows = 4 +ncols = 9 +linewid = linewid*0.6 # everything smaller +define(`elen_',linewid) # shorter default length + + for j = 1 to nrows do { + { for i = 1 to ncols do { + Point_(-120) resistor + Point_( 0) inductor + Point_( 120) capacitor + if i < ncols then {Point_(0) diode} } + } + Point_(-120) move to rvec_(elen_,0) + { for i = 1 to ncols do { + Point_(-60) capacitor + Point_( 60) resistor } + } + Point_(-60) move to rvec_(elen_,0) + } + Point_(0) for i = 1 to ncols-1 do { inductor } +] + +[ + down_ + Point_(-80) + + parallel_(Sep=1.75*dimen_; + parallel_(`capacitor(,C); rlabel(,,C`'svg_sub(2))', + `resistor; llabel(,R`'svg_sub(2))' ), + parallel_(`resistor; rlabel(,R`'svg_sub(1)); move to rvec_(-dimen_/5,0) + inductor(,W); rlabel(,L`'svg_sub(1))', + `reversed(`source',to rvec_(elen_,0),V,sourcerad_*2.5) + rlabel(,v`'svg_sub(s))' ) + ) + move left 0.2 from last [].w +] with .sw at last [].se+(elen_,0) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex18DPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex18DPV.m4 new file mode 100644 index 00000000000..c14e7c46163 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex18DPV.m4 @@ -0,0 +1,40 @@ +.PS +# ex18.m4 +cct_init(svg_font(Times,11bp__)) + +[ + "svg_it(v`'svg_sub(i))" wid 0.1 rjust; dot + resistor(right_ dimen_) ; llabel(,svg_it(R`'svg_sub(i))) +T: dot + line right_ linewid/4 +A: opamp with .In1 at Here + + line from A.In2 to (T,A.In2) + resistor(down_ dimen_) ; rlabel(,svg_it(R`'svg_sub(g))) + ground(,T) + + line right_ dimen_ from A.Out + diode(up_ dimen_); dot + {line right_ linewid/2; dot; "svg_it(v`'svg_sub(o))" wid 0.2 ljust } + resistor(left_ to (A.Out,Here)) ; rlabel(,svg_it(R`'svg_sub(o))); dot + { diode(down_ to A.Out); dot } + line to (T,Here) then to T + ] +[ +# ex19.m4 +define(`dimen_',dimen_*1.25) + +B: battery(up_ dimen_*2/3); rlabel(,V) + move down dimen_/4 + resistor(up_ dimen_); rlabel(,R,) + {move up textht*1.5 } + inductor(right_ elen_); b_current(i); rlabel(,L) + { capacitor(down_ to (Here,B.start)); rlabel(,C); llabel(+,v,-) } + line right_ dimen_ + diode(down_ to (Here,B.start),T); b_current(h(v)) + { move right 0.3} + line to B.start + ] with .nw at last [].ne+(20bp__,0) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex21DPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex21DPV.m4 new file mode 100644 index 00000000000..6eef6f091b6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ex21DPV.m4 @@ -0,0 +1,66 @@ +.PS +# ex21DPV.m4 +log_init(svg_font(sans-serif,11bp__)) + +dy = 0.2 +ddy = 1.8*dy +textht = textht*0.9 + +D: FlipFlop(D) +T: FlipFlop(T) with .Chip.sw at last [].se + (0.4,0) +RS: FlipFlop(RS) with .Chip.sw at last [].se + (0.4,0) +JK: FlipFlop(JK) with .Chip.sw at last [].se + (0.4,0) + `"FlipFlop(JK)"' at JK.s below + `"FlipFlop(RS)"' at (RS.s,JK.s) below + `"FlipFlop(T)"' at (T.s,JK.s) below + `"FlipFlop(D)"' at (D.s,JK.s) below + +# Test 3: synchronous 3-bit counter +define(`counterFF',``$1':FlipFlop(JK) `$2' + "`$1'" at `$1'.Chip.sw-(3bp__,0) below ljust + "1" at `$1'.PinCLR.end above + "1" at `$1'.PinPR.end below') + +[ +right_ + counterFF(FF0) + counterFF(FF1,with .Chip at FF0.Chip+(-28*L_unit,0)) + counterFF(FF2,with .Chip at FF1.Chip+(-28*L_unit,0)) + "1" at FF0.PinJ.end rjust + "1" at FF0.PinK.end rjust +Dc: FF2.Chip.sw+(-9*L_unit,-7.5*L_unit) +Bot: Dc+(0,-3*L_unit) + +left_ +GAnd: AND_gate at FF1.Chip.nw+(4*L_unit,12*L_unit) +right_ + + line from FF2.PinCK.end left 3*L_unit + line to (Here,Dc); dot + line from FF1.PinCK.end left 3*L_unit + line to (Here,Dc); dot + line from FF0.PinCK.end left 3*L_unit + line to (Here,Dc) then to Dc + "svg_it(D`'svg_sub(C))" rjust + + line from FF2.PinK.end to FF2.PinJ.end; dot + line to (Here,GAnd.Out) then to GAnd.Out + + line from FF1.PinK.end to FF1.PinJ.end; dot + line to (Here,FF1.PinCLR.end+(0,3*L_unit)) + line to (GAnd.In2+(6*L_unit,0),Here) then to GAnd.In2+(6*L_unit,0); dot + + line from FF0.PinQ.end right 0.1; dot + line from GAnd.In2 to (Here,GAnd.In2) then to (Here,Bot) + "svg_it(D`'svg_sub(00))" below + + line right 0.1 from FF1.PinQ.end; dot + line from GAnd.In1 to (Here,GAnd.In1) then to (Here,Bot) + "svg_it(D`'svg_sub(01))" below + + line right 0.1 from FF2.PinQ.end + line to (Here,Bot); "svg_it(D`'svg_sub(02))" below + ] with .n at 0.5<2nd[].s,3rd[].s> - (0,0.4) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/examplesDPV.htmx b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/examplesDPV.htmx new file mode 100644 index 00000000000..8d33b9f07ea --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/examplesDPV.htmx @@ -0,0 +1,731 @@ + + + + + + +SVG Examples: Circuit_macros Version XXX + + + + + + + + + + + +
+ +

SVG Circuit_macros examples, Version XXX

+ +Home +> +Examples +> +dpv + +
+ +

+ This file shows diagrams in .svg format produced without the use of + LaTeX or equivalent. + +The diagrams have been adapted from the Circuit_macros +examples in order to test the svg output of dpic. Generating svg line +art is straightforward but formatting text is not because TeX, LaTeX, +and related word processors do not produce svg directly. Either +less-sophisticated text formatting must be employed for svg or an + + intermediate format +such as pdf can be +produced, followed by an additional processing step to convert to svg. +Two possibilities for the latter are + dvisvgm +and + pdf2svg. +However, many circuit and similar diagrams intended for the web do not +require sophisticated labels; the examples shown below might +be representative. +

+

+ Click on the link to view the source of each diagram. +

+
+

+There are other issues: +

    +
  • The default font face is not specified in all of these diagrams but is + inherited from the enclosing document, so the appearance of labels can + differ depending on the browser. Some of these diagrams set the font at + the beginning of the diagram source. + + +
  • Diagrams such as these contain text labels + that have to be treated differently from the LaTeX-compatible versions; + for example, + apparently there is no direct way to know the bounding box of arbitrary svg + text. + + Consequently, text placement is approximate and may require + manual adjustment. +
  • Rather than patch the original source files for svg production, + edited copies have been used. The configuration file svg.m4 read by + m4 prior to libcct.m4 contains the following macros defined for svg. + Others could be defined to exercise some of the media capabilties + of svg. They are subject to change: +
      +
    • + m4tt`'svg_font(font-face,nominal size[:dptextratio],textoffset, + dpic commands`'m4tt): + Change font face, size, textratio and dpic textoffset parameters. + Change font face and dpic m4tt`'textht, m4tt`'dptextratio, + and m4tt`'textoffset parameters. + If arg4 is blank, the font is changed and + requires m4tt`'command "</g>" to cancel the font change. +
      + Note: + Nominal height = text height in drawing units; actual height = + nominal ht x m4tt`'dptextratio. +
      + Examples:
      + m4tt`'svg_font(Times)
      + m4tt`'svg_font(Times,14bp__)
      + m4tt`'svg_font(sans-serif,14bp__:0.71)
      + m4tt`'svg_font(Times,11bp__,1bp__,"text" at A)
      + m4tt`'svg_font(font-family="Times")
      + m4tt`'svg_font(font-family="Times" font-style="italic")
      + m4tt`'svg_font(style="font-family:Times; font-style:italic") +
    • m4tt svgfontratio(font name`'m4tt); + Reasonable m4tt`'dptextratio value for common fonts, used + by m4tt`'svg_font. +
    • m4tt svg_tspan(text attributes, text`'m4tt); + e.g. m4tt`'svg_tspan(font-style="italic" font-size="75%",XYZ) +
    • m4tt svg_it(text`'m4tt): for italics +
    • m4tt svg_tt(text`'m4tt): for monospace (courier) +
    • m4tt svg_sf(text`'m4tt): sans-serif (Helvetica) +
    • m4tt svg_norm(text`'m4tt): for normal text +
    • m4tt svg_bf(text`'m4tt): for bold face +
    • m4tt svg_small(text, percent`'m4tt): + to set a smaller text size, default 66 +
    • m4tt svg_fsize(text, percent`'m4tt): + for setting larger or smaller text size, default 100 +
    • m4tt svg_sub(text, size percent, y displ, x displ`'m4tt): + subscript +
    • m4tt svg_ul(text`'m4tt): underlined text +
    • m4tt svg_ol(text`'m4tt): overlined text +
    • m4tt svg_sup(text, size percent, y displ, x displ`'m4tt): + superscript +
    • m4tt svg_hat(character`'m4tt): circumflex-accented character +
    • m4tt svg_frac(numerator[:wid], denominator[:wid]`'m4tt): + basic fraction, wid in drawing units +
    • m4tt svg_rot(degrees, "text" [at position]`'m4tt): + Rotate text degrees (default 90) ccw. + Requires m4tt`'svg_rot_init(filename`'m4tt) and the source + must be processed twice. +
    • m4tt svg_rot_init(filename`'m4tt): + filename is the basename of the output of + m4tt`'dpic -v filename.pic > filename.svg`'m4tt +
    • m4tt svg_symbol(text`'m4tt): allow quoted pound sign in text, + e.g., m4tt`'svg_symbol(10&`#'176;) produces 10° +
    • m4tt svgLink(URL, drawing object, m4tt[B]): + link to external file using + <a xlink:href=...>...</a> (default is + m4tt`'target="_blank" unless + arg 3 = B) +
    • m4tt svgLinkString as above but for strings attached to objects +
    • Greek and other symbols: + + + + + + + + + + + + + + + +
      m4tt svg_alpha changecom(,)&`#'945;changecom(`#') + m4tt svg_beta changecom(,)&`#'946;changecom(`#') + m4tt svg_Gamma changecom(,)&`#'915;changecom(`#') + m4tt svg_gamma changecom(,)&`#'947;changecom(`#') + m4tt svg_Delta changecom(,)&`#'916;changecom(`#') + m4tt svg_delta changecom(,)&`#'948;changecom(`#') + m4tt svg_epsilon changecom(,)&`#'949;changecom(`#') + m4tt svg_zeta changecom(,)&`#'950;changecom(`#') +
      m4tt svg_eta changecom(,)&`#'951;changecom(`#') + m4tt svg_Theta changecom(,)&`#'920;changecom(`#') + m4tt svg_theta changecom(,)&`#'952;changecom(`#') + m4tt svg_iota changecom(,)&`#'953;changecom(`#') + m4tt svg_kappa changecom(,)&`#'954;changecom(`#') + m4tt svg_Lambda changecom(,)&`#'923;changecom(`#') + m4tt svg_lambda changecom(,)&`#'955;changecom(`#') + m4tt svg_mu changecom(,)&`#'956;changecom(`#') +
      m4tt svg_nu changecom(,)&`#'957;changecom(`#') + m4tt svg_Xi changecom(,)&`#'926;changecom(`#') + m4tt svg_xi changecom(,)&`#'958;changecom(`#') + m4tt svg_Pi changecom(,)&`#'928;changecom(`#') + m4tt svg_pi changecom(,)&`#'960;changecom(`#') + m4tt svg_rho changecom(,)&`#'961;changecom(`#') + m4tt svg_Sigma changecom(,)&`#'931;changecom(`#') + m4tt svg_sigma changecom(,)&`#'963;changecom(`#') +
      m4tt svg_tau changecom(,)&`#'964;changecom(`#') + m4tt svg_upsilon changecom(,)&`#'965;changecom(`#') + m4tt svg_Phi changecom(,)&`#'934;changecom(`#') + m4tt svg_phi changecom(,)&`#'966;changecom(`#') + m4tt svg_chi changecom(,)&`#'967;changecom(`#') + m4tt svg_Psi changecom(,)&`#'936;changecom(`#') + m4tt svg_psi changecom(,)&`#'968;changecom(`#') + m4tt svg_Omega changecom(,)&`#'937;changecom(`#') +
      m4tt svg_omega changecom(,)&`#'969;changecom(`#') + m4tt svg_micro changecom(,)&`#'956;changecom(`#') + m4tt svg_ohm changecom(,)&`#'937;changecom(`#') + m4tt svg_lt changecom(,)&`#'60;changecom(`#') + m4tt svg_gt changecom(,)&`#'62;changecom(`#') + m4tt svg_leq changecom(,)&`#'8804;changecom(`#') + m4tt svg_geq changecom(,)&`#'8805;changecom(`#') + m4tt svg_prime changecom(,)&`#'8242;changecom(`#') +
      m4tt svg_backsl changecom(,)&`#'92;changecom(`#') + m4tt svg_pound changecom(,)&`#'35;changecom(`#') + m4tt svg_comma changecom(,)&`#'44;changecom(`#') + m4tt svg_lparen changecom(,)&`#'40;changecom(`#') + m4tt svg_rparen changecom(,)&`#'41;changecom(`#') + m4tt svg_circ changecom(,)&`#'710;changecom(`#') + m4tt svg_deg changecom(,)&`#'176;changecom(`#') + m4tt svg_grave changecom(,)&`#'96;changecom(`#') +
      + + + +
      m4tt svg_emsp |changecom(,)&`#'8195;changecom(`#')| + m4tt svg_ensp |changecom(,)&`#'8194;changecom(`#')| + m4tt svg_thinsp |changecom(,)&`#'8201;changecom(`#')| +
      + +
    +
  • Inkscape: It may be efficient to define elements by macro and to + place them using a wysiwyg graphics editor. A draft page intended + for Inkscape is included. A reasonable variety of elements is defined + but many more could be added and they should be customized for + particular applications. Adjustments may also have to be made to + obtain the proper snap-to actions. +
  • Link experiments: Click on the resistor or source of quickDPV + to go to external + files in new windows. Click on "n-port" in NportDPV to replace the diagram + and then "back" to return. +
  • Some of the assumptions used to create this draft may be + na&`#'239;ve. + Comments are welcome. +
+ + + +
+ + + + + +
+

+ +

+Fig. m4inx (quickDPV.m4): +SVG produced by dpic changecom(,)&`#'8194;changecom(`#') +

+
+

+ +

+(quick.m4): +SVG produced from quick.pdf by dvisvgm changecom(,)&`#'8194;changecom(`#') +

+
+ +
+ +cfig(ResistorsDPV, + Resistors`,' showing some variations and the ebox) + +cfig(CapacitorsDPV, + Capacitors) + +cfig(InductorsDPV, + Inductors) + +cfig(DiodesDPV, + Diodes: appending a m4tt`'K to the second argument draws an open + arrowhead) + +cfig(EmarrowsDPV, + Radiation arrows) + +cfig(VariableDPV, + Arrows and marks for showing variability) + +cfig(SourcesDPV, + Sources and source-like elements) + +cfig(AmpTableDPV, + Macros m4tt`'amp`,' delay`,' and m4tt`'integrator) + +cfig(FusesDPV, + Macros m4tt`'fuse and m4tt`'cbreaker) + +cfig(ArrestersDPV, + The m4tt`'arrester macro) + +cfig(MoreTableDPV, + Additional two-terminal elements) + +cfig(GroundsDPV, + Ground symbols) + +cfig(SwitchesDPV, + The switch macros; m4tt`'switch(`,'`,'`,'L|B|D,attribs) + is a wrapper for m4tt`'lswitch`,' m4tt`'bswitch`,' + and m4tt`'dswitch) + +cfig(AntennasDPV, + Antenna symbols) + +cfig(OpampDPV, + The opamp) + +cfig(AudioDPV, + Audio elements) + +cfig(XformDPV, + Some variations of the transformer element`,' drawing direction down) + +cfig(NPDTDPV, + Double throw with the m4tt`'NPDT macro) + +cfig(ContactDPV, + A non-exhaustive sampling of m4tt`'contact macro variations) + +cfig(ContactsDPV, + The m4tt`'contacts macro) + +cfig(relaycoilDPV, + The m4tt`'relaycoil macro) + +cfig(RelayDPV, + Some variants of m4tt`'relay) + +cfig(JackDPV, + The m4tt`'jack and m4tt`'plug macros) + +cfig(ConnDPV, + The m4tt`'tstrip`,' ccoax`,' tconn`,' and m4tt`'tbox macros) + +cfig(PconnDPV, + The m4tt`'pconnex macro) + +cfig(EVplugsDPV, + Electric vehicle charging plug patterns make extensive + use of key=value pairs to set options) + +cfig(HeadersDPV, + The m4tt`'Header macro) + +cfig(ConnectorsDPV, + Some integrated circuits and connectors with simple geometry + and lists of labels) + +cfig(ChipsDPV, + IC outlines) + +cfig(fetDPV, + FETs`,' showing programmable components and example customizations) + +cfig(ujtDPV, + UJT examples) + +cfig(thyristorDPV, + Thyristor examples. The thyristor is a 3- or 4-terminal + composite element) + +cfig(BipDPV, + Bipolar transistors (drawing direction: up)) + +cfig(TgateDPV, + The m4tt`'tgate and m4tt`'ptrans elements) + +cfig(NportDPV, + The m4tt`'nport and m4tt`'nterm macros) + +cfig(NLGDPV, + Some customizations of m4tt`'nport) + +cfig(WindingsDPV, + The macro + m4tt`'winding(L|R`,'diam`,'pitch`,'turns`,'core wid`,'core color)) + +cfig(ex01DPV, + Two simple labeled circuits) + +cfig(ex02DPV, + Elements at obtuse angles) + +cfig(OptoisoDPV, + Optical isolator: a circuit with right or left orientation) + +cfig(MixerDPV, + A balanced mixer`,' using m4tt`'mosfet and a custom transformer) + +cfig(PushPullDPV, + A push-pull mixer`,' showing FETs with multiple gates) + +cfig(QuantumDPV, + A quantum circuit) + +cfig(SQUIDDPV, + Superconducting quantum interface device (drawing direction down)) + +cfig(SixpoleDPV, + A six-pole filter) + +cfig(ex18DPV, + Precision half-wave rectifier and a tunnel diode circuit + (illustrating m4tt`'opamp`,' diode`,' resistor`,' ground`,' + and labels)) + +cfig(ex10DPV, + Non-planar graph and bistable circuit + (illustrating the m4tt`'crossover macro and colored elements)) + +cfig(ThreeDPV, + Three-phase oscillator) + +cfig(MCDPV, + A three-phase switched AC-AC converter and a DC-DC converter) + +cfig(ex17DPV, + A repetitive network created by Pic looping and + a skewed circuit used to test the macro m4tt`'parallel_) + +cfig(ex12DPV, + A CMOS NAND gate`,' a test circuit`,' and an XMOSFET example) + +cfig(pwrsupplyDPV, + An elementary power supply circuit with colored elements`,' + and a multiple-winding transformer with 3-phase rectifier) + +cfig(TTLnandDPV, + TTL NAND gate illustrating a transistor with multiple emitters) + +cfig(I2LDPV, + Gate circuit and equivalent embedded components + illustrating multiple collectors) + +cfig(SchottkyDPV, + A 4-input NAND circuit illustrating the m4tt`'S (Schottky) + option of m4tt`'bi_trans) + +cfig(ex11DPV, + Transistor radio audio chain) + +cfig(ex04DPV, + Labels on non-manhattan elements) + +cfig(CsourceDPV, + Realization of a controlled source + (illustrating stacked element labels)) + +cfig(DriveDPV, + Synchronous machine driven by variable-speed drive and rectifier) + +cfig(ex16DPV, + A rate 1/2 binary convolutional coder and its state diagram) + +cfig(ex03DPV, + Digital filter) + +cfig(MotorControlDPV, + Motor control connections) + +cfig(RectifiersDPV, + Rectifier circuits and waveforms) + +cfig(HeathkitDPV, + The power supply of a Heathkit AR-15 (Now`,' that + was a receiver!) with custom transformer and other elements`,' + drawn on a grid (partially shown) to aid in placement) + +cfig(lcctDPV, + A digital circuit of moderate size`,' + redrawn from M. P. Maclenan and G. M. Burns`,' + "An Approach to Drawing Circuit Diagrams for Text Books`,'" + Tugboat (12)1`,' March 1991`,' pp. 66-69) + +cfig(TubediagsDPV, + Electron-tube diagrams: a few bottom-view base diagrams`,' + a generic triode test circuit`,' and a 25-watt audio amplifier adapted + from F. Langford-Smith`,' Radiotron Designers Handbook`,' fourth + edition`,' Harrison`,' NJ: Radio Corporation of America`,' 1952) + +cfig(UNODPV, + An Arduino UNO circuit adapted and redrawn) + +cfig(sfgDPV, + Signal-flow graphs) + +cfig(LogicDPV, + Basic logic gates) + +cfig(ex08DPV, + General-purpose latch: a small logic circuit) + +cfig(DecoderDPV, + Decoder logic`,' constructed using the m4tt`'for_ macro) + +cfig(ex21DPV, + Some flip-flops) + +cfig(MultiplexerDPV, + Multiplexer) + +cfig(DemultiplexerDPV, + Demultiplexer) + +cfig(ShiftRDPV, + A 5-bit shift register drawn using a custom flip-flop) + +cfig(AdderDPV, + A full adder and a cascade of n-bit adders) + +cfig(CanLogicDPV, + A way of automatically drawing two-layer logic diagrams) + +cfig(AlogixDPV, + The m4tt`'Autologix(`'Boolean expression; + Boolean expression... `,' options) + macro automatically draws Boolean expressions in function notation. + The function tree is drawn`,' then a row or column of inputs`,' then + the connections. The default result is on the left`,' + a custom element at the top`,' and a tree of gates only is shown + on the right.) + +cfig(ABlogixDPV, + The m4tt`'Autologix macro can draw inputs on the left but + the added drawing complexity may require hand tuning with + second-argument options: m4tt`'L puts the inputs on the left`,' + m4tt`'R reverses their order`,' m4tt`'V scans the input arguments + in reverse order`,' and m4tt`'offset=`'value displaces + the array of inputs) + +cfig(XORDPV, + Realizations of the XOR function using m4tt`'Autologix) + +cfig(ex00DPV, + Line diagrams) + +cfig(EEPDPV, + Part of a single-line diagram of a power distribution system + using draft elements) + +cfig(ex05DPV, + Use of m4tt`'darrow and m4tt`'Darc) + +cfig(GrayCodeDPV, + Gray code 10-bit encoder disk pattern`,' + and a crossbar switch) + +cfig(controlDPV, + Control-system block diagrams) + +cfig(ByteDPV, + Elementary splines) + +cfig(RotboxDPV, + The macro + m4tt`'rotbox(wid,ht,type,[r|t=val]) + draws a box in the current direction) + +cfig(ex06DPV, + Crosshatching) + +cfig(GeometryDPV, + Plane geometry examples) + +cfig(LoglogDPV, + Graphs drawn using the pic language) + +cfig(SmithchartDPV, + A Smith chart) + +cfig(ex09DPV, + Illustrating the macro + m4tt`'dimension_(linespec`,' offset`,' label`,' + H|W|D|blank width`,' tic offset`,' <-|->). + A negative second argument implies an offset to the right of the + linespec direction. A label starting with + m4tt`'" or + m4tt`'sprintf is copied literally. If label is an + m4tt`'s_box(...) then setting argument 4 to m4tt`'H`,' + m4tt`'W`,' + or m4tt`'D tailors the blank width to the m4tt`'s_box height`,' + width`,' or diagonal respectively; i.e.`,' m4tt`'W is equivalent to + m4tt`'s_wd+textoffset*2. + The macro m4tt`'arcdimension_ is similar but the first argument + specifies the arc to be dimensioned and the second argument is + the outward radial offset of the dimension arrow arc.) + +cfig(PlateDPV, + Dimensioning with tolerances according to ASME Y14.5) + Use of m4tt`'darrow and m4tt`'Darc) + +cfig(randomDPV, + Testing random number generation + using dpic macro + m4tt`'randn(array name`,' mean`,' std devm4tt`') + which calls dpic built-in m4tt`'rand()) + +cfig(expDPV, + Test of m4tt`'project and other m4tt`'lib3D + macros`,' showing the projection of a solid onto + the y1`,'z1 plane by sighting along the x1 axis.) + +cfig(graysurfDPV, + Plotting surfaces using gray scales) + +cfig(shapesDPV, + Basic shapes) + +cfig(cscDPV, + Conestoga Sailing Club (illustrating the filling of arbitrary shapes)`,' + and an antique clock face with shading and rotated text) + +cfig(roseDPV, + A window redrawn from a detail of the set design for the musical + Dracula`,' used for testing m4tt`'dpic`,' + and an experimental halftone. This diagram + consumes much LaTeX main memory but can be produced + directly as pdf using m4tt`'dpic -d`,' + as svg using m4tt`'dpic -v`,' + or as postscript using m4tt`'dpic -r + since no text formatting is required) + +cfig(diamondDPV, + Variations on M. Goossens`,' S. Rahtz`,' and F. Mittelbach`,' + The LaTeX Graphics Companion`,' Addison-Wesley 1997`,' pp. 57-58) + +cfig(wormDPV, + An exercise in calculating RGB colours) + +cfig(ButtonsDPV, + Shading in color) + +cfig(keyboardDPV, + More objects drawn in relief) + +cfig(DiniDPV, + Dini surface and an icosahedron) + +cfig(SierpinskiDPV, + The Sierpinski triangle and a Cayley graph: + tests of pic macro recursion) + +cfig(EscherDPV, + Penrose stairs and an Escher-like object) + +cfig(recycleDPV, + Modest repetition and partial fill) + +cfig(ex15DPV, + Simple diagrams that are easily drawn by looping) + + + +cfig(CrowDPV, + Illustrating m4tt`'shadebox and a custom crowfoot line + termination) + +cfig(FlowDPV, + A flowchart sampler) + + +cfig(BtreeDPV, + Trees) + +cfig(InclepsDPV, + Overlaying a figure with line graphics,,OBJECT) + +cfig(paletteDPV, + A draft palette of a few elements for Inkscape using + a 1 mm grid) + +cfig(FontsDPV) + +
+ + diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/examplesDPVs.html b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/examplesDPVs.html new file mode 100644 index 00000000000..8ce1912911b --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/examplesDPVs.html @@ -0,0 +1,417 @@ + + + + + + +SVG Examples: Circuit_macros Version 10.1 + + + + + + + + + + + +
+ +

SVG Circuit_macros examples, Version 10.1

+ +Home +> +Examples +> +dpv + +
+ +

+ This file shows a few diagrams in .svg format produced without the use of + LaTeX or equivalent. +The diagrams have been adapted from the Circuit_macros +examples in order to test the svg output of dpic. +To generate the equivalent for all the examples, go to the +examples/dpv directory and type "make". Typing "make examplesDPVs.html" +produces the selection shown here. +

+

+Generating svg line +art is straightforward but formatting text is not because TeX, LaTeX, +and related word processors do not produce svg directly. Either +less-sophisticated text formatting must be employed for svg or an + + intermediate format +such as pdf can be +produced, followed by an additional processing step to convert to svg. +Two possibilities for the latter are + dvisvgm --pdf +and + pdf2svg. +However, many circuit and similar diagrams intended for the web do not +require sophisticated labels; the examples shown below might +be representative. Compare them to those in + examples.html +

+

+ Click on the link to view the source of each diagram. +

+
+

+There are other issues: +

    +
  • The default font face is not specified in all of these diagrams but is + inherited from the enclosing document, so the appearance of labels can + differ depending on the browser. Some of these diagrams set the font at + the beginning of the diagram source. +
  • Diagrams such as these contain text labels + that have to be treated differently from the LaTeX-compatible versions; + for example, + apparently there is no direct way to know the bounding box of arbitrary svg + text. + + Consequently, text placement is approximate and may require + manual adjustment. +
  • Rather than patch the original source files for svg production, + edited copies have been used. The configuration file svg.m4 read by + m4 prior to libcct.m4 contains the following macros defined for svg. + Others could be defined to exercise some of the media capabilties + of svg. They are subject to change: +
      +
    • + svg_font(font-face,nominal size[:dptextratio],textoffset, + dpic commands): + Change font face, size, textratio and dpic textoffset parameters. + Change font face and dpic textht, dptextratio, + and textoffset parameters. + If arg4 is blank, the font is changed and + requires command "</g>" to cancel the font change. +
      + Note: + Nominal height = text height in drawing units; actual height = + nominal ht x dptextratio. +
      + Examples:
      + svg_font(Times)
      + svg_font(Times,14bp__)
      + svg_font(sans-serif,14bp__:0.71)
      + svg_font(Times,11bp__,1bp__,"text" at A)
      + svg_font(font-family="Times")
      + svg_font(font-family="Times" font-style="italic")
      + svg_font(style="font-family:Times; font-style:italic") +
    • svgfontratio(font name); + Reasonable dptextratio value for common fonts, used + by svg_font. +
    • svg_tspan(text attributes, text); + e.g. svg_tspan(font-style="italic" font-size="75%",XYZ) +
    • svg_it(text): for italics +
    • svg_tt(text): for monospace (courier) +
    • svg_sf(text): sans-serif (Helvetica) +
    • svg_norm(text): for normal text +
    • svg_bf(text): for bold face +
    • svg_small(text, percent): + to set a smaller text size, default 66 +
    • svg_fsize(text, percent): + for setting larger or smaller text size, default 100 +
    • svg_sub(text, size percent, y displ, x displ): + subscript +
    • svg_ul(text): underlined text +
    • svg_ol(text): overlined text +
    • svg_sup(text, size percent, y displ, x displ): + superscript +
    • svg_hat(character): circumflex-accented character +
    • svg_frac(numerator[:wid], denominator[:wid]): + basic fraction, wid in drawing units +
    • svg_rot(degrees, "text" [at position]): + Rotate text degrees (default 90) ccw. + Requires svg_rot_init(filename) and the source + must be processed twice. +
    • svg_rot_init(filename): + filename is the basename of the output of + dpic -v filename.pic > filename.svg +
    • svg_symbol(text): allow quoted pound sign in text, + e.g., svg_symbol(10&`#'176;) produces 10° +
    • svgLink(URL, drawing object, [B]): + link to external file using + <a xlink:href=...>...</a> (default is + target="_blank" unless + arg 3 = B) +
    • svgLinkString as above but for strings attached to objects +
    • Greek and other symbols: + + + + + + + + + + + + + + + +
      svg_alpha α + svg_beta β + svg_Gamma Γ + svg_gamma γ + svg_Delta Δ + svg_delta δ + svg_epsilon ε + svg_zeta ζ +
      svg_eta η + svg_Theta Θ + svg_theta θ + svg_iota ι + svg_kappa κ + svg_Lambda Λ + svg_lambda λ + svg_mu μ +
      svg_nu ν + svg_Xi Ξ + svg_xi ξ + svg_Pi Π + svg_pi π + svg_rho ρ + svg_Sigma Σ + svg_sigma σ +
      svg_tau τ + svg_upsilon υ + svg_Phi Φ + svg_phi φ + svg_chi χ + svg_Psi Ψ + svg_psi ψ + svg_Omega Ω +
      svg_omega ω + svg_micro μ + svg_ohm Ω + svg_lt < + svg_gt > + svg_leq ≤ + svg_geq ≥ + svg_prime ′ +
      svg_backsl \ + svg_pound # + svg_comma , + svg_lparen ( + svg_rparen ) + svg_circ ˆ + svg_deg ° + svg_grave ` +
      + + + +
      svg_emsp | | + svg_ensp | | + svg_thinsp | | +
      + +
    +
  • Inkscape: It may be efficient to define elements by macro and to + place them using a wysiwyg graphics editor. A draft page intended + for Inkscape is included. A reasonable variety of elements is defined + but many more could be added and they should be customized for + particular applications. Adjustments may also have to be made to + obtain the proper snap-to actions. +
  • Link experiments: Click on the resistor or source of quickDPV + to go to external + files in new windows. Click on "n-port" in NportDPV to replace the diagram + and then "back" to return. +
  • Some of the assumptions used to create this draft may be + naïve. + Comments are welcome. +
+ + + +
+ + + + + +
+

+ +

+Fig. 1 (quickDPV.m4): +SVG produced by dpic   +

+
+

+ +

+(quick.m4): +SVG produced from quick.pdf by dvisvgm   +

+
+ +
+ + + +

+ +

+Fig. 2 (ConnectorsDPV.m4): +Some integrated circuits and connectors with simple geometry + and lists of labels   +

+
+ + + +

+ +

+Fig. 3 (NportDPV.m4): +The nport and nterm macros   +

+
+ + + +

+ +

+Fig. 4 (ex01DPV.m4): +Two simple labeled circuits   +

+
+ + + +

+ +

+Fig. 5 (CsourceDPV.m4): +Realization of a controlled source + (illustrating stacked element labels)   +

+
+ + + +

+ +

+Fig. 6 (HeathkitDPV.m4): +The power supply of a Heathkit AR-15 (Now, that + was a receiver!) with custom transformer and other elements, + drawn on a grid (partially shown) to aid in placement   +

+
+ + + +

+ +

+Fig. 7 (EEPDPV.m4): +Part of a single-line diagram of a power distribution system + using draft elements   +

+
+ + + +

+ +

+Fig. 8 (controlDPV.m4): +Control-system block diagrams   +

+
+ + +

+ +

+Fig. 9 (ByteDPV.m4): +Elementary splines   +

+
+ + + +

+ +

+Fig. 10 (FlowDPV.m4): +A flowchart sampler   +

+
+ + + + + +

+ +

+Fig. 11 (paletteDPV.m4): +A draft palette of a few elements for Inkscape using + a 1 mm grid   +

+
+ + +

+ + +

+
+ +
+ + diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/examplesDPVs.htmx b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/examplesDPVs.htmx new file mode 100644 index 00000000000..7ad5f84e9f2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/examplesDPVs.htmx @@ -0,0 +1,741 @@ + + + + + + +SVG Examples: Circuit_macros Version XXX + + + + + + + + + + + +
+ +

SVG Circuit_macros examples, Version XXX

+ +Home +> +Examples +> +dpv + +
+ +

+ This file shows a few diagrams in .svg format produced without the use of + LaTeX or equivalent. +The diagrams have been adapted from the Circuit_macros +examples in order to test the svg output of dpic. +To generate the equivalent for all the examples, go to the +examples/dpv directory and type "make". Typing "make examplesDPVs.html" +produces the selection shown here. +

+

+Generating svg line +art is straightforward but formatting text is not because TeX, LaTeX, +and related word processors do not produce svg directly. Either +less-sophisticated text formatting must be employed for svg or an + + intermediate format +such as pdf can be +produced, followed by an additional processing step to convert to svg. +Two possibilities for the latter are + dvisvgm --pdf +and + pdf2svg. +However, many circuit and similar diagrams intended for the web do not +require sophisticated labels; the examples shown below might +be representative. Compare them to those in + examples.html +

+

+ Click on the link to view the source of each diagram. +

+
+

+There are other issues: +

    +
  • The default font face is not specified in all of these diagrams but is + inherited from the enclosing document, so the appearance of labels can + differ depending on the browser. Some of these diagrams set the font at + the beginning of the diagram source. +
  • Diagrams such as these contain text labels + that have to be treated differently from the LaTeX-compatible versions; + for example, + apparently there is no direct way to know the bounding box of arbitrary svg + text. + + Consequently, text placement is approximate and may require + manual adjustment. +
  • Rather than patch the original source files for svg production, + edited copies have been used. The configuration file svg.m4 read by + m4 prior to libcct.m4 contains the following macros defined for svg. + Others could be defined to exercise some of the media capabilties + of svg. They are subject to change: +
      +
    • + m4tt`'svg_font(font-face,nominal size[:dptextratio],textoffset, + dpic commands`'m4tt): + Change font face, size, textratio and dpic textoffset parameters. + Change font face and dpic m4tt`'textht, m4tt`'dptextratio, + and m4tt`'textoffset parameters. + If arg4 is blank, the font is changed and + requires m4tt`'command "</g>" to cancel the font change. +
      + Note: + Nominal height = text height in drawing units; actual height = + nominal ht x m4tt`'dptextratio. +
      + Examples:
      + m4tt`'svg_font(Times)
      + m4tt`'svg_font(Times,14bp__)
      + m4tt`'svg_font(sans-serif,14bp__:0.71)
      + m4tt`'svg_font(Times,11bp__,1bp__,"text" at A)
      + m4tt`'svg_font(font-family="Times")
      + m4tt`'svg_font(font-family="Times" font-style="italic")
      + m4tt`'svg_font(style="font-family:Times; font-style:italic") +
    • m4tt svgfontratio(font name`'m4tt); + Reasonable m4tt`'dptextratio value for common fonts, used + by m4tt`'svg_font. +
    • m4tt svg_tspan(text attributes, text`'m4tt); + e.g. m4tt`'svg_tspan(font-style="italic" font-size="75%",XYZ) +
    • m4tt svg_it(text`'m4tt): for italics +
    • m4tt svg_tt(text`'m4tt): for monospace (courier) +
    • m4tt svg_sf(text`'m4tt): sans-serif (Helvetica) +
    • m4tt svg_norm(text`'m4tt): for normal text +
    • m4tt svg_bf(text`'m4tt): for bold face +
    • m4tt svg_small(text, percent`'m4tt): + to set a smaller text size, default 66 +
    • m4tt svg_fsize(text, percent`'m4tt): + for setting larger or smaller text size, default 100 +
    • m4tt svg_sub(text, size percent, y displ, x displ`'m4tt): + subscript +
    • m4tt svg_ul(text`'m4tt): underlined text +
    • m4tt svg_ol(text`'m4tt): overlined text +
    • m4tt svg_sup(text, size percent, y displ, x displ`'m4tt): + superscript +
    • m4tt svg_hat(character`'m4tt): circumflex-accented character +
    • m4tt svg_frac(numerator[:wid], denominator[:wid]`'m4tt): + basic fraction, wid in drawing units +
    • m4tt svg_rot(degrees, "text" [at position]`'m4tt): + Rotate text degrees (default 90) ccw. + Requires m4tt`'svg_rot_init(filename`'m4tt) and the source + must be processed twice. +
    • m4tt svg_rot_init(filename`'m4tt): + filename is the basename of the output of + m4tt`'dpic -v filename.pic > filename.svg`'m4tt +
    • m4tt svg_symbol(text`'m4tt): allow quoted pound sign in text, + e.g., m4tt`'svg_symbol(10&`#'176;) produces 10° +
    • m4tt svgLink(URL, drawing object, m4tt[B]): + link to external file using + <a xlink:href=...>...</a> (default is + m4tt`'target="_blank" unless + arg 3 = B) +
    • m4tt svgLinkString as above but for strings attached to objects +
    • Greek and other symbols: + + + + + + + + + + + + + + + +
      m4tt svg_alpha changecom(,)&`#'945;changecom(`#') + m4tt svg_beta changecom(,)&`#'946;changecom(`#') + m4tt svg_Gamma changecom(,)&`#'915;changecom(`#') + m4tt svg_gamma changecom(,)&`#'947;changecom(`#') + m4tt svg_Delta changecom(,)&`#'916;changecom(`#') + m4tt svg_delta changecom(,)&`#'948;changecom(`#') + m4tt svg_epsilon changecom(,)&`#'949;changecom(`#') + m4tt svg_zeta changecom(,)&`#'950;changecom(`#') +
      m4tt svg_eta changecom(,)&`#'951;changecom(`#') + m4tt svg_Theta changecom(,)&`#'920;changecom(`#') + m4tt svg_theta changecom(,)&`#'952;changecom(`#') + m4tt svg_iota changecom(,)&`#'953;changecom(`#') + m4tt svg_kappa changecom(,)&`#'954;changecom(`#') + m4tt svg_Lambda changecom(,)&`#'923;changecom(`#') + m4tt svg_lambda changecom(,)&`#'955;changecom(`#') + m4tt svg_mu changecom(,)&`#'956;changecom(`#') +
      m4tt svg_nu changecom(,)&`#'957;changecom(`#') + m4tt svg_Xi changecom(,)&`#'926;changecom(`#') + m4tt svg_xi changecom(,)&`#'958;changecom(`#') + m4tt svg_Pi changecom(,)&`#'928;changecom(`#') + m4tt svg_pi changecom(,)&`#'960;changecom(`#') + m4tt svg_rho changecom(,)&`#'961;changecom(`#') + m4tt svg_Sigma changecom(,)&`#'931;changecom(`#') + m4tt svg_sigma changecom(,)&`#'963;changecom(`#') +
      m4tt svg_tau changecom(,)&`#'964;changecom(`#') + m4tt svg_upsilon changecom(,)&`#'965;changecom(`#') + m4tt svg_Phi changecom(,)&`#'934;changecom(`#') + m4tt svg_phi changecom(,)&`#'966;changecom(`#') + m4tt svg_chi changecom(,)&`#'967;changecom(`#') + m4tt svg_Psi changecom(,)&`#'936;changecom(`#') + m4tt svg_psi changecom(,)&`#'968;changecom(`#') + m4tt svg_Omega changecom(,)&`#'937;changecom(`#') +
      m4tt svg_omega changecom(,)&`#'969;changecom(`#') + m4tt svg_micro changecom(,)&`#'956;changecom(`#') + m4tt svg_ohm changecom(,)&`#'937;changecom(`#') + m4tt svg_lt changecom(,)&`#'60;changecom(`#') + m4tt svg_gt changecom(,)&`#'62;changecom(`#') + m4tt svg_leq changecom(,)&`#'8804;changecom(`#') + m4tt svg_geq changecom(,)&`#'8805;changecom(`#') + m4tt svg_prime changecom(,)&`#'8242;changecom(`#') +
      m4tt svg_backsl changecom(,)&`#'92;changecom(`#') + m4tt svg_pound changecom(,)&`#'35;changecom(`#') + m4tt svg_comma changecom(,)&`#'44;changecom(`#') + m4tt svg_lparen changecom(,)&`#'40;changecom(`#') + m4tt svg_rparen changecom(,)&`#'41;changecom(`#') + m4tt svg_circ changecom(,)&`#'710;changecom(`#') + m4tt svg_deg changecom(,)&`#'176;changecom(`#') + m4tt svg_grave changecom(,)&`#'96;changecom(`#') +
      + + + +
      m4tt svg_emsp |changecom(,)&`#'8195;changecom(`#')| + m4tt svg_ensp |changecom(,)&`#'8194;changecom(`#')| + m4tt svg_thinsp |changecom(,)&`#'8201;changecom(`#')| +
      + +
    +
  • Inkscape: It may be efficient to define elements by macro and to + place them using a wysiwyg graphics editor. A draft page intended + for Inkscape is included. A reasonable variety of elements is defined + but many more could be added and they should be customized for + particular applications. Adjustments may also have to be made to + obtain the proper snap-to actions. +
  • Link experiments: Click on the resistor or source of quickDPV + to go to external + files in new windows. Click on "n-port" in NportDPV to replace the diagram + and then "back" to return. +
  • Some of the assumptions used to create this draft may be + na&`#'239;ve. + Comments are welcome. +
+ + + +
+ + + + + +
+

+ +

+Fig. m4inx (quickDPV.m4): +SVG produced by dpic changecom(,)&`#'8194;changecom(`#') +

+
+

+ +

+(quick.m4): +SVG produced from quick.pdf by dvisvgm changecom(,)&`#'8194;changecom(`#') +

+
+ +
+ +ifelse(0,1,` +cfig(ResistorsDPV, + Resistors`,' showing some variations and the ebox) + +cfig(CapacitorsDPV, + Capacitors) + +cfig(InductorsDPV, + Inductors) + +cfig(DiodesDPV, + Diodes: appending a m4tt`'K to the second argument draws an open + arrowhead) + +cfig(EmarrowsDPV, + Radiation arrows) + +cfig(VariableDPV, + Arrows and marks for showing variability) + +cfig(SourcesDPV, + Sources and source-like elements) + +cfig(AmpTableDPV, + Macros m4tt`'amp`,' delay`,' and m4tt`'integrator) + +cfig(FusesDPV, + Macros m4tt`'fuse and m4tt`'cbreaker) + +cfig(MoreTableDPV, + Additional two-terminal elements) + +cfig(GroundsDPV, + Ground symbols) + +cfig(SwitchesDPV, + The switch macros; m4tt`'switch(`,'`,'`,'L|B|D,attribs) + is a wrapper for m4tt`'lswitch`,' m4tt`'bswitch`,' + and m4tt`'dswitch) + +cfig(AntennasDPV, + Antenna symbols) + +cfig(OpampDPV, + The opamp) + +cfig(AudioDPV, + Audio elements) + +cfig(XformDPV, + Some variations of the transformer element`,' drawing direction down) + +cfig(NPDTDPV, + Double throw with the m4tt`'NPDT macro) + +cfig(ContactDPV, + A non-exhaustive sampling of m4tt`'contact macro variations) + +cfig(ContactsDPV, + The m4tt`'contacts macro) + +cfig(relaycoilDPV, + The m4tt`'relaycoil macro) + +cfig(RelayDPV, + Some variants of m4tt`'relay) + +cfig(JackDPV, + The m4tt`'jack and m4tt`'plug macros) + +cfig(ConnDPV, + The m4tt`'tstrip`,' ccoax`,' tconn`,' and m4tt`'tbox macros) + +cfig(PconnDPV, + The m4tt`'pconnex macro) + +cfig(EVplugsDPV, + Electric vehicle charging plug patterns make extensive + use of key=value pairs to set options) + +cfig(HeadersDPV, + The m4tt`'Header macro) + +') +cfig(ConnectorsDPV, + Some integrated circuits and connectors with simple geometry + and lists of labels) + +ifelse(0,1,` +cfig(ChipsDPV, + IC outlines) + +cfig(fetDPV, + FETs`,' showing programmable components and example customizations) + +cfig(ujtDPV, + UJT examples) + +cfig(thyristorDPV, + Thyristor examples. The thyristor is a 3- or 4-terminal + composite element) + +cfig(BipDPV, + Bipolar transistors (drawing direction: up)) + +cfig(TgateDPV, + The m4tt`'tgate and m4tt`'ptrans elements) + +') +cfig(NportDPV, + The m4tt`'nport and m4tt`'nterm macros) + +ifelse(0,1,` +cfig(NLGDPV, + Some customizations of m4tt`'nport) + +cfig(WindingsDPV, + The macro + m4tt`'winding(L|R`,'diam`,'pitch`,'turns`,'core wid`,'core color)) + +') +cfig(ex01DPV, + Two simple labeled circuits) + +ifelse(0,1,` +cfig(ex02DPV, + Elements at obtuse angles) + +cfig(OptoisoDPV, + Optical isolator: a circuit with right or left orientation) + +cfig(MixerDPV, + A balanced mixer`,' using m4tt`'mosfet and a custom transformer) + +cfig(PushPullDPV, + A push-pull mixer`,' showing FETs with multiple gates) + +cfig(QuantumDPV, + A quantum circuit) + +cfig(SQUIDDPV, + Superconducting quantum interface device (drawing direction down)) + +cfig(SixpoleDPV, + A six-pole filter) + +cfig(ex18DPV, + Precision half-wave rectifier and a tunnel diode circuit + (illustrating m4tt`'opamp`,' diode`,' resistor`,' ground`,' + and labels)) + +cfig(ex10DPV, + Non-planar graph and bistable circuit + (illustrating the m4tt`'crossover macro and colored elements)) + +cfig(ThreeDPV, + Three-phase oscillator) + +cfig(MCDPV, + A three-phase switched AC-AC converter and a DC-DC converter) + +cfig(ex17DPV, + A repetitive network created by Pic looping and + a skewed circuit used to test the macro m4tt`'parallel_) + +cfig(ex12DPV, + A CMOS NAND gate`,' a test circuit`,' and an XMOSFET example) + +cfig(pwrsupplyDPV, + An elementary power supply circuit with colored elements`,' + and a multiple-winding transformer with 3-phase rectifier) + +cfig(TTLnandDPV, + TTL NAND gate illustrating a transistor with multiple emitters) + +cfig(I2LDPV, + Gate circuit and equivalent embedded components + illustrating multiple collectors) + +cfig(SchottkyDPV, + A 4-input NAND circuit illustrating the m4tt`'S (Schottky) + option of m4tt`'bi_trans) + +cfig(ex11DPV, + Transistor radio audio chain) + +cfig(ex04DPV, + Labels on non-manhattan elements) + +') +cfig(CsourceDPV, + Realization of a controlled source + (illustrating stacked element labels)) + +ifelse(0,1,` +cfig(DriveDPV, + Synchronous machine driven by variable-speed drive and rectifier) + +cfig(ex16DPV, + A rate 1/2 binary convolutional coder and its state diagram) + +cfig(ex03DPV, + Digital filter) + +cfig(MotorControlDPV, + Motor control connections) + +cfig(RectifiersDPV, + Rectifier circuits and waveforms) + +') +cfig(HeathkitDPV, + The power supply of a Heathkit AR-15 (Now`,' that + was a receiver!) with custom transformer and other elements`,' + drawn on a grid (partially shown) to aid in placement) + +ifelse(0,1,` +cfig(lcctDPV, + A digital circuit of moderate size`,' + redrawn from M. P. Maclenan and G. M. Burns`,' + "An Approach to Drawing Circuit Diagrams for Text Books`,'" + Tugboat (12)1`,' March 1991`,' pp. 66-69) + +cfig(TubediagsDPV, + Electron-tube diagrams: a few bottom-view base diagrams`,' + a generic triode test circuit`,' and a 25-watt audio amplifier adapted + from F. Langford-Smith`,' Radiotron Designers Handbook`,' fourth + edition`,' Harrison`,' NJ: Radio Corporation of America`,' 1952) + +cfig(UNODPV, + An Arduino UNO circuit adapted and redrawn) + +cfig(sfgDPV, + Signal-flow graphs) + +cfig(LogicDPV, + Basic logic gates) + +cfig(ex08DPV, + General-purpose latch: a small logic circuit) + +cfig(DecoderDPV, + Decoder logic`,' constructed using the m4tt`'for_ macro) + +cfig(ex21DPV, + Some flip-flops) + +cfig(MultiplexerDPV, + Multiplexer) + +cfig(DemultiplexerDPV, + Demultiplexer) + +cfig(ShiftRDPV, + A 5-bit shift register drawn using a custom flip-flop) + +cfig(AdderDPV, + A full adder and a cascade of n-bit adders) + +cfig(CanLogicDPV, + A way of automatically drawing two-layer logic diagrams) + +cfig(AlogixDPV, + The m4tt`'Autologix(`'Boolean expression; + Boolean expression... `,' options) + macro automatically draws Boolean expressions in function notation. + The function tree is drawn`,' then a row or column of inputs`,' then + the connections. The default result is on the left`,' + a custom element at the top`,' and a tree of gates only is shown + on the right.) + +cfig(ABlogixDPV, + The m4tt`'Autologix macro can draw inputs on the left but + the added drawing complexity may require hand tuning with + second-argument options: m4tt`'L puts the inputs on the left`,' + m4tt`'R reverses their order`,' m4tt`'V scans the input arguments + in reverse order`,' and m4tt`'offset=`'value displaces + the array of inputs) + +cfig(XORDPV, + Realizations of the XOR function using m4tt`'Autologix) + +cfig(ex00DPV, + Line diagrams) + +') +cfig(EEPDPV, + Part of a single-line diagram of a power distribution system + using draft elements) + +ifelse(0,1,` +cfig(ex05DPV, + Use of m4tt`'darrow and m4tt`'Darc) + +cfig(GrayCodeDPV, + Gray code 10-bit encoder disk pattern`,' + and a crossbar switch) + +') +cfig(controlDPV, + Control-system block diagrams) + +cfig(ByteDPV, + Elementary splines) + +ifelse(0,1,` +cfig(RotboxDPV, + The macro + m4tt`'rotbox(wid,ht,type,[r|t=val]) + draws a box in the current direction) + +cfig(ex06DPV, + Crosshatching) + +cfig(GeometryDPV, + Plane geometry examples) + +cfig(LoglogDPV, + Graphs drawn using the pic language) + +cfig(SmithchartDPV, + A Smith chart) + +cfig(ex09DPV, + Illustrating the macro + m4tt`'dimension_(linespec`,' offset`,' label`,' + H|W|D|blank width`,' tic offset`,' <-|->). + A negative second argument implies an offset to the right of the + linespec direction. A label starting with + m4tt`'" or + m4tt`'sprintf is copied literally. If label is an + m4tt`'s_box(...) then setting argument 4 to m4tt`'H`,' + m4tt`'W`,' + or m4tt`'D tailors the blank width to the m4tt`'s_box height`,' + width`,' or diagonal respectively; i.e.`,' m4tt`'W is equivalent to + m4tt`'s_wd+textoffset*2. + The macro m4tt`'arcdimension_ is similar but the first argument + specifies the arc to be dimensioned and the second argument is + the outward radial offset of the dimension arrow arc.) + +cfig(PlateDPV, + Dimensioning with tolerances according to ASME Y14.5) + Use of m4tt`'darrow and m4tt`'Darc) + +cfig(randomDPV, + Testing random number generation + using dpic macro + m4tt`'randn(array name`,' mean`,' std devm4tt`') + which calls dpic built-in m4tt`'rand()) + +cfig(expDPV, + Test of m4tt`'project and other m4tt`'lib3D + macros`,' showing the projection of a solid onto + the y1`,'z1 plane by sighting along the x1 axis.) + +cfig(graysurfDPV, + Plotting surfaces using gray scales) + +cfig(shapesDPV, + Basic shapes) + +cfig(cscDPV, + Conestoga Sailing Club (illustrating the filling of arbitrary shapes)`,' + and an antique clock face with shading and rotated text) + +cfig(roseDPV, + A window redrawn from a detail of the set design for the musical + Dracula`,' used for testing m4tt`'dpic`,' + and an experimental halftone. This diagram + consumes much LaTeX main memory but can be produced + directly as pdf using m4tt`'dpic -d`,' + as svg using m4tt`'dpic -v`,' + or as postscript using m4tt`'dpic -r + since no text formatting is required) + +cfig(diamondDPV, + Variations on M. Goossens`,' S. Rahtz`,' and F. Mittelbach`,' + The LaTeX Graphics Companion`,' Addison-Wesley 1997`,' pp. 57-58) + +cfig(wormDPV, + An exercise in calculating RGB colours) + +cfig(ButtonsDPV, + Shading in color) + +cfig(keyboardDPV, + More objects drawn in relief) + +cfig(DiniDPV, + Dini surface and an icosahedron) + +cfig(SierpinskiDPV, + The Sierpinski triangle and a Cayley graph: + tests of pic macro recursion) + +cfig(EscherDPV, + Penrose stairs and an Escher-like object) + +cfig(recycleDPV, + Modest repetition and partial fill) + +cfig(ex15DPV, + Simple diagrams that are easily drawn by looping) + + + +cfig(CrowDPV, + Illustrating m4tt`'shadebox and a custom crowfoot line + termination) + +') +cfig(FlowDPV, + A flowchart sampler) + + +ifelse(0,1,` +cfig(BtreeDPV, + Trees) + +cfig(InclepsDPV, + Overlaying a figure with line graphics,,OBJECT) +') + +cfig(paletteDPV, + A draft palette of a few elements for Inkscape using + a 1 mm grid) + +cfig(FontsDPV) + +
+ + diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/expDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/expDPV.m4 new file mode 100644 index 00000000000..ef3eb1d7b90 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/expDPV.m4 @@ -0,0 +1,258 @@ +.PS +# expDPV.m4 +threeD_init +NeedDpicTools + +# Graduated shading is probably best done using the built-in functions +# of PSTricks or the somewhat equivalent tikz capabilities. Other +# postprocessors do not have the same functionality so the following +# demonstrates how it can be done in the pic language with m4 macros. + +# Projected box object: +[ +g = 1.2 +define(`axlen',1.2*g) +define(`O3',`0,0,0') +define(`X0',`axlen,0,0') +define(`Y0',`0,axlen,0') +define(`Z0',`0,0,axlen') + +# diagram viewing angle +dazim = 54 +delev = 15 +setview(dazim,delev) + +# projection azimuth, elevation +pazim = 20*dtor_ +pelev = 35*dtor_ +arad = 0.6*g + +# object displacement +define(`D3',`0.3*g,0.6*g,0.9*g') + +# fixed coordinate frame +O: Project(O3) +X: Project(X0) +Y: Project(Y0) + Fector(X0,Z0) with .Origin at O ; "svg_it(x`'svg_sub(0))" at X rjust + Fector(Y0,Z0) with .Origin at O ; "svg_it(y`'svg_sub(0))" at Y ljust below + Fector(Z0,Y0) with .Origin at O ; "svg_it(z`'svg_sub(0))" at Project(Z0) above + +define(`R01',`rot3Dz(pazim,rot3Dy(-pelev,$1,$2,$3))') +define(`R10',`rot3Dy(pelev,rot3Dz(-pazim,$1,$2,$3))') + +thinlines_ ; psset_(linecolor=gray) + line from O to Project(rot3Dz(pazim,axlen,0,0)) +psset_(linecolor=black) + arc -> ccw from Project(arad,0,0) to Project(rot3Dz(pazim,arad,0,0)) rad arad + "svg_theta" below + up_ + arc -> cw from Project(rot3Dz(pazim,arad,0,0)) \ + to Project(R01(arad,0,0)) rad arad + "svg_phi" rjust at Project(rot3Dz(pazim,rot3Dy(-pelev/2,arad,0,0))) + arc -> from Project(0,arad,0) to Project(R01(0,arad,0)) rad arad + "svg_theta" above + right_ + arc -> cw from Project(0,0,arad/2) to Project(R01(0,0,arad/2)) rad arad/2 + "svg_phi" ljust at Here+(-1pt__,-3pt__) + + Fector(R01(X0),R01(Z0)) with .Origin at O ; + "svg_it(x`'svg_sub(1))" above rjust at Project(R01(X0)) + Fector(R01(Y0),R01(Z0)) with .Origin at O ; + "svg_it(y`'svg_sub(1))" ljust at Project(R01(Y0)) + Fector(R01(Z0),R01(Y0)) with .Origin at O ; + "svg_it(z`'svg_sub(1))" above at Project(R01(Z0)) +thicklines_ + +# box object dimension +b = 0.6*g +d = 0.4*g +h = 0.20*g + +# box object corners +define(`B0',`D3') +define(`B1',`sum3D(D3,d,0,0)') PB1: Project(B1) +define(`B2',`sum3D(D3,d,b,0)') PB2: Project(B2) +define(`B3',`sum3D(D3,0,b,0)') PB3: Project(B3) +define(`B4',`sum3D(D3,0,0,h)') PB4: Project(B4) +define(`B5',`sum3D(D3,d,0,h)') PB5: Project(B5) +define(`B6',`sum3D(D3,d,b,h)') PB6: Project(B6) +define(`B7',`sum3D(D3,0,b,h)') PB7: Project(B7) + +# projected corners +P0:Project(R01(0,dcosine3D(2,R10(B0)),dcosine3D(3,R10(B0)))) +P1:Project(R01(0,dcosine3D(2,R10(B1)),dcosine3D(3,R10(B1)))) +P2:Project(R01(0,dcosine3D(2,R10(B2)),dcosine3D(3,R10(B2)))) +P3:Project(R01(0,dcosine3D(2,R10(B3)),dcosine3D(3,R10(B3)))) +P4:Project(R01(0,dcosine3D(2,R10(B4)),dcosine3D(3,R10(B4)))) +P5:Project(R01(0,dcosine3D(2,R10(B5)),dcosine3D(3,R10(B5)))) +P6:Project(R01(0,dcosine3D(2,R10(B6)),dcosine3D(3,R10(B6)))) +P7:Project(R01(0,dcosine3D(2,R10(B7)),dcosine3D(3,R10(B7)))) +thinlines_ + line from PB1 to P1 + line from PB2 to P2 + line from PB7 to P7 + line from PB4 to P4 +thicklines_ + +# draw the object + ifdpic(`line invis fill_(1) from PB4 to PB7 to PB6 to PB5 + line from PB4 to PB7; line to PB6; line to PB5 ; line to PB4 + line invis fill_(0.5) from PB5 to PB6 to PB2 to PB1 + line from PB5 to PB6; line to PB2; line to PB1 ; line to PB5 + line invis fill_(0.85) from PB6 to PB7 to PB3 to PB2 + line from PB6 to PB7; line to PB3; line to PB2 ; line to PB6', + `gshade(1,PB4,PB7,PB6,PB5,PB4,PB7) + gshade(0.5,PB5,PB6,PB2,PB1,PB5,PB6) + gshade(0.85,PB6,PB7,PB3,PB2,PB6,PB7)') + line from PB4 to PB5 to PB1 to PB2 to PB3 to PB7 to PB4 + line from PB5 to PB6 to PB7 + line from PB6 to PB2 + + arrow from O to PB1 chop linethick pt__; "svg_it(X)" rjust + + line from P4 to P5 to P1 to P2 to P3 to P7 to P4 + line from P5 to P6 to P7 + line from P6 to P2 + line dashed from P4 to P0 to P3 + line dashed from P0 to P1 + ] + +# Globe: +[ + # Set small text size + iflatex(`textoffset = 1bp__; ifpsfrag(`textht = 9.5bp__', + `latexcommand({\small)') ') + + azimuth = 15 # View angles in degrees + elevation = 35 + setview(azimuth,elevation) + + rectwid = 3.5 # Basic dimensions + rectht = 2.4 + alpha = rectht/3 + +# # Rectangle + NW: Project(-rectht/2,-rectwid*0.25,0) + SW: Project( rectht/2,-rectwid*0.25,0) + SE: Project( rectht/2, rectwid*0.75,0) + NE: Project(-rectht/2, rectwid*0.75,0) + + ShadedPolygon(NW:NE:SE:SW,,-90, + 0,0.25,0.25,0.25, + 1,1,1,1) with .Start at NW + + define(`C3D',`0,0,alpha') # Centre of the sphere + C: Project(C3D) + +# # Shaded sphere using PSTricks or tikz: +# # this is black magic but PSTricks +# # seems to give more control +# ifpstricks( +# `Highlight: \ +# Project(sum3D(C3D,rot3Dz(-15*dtor_,rot3Dy(-60*dtor_,alpha,0,0)))) +# command "\pscustom[fillstyle=gradient,gradmidpoint=0.0,%" +# command sprintf("gradbegin=gray,gradend=white,gradlines=%g,%%",alpha*200) +# command "GradientCircle=true,GradientScale=1.5,%" +# command sprintf("GradientPos={(%g,%g)}]{",Highlight.x,Highlight.y) +# circle rad alpha at C +# command "}%"', +# +# `ifpgf( # A little too dark with tikz-pgf, maybe: +# `command sprintf(\ +# "\dpicdraw[ball color=white](%g,%g) circle (%gin)\dpicstop",\ +# C.x,C.y,alpha/2.54)', +# +# `circle rad alpha at C fill_(1) ')') + + # Shaded sphere with pic shading: + shadedball(alpha) at C + + S: 0,0 # The sphere bottom touch point + "svg_it(S)" at S+(0,-2pt__) rjust + "svg_alpha" at 0.5 ljust + + define(`N3D',`0,0,2*alpha') # North pole + N: Project(N3D) + "svg_it(N)" at N+(0,3pt__) ljust + + phi = 65*dtor_ + define(`Phat3D',`rot3Dz(phi,alpha*3,0,0)') + Phat: "svg_it(P)" at Project(Phat3D) ljust + "svg_symbol(&`#'94;)" at last "".n ljust + + X: Project(rectht/2*0.8,0,0) + Y: Project(0,rectwid/2*0.8,0) + +`define' linevis { # ratio # Visibility function for lines fom S to Tmp + Tlv: $1 between S and Tmp + $2 = distance(Tlv,C)-alpha } + +`define' invisline { # name # Draw dashed invisible part of line in + Tmp: $1 # the plane + findroot(linevis, 0, 1, 1e-8, x) + line dashed from S to x between S and Tmp chop 0 chop 0.05 } + +thinlines_ # axes + invisline(X) + arrow to X chop 0.05 chop 0; "svg_it(x)" below + invisline(Y) + arrow to Y chop 0.05 chop 0; "svg_it(y)" ljust + line dashed from S to N chop 0 chop 0.05 + arrow up alpha*0.5 chop 0.05 chop 0 ; "svg_it(z)" above + invisline(Phat) + line to Phat chop 0.05 chop 0 + arc ccw -> rad alpha from Project(alpha/2,0,0) to \ + Project(rot3Dz(phi,alpha/2,0,0)) + "svg_phi" below at 0.5 between last arc.start and last arc.end + + # vector (ratio along (N to Phat)) +define(`ray',`sum3D(N3D,sprod3D($1,diff3D(Phat3D,N3D)))') +`define' rayvis { # ratio + $2 = length3D(diff3D(ray($1),C3D))-alpha } + + findroot(rayvis, 1e-3, 1, 1e-8, p) # Find P + P: "svg_it(P)" at Project(ray(p)) ljust above + +thicklines_ + line dashed from N to P chop 0 chop 0.05 + line to Phat chop 0.05 chop 0 + +define(`meridian',`rot3Dz(phi,rot3Dy(-($1),alpha,0,0))') +`define' meridianvis { # angle # Visibility function on the meridian + $2 = dot3D(meridian($1),View3D) } + +thinlines_ # Draw the meridian + findroot(meridianvis, 0, pi_, 1e-8, y) + n = 0 + for ang = y-pi_ to y by pi_/20 do { + Q[n]: Project(sum3D(C3D,meridian(ang))); n+=1 } + fitcurve(Q,n-1) + n = 0 + for ang = y to y+pi_ by pi_/20 do { + Q[n]: Project(sum3D(C3D,meridian(ang))); n+=1 } + fitcurve(Q,n-1,dashed) + +define(`equator',`rot3Dz($1,alpha,0,0)') +`define' equatorvis { # angle # Visibility function on the equator + $2 = dot3D(View3D,equator($1)) } + + findroot(equatorvis, 0, pi_, 1e-8, y) + n = 0 + for ang = y-pi_ to y by pi_/20 do { + Q[n]: Project(sum3D(C3D,equator(ang))); n+=1 } + fitcurve(Q,n-1) + n = 0 + for ang = y to y+pi_ by pi_/20 do { + Q[n]: Project(sum3D(C3D,equator(ang))); n+=1 } + fitcurve(Q,n-1,dashed) + + line dashed from C to P # beta + line dashed from C to Project(sum3D(C3D,equator(phi))) + arc ccw -> from 0.6 along_(last line) to 0.6 between C and P + "svg_beta" ljust at last arc.e+(0,2pt__) + + iflatex(ifpsfrag(,`latexcommand(})')) + ] with .w at last [].e+(0.5,0) + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/fetDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/fetDPV.m4 new file mode 100644 index 00000000000..333b1a1258d --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/fetDPV.m4 @@ -0,0 +1,168 @@ +.PS +# `fetDPV.m4' +cct_init(svg_font(Times,11bp__)) + +textht = 0.1 +define(`rmove',0.75) + +dnl `IRF4905(linespec,R)' +define(`IRF4905', + `[ ifelse(`$1',,,`eleminit_(`$1')') + Q: mosfet(,`$2',dMdPzEDSQdB,) ifelse(`$1',,` + S: Q.tr_xy(-4,-2); line from Q.tr_xy(-2,-2) to S + D: Q.tr_xy( 4,-2); line from Q.tr_xy(2,-2) to D', + `with .Diode.c at last line.c + S: last line.start; D: last line.end; line from S to D ') + G: Q.G + circle rad 5*dimen_/10 at Q.tr_xy(0,1) ]') + +{move left 20bp__} +Row1: [ J: j_fet + { "svg_tt(`j_fet')" at J.s+(0,-0.05) below + "svg_it(G)" at J.G rjust + "svg_it(S)" at J.S rjust + "svg_it(D)" at J.D ljust } + J: j_fet(right_ dimen_,,P,E) with .w at J.e+(0.5,0) + { "svg_tt(`j_fet(right_')" at J.s+(0,-4bp__) below "svg_tt(`dimen_,,P,E)')" + "svg_it(G)" at J.G rjust above + "svg_it(S)" at J.S rjust + "svg_it(D)" at J.D ljust } + J: e_fet with .w at J.e+(0.5,0) + { "svg_tt(` e_fet')" at J.s+(0,-0.05) below + "svg_it(G)" at J.G rjust + "svg_it(S)" at J.S rjust + "svg_it(D)" at J.D ljust } + J: e_fet(,,P) with .w at J.e+(0.6,0) + { "svg_tt(` e_fet(,,P)')" at J.s+(0,-0.05) below + "svg_it(G)" at J.G rjust + "svg_it(S)" at J.S rjust + "svg_it(D)" at J.D ljust } + J: e_fet(,,P,S) with .w at J.e+(0.8,0) + { "svg_tt(` e_fet(,,P,S)')" at J.s+(0,-0.05) below + "svg_it(G)" at J.G rjust + "svg_it(S)" at J.S rjust + "svg_it(D)" at J.D ljust } + J: c_fet with .w at J.e+(0.7,0) + { "svg_tt(` c_fet')" at J.s+(0,-0.05) below + "svg_it(G)" at J.G rjust + "svg_it(S)" at J.S rjust + "svg_it(D)" at J.D ljust } + J: c_fet(,,P) with .w at J.e+(0.7,0) + { "svg_tt(` c_fet(,,P)')" wid 72bp__ at J.s+(0,-0.05) below + "svg_it(G)" at J.G rjust + "svg_it(S)" at J.S rjust + "svg_it(D)" at J.D ljust } + ] + +Row2: [ + J: d_fet + { "svg_tt(`d_fet')" at J.s+(0,-0.05) below + "svg_it(G)" at J.G rjust + "svg_it(S)" at J.S rjust + "svg_it(D)" at J.D ljust } + J: d_fet(,,P) with .w at J.e+(0.5,0) + { "svg_tt(`d_fet(,,P)')" at J.s+(0,-0.05) below + "svg_it(G)" at J.G rjust + "svg_it(S)" at J.S rjust + "svg_it(D)" at J.D ljust } + J: d_fet(,,P,S) with .w at J.e+(0.8,0) + { "svg_tt(`d_fet(,,P,S)')" at J.s+(0,-0.05) below + "svg_it(G)" at J.G rjust + "svg_it(S)" at J.S rjust + "svg_it(D)" at J.D ljust } + J: g_fet with .w at J.e+(0.6,0) + { "svg_tt(`g_fet')" at J.s+(0,-0.05) below + "svg_it(G)" at J.G rjust + "svg_it(S)" at J.S rjust + "svg_it(D)" at J.D ljust } + J: g_fet(up_ dimen_,,P) with .w at J.e+(0.6,0) + { "svg_tt(`g_fet(up_')" at last [].s below + "svg_tt(` dimen_,,P)')" at last [].s + (0,-12bp__) below + "svg_it(G)" at last [].G rjust + "svg_it(S)" at last [].S + (0,2bp__) ljust + "svg_it(D)" at last [].D + (0,2bp__) ljust below } + right_ + M1: mosfet(,,dBSDFQM1,E) with .w at J.e+(0.6,0) + "svg_it(G0)" at M1.G0 above rjust + "svg_it(G1)" at M1.G1 above ljust + {"svg_tt(`mosfet(,,dBSDFQM1,E)')" wid 1.45 \ + with .nw at last [].sw+(0,-0.2) } + M2: mosfet(,,dBSDFQuM1) with .nw at M1.ne+(0.6,0) + "svg_it(G0)" at M2.G0 above ljust + "svg_it(G1)" at M2.G1 above rjust + {"svg_tt(`...(,,dBSDFQuM1')" wid 1.25 \ + with .n at last [].s+(0,-0.05) } + ] with .nw at Row1.sw+(0,-10bp__) # Row2 + +Row3: [ + linewid = linewid*1.2 + + Q1: mosfet(,,dGSDF,) + {"svg_tt(`mosfet(,,dGSDF,)')" wid 1.25 \ + with .nw at last [].sw+(-0.2,-0.05) + thinlines_ + arrow <- down .05 left .15 from (Q1.G.x,Q1.G.y-0.05) + "svg_tt(dG)" rjust + arrow <- down .10 left .30 from Q1.Channel.start+(.15,0) + "svg_tt(F)" rjust + arrow <- down .05 left .15 from (Q1.S.x,Q1.S.y+0.05) + "svg_tt(S)" rjust + arrow <- down .05 right .15 from (Q1.D.x,Q1.D.y+0.05) + "svg_tt(D)" ljust + thicklines_ } + + move right_ rmove + Q2: mosfet(,,uHSDF,) + {"svg_tt(`...(,,uHSDF,)')" at last [].s+(0,-0.2) below + thinlines_ + arrow <- down .05 left .15 from (Q2.G.x,Q2.G.y-0.05) + "svg_tt(uH)" rjust + thicklines_ } + + move right_ rmove + Q3: mosfet(,,dMEDSQuB,) + {"svg_tt(`...(,,dMEDSQuB,)')" at last [].s+(0,-0.05) below + thinlines_ + arrow <- down .05 left .15 from (Q3.G.x,Q3.G.y-0.05) + "svg_tt(dM)" rjust + arrow <- down .13 left .30 from Q3.Channel.start+(.12,0) + "svg_tt(E)" rjust + arrow <- down .05 left .10 from Q3.S+(.06,0) + "svg_tt(Q)" rjust + arrow <- down .08 right .24 from (Q3.B.x,Q3.B.y+0.175) + "svg_tt(uB)" ljust + thicklines_ } + + move right_ rmove + Q4: mosfet(,,uMEDSuB) + {"svg_tt(`...(,,uMEDSuB,)')" at last [].s+(0,-0.2) below + "svg_it(G)" at last [].G rjust + "svg_it(S)" at last [].S rjust + "svg_it(D)" at last [].D ljust + "svg_it(B)" at last [].B below + } + + move right_ rmove + Q5: mosfet(,,ZSDFdT,) + {"svg_tt(`...(,,ZSDFdT)')" at last [].s+(0,-0.05) below + thinlines_ + arrow <- down .08 left .08 from (Q5.S.x,Q5.S.y+0.12) + "svg_tt(Z)" rjust + arrow from last arrow.end to Q5.Channel.c+(0.05,0) + arrow from last arrow.start to (Q5.D.x,Q5.D.y+.05) + arrow <- down .08 right .24 from (Q5.G.x,Q5.G.y-0.02) + "svg_tt(dT)" ljust + thicklines_ } + + move right_ rmove+0.1 + up_ + Q6: IRF4905 with .c at Here + {"svg_tt(`IRF4905')" at Q6.s+(0,-0.15) below + "svg_it(G)" at Q6.G rjust + "svg_it(D)" at Q6.D ljust above + "svg_it(S)" at Q6.S ljust below + } + ] with .nw at Row2.sw + (0,-10bp__) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/graysurfDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/graysurfDPV.m4 new file mode 100644 index 00000000000..3e8d84025e3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/graysurfDPV.m4 @@ -0,0 +1,190 @@ +.PS +# graysurfDPV.m4 +threeD_init +NeedDpicTools + +Overall: [ +[] +Surface:[ +# This just draws the facets back to front + + setview(20,30) + dimen = 1.5 + + xmax = 2*dimen + ymax = 1.5*dimen + zmax = 1*dimen + + define(`fn', + `expe(-(`$1')/tt)*cos((`$2')/xmax*1.75*twopi_)*cos((`$1')/ymax*twopi_)') + + nx = 24; dx = xmax/nx + ny = 30; dy = ymax/ny + tt = 1.5 + fnmax = fn(0,0,0) + + Orig: (0,0) + linethick_(1.2) + arrow from Orig to 1.2 ; "svg_it(x)" wid 0.08 below + arrow from Orig to 1.2 ; "svg_it(y)" ljust + arrow from Orig to 1.2 ; "svg_it(z)" rjust + + linethick_(0) + for i = 0 to nx-1 do { + x = xmax*i/nx + for j = 0 to ny-1 do { + y = ymax*j/ny + fnxy = fn(x,y) + shade((fnmax+fnxy)/fnmax/2, + line from Project(x,y,fnxy) to Project(x,(y+dy),`fn(x,(y+dy))')\ + then to Project((x+dx),(y+dy),`fn((x+dx),(y+dy))')\ + then to Project((x+dx),y,`fn((x+dx),y)')\ + then to Project(x,y,fnxy) + ) } } +] with .w at last [].e+(-0.2,0) + +Torus: [ +# Calculate all the facet centres but draw +# only a subset of them after sorting + + viewazimuth = 20 # Set view angles in degrees + viewelevation = 30 + + setview(viewazimuth,viewelevation,0) + + sfactor = 0.7 + tradius = 2*sfactor + sradius = 0.75*sfactor + +define(`torus',`rot3Dz((`$1')*dtor_, + sum3D(tradius,0,0,rot3Dy((`$2')*dtor_,sradius,0,0)))') + +define(`tvisible',`dot3D(view3D1,view3D2,view3D3, + rot3Dz((`$1')*dtor_,rot3Dy((`$2')*dtor_,1,0,0)))') + +Orig: (0,0) +X: arrow from Orig to Project(tradius+sradius*4,0,0); "x" rjust +Y: arrow from Orig to Project(0,tradius+sradius*2,0); "y" below wid 4bp__ + + dt = 10 # major angle degrees per facet + ds = 10 # minor angle degrees per facet + + # create the arrays and sort + n = 0 + for t = dt to 360+dt/2 by dt do { + for s=ds/2 to 360.1 by ds do { + if tvisible(t,s) >= 0 then { + n +=1 + t[n] = t + s[n] = s + d[n] = dot3D(torus(t,s),view3D1,view3D2,view3D3) # view distance + ix[n] = n + } } } +#prval(n) + dpquicksort(d,1,n,ix) + + # draw the facets +thinlines_ + for i = 1 to n do { + tc = t[ix[i]]; sc = s[ix[i]] + SE: Project(torus(tc+dt/2,sc-ds/2)) + SW: Project(torus(tc-dt/2,sc-ds/2)) + NW: Project(torus(tc-dt/2,sc+ds/2)) + NE: Project(torus(tc+dt/2,sc+ds/2)) + f = ((dcosine3D(3,torus(tc,sc))/sradius+1)/2)^2 + g = min(f,0.9) + setrgb(g,g,g) +# line fill f ifpdf( invis ) \ +# from SE to SW then to NW then to NE then to SE + shade(f, + line invis fill f from SE to SW then to NW then to NE then to SE ) + + resetrgb + } + +thicklines_ + arrow from Orig to Project(0,0,tradius*1.4); "z" above + dashline(from Orig to Project(torus(0,0)),,,,G) + arrow to X.end + dashline(from Orig to Project(torus(90,0)),,,,G) + arrow to Y.end + +] with .sw at last [].se+(0.2,0) + +Hat: [ +# Sort as for the torus but draw edges too + + azimuth = 25 # View angles in degrees + elevation = 20 + setview(azimuth,elevation) + # the 3D object: `hat(t,y)' + define(`hat',`cosd($1)*($2),sind($1)*($2),(($2)^2-1)^2') + define(`gradient',`(-4*($2)*(($2)^2-1)*cosd(`$1')), + (-4*($2)*(($2)^2-1)*sind(`$1')),1') + define edge {$2=dot3D(View3D,gradient($1,y))} + define(`hatvis', + `(($2 > 0.6) || (dot3D(View3D,gradient($1,$2)) > 0))') + + # grid parameters + dang = 09 + maxy = 1.25 + dy = 0.05 + +Orig: (0,0) +X: arrow from Orig to Project(maxy*1.2,0,0); "x" rjust +Y: arrow from Orig to Project(0,maxy*1.2,0); "y" ljust +Xv: Project(1,0,0) +Yv: Project(0,1,0) +Zv: Project(0,0,1) + # create the arrays and sort + n = 0 + for t = dang/2 to 360.1 by dang do { + for y=dy/2 to maxy by dy do { + if hatvis(t,y) then { + n +=1 + t[n] = t + y[n] = y + d[n] = dot3D(hat(t,y),View3D) #distance toward the front + ix[n] = n + } } } +#prval(n) + dpquicksort(d,1,n,ix) + # draw the facets + ellipse wid maxy*2 ht maxy*2*sind(elevation) \ + with .c at Project(0,0,(maxy^2-1)^2)+(0,linethick bp__/2) +thinlines_ + for i = 1 to n do { + tc = t[ix[i]]; yc = y[ix[i]] + SE: Project(hat(tc+dang/2,yc-dy/2)) + SW: Project(hat(tc-dang/2,yc-dy/2)) + NW: Project(hat(tc-dang/2,yc+dy/2)) + NE: Project(hat(tc+dang/2,yc+dy/2)) + f = abs(yc^2-1) + line invis fill f from SE to SW then to NW then to NE then to SE + } + + # Outline where the surface goes invisible +mm = int(maxy/dy) +nr = -1 +for i=1 to mm do { y = i/(mm+3) + findroot(edge,(azimuth+2),(azimuth+180-2),1e-8,t) + nr +=1 + R[mm+nr]: Project(hat(t,y)) + R[mm-1-nr]: (-R[mm+nr].x,R[mm+nr].y) + } +fitcurve(R,mm*2-1) + + # Z axis +thicklines_ +Z: arrow from Zv to Project(0,0,1.2); "z" ljust + line dashed from Orig to Zv chop 0 chop dashwid/2 + line dashed from Orig to Xv + line dashed from Orig to Yv + + # Partial rim +ellipsearc(maxy*2,maxy*2*sind(elevation),-pi_*1.4,pi_/3) \ + with .C at Project(0,0,(maxy^2-1)^2)+(0,linethick bp__/2) +] scaled 1.25 with .s at 2nd [].ne+(0,-0.75) +] scaled 0.85 + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/icsDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/icsDPV.m4 new file mode 100644 index 00000000000..e0acaa8661b --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/icsDPV.m4 @@ -0,0 +1,311 @@ +divert(-1) + + Macros defining some integrated circuits and connectors for svg + + `A sequence of pins along the east or west side of a chip: + lg_pinseq(initial pin no, final pin no, + e|w, initial offset, pinnum_root, Labelroot, [N])' + `e.g., lg_pinseq(1,8,w)' +define(`lg_pinseq',`for_($1,$2,1, + `lg_pin( Chip.s`$3'+(0,eval($4+m4x)*lg_pinsep), + $6`'m4x,Pin`'eval($5`'m4x),`$3'`$7',eval($5`'m4x))') ') + +define(`ic_tiny',`iflatex(`\hbox{\tiny `$1'}',ifsvg(`svg_small(`$1')',`$1'))') + +define(`ic6116',`[ Chip: box wid_ lg_chipwd ht_ 15*lg_pinsep + lg_pin(Chip.sw_+(0,lg_pinsep),GND,Pin12,w,12) + lg_pin(Chip.sw_+(0,2*lg_pinsep),lg_bartxt(CS),Pin18,wN,18) + lg_pinseq(0,2,w,4,9+,D) + lg_pinseq(3,7,w,4,10+,D) + lg_pin(Chip.sw_+(0,13*lg_pinsep),R/lg_bartxt(W),Pin21,w,21) + lg_pin(Chip.sw_+(0,14*lg_pinsep),V`'ic_tiny(CC),Pin24,w,24) + lg_pin(Chip.se_+(0,lg_pinsep),lg_bartxt(OE),Pin20,eN,20) + lg_pinseq(0,7,e,3,8-,A) + lg_pinseq(8,9,e,3,31-,A) + lg_pin(Chip.se_+(0,13*lg_pinsep),A10,Pin19,e,19) + `$1']') + +define(`ic6502',`[ Chip: box wid_ lg_chipwd ht_ 24*lg_pinsep + lg_pin(Chip.sw_+(0,lg_pinsep),V`'ic_tiny(SS),Pin21,w,21) + lg_pin(Chip.sw_+(0,2*lg_pinsep),V`'ic_tiny(SS),Pin1,w,1) + lg_pin(Chip.sw_+(0,4*lg_pinsep),R/lg_bartxt(W),Pin34,w,34) + lg_pinseq(0,7,w,6,33-,D) + lg_pin(Chip.sw_+(0,15*lg_pinsep),lg_bartxt(RESET),Pin40,wN,40) + lg_pin(Chip.sw_+(0,17*lg_pinsep),SYNC,Pin7,w,7) + lg_pin(Chip.sw_+(0,19*lg_pinsep),lg_bartxt(NMI),Pin6,wN,6) + lg_pin(Chip.sw_+(0,21*lg_pinsep),RDY,Pin2,w,2) + lg_pin(Chip.sw_+(0,22*lg_pinsep),SO,Pin38,w,38) + lg_pin(Chip.sw_+(0,23*lg_pinsep),V`'ic_tiny(CC),Pin8,w,8) + lg_pin(Chip.se_+(0,lg_pinsep),CK`'ic_tiny(1)(in),Pin39,e,39) + lg_pin(Chip.se_+(0,4*lg_pinsep), CK`'ic_tiny(2)(out),Pin37,e,37) + lg_pinseq(0,11,e,6,9+,A) + lg_pinseq(12,15,e,6,10+,A) + lg_pin(Chip.se+(0,23*lg_pinsep),lg_bartxt(IRQ),Pin4,eN,4) + `$1']') + +define(`ic6522',`[ Chip: box wid_ lg_chipwd ht_ 24*lg_pinsep + lg_pin(Chip.sw_+(0,lg_pinsep),V`'ic_tiny(SS),Pin1,w,1) + lg_pin(Chip.sw_+(0,3*lg_pinsep),CS1,Pin24,w,24) + lg_pin(Chip.sw_+(0,4*lg_pinsep),CK,Pin25,w,25) + lg_pin(Chip.sw_+(0,5*lg_pinsep),lg_bartxt(CS2),Pin23,wN,23) + lg_pin(Chip.sw_+(0,7*lg_pinsep),RS0(A0),Pin38,w,38) + lg_pin(Chip.sw_+(0,8*lg_pinsep),RS1(A1),Pin37,w,37) + lg_pin(Chip.sw_+(0,9*lg_pinsep),RS2(A2),Pin36,w,36) + lg_pin(Chip.sw_+(0,10*lg_pinsep),RS3(A3),Pin35,w,35) + lg_pinseq(0,7,w,12,33-,D) + lg_pin(Chip.sw_+(0,21*lg_pinsep),R/lg_bartxt(W),Pin22,w,22) + lg_pin(Chip.sw_+(0,22*lg_pinsep),lg_bartxt(IRQ),Pin21,wN,21) + lg_pin(Chip.sw_+(0,23*lg_pinsep),V`'ic_tiny(CC),Pin20,w,20) + lg_pinseq(0,7,e,1,10+,PB) + lg_pinseq(1,2,e,8,17+,CB) + lg_pinseq(0,7,e,12,2+,PA) + lg_pinseq(1,2,e,19,41-,CA) + lg_pin(Chip.se_+(0,23*lg_pinsep),lg_bartxt(RESET),Pin34,eN,34) + `$1']') + +define(`ic74LS138',`[ Chip: box wid_ lg_chipwd ht_ 11*lg_pinsep + lg_pin(Chip.sw_+(0,lg_pinsep),GND,Pin8,w,8) + lg_pin(Chip.sw_+(0,2*lg_pinsep),lg_bartxt(G2a),Pin4,wN,4) + lg_pin(Chip.sw_+(0,3*lg_pinsep),lg_bartxt(G2b),Pin5,wN,5) + lg_pin(Chip.sw_+(0,5*lg_pinsep),A,Pin1,w,1) + lg_pin(Chip.sw_+(0,6*lg_pinsep),B,Pin2,w,2) + lg_pin(Chip.sw_+(0,7*lg_pinsep),C,Pin3,w,3) + lg_pin(Chip.sw_+(0,9*lg_pinsep),G1,Pin6,w,6) + lg_pin(Chip.sw_+(0,10*lg_pinsep),V`'ic_tiny(CC),Pin16,w,16) + lg_pinseq(0,6,e,2,15-,Y,n) + lg_pin(Chip.se_+(0,9*lg_pinsep),Y7,Pin7,eN,7) + `$1']') + +define(`ic4017',`[ Chip: DIP_chip_outline(16) + Loopover_(`x', + `lg_pin(Chip.nw-(0,lg_pinsep*m4Lx),x,Pin`'m4Lx,w,m4Lx)', + PL, Q3, I3, I0, CLE, Q0, TC, GND) + Loopover_(`x', + `lg_pin(Chip.se+(0,lg_pinsep*m4Lx),x,Pin`'eval(m4Lx+8),e,eval(m4Lx+8))', + MR, U/D, Q1, I1, I2, Q2, CLK, Vcc) + `$1']') + +define(`ic4510',`[ Chip: DIP_chip_outline(16) + Loopover_(`x', + `lg_pin(Chip.nw-(0,lg_pinsep*m4Lx),x,Pin`'m4Lx,w,m4Lx)', + PL, Q3, I3, I0, CLE, Q0, TC, GND) + Loopover_(`x', + `lg_pin(Chip.se+(0,lg_pinsep*m4Lx),x,Pin`'eval(m4Lx+8),e,eval(m4Lx+8))', + MR, U/D, Q1, I1, I2, Q2, CLK, Vcc) + `$1']') + +define(`icVS1053',`[ Chip: DIP_chip_outline(32) + Loopover_(`x', + `lg_pin(Chip.nw-(0,lg_pinsep*m4Lx),x,Pin`'m4Lx,w,m4Lx)', + LOUT,ROUT,GBUF,AGND,AGND,DREG,Vcc,3V3,GND,MISO,MOSI,sclk,RST,CS,DCS,DCS) + Loopover_(`x', + `lg_pin(Chip.se+(0,lg_pinsep*m4Lx),x,Pin`'eval(m4Lx+16),e,eval(m4Lx+16))', + SDCD,RX,TX,7,6,5,4,3,2,1,0,GND,3V3,AGND,MIC`'svg_it(-),MIC`'svg_it(+)) + `$1']') + + `ArduinoUno( wid,ht,pinlen )' +define(`ArduinoUno',`[ + define(`m4bwid',`ifelse(`$1',,`24*L_unit',`$1')')dnl + define(`m4bht',`ifelse(`$2',,`20*lg_pinsep',`$2')')dnl +# + + Connector: box wid m4bwid ht m4bht +# + plen = ifelse(`$4',,`2*L_unit',`$4') +# +Loopover_(`x',`ifelse(x,nul,, + `Pin`'eval(5+m4Lx): line left_ plen from Connector.nw-(0,(5+m4Lx)*lg_pinsep) + { "x" ljust at last line.start }')', + IOREF, RESET,svg_it(+)3V3,svg_it(+)5V, GND, GND, VIN, + nul, A0, A1, A2, A3, A4, A5) +# +Loopover_(`x',`ifelse(x,nul,, + `Pin`'eval(22-m4Lx): line right_ plen from Connector.ne-(0,m4Lx*lg_pinsep) + { "x" rjust at last line.start }')', + SCL, SDA, AREF, GND, D13, D12, ~D11, ~D10, ~D9, D8, + nul, D7, ~D6, ~D5, D4, ~D3, D2, TX D1, RX D0) +# + `$4'] ') + + `ArduinoLeonardo( wid,ht,pinlen )' +define(`ArduinoLeonardo',`[ + define(`m4bwid',`ifelse(`$1',,`24*L_unit',`$1')')dnl + define(`m4bht',`ifelse(`$2',,`20*lg_pinsep',`$2')')dnl +# + Connector: box wid m4bwid ht m4bht +# + plen = ifelse(`$4',,`2*L_unit',`$4') +# +Loopover_(`x',`ifelse(x,nul,, + `Pin`'eval(5+m4Lx): line left_ plen from Connector.nw-(0,(5+m4Lx)*lg_pinsep) + { "x" ljust at last line.start }')', + IOREF, RESET,svg_it(+)3V3,svg_it(+)5V, GND, GND, VIN, + nul, A0, A1, A2, A3, A4, A5) +# +Loopover_(`x',`ifelse(x,nul,, + `Pin`'eval(22-m4Lx): line right_ plen from Connector.ne-(0,m4Lx*lg_pinsep) + { "x" rjust at last line.start }')', + SCL, SDA, AREF, GND, + ~D13, D12, ~D11, ~D10, ~D9, D8, + nul, D7, ~D6, ~D5, D4, ~D3, D2, TX D1, RX D0) +# + `$4'] ') + + `RPi( wid,ht,pinlen )' +define(`RPi',`[ + define(`m4bwid',`ifelse(`$1',,`34*L_unit',`$1')')dnl + define(`m4bht',`ifelse(`$2',,`21*lg_pinsep',`$2')')dnl +# + GPIO: box wid m4bwid ht m4bht + plen = ifelse(`$4',,`6*L_unit',`$4') +# +define A_LeftGPIO { + exec sprintf("Pin%g: line left_ plen from GPIO.nw-(0,%g)",\ + 2*(`$'1)-1,(`$'1)*lg_pinsep) + { "`$'3" ljust at last line.start } + "`$'2" at last line.c above } +# +Loopover_(`x',`ifelse(x,nul,,`A_LeftGPIO(m4Lx,patsubst(x,;,`,'))')', + ;3V3, + 2;SDA1, 3;SCL1, 4;GPIO_GCLK, + ;GND, + 17;GPIO_GEN0, 27;GPIO_GEN2, + 22;GPIO_GEN3, + ;3V3, + 10;SPI_MOSI, 9;SPI_MISO, + 11;SPI_SCLK, + ;GND, + ;ID_SD, + 5;, 6;, 13;, 19;, 26;, + ;GND ) +# +define A_RightGPIO { + exec sprintf("Pin%g: line right_ plen from GPIO.ne-(0,%g)",\ + 2*(`$'1),(`$'1)*lg_pinsep) + { "`$'3" rjust at last line.start } + "`$'2" at last line.c above } +# +Loopover_(`x',`ifelse(x,nul,,`A_RightGPIO(m4Lx,patsubst(x,;,`,'))')', + ;5V, + ;5V, + ;GND, + 14;TXD0, 15;RXD0, 18;GPIO_GEN1, + ;GND, + 23;GPIO_GEN4, 24;GPIO_GEN5, + ;GND, + 25;GPIO_GEN6, 8;SPI_CEO_N, + 7;SPI_CE1_N, + ;ID_SC, + ;GND, + 12;, + ;GND, + 16;, 20;, 21; ) +# + `$4'] ') + + `USB_C_Socket( wid, ht, pinlen )' +define(`USB_C_Socket',`[ + define(`m4bwid',`ifelse(`$1',,`18*L_unit',`$1')')dnl + define(`m4bht',`ifelse(`$2',,`14*lg_pinsep',`$2')')dnl +# + Base: box wid m4bwid ht m4bht rad 5/3*lg_pinsep + plen = ifelse(`$4',,`6*L_unit',`$4') +# + Loopover_(`x', + `B`'eval(13-m4Lx): dnl + line left_ plen from Base.n-(m4bwid/2,(m4Lx+0.5)*lg_pinsep) + {"x" ljust at last line.start}', + GND, RX1`'svg_it(+), RX1`'svg_it(-), VBUS, SBU2, D`'svg_it(-), + D`'svg_it(+), CC2, VBUS, TX2`'svg_it(-), TX2`'svg_it(+), GND) +# + Loopover_(`x', + `A`'m4Lx: line right_ plen from Base.n+(m4bwid/2,-(m4Lx+0.5)*lg_pinsep) + {"x" rjust at last line.start}', + GND, TX1`'svg_it(+), TX1`'svg_it(-), VBUS, CC1, D`'svg_it(+), + D`'svg_it(-), SBU1, VBUS, RX2`'svg_it(-), RX2`'svg_it(+), GND) +# + `$4']') + + `HDMI_micro( wid, ht, pinlen )' +define(`HDMI_micro',`[ + define(`m4bwid',`ifelse(`$1',,`16*L_unit',`$1')')dnl + define(`m4bht',`ifelse(`$2',,`19*lg_pinsep+m4bwid*2/3',`$2')')dnl +# + Base:[line up m4bht/2 then right m4bwid*2/3 \ + then right m4bwid/3 down m4bwid/3 \ + then down m4bht-2*m4bwid/3 then down m4bwid/3 left m4bwid/3 \ + then left m4bwid*2/3 then to Here] + plen = ifelse(`$4',,`6*L_unit',`$4') +# + Loopover_(`x', + `Pin`'m4Lx: line left_ plen from Base.nw-(0,m4bwid/3+(m4Lx-1/2)*lg_pinsep) + {"x" ljust at last line.start} + "m4Lx" at last line.c above', + HPD, UTILITY, D2`'svg_it(+), D2_SH, D2`'svg_it(-), + D1`'svg_it(+), D1_SH, D1`'svg_it(-),D0`'svg_it(+), D0_SH, + D0`'svg_it(-), CLK`'svg_it(+), CLK_SH, CLK`'svg_it(-), + CEC, GND, SCL, SDA,svg_it(+)5V) +L1: line from Base.nw+(m4bwid*2/3-lg_pinsep,0) up plen + svg_rot(90,"21",at last line.c +(-4bp__,0)) + svg_rot(90,"SH2",at last line.start + (4bp__,-8bp__)) + line from Base.nw+(m4bwid*2/3-2*lg_pinsep,0) up plen + svg_rot(90,"20",at last line.c+(-4bp__,0)) + svg_rot(90,"SH1",at last line.start + (4bp__,-8bp__)) + line from Base.sw+(m4bwid*2/3-lg_pinsep,0) down plen + svg_rot(90,"23",at last line.c+(-4bp__,0)) + svg_rot(90,"SH4",at last line.start + (4bp__,14bp__)) + line from Base.sw+(m4bwid*2/3-2*lg_pinsep,0) down plen + svg_rot(90,"22",at last line.c+(-4bp__,0)) + svg_rot(90,"SH3",at last line.start + (4bp__,14bp__)) +# + `$4']') + + `DIP_chip_outline( pin count, wid )' +define(`DIP_chip_outline', + `[ define(`m4pinct',`ifelse(`$1',,16,`$1')')dnl + define(`m4chgw',`ifelse(`$2',,(18*L_unit),`$2')')dnl + Chip: box invis wid m4chgw ht lg_pinsep*eval((m4pinct)/2+1) + arcd(last box.n, lg_pinsep/2, 180, 360) + { line to last box.ne chop -linewid bp__/2 } + { line from last arc.start to last box.nw chop -linewid bp__/2 } + line from last box.nw to last box.sw then to last box.se then to last box.ne + `$3']') + + `DIP( pin count, attributes) + Dual in-line package + attributes=semicolon-separated list of optional terms: + bodywid=expr; (default 0.25 = 5*L_unit ) + bodylen=expr; (default pin count/2 x pinpitch) + pinpitch=expr; (default 0.1) + pinwid=expr; (default 0.06) + pinlen=expr; (default 0.05) + direct=U|D|L|R;(default U for up) + type=I|Q; (default I for uniform-length pins; + Q: staggered) ' +define(`DIP',`[ pinct= ifelse(`$1',,8,`$1') + Loopover_(`Z',`pushkey_(`$2',patsubst(Z,:.*),patsubst(Z,.*:))', + bodywid: 5*L_unit, + bodylen: m4pinpitch*int(pinct/2+0.5), + pinpitch:2*L_unit, + pinwid: 1.2*L_unit, + pinlen: L_unit) + Loopover_(`Z',`pushkey_(`$2',patsubst(Z,:.*),patsubst(Z,.*:),N)', + direct:U, + type:I) + setdir_(m4direct,U) + Body: box ht_ m4bodywid wid_ m4bodylen + arcs = ifelse(m4_dir_,right,90,m4_dir_,up,180,m4_dir_,left,270,0) + arcd(Body.e_, 0.1/2, arcs,arcs+180) + np2 = int(pinct/2+0.5) + define(`m4bxht',`m4pinlen ifelse(m4type,Q,`*(1+(i%%2))')')dnl + for i=0 to np2-1 do { + exec sprintf("Pin%g: box ht_ m4bxht wid_ m4pinwid \ + with .s_ at (i+0.5)/np2 between Body.ne_ and Body.nw_",i+1) } + for i=np2+1 to pinct do { + exec sprintf("Pin%g: box ht_ m4bxht wid_ m4pinwid \ + with .n_ at (i-np2-0.5)/(pinct-np2) between Body.sw_ and Body.se_",i) } + `$3'; resetdir_ + popdef(`m4bodywid',`m4bodylen',`m4pinpitch',`m4pinwid',`m4pinlen',`m4direct', + `m4type') ]')) + +divert(0)dnl diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/keyboardDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/keyboardDPV.m4 new file mode 100644 index 00000000000..b4e26d8fe4d --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/keyboardDPV.m4 @@ -0,0 +1,269 @@ +.PS +# keyboardDPV.m4 + gen_init + scale=25.4 # unit is mm + +divert(-1) + +define(`kbd_u',(11mm__)) +define(`kbdrowsep',`movewid') +define(`kbdshadewid',`(kbd_u/9)') + + `kbdkey(name|text=chars,keys) + chars: string or string string + keys: wdth=expr; # base wid + hght=expr; # base ht + rad=expr; # base rad + shadewid=expr; # base shade wid + base=attribs; # base attributes + top=attribs; # top attributes ' +define(`kbdkey', + `pushkeys_(`$2', + wdth:kbd_u; hght:kbd_u*14/13+lthick; rad:kbd_u/10; + shadewid:kbdshadewid; base:fill_(0.3):N; top:fill_(0.9):N)dnl + [ Base: box wid m4wdth ht m4hght rad m4rad m4base + Top: box wid m4wdth-2*m4shadewid ht m4hght-m4shadewid-lthick \ + rad m4rad*(kbd_u-2*m4shadewid)/(kbd_u) with .n \ + at Base.n-(0,lthick) m4top + move to Top.w + ifelse(`$1',,,`pushkey_(`$1',text,,N)ifelse(m4text,, + `"iflatex(\sf) `$1'" above ljust', + `m4text');') `$3' + popdef(`m4wdth', `m4hght', `m4shadewid', `m4rad', `m4base', `m4top') dnl + popdef(`m4text') ] ') + +define(`tsmall', + `iflatex(`"{\sf\scriptsize `$1'}"', + ifelse(`$3',,")svg_fsize(`$1',ifelse(`$2',,75,`$2'))ifelse(`$3',,"))') + +define(`stkbdkey', + `iflatex(`command "{\sf\scriptsize"',`m4tmp=textht + textht = ifelse(`$1',,0.66*textht,`$1') ') + kbdkey(shift($*)) + iflatex(`command "}%"',`textht = m4tmp')') + + `enterkey(name|text=chars,keys) + chars: string or string string + keys: wdth=expr; # base wid + hght=expr; # base ht + bhght=expr; # ht of bottom part + rad=expr; # base rad + shadewid=expr; # base shade wid + base=attribs; # base attributes + top=attribs; # top attributes ' +define(`enterkey', + `pushkeys_(`$2', + wdth:kbd_u*2.26; + hght:kbd_u*14/13*2+kbdrowsep+linethick bp__; + bhght: kbd_u*14/13; + twdth: kbd_u*3/2; + rad:kbd_u/10; + shadewid:kbdshadewid; + base:fill_(0.3):N; + top:fill_(0.9):N)dnl + [ ltx = lthick; r = m4rad*(kbd_u-2*m4shadewid)/(kbd_u) +# thick outer + linethick = (m4shadewid+r)/(1bp__); lth2 = lthick/2 + NEx: Here; NE: NEx-(lth2,lth2); SE: NE-(0,m4hght-lth2*3-ltx*3/2) + SW: SE-(m4wdth-lthick,0) + W: SW+(0,m4bhght-lthick+ltx*3/2); NW: NE-(m4twdth-lthick,0); X: (NW,W) + d = 0.3; ro = m4rad-lth2 + move to W; arcto(X,NW,m4rad+lth2,outlined graystring(d)); Tx:NW + Loopover_(`PK',`arcto(Tx,PK,ro,outlined graystring(d));Tx:PK',NE,SE,SW,W,X) + linethick = ltx +# outer outline + NE: NEx; SE: NE-(0,m4hght+ltx); SW: SE-(m4wdth,0) + W: SW+(0,m4bhght); NW: NE-(m4twdth,0); X: (NW,W) + m4enteroutline(m4rad,,m4rad) +# thick inner + linethick = m4shadewid/(1bp__)+linethick; lth2 = lthick/2 + NE: NEx-(m4shadewid+lth2,lth2+ltx); SE: (NE,SE)+(0,m4shadewid*3/2) + SW: SE-(m4wdth-m4shadewid*3,0); W: SW+(0,m4bhght-m4shadewid*2-ltx*3/2); + NW: NE-(m4twdth-m4shadewid*3,0); X: (NW,W) + c = 0.9; ri = r-lth2 + move to W; arcto(X,NW,ri+lth2*2,outlined graystring(c)); Tx:NW + Loopover_(`PK',`arcto(Tx,PK,ri,outlined graystring(c));Tx:PK',NE,SE,SW,W,X) + N: 1/2 between NW and NE + line from N to (N,SE) thick (NE.x-NW.x)/(1bp__) outlined graystring(c) + SSW: 1/2 between SW and W + line from SSW to (SE,SSW) thick (W.y-SW.y)/(1bp__) outlined graystring(c) +# inner outline + NE: NE+(lth2,lth2); SE: SE+(lth2,-lth2); SW: SW-(lth2,lth2) + W: W+(-lth2,lth2); NW: NW+(-lth2,lth2); X: (NW,W) + linethick = ltx + m4enteroutline(ri,,ri+lth2*2) + move to (X,(1/2 between SW and W)); + ifelse(`$1',,,`pushkey_(`$1',text,,N)dnl + ifelse(m4text,,`"iflatex(\sf) `$1'" above ljust',`m4text')') + popdef(`m4wdth', `m4hght', `m4bhght', `m4twdth', `m4shadewid', `m4rad', + `m4base', `m4top', `m4bhght' ) popdef(`m4text')dnl + `$3' ] ') +define(`m4enteroutline',`move to W+(`$1',0); arcto(X,NW,`$3',`$2'); Tx: NW + Loopover_(`PP',`arcto(Tx,PP,`$1',`$2'); Tx: PP',NE,SE,SW,W,X)') +define(`m4enterup',`[ u = ifelse(`$1',,kbd_u*0.3) + line right u/4 then up u/2 then right u/6 then up u/2 left u/4+u/6 \ + then down u/2 left u/4+u/6 then right u/6 then down u/2 then right u/4 + ]') + +define(`kbdsymb',`iflatex("\tt\char`$1'",`dsvg_symb(`$1')')') +define(`m4kbdarrow',`arrow thick 1.5 ht kbd_u/5 wid kbd_u/5') + +divert(0)dnl + +define dsvg_symb {"&#$1;"} + +maxpswid = 25*kbd_u +movewid = kbd_u/11 + +define(`rshift',` at Here+(ifelse(`$1',,`kbd_u/8',`$1'),0) ') + +iflatex(`command "{\small\sf"', + `ifsvg(svg_font(Arial,kbd_u*16/13/4,0bp__)) + textht=kbd_u/4 ') + +Row2: [ + textoffset = kbd_u/8 + Loopover_(`KK',`kbdkey(text=KK); move', + kbdsymb(126) ljust kbdsymb(96) ljust, + Loopover_(`NN',`kbdsymb(NN) ljust "m4Lx" ljust,',33,64,35,36,37,94,38,42,40) + kbdsymb(41) ljust "0" ljust, + kbdsymb(95) ljust "-" ljust, + kbdsymb(43) ljust "=" ljust, + kbdsymb(124) ljust kbdsymb(92) ljust, + "" ) + m4kbdarrow left kbd_u*0.5 at last [].Top + ] +Row1: [ + kbdkey(tsmall(Esc,,N)); move right_ last [].wid+movewid*2 + Loopover_(`KK',`kbdkey(KK); move',F1,F2,F3,F4) + move right_ last [].wid/2 + Loopover_(`KK',`kbdkey(KK); move',F5,F6,F7,F8) + move right_ Row2.wid-Here.x-4*last [].wid-4*movewid + Loopover_(`KK',`kbdkey(KK); move',F9,F10,F11,F12) + ] with .sw at Row2.nw+(0,2*kbdrowsep) +Row3: [ +# Uparrow: kbdkey(,,m4kbdarrow up kbd_u/2 at Top) + Tab: kbdkey(text=tsmall(Tab) rshift ljust,wdth=kbd_u*1.6, + [ A: m4kbdarrow left kbd_u/2; line thick A.thick up A.wid at A.end + A: m4kbdarrow right A.len at A-(0,kbd_u/2) + line thick A.thick up A.wid at A.end ] with .w at Top ); move + Loopover_(`KK',`KK: kbdkey(KK); move',Q,W,E,R,T,Y,U,I,O,P) + textoffset = kbd_u/8 + kbdkey(text=kbdsymb(123) ljust kbdsymb(91) ljust); move + kbdkey(text=kbdsymb(125) ljust kbdsymb(93) ljust); move + w = Row2.wid-Here.x + R: box invis wid w-movewid ht last [].Base.ht + ] with .nw at Row2.sw-(0,kbdrowsep) +Row4: [ + Capslock: kbdkey(text=tsmall(Caps Lock) rshift ljust, + wdth=Row3.Tab.wid+Row3.Q.wid/3;); move + Loopover_(`KK',`KK: kbdkey(KK); move',A,S,D,F,G,H,J,K,L) + textoffset = kbd_u/8 + kbdkey(text=kbdsymb(58) ljust kbdsymb(59) ljust); move + kbdkey(text=kbdsymb(34) ljust kbdsymb(39) ljust); move + ] with .nw at Row3.sw-(0,kbdrowsep) + Enter: enterkey(text=tsmall(Enter),, + m4kbdarrow <- from last ""+(kbd_u/2,0) \ + right kbd_u/2 then up kbd_u/5 ) \ + with .ne at (Row2.e,Row3.n)-(movewid,0) +Row5: [ + ShiftL: kbdkey(text=tsmall(Shift) at 0.4 between Top.w and Top.e, + wdth=kbd_u*2.4, m4enterup at 0.15 between Top.w and Top.e); move + Loopover_(`KK',`KK: kbdkey(KK); move',Z,X,C,V,B,N,M) + textoffset = kbd_u/8 + kbdkey(text=kbdsymb(60) ljust kbdsymb(44) ljust); move + kbdkey(text=kbdsymb(62) ljust kbdsymb(46) ljust); move + kbdkey(text=kbdsymb(63) ljust kbdsymb(47) ljust); move + v = Row2.wid-Here.x-kbd_u-movewid*2 + ShiftR: kbdkey(text=tsmall(Shift) at 1/2 between Top.w and Top.e,wdth=v, + m4enterup at 0.15 between Top.w and Top.e); move + kbdkey(); move + ] with .nw at Row4.sw+(0,-kbdrowsep) +Row6: [ + w = 22/18*kbd_u + CtrlL: kbdkey(text=tsmall(Ctrl) rshift ljust,wdth=w); move + kbdkey(,wdth=w); move + kbdkey(text=tsmall(Alt) rshift ljust,wdth=w); move + s = Row2.wid-(7*w+8*movewid) + kbdkey(,wdth=s); move + kbdkey(text=tsmall(Alt) rshift ljust,wdth=w); move + kbdkey(,wdth=w); move + kbdkey(,wdth=w); move + CtrlR: kbdkey(text=tsmall(Ctrl) rshift ljust,wdth=w); move + ] with .nw at Row5.sw+(0,-kbdrowsep) +Arrowkeys: [ iflatex(`command "{\sf\scriptsize"',`textht *=0.66') +Row1:[ textoffset = kbd_u/20 + kbdkey(text=`"Print" ljust "Screen" ljust "SysRQ" ljust'); move + textoffset = kbd_u/12 + kbdkey(text="Scroll" ljust "Lock" ljust); move + kbdkey(text="Pause" ljust "Break" ljust); move + ] +Row2: [ textoffset = kbd_u/12 + kbdkey(text="Insert" ljust); move + kbdkey(text=tsmall(Home) ljust); move + kbdkey(text="Page" ljust "Up" ljust); move + ] with .nw at Row1.sw-(0,2*kbdrowsep) +Row3: [ textoffset = kbd_u/12 + Delete: kbdkey(text="Delete" ljust); move + End: kbdkey(text="End" ljust); move + kbdkey(text="Page" ljust "Down" ljust); move + ] with .nw at Row2.sw+(0,-kbdrowsep) +Row5: [ + move right Row3.End.w.x + movewid + Uparrow: kbdkey(,,m4kbdarrow up kbd_u/2 at Top) + ] with .nw at Row3.sw-(0,Row3.Delete.ht+2*kbdrowsep) +Row6: [ + kbdkey(,,m4kbdarrow left kbd_u/2 at Top); move + kbdkey(,,m4kbdarrow down kbd_u/2 at Top); move + kbdkey(,,m4kbdarrow right kbd_u/2 at Top); move + ] with .nw at Row5.sw-(0,kbdrowsep) + + iflatex(`command "}%"',`textht *=(1/0.66)') + ] with .nw at Row1.ne+(movewid,0) +Keypad: [ move down_ Arrowkeys.n.y-Arrowkeys.Row2.e.y; right_ + textoffset = kbd_u/8 +Row2:[ + kbdkey(text=tsmall(Num) ljust tsmall(Lock) ljust); move + iflatex(`command "{\large"',`textht *=1.5') + kbdkey(text=kbdsymb(47) ljust); move + kbdkey(text=kbdsymb(42) ljust); move + kbdkey(text=kbdsymb(45) ljust); move + iflatex(`command "}"') + ] +Row3:[ textoffset = kbd_u/12 + kbdkey(text="7" ljust tsmall(Home) ljust); move + kbdkey(text="8" ljust "" ljust,,m4kbdarrow up_ kbd_u/3 \ + at 3/4 between Top.ne and Top.sw); move + kbdkey(text="9" ljust tsmall(PgUp) ljust); move + ] with .nw at Row2.sw+(0,-kbdrowsep) +Row4:[ textoffset = kbd_u/12 + kbdkey(text="4" ljust "" ljust,,m4kbdarrow left kbd_u/3 \ + at 0.7 between Top.ne and Top.sw); move + kbdkey(text="5" ljust "" ljust); move + Six: kbdkey(text="6" ljust "" ljust,,m4kbdarrow right kbd_u/3 \ + at 0.7 between Top.ne and Top.sw); move + ] with .nw at Row3.sw+(0,-kbdrowsep) +Row5:[ textoffset = kbd_u/12 + kbdkey(text="1" ljust tsmall(End) ljust); move + kbdkey(text="2" ljust "" ljust,,m4kbdarrow down kbd_u/3 \ + at 0.7 between Top.ne and Top.sw); move + kbdkey(text="3" ljust tsmall(PgDn) ljust); move + ] with .nw at Row4.sw+(0,-kbdrowsep) +Row6:[ textoffset = kbd_u/12 + kbdkey(text="0" ljust tsmall(Ins) ljust, + wdth=Row4.wid-Row4.Six.wid-2*movewid); move + kbdkey(text=kbdsymb(46) ljust tsmall(Del) ljust); move + ] with .nw at Row5.sw+(0,-kbdrowsep) +Col4: [ textoffset = kbd_u/12 + iflatex(`command "{\large"',`textht *=1.5') + kbdkey(text="+" ljust,hght=Row3.n.y-Row4.s.y); move + iflatex(`command "}"',`textht /=1.5') + kbdkey(text=tsmall(Enter) ljust,hght=Row5.n.y-Row6.s.y) \ + with .nw at last [].sw - (0,kbdrowsep) + ] with .ne at (Row2.e,Row3.n) + + ] with .nw at Arrowkeys.ne+(movewid,0) + +iflatex(`command "}%"', +ifsvg(`command ""')) +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/lcctDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/lcctDPV.m4 new file mode 100644 index 00000000000..f1112aef0f8 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/lcctDPV.m4 @@ -0,0 +1,200 @@ +.PS +# lcctDPV.m4 +maxpswid = 10 +log_init(svg_font(sans-serif,11bp__,2bp__)) +include(icsDPV.m4) + + textht = textht * 0.9 + +define(`dimen_',0.5) +define(`elen_',dimen_) +define(`Groundtype',`') + +define(`breakout',` for i = 1 to `$1' do { + {line `$2' ifelse(`$4',,del,`$4')-jog/2 then `$2' jog/2 `$3' jog \ + then `$3' lg_pinsep} + move `$3' lg_pinsep } + move `$2' ifelse(`$4',,del,`$4')-jog/2 then `$2' jog/2 `$3' jog ') + +del = lg_pinsep +jog = del*2/3 + + right_ +IC1: ic6502("6502" at Chip.sw+(0,-2bp__) below ljust) \ + +Vcc: IC1.Pin8.end.x-del-elen_,IC1.Pin4.y+lg_pinsep+3*del +Reset: IC1.Pin8.end.x-del,Vcc.y+del + + resistor(up_ Vcc.y-IC1.Pin4.y from IC1.Pin4.end) + + line left 2*del from IC1.Pin6.end + line up_ to (Here,Vcc) chop 0 chop elen_ + resistor + + line left del from IC1.Pin40.end + {line to (Here,Reset)} + move left elen_ + {NOT_gate(right_ elen_)} + {reversed(`capacitor',to (Here,Vcc),C)} + down_; resistor; ground(,T,Groundtype) + + line from IC1.Pin2.end to (IC1.Pin2.end,Vcc) + + move to IC1.Pin26.end; breakout(8,left,down) + line to (Here,IC1.sw+(0,-del)) + line down jog right jog/2 +Data: Here + + line from IC1.Pin1.end down_ 2*lg_pinsep; ground(,T,Groundtype) + + line left 2*del from IC1.Pin34.end + line to (Here,Data+(0,-del)) +RWB: Here + + move to IC1.Pin25.end; breakout(16,right,down) + line to (Here,RWB)+(0,-del+jog) then down jog left jog/2 +Addr: Here + + right_ +IC5: ic74LS138("74LS138" at Chip.sw+(0,-2bp__) below ljust) \ + with .Chip.nw at (IC1.Chip.w.x,Addr.y-2*del) + line from IC5.Pin5.end down_ 3*lg_pinsep ; ground(,T,Groundtype) + line from IC5.Pin16.end down_ 1.5*lg_pinsep ; ground(,T,Groundtype) + move to IC5.Pin1.end; breakout(3,left,up) + line to Here.x,Addr.y-jog then up jog right jog/2 then to Addr + + line right_ 2*del from IC1.Pin39.end + { NOT_gate(right_ 3*del) +C1: Here } + capacitor(up_ elen_*0.6) + {resistor(right_ 3*del)} + line up 2*(IC1.Pin37.y-Here.y) + {line from IC1.Pin37.end to (Here,IC1.Pin37)} + right_; xtal(right_ 3*del) + +IC2: ic6116("6116" at Chip.sw+(0,-2bp__) below ljust) \ + with .Chip.nw at Here.x+2*del+lg_plen*L_unit,IC1.Chip.n.y + line from IC2.Pin24.end up to (IC2.Pin24.end,Vcc) + right_ +Or1: OR_gate with .Out at IC2.Pin21.end + line from Or1.In2 left del then down del + line to (C1,Here) then to C1 + line from Or1.In1 left del + line to (Here,IC2.Chip.nw+(0,del)) +RW: Here + move to IC2.Pin17.end; breakout(8,left,down) + line to (Here,Data)+(0,jog) then down jog left jog/2 + line down_ lg_pinsep from IC2.Pin12.end ; ground(,T,Groundtype) + move to IC2.Pin19.end; breakout(11,right,down) + line to (Here,Addr) chop 0 chop jog + line down jog left jog/2 + line down_ lg_pinsep from IC2.Pin20.end ; ground(,T,Groundtype) + + right_ +IC3: ic6116("6116" at Chip.sw+(0,-2bp__) below ljust) \ + with .Chip.nw at IC2.Chip.ne + (IC2.Chip.nw.x - IC1.Chip.ne.x-del,0) +IC4: ic6522("6522" at Chip.sw+(0,-2bp__) below ljust) \ + with .Chip.nw at IC3.Chip.ne + (IC2.Chip.nw.x - IC1.Chip.ne.x-del,0) +IC6: ic74LS138("74LS138" at Chip.sw+(0,-2bp__) below ljust) \ + with .Chip.nw at (IC3.Chip.nw,IC5.Chip.nw) + + line from Vcc to (IC4.Pin34.end.x+del,Vcc.y) + line from Reset to (IC4.Pin34.end,Reset) then to IC4.Pin34.end + + line right_ 2*del from (C1,IC4.Pin25); NOT_gate; line to IC4.Pin25.end + line right del from IC1.Pin4.end; line to Here.x,Vcc.y-del + line to (IC4.Pin21.end,Here)-(del,0) then to IC4.Pin21.end-(del,0) \ + then to IC4.Pin21.end + + line from IC3.Pin21.end to (IC3.Pin21.end,Vcc) + move to IC3.Pin17.end + breakout(8,left,down); line to (Here,Data)+(0,jog) then down jog left jog/2 + move to IC3.Pin19.end + breakout(11,right,down); line to (Here,Addr)+(0,jog) then down jog left jog/2 + move to IC4.Pin26.end + breakout(8,left,down,2*del); + line to (Here,Data)+(0,jog) then down jog left jog/2 then to Data + move to IC4.Pin35.end + breakout(4,left,down); line to (Here,Addr)+(0,jog) then down jog left jog/2 \ + then to Addr + line from IC4.Pin20.end to (IC4.Pin20.end,Vcc) + line down_ lg_pinsep from IC4.Pin1.end; ground(,T,Groundtype) + line left 3*del from IC4.Pin23.end + line to (Here,IC6.Pin7) then to IC6.Pin7.end + line down_ 2*lg_pinsep from IC3.Pin18.end; ground(,T,Groundtype) + + line down_ lg_pinsep from IC6.Pin8.end; ground(,T,Groundtype) + line up_ 2.5*lg_pinsep from IC6.Pin16.end \ + then right_ lg_pinsep then down_ lg_pinsep/2; ground(,T,Groundtype) + move to IC6.Pin5.end; breakout(1,left,up); line up_ lg_pinsep + move to IC6.Pin1.end; breakout(3,left,up) + line to (Here,Addr)-(0,jog) then up jog left jog/2 + + line from RW to (IC3.Pin19.end+(2*del,0),RW) +RWE: Here + line to (RWE,RWB) then to RWB + line from IC4.Pin22.end to (RWE,IC4.Pin22.end) + + right_ +Or3: OR_gate with .Out at IC3.Pin20.end.x-del,IC1.Pin9.y + line from Or3.Out to (IC3.Pin20.end,Or3.Out) then to IC3.Pin20.end + left_ +Or2: OR_gate with .In2 at (IC2.Chip.se,Or3.In1) + line from Or2.Out to (IC2.Pin18.end-(3*del,0),Or2.Out) + line to (Here,IC2.Pin18) then to IC2.Pin18.end + line from Or2.In1 right del; line to (Here,IC1.Pin37) + + line from Or3.In2 left del; line to (Here,IC1.Pin37) + +define(`addrlabel',`dnl + line invis right 4*del from IC5.Pin`$1'.end "svg_small(`$2')" above ') + + addrlabel( 7,E000 - FFFF) + addrlabel( 9,C000 - DFFF) + addrlabel(10,A000 - BFFF) + addrlabel(11,8000 - 9FFF) + addrlabel(12,6000 - 7FFF) + addrlabel(13,4000 - 5FFF) + addrlabel(14,2000 - 3FFF) + addrlabel(15,0000 - 1FFF) + + line from IC5.Pin7.end right 4*del +K: Here; line to (K,IC5.Pin13) + line to (IC6.Pin4.end-(3*del,0),Here) + line to (Here,IC6.Pin4.end) then to IC6.Pin4.end + +Ands: [ right_ + And1: AND_gate; line right del/2 then down del*3/2 \ + then left And1.Out.x-And1.In1.x+del then down del then right_ del/2 + And2: AND_gate with .In1 at Here + line from And2.Out right del/2 then down del then right_ del/2 + And3: AND_gate with .In1 at Here + line right_ del/2 from And3.Out + NOT_gate + line right_ del/2 + And4: AND_gate with .In1 at Here + ] with .And2.In1 at (K.x+2*del,IC5.Pin9.y) + +# line from Ands.And4.Out right del*3; line to (Here,Or3.In1) then to Or3.In1 + line from Ands.And4.Out right IC6.Pin5.end.x-3*del-Ands.And4.Out.x + line to (Here,Or3.In1) then to Or3.In1 + line from Ands.And4.In2 left del + line to (Here,IC5.Pin14) then to IC5.Pin14.end + line from IC5.Pin15.end to (IC2.Pin20.end.x+2*del,IC5.Pin15.y) + line to (Here,Or2.In2) then to Or2.In2 + NOT_gate(right_ from (K,Ands.And3.In2) to Ands.And3.In2) + line from Ands.And2.In2 to (K+(del+jog/2,0),Ands.And2.In2) + line left jog/2 up jog; line to (Here.x,Addr.y-jog) then up jog left jog/2 + line from Ands.And1.In1 to (K.x+del+jog/2,Ands.And1.In1.y) \ + then left jog/2 up jog + line from Ands.And1.In2 to (K.x+del+jog/2,Ands.And1.In2.y) \ + then left jog/2 up jog + + line from IC6.Pin6.end left 2*del; line to (Here,IC4.Pin24) + line from IC4.Pin24.end to (IC2.Chip.se,IC4.Pin24) + move left dimen_; {NOT_gate(right_ dimen_)} + line left jog/2 down jog; line to (Here,Data) chop 0 chop jog + line down jog left jog/2 + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/local_init.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/local_init.m4 new file mode 100644 index 00000000000..bf2dbda5976 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/local_init.m4 @@ -0,0 +1,2 @@ +command "" +define(`Inkscape') diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/paletteDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/paletteDPV.m4 new file mode 100644 index 00000000000..6554df36ee8 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/paletteDPV.m4 @@ -0,0 +1,337 @@ +.PS +# This is the source for a prototype svg library of electric circuit +# elements. Each element is a compound svg object with corners on grid points. +# +# Processing svg.m4 and this file thought dpic -v gives +# output that can be read into Inkscape. +# +define(`SIdefaults',` + scale = 25.4 + arcrad = 5 + arrowht = 2.5 + arrowwid = arrowht/2 + boxht = 12 + boxrad = 0 + boxwid = 20 + circlerad = 5 + dashwid = 1.5 + ellipseht = 12 + ellipsewid = 16 + lineht = 12 + linewid = 12 + moveht = 12 + movewid = 12 + textht = ifsvg(3,0) + textoffset = 1 + textwid = 0 +') + +log_init(svg_font(sans-serif,11bp__)) +SIdefaults + + # Assume dpic scale is in mm +gunit = 1 # Inkscape grid dimension +divert(-1) +define(`elen_',`(10*gunit)') # default 2-terminal element length +define(`dimen_',`(10*gunit)')# reference dimension for element bodies +define(`L_unit',`(2*gunit)') # logic gate grid size +define(`N_diam',1) # L_unit size of `not' circles + + # grid round and chop +define(`g_round',`(int((`$1')/gunit+100000.5 )-100000)*gunit') +define(`g_chop', `(int((`$1')/gunit+100000.9999)-100000)*gunit') + # snap to grid +define(`g_snap',`(g_round((`$1').x),g_round((`$1').y))') + +# Box containing an element. The element must be in a box that is +# intersected by a horizontal or vertical line from entry to exit. +define(`Gridbox',`[ command "" + S: Here; `$1'; F: Here + if S.y == F.y then { + move from (max(S.x,F.x),F.y+g_chop(last[].n.y-F.y)) \ + to (min(S.x,F.x),F.y-g_chop(F.y-last[].s.y)) } \ + else { + move from (F.x+g_chop(last[].e.x-F.x),max(S.y,F.y)) \ + to (F.x-g_chop(F.x-last[].w.x),min(S.y,F.y)) } + command "" ] ') + +# Place compound object corners at grid intersections +define(`Below', + `with .n at g_snap(ifelse(`$1',,`last []',`$1').s) \ + - (0,ifelse(`$2',,1,`$2')*gunit)') +define(`Right', + `with .w at g_snap(ifelse(`$1',,`last []',`$1').e)+(2*gunit,0)') + +# for debug +define(`prpos',`print (`$1').x/gunit,(`$1').y/gunit') +divert(0)dnl + +[ + +rpoint_(down_ elen_) +A:Gridbox( resistor ) + Gridbox( resistor(down_ dimen_*1/2) ) Right + Gridbox( resistor(,,E) ) Right + Gridbox( resistor(,,Q) ) Right + Gridbox( resistor(,,H) ) Right + Gridbox( resistor(,,N) ) Right + Gridbox( inductor(,W) ) Right + Gridbox( inductor(,W,,M) ) Right + Gridbox( inductor(,L) ) Right + Gridbox( inductor ) Right + Gridbox( inductor(,,,M) ) Right + Gridbox( capacitor ) Right + Gridbox( capacitor(,C) ) Right + Gridbox( capacitor(,P) ) Right + Gridbox( capacitor(,E) ) Right + Gridbox( capacitor(,K) ) Right + Gridbox( diode ) Right + Gridbox( diode(,K) ) Right + Gridbox( diode(,Z) ) Right + Gridbox( diode(,S) ) Right + Gridbox( diode(,L) ) Right + Gridbox( diode(,V) ) Right + Gridbox( diode(,v) ) Right + Gridbox( diode(,T) ) Right + Gridbox( diode(,CR) ) Right + Gridbox( diode(,D) ) Right + Gridbox( diode(,B) ) Right + Gridbox( diode(,LE) ) Right + Gridbox( [circle diam dimen_*0.7] ) Right + Gridbox( xtal ) Right + dot(at g_snap(last [].e+(2*gunit,0))) + +A:Gridbox( source ) Below(A) + Gridbox( source(,I) ) Right + Gridbox( source(,i) ) Right + Gridbox( source(,V) ) Right + Gridbox( source(,v) ) Right + Gridbox( source(,AC) ) Right + Gridbox( source(,S) ) Right + Gridbox( source(,X) ) Right + Gridbox( source(,F) ) Right + Gridbox( source(,P) ) Right + Gridbox( source(,U) ) Right + Gridbox( source(,R) ) Right + Gridbox( source(,T) ) Right + Gridbox( source(,L) ) Right + Gridbox( nullator ) Right + Gridbox( norator ) Right + Gridbox( consource ) Right + Gridbox( consource(,I) ) Right + Gridbox( consource(,i) ) Right + Gridbox( consource(,V) ) Right + Gridbox( consource(,v) ) Right + Gridbox( source(,Q) ) Right + Gridbox( source(,G) ) Right + +A:Gridbox( battery(up_ elen_) ) Below(A) + Gridbox( battery(up_ elen_,3) ) Right + Gridbox( ttmotor ) Right + Gridbox( memristor ) Right + Gridbox( tline ) Right + Gridbox( fuse ) Right + Gridbox( fuse(,D) ) Right + Gridbox( fuse(,B) ) Right + Gridbox( fuse(,C) ) Right + Gridbox( fuse(,S) ) Right + Gridbox( fuse(,HB) ) Right + Gridbox( fuse(,HC) ) Right + Gridbox( cbreaker ) Right + Gridbox( cbreaker(,,D) ) Right + Gridbox([variable(`[]',A)]) Right + Gridbox([variable(`[]',P)]) Right + Gridbox([variable(`[]',L)]) Right + Gridbox([variable(`[]',N)]) Right + Gridbox([variable(`[]',uN)]) Right + Gridbox([line to Here+(Rect_(dimen_/6,45))]) Right + Gridbox([line up dimen_*0.06 then right dimen_*0.12 \ + then up dimen_*0.06]) Right + Gridbox([em_arrows]) Right + Gridbox([em_arrows(N)]) Right + Gridbox([em_arrows(ND)]) Right + Gridbox([em_arrows(I)]) Right + Gridbox([em_arrows(ID)]) Right + Gridbox([em_arrows(E)]) Right + Gridbox([em_arrows(ED)]) Right + +A:Gridbox( [right_; ground] ) Below(A) + Gridbox( [right_; ground(,T)] ) Right + Gridbox( [right_; ground(,,F)] ) Right + Gridbox( [right_; ground(,,E)] ) Right + Gridbox( [right_; ground(,,S)] ) Right + Gridbox( [right_; ground(,,L)] ) Right + Gridbox( [right_; ground(,,P)] ) Right + Gridbox( transformer(right_ 6*gunit,L) ) Right + Gridbox( transformer(right_ 8*gunit,,2,8) ) Right + Gridbox( transformer(,,8,W,4) ) Right + Gridbox( transformer(,,9,AL) ) Right + Gridbox( transformer(,R,8,AW) ) Right + + rpoint_(right_) +A:Gridbox( switch ) Below(A) + Gridbox( switch(,,O) ) Right + Gridbox( switch(,,D) ) Right + Gridbox( switch(,,OD) ) Right + Gridbox( switch(,,C) ) Right + Gridbox( switch(,,B) ) Right + Gridbox( switch(,C,B) ) Right + Gridbox( dswitch ) Right + Gridbox( dswitch(,,WBK) ) Right + Gridbox( dswitch(,,WBuD) ) Right + Gridbox( dswitch(,,WBF) ) Right + Gridbox( dswitch(,,WBKF) ) Right + Gridbox( dswitch(,,WBL) ) Right + Gridbox( dswitch(,,WBKL) ) Right + +A:Gridbox( dswitch(,,WBT) ) Below(A,3) + Gridbox( dswitch(,,WdBKC) ) Right + Gridbox( dswitch(,,WBM) ) Right + Gridbox( dswitch(,,WBCO) ) Right + Gridbox( dswitch(,,WBCMP) ) Right + Gridbox( dswitch(,,WBCY) ) Right + Gridbox( dswitch(,,WBCZ) ) Right + Gridbox( dswitch(,,WBCE) ) Right + Gridbox( dswitch(,,WBRH) ) Right + Gridbox( dswitch(,,WBRdH) ) Right + Gridbox( dswitch(,,WBRHH) ) Right + +A:Gridbox( dswitch(,,WBMMR) ) Below(A,6) + Gridbox( dswitch(,,WBMM) ) Right + Gridbox( dswitch(,,WBMR) ) Right + Gridbox( dswitch(,,WBEL) ) Right + Gridbox( dswitch(,,WBLE) ) Right + Gridbox( dswitch(,,WBKEL) ) Right + Gridbox( antenna ) Right # Below(A) + Gridbox( antenna(,,L) ) Right + Gridbox( antenna(,,T) ) Right + Gridbox( antenna(,,S) ) Right + Gridbox( antenna(,,D) ) Right + Gridbox( antenna(,,P) ) Right + Gridbox( antenna(,,F) ) Right + +A:Gridbox( amp(right_ elen_*10/8) ) Below(A) + Gridbox( integrator ) Right + Gridbox( delay ) Right + Gridbox( opamp ) Right + Gridbox( opamp(,,,,T) ) Right + Gridbox( amp(,dimen_/2) ) Right + Gridbox( integrator(,dimen_/2) ) Right + Gridbox( delay(,delay_rad_) ) Right + Gridbox( opamp(,,,dimen_*2/3) ) Right + Gridbox( opamp(,,,dimen_*2/3,T) ) Right + +right_ +A:Gridbox( relay(2) ) Below(A) + Gridbox( relay(2,O) ) Right + Gridbox( relay(2,C) ) Right + Gridbox( relay ) Right + Gridbox( contact ) Right + Gridbox( contact(O) ) Right + Gridbox( contact(C) ) Right + +up_ +A:Gridbox( [circle rad 29/10*gunit] ) Below(A) + Gridbox( bi_tr ) Right + Gridbox( bi_tr(,R) ) Right + Gridbox( bi_tr(,,P) ) Right + Gridbox( bi_tr(,R,P) ) Right + + Gridbox( j_fet ) Right + Gridbox( j_fet(,R) ) Right + Gridbox( j_fet(,,P,) ) Right + Gridbox( j_fet(,R,P,) ) Right + Gridbox( e_fet(,,,) ) Right + Gridbox( e_fet(,R,,) ) Right + + Gridbox( e_fet(,,P,) ) Right + Gridbox( e_fet(,R,P,) ) Right + Gridbox( d_fet(,,,) ) Right + Gridbox( d_fet(,R,,) ) Right + Gridbox( d_fet(,,P,) ) Right + Gridbox( d_fet(,R,P,) ) Right + +A:Gridbox( igbt ) Below(A) + Gridbox( ujt ) Right + Gridbox( ujt(,,P) ) Right +rpoint_(down_) + Gridbox( thyristor ) Right + Gridbox( thyristor(,B) ) Right + Gridbox( thyristor(,BG) ) Right + Gridbox( thyristor(,A) ) Right + Gridbox( thyristor(,C) ) Right +rpoint_(up_) + Gridbox( j_fet ) Right + Gridbox( e_fet ) Right + Gridbox( e_fet(,,,S) ) Right + Gridbox( e_fet(,,P) ) Right + Gridbox( e_fet(,,P,S) ) Right + Gridbox( d_fet ) Right + Gridbox( d_fet(,,,S) ) Right + Gridbox( d_fet(,,P,) ) Right + Gridbox( d_fet(,,P,S) ) Right + Gridbox( j_fet ) Right + Gridbox( j_fet(,,P) ) Right + Gridbox( mosfet(,,uHSDF) ) Right + +rpoint_(right_) +A:Gridbox( tgate ) Below(A,3) + Gridbox( tgate(,B) ) Right + Gridbox( ptrans ) Right + +A:Gridbox( AND_gate ) Below(A,3) + Gridbox( OR_gate ) Right + Gridbox( NAND_gate ) Right + Gridbox( NOR_gate ) Right + Gridbox( XOR_gate ) Right + Gridbox( NXOR_gate ) Right + Gridbox( BUFFER_gate ) Right + Gridbox( NOT_gate ) Right + +# input lines for OR-like gates. +define(`OR_inlgth',`(-sqrt(OR_rad^2-G_hht^2)+sqrt(OR_rad^2-`$1'^2))*L_unit') + + Gridbox( [ {move right_ gunit} + {move from last move-svec_(0,G_hht) to last move+svec_(0,G_hht)} + {line right_ OR_inlgth(0)} + {line right_ OR_inlgth(2) from Here+svec_(0,2)} + {line same from Here-svec_(0,2)} + {line right_ OR_inlgth(1) from Here+svec_(0,1)} + {line same from Here-svec_(0,1)}] ) Right + Gridbox( [ {move right_ gunit} + {move from last move-svec_(0,G_hht) to last move+svec_(0,G_hht)} + {line right_ OR_inlgth(0)} + {line right_ OR_inlgth(2) from Here+svec_(0,2)} + {line same from Here-svec_(0,2)}] ) Right + Gridbox( [ {move right_ gunit} + {move from last move-svec_(0,G_hht) to last move+svec_(0,G_hht)} + {line right_ OR_inlgth(2) from Here+svec_(0,2)} + {line same from Here-svec_(0,2)}] ) Right + Gridbox( [ {move right_ gunit} + {move from last move-svec_(0,G_hht) to last move+svec_(0,G_hht)} + {line right_ OR_inlgth(0)}] ) Right + +right_ +A:Gridbox( speaker ) Below(A) + Gridbox( speaker(,,H) ) Right + Gridbox( bell ) Right + Gridbox( microphone ) Right + Gridbox( buzzer ) Right + Gridbox( buzzer(,,C) ) Right + Gridbox( earphone ) Right + Gridbox( earphone(,,C) ) Right + Gridbox( nport ) Right + Gridbox( nterm ) Right + +A:Gridbox( FlipFlop(D) ) Below(A) + Gridbox( FlipFlop(T) ) Right + Gridbox( FlipFlop(RS)) Right + Gridbox( FlipFlop(JK)) Right + + ] with .nw at (0,0) + +#"A draft palette of a few elements for Inkscape using a 1 mm grid" \ +# ljust below at last [].sw + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/paletteDPV.svg b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/paletteDPV.svg new file mode 100644 index 00000000000..51ccb1bc2c6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/paletteDPV.svg @@ -0,0 +1,2639 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +- ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +- ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +- ++ + + + + +- ++ + + + + + + + + + + + + + + + + + + +- ++ + + + + + +- ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +D + + +CK + +Q + +Q + + + + +T + + +CK + +Q + +Q + + + + +R + +S + +Q + +Q + + + + +J + + +CK + + +K + +CLR + + +Q + +Q + +PR + + + + + diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/pwrsupplyDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/pwrsupplyDPV.m4 new file mode 100644 index 00000000000..37c7524070a --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/pwrsupplyDPV.m4 @@ -0,0 +1,76 @@ +.PS +# pwrsupply.m4 +cct_init +ifdef(`m4pco',`resetrgb') + +Singlephase:[ + linewid = linewid*1.2 + down_ + T:transformer + line left_ elen_/8 from T.P1 + rgbdraw(0,0,1,fuse(left_ elen_/3,D)) + reversed(`switch',left_ elen_*2/3) + gap(down_ to (Here,T.P2)) + { fuse(right_ 2*dimen_/5 at last []) } + line to T.P2 + blen = dimen_/2 + W: T.TS+(dimen_/2,0) + N: W+(blen,blen) + S: W+(blen,-blen) + E: S+(blen,blen) + diode(from W to N) + diode(from S to E) + G: gap(from E+(dimen_,0) down_ (E.y-S.y)*5/4); llabel(+,,-) + C: capacitor(down_ G.start.y-G.end.y from 0.5 between E and G.start,C) + + setrgb(255,0,0) + line from T.S1 to (T.S1,N); line to N + dot + diode(to E); dot + line from E to G.start; dot + dot(at C.start) + resetrgb + + setrgb(0,255,0,,D) + dot(at C.end) + dot(at G.end) + ground + line to (W,Here); line to W; dot + diode(to S); dot + line to (T.S2,Here); line to T.S2 + resetrgb + ] + +Threephase: [ +L:[ loadht = 2*elen_ + Load: ebox(down_ loadht,0.4,0.25); llabel(+,,-) + hsep = dimen_*3/4 + for_(1,3,1, + `line left_ hsep; ifelse(m4x,3,,dot) + { diode(up_ loadht/3) ; line up_ loadht/3; diode(up_ loadht/3) + T`'m4x: ifelse(m4x,3,Here,dot) + line right hsep } ') + ] + +T:[ + X1: transformer(down_ dimen_*2/3,,,,4) + X2: transformer(down_ dimen_*2/3,,,,4) with .P1 at X1.P2 + X3: transformer(down_ dimen_*2/3,,,,4) with .P1 at X2.P2 + line from X1.M4Core1.end to X3.M4Core1.start + line from X1.M4Core2.end to X3.M4Core2.start + for_(1,3,1, + `move to X`'m4x.P2 ; ifelse(m4x,3,,dot) + line left_ dimen_ + P`'m4x: dot(,,1)') + line left_ dimen_/2 from X1.P1 then down X1.P1.y-P3.y; dot + B: X1.S2+(dimen_/2,0) + line from X1.S1 right B.x-X1.S2.x then down X1.S1.y-X3.S1.y then to X3.S1 + line from X2.S1 to (B,X2.S1); dot + ] with .X2.S2 at L.w-(dimen_,0) + + line from T.X1.S2 to (L.T3,T.X1.S2); dot + line from T.X2.S2 to (L.T2,T.X2.S2); dot + line from T.X3.S2 to (L.T1,T.X3.S2); dot +] with .sw at Singlephase.se+(0.3,0) + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quick.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quick.m4 new file mode 100644 index 00000000000..7de2399601e --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quick.m4 @@ -0,0 +1,16 @@ +.PS # Pic input begins with .PS +cct_init # Read in macro definitions and set defaults +elen = 0.75 # Variables are allowed; default units are inches +Origin: Here # Position names are capitalized + source(up_ elen); llabel(-,v_s,+) + resistor(right_ elen); rlabel(,R,) + dot + { # Save the current position and direction + capacitor(down_ to (Here,Origin)) #(Here,Origin) = (Here.x,Origin.y) + rlabel(+,v,-); llabel(,C,) + dot + } # Restore position and direction + line right_ elen*2/3 + inductor(down_ Here.y-Origin.y); rlabel(,L,); b_current(i) + line to Origin +.PE # Pic input ends diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quick.pic b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quick.pic new file mode 100644 index 00000000000..1f06d07e487 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quick.pic @@ -0,0 +1,124 @@ +.PS # Pic input begins with .PS +# cct_init Version 10.1: TikZ PGF m4 macro settings. + + # gen_init Version 10.1: TikZ PGF m4 macro settings. + + + define rpoint__ { + rp_wid = last line.end.x-last line.start.x + rp_ht = last line.end.y-last line.start.y + rp_len = sqrt(abs((rp_wid)^2+(rp_ht)^2)); move to last line.start + rp_ang = atan2(rp_ht,rp_wid) } + + rtod_ = 57.295779513082323; dtor_ = 0.017453292519943295 + twopi_ = 6.2831853071795862; pi_ = (twopi_/2) + rp_ang = 0; right + + + linethick = 0.8 + arrowwid = 0.05*scale; arrowht = 0.1*scale + + + # gen_init end + + + +# cct_init end + # Read in macro definitions and set defaults +elen = 0.75 # Variables are allowed; default units are inches +Origin: Here # Position names are capitalized + line invis up elen + rpoint__ + + + { line to Here+(((rp_len/2-(0.25*linewid))*(cos(rp_ang))),((rp_len/2-(0.25*linewid))*(sin(rp_ang)))) + move to Here+((((0.25*linewid))*(cos(rp_ang))),(((0.25*linewid))*(sin(rp_ang)))) + { Src_C: circle rad (0.25*linewid) at Here } + + line from Here+((((0.25*linewid))*(cos(rp_ang))),(((0.25*linewid))*(sin(rp_ang)))) \ + to Here+(((rp_len/2)*(cos(rp_ang))),((rp_len/2)*(sin(rp_ang))))} + {[box invis wid (0.25*linewid)*2 ht (0.25*linewid)*2] at Here+(((rp_len/2)*(cos(rp_ang))),((rp_len/2)*(sin(rp_ang))))} + line to Here+(((rp_len)*(cos(rp_ang))),((rp_len)*(sin(rp_ang)))) invis ; {"$ -$" \ + at last [].s rjust below }; {"$ v_s$" \ + at last [].w rjust }; {"$ +$" \ + at last [].n rjust above }; + line invis right elen + rpoint__ + + + if linewid/6/4*6*2 > rp_len then { line invis to Here+(((linewid/6/4*6*2)*(cos(rp_ang))),((linewid/6/4*6*2)*(sin(rp_ang)))) + rpoint__ + + } + M4_xyO: last line.c + { line from last line.start to M4_xyO+(((((linewid/6/4)*(-6)))*(cos(rp_ang))),((((linewid/6/4)*(-6)))*(sin(rp_ang))))\ + then to M4_xyO+((((((linewid/6/4)*(-5)))*(cos(rp_ang)))+((((linewid/6/4)*((2))))*((-sin(rp_ang))))),(((((linewid/6/4)*(-5)))*(sin(rp_ang)))+((((linewid/6/4)*((2))))*(cos(rp_ang))))) \ + then to M4_xyO+((((((linewid/6/4)*(-3)))*(cos(rp_ang)))+((((linewid/6/4)*((-2))))*((-sin(rp_ang))))),(((((linewid/6/4)*(-3)))*(sin(rp_ang)))+((((linewid/6/4)*((-2))))*(cos(rp_ang))))) \ +then to M4_xyO+(((((-(linewid/6/4)))*(cos(rp_ang)))+((((linewid/6/4)*((2))))*((-sin(rp_ang))))),((((-(linewid/6/4)))*(sin(rp_ang)))+((((linewid/6/4)*((2))))*(cos(rp_ang))))) \ + then to M4_xyO+((((linewid/6/4)*(cos(rp_ang)))+((((linewid/6/4)*((-2))))*((-sin(rp_ang))))),(((linewid/6/4)*(sin(rp_ang)))+((((linewid/6/4)*((-2))))*(cos(rp_ang))))) \ +then to M4_xyO+((((((linewid/6/4)*(3)))*(cos(rp_ang)))+((((linewid/6/4)*((2))))*((-sin(rp_ang))))),(((((linewid/6/4)*(3)))*(sin(rp_ang)))+((((linewid/6/4)*((2))))*(cos(rp_ang))))) \ + then to M4_xyO+((((((linewid/6/4)*(5)))*(cos(rp_ang)))+((((linewid/6/4)*((-2))))*((-sin(rp_ang))))),(((((linewid/6/4)*(5)))*(sin(rp_ang)))+((((linewid/6/4)*((-2))))*(cos(rp_ang))))) \ + then to M4_xyO+(((((linewid/6/4)*(6)))*(cos(rp_ang))),((((linewid/6/4)*(6)))*(sin(rp_ang)))) \ + then to last line.end + [box invis ht linewid/6/4*2*2 wid linewid/6/4*6*2] at 2nd last line.c + } + + + +# + line invis from 2nd last line.start to 2nd last line.end ; {"$ R$" \ + at last [].s below }; + [ circle rad (0.04*linewid) fill 0 ] at Here + move to last [] + { # Save the current position and direction + line invis down to (Here,Origin) + rpoint__ + + + { line to Here+(((rp_len/2-linewid/3*0.3/2)*(cos(rp_ang))),((rp_len/2-linewid/3*0.3/2)*(sin(rp_ang)))) + {line from Here+(((-linewid/3/2)*((-sin(rp_ang)))),((-linewid/3/2)*(cos(rp_ang)))) \ + to Here+(((linewid/3/2)*((-sin(rp_ang)))),((linewid/3/2)*(cos(rp_ang))))} + + move to Here+(((linewid/3*0.3)*(cos(rp_ang))),((linewid/3*0.3)*(sin(rp_ang)))) + {line from Here+(((-linewid/3/2)*((-sin(rp_ang)))),((-linewid/3/2)*(cos(rp_ang)))) \ + to Here+(((linewid/3/2)*((-sin(rp_ang)))),((linewid/3/2)*(cos(rp_ang))))} + line to Here+(((rp_len/2-linewid/3*0.3/2)*(cos(rp_ang))),((rp_len/2-linewid/3*0.3/2)*(sin(rp_ang)))) + + + + + + + + } + + {[box invis wid linewid/3 ht linewid/3*0.3 ] at Here+(((rp_len/2)*(cos(rp_ang))),((rp_len/2)*(sin(rp_ang))))} + line to Here+(((rp_len)*(cos(rp_ang))),((rp_len)*(sin(rp_ang)))) invis #(Here,Origin) = (Here.x,Origin.y) + {"$ +$" \ + at last [].n rjust above }; {"$ v$" \ + at last [].l rjust }; {"$ -$" \ + at last [].s rjust below }; ; {"$ C$" \ + at last [].e ljust }; + [ circle rad (0.04*linewid) fill 0 ] at Here + move to last [] + } # Restore position and direction + line right elen*2/3 + line invis down Here.y-Origin.y + rpoint__ + + + { line to Here+((((rp_len-4*linewid/16*2)/2)*(cos(rp_ang))),(((rp_len-4*linewid/16*2)/2)*(sin(rp_ang)))) + {M4coil: [ S: Here; + {line to Here+(((-(linethick *(scale/72)/2))*((-sin(rp_ang)))),((-(linethick *(scale/72)/2))*(cos(rp_ang))))}; + for m4i=1 to 4 do { + arc cw from Here to Here+(((linewid/16*2)*(cos(rp_ang))),((linewid/16*2)*(sin(rp_ang)))) with .c at Here+(((linewid/16)*(cos(rp_ang))),((linewid/16)*(sin(rp_ang)))) + {line to Here+(((-(linethick *(scale/72)/2))*((-sin(rp_ang)))),((-(linethick *(scale/72)/2))*(cos(rp_ang))))} } ] with .S at Here } + + line from Here+(((4*linewid/16*2)*(cos(rp_ang))),((4*linewid/16*2)*(sin(rp_ang)))) to Here+((((rp_len+4*linewid/16*2)/2)*(cos(rp_ang))),(((rp_len+4*linewid/16*2)/2)*(sin(rp_ang)))) } + line to Here+(((rp_len)*(cos(rp_ang))),((rp_len)*(sin(rp_ang)))) invis ; {"$ L$" \ + at last [].l rjust }; ; + { move to last line.start+(((((rp_len-last [].ht)/2*2/3+arrowht/3))*(cos(rp_ang))),((((rp_len-last [].ht)/2*2/3+arrowht/3))*(sin(rp_ang)))) + arrow <- to Here+(((-arrowht)*(cos(rp_ang))),((-arrowht)*(sin(rp_ang)))) "$ i$" \ + ljust} + line to Origin +.PE # Pic input ends diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quick.svg b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quick.svg new file mode 100644 index 00000000000..b07cccbda8f --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quick.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quick.tex b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quick.tex new file mode 100644 index 00000000000..e59bd8597f5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quick.tex @@ -0,0 +1,188 @@ +\begin{tikzpicture}[scale=2.54]% +% dpic version 2022.12.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (0,0) + --(0,0.25)\dpicstop +\dpicdraw (0,0.375) circle (0.049213in)\dpicstop +\dpicdraw (0,0.5) + --(0,0.75)\dpicstop +\draw (0,0.25) node[below left=-2bp]{$ -$}; +\draw (-0.125,0.375) node[left=-2bp]{$ v_s$}; +\draw (0,0.5) node[above left=-2bp]{$ +$}; +\dpicdraw (0,0.75) + --(0.25,0.75) + --(0.270833,0.791667) + --(0.3125,0.708333) + --(0.354167,0.791667) + --(0.395833,0.708333) + --(0.4375,0.791667) + --(0.479167,0.708333) + --(0.5,0.75) + --(0.75,0.75)\dpicstop +\draw (0.375,0.708333) node[below=-2bp]{$ R$}; +\dpicdraw[fill=black](0.75,0.75) circle (0.007874in)\dpicstop +\dpicdraw (0.75,0.75) + --(0.75,0.4)\dpicstop +\dpicdraw (0.666667,0.4) + --(0.833333,0.4)\dpicstop +\dpicdraw (0.666667,0.35) + --(0.833333,0.35)\dpicstop +\dpicdraw (0.75,0.35) + --(0.75,0)\dpicstop +\draw (0.75,0.4) node[above left=-2bp]{$ +$}; +\draw (0.666667,0.375) node[left=-2bp]{$ v$}; +\draw (0.75,0.35) node[below left=-2bp]{$ -$}; +\draw (0.833333,0.375) node[right=-2bp]{$ C$}; +\dpicdraw[fill=black](0.75,0) circle (0.007874in)\dpicstop +\dpicdraw (0.75,0.75) + --(1.25,0.75)\dpicstop +\dpicdraw (1.25,0.75) + --(1.25,0.5)\dpicstop +\dpicdraw (1.25,0.5) + --(1.244444,0.5)\dpicstop +\dpicdraw (1.25,0.5) + ..controls (1.261165,0.5) and (1.271481,0.494044) + ..(1.277063,0.484375) + ..controls (1.282646,0.474706) and (1.282646,0.462794) + ..(1.277063,0.453125) + ..controls (1.271481,0.443456) and (1.261165,0.4375) + ..(1.25,0.4375)\dpicstop +\dpicdraw (1.25,0.4375) + --(1.244444,0.4375)\dpicstop +\dpicdraw (1.25,0.4375) + ..controls (1.261165,0.4375) and (1.271481,0.431544) + ..(1.277063,0.421875) + ..controls (1.282646,0.412206) and (1.282646,0.400294) + ..(1.277063,0.390625) + ..controls (1.271481,0.380956) and (1.261165,0.375) + ..(1.25,0.375)\dpicstop +\dpicdraw (1.25,0.375) + --(1.244444,0.375)\dpicstop +\dpicdraw (1.25,0.375) + ..controls (1.261165,0.375) and (1.271481,0.369044) + ..(1.277063,0.359375) + ..controls (1.282646,0.349706) and (1.282646,0.337794) + ..(1.277063,0.328125) + ..controls (1.271481,0.318456) and (1.261165,0.3125) + ..(1.25,0.3125)\dpicstop +\dpicdraw (1.25,0.3125) + --(1.244444,0.3125)\dpicstop +\dpicdraw (1.25,0.3125) + ..controls (1.261165,0.3125) and (1.271481,0.306544) + ..(1.277063,0.296875) + ..controls (1.282646,0.287206) and (1.282646,0.275294) + ..(1.277063,0.265625) + ..controls (1.271481,0.255956) and (1.261165,0.25) + ..(1.25,0.25)\dpicstop +\dpicdraw (1.25,0.25) + --(1.244444,0.25)\dpicstop +\dpicdraw (1.25,0.25) + --(1.25,0)\dpicstop +\draw (1.244444,0.375) node[left=-2bp]{$ L$}; +\filldraw[line width=0bp](1.225,0.65) + --(1.25,0.55) + --(1.275,0.65) --cycle\dpicstop +\dpicdraw (1.25,0.572906) + --(1.25,0.65)\dpicstop +\draw (1.25,0.611453) node[right=-2bp]{$ i$}; +\dpicdraw (1.25,0) + --(0,0)\dpicstop +\end{tikzpicture}% +\begin{tikzpicture}[scale=2.54]% +% dpic version 2022.12.01 option -g for TikZ and PGF 1.01 +\ifx\dpiclw\undefined\newdimen\dpiclw\fi +\global\def\dpicdraw{\draw[line width=\dpiclw]} +\global\def\dpicstop{;} +\dpiclw=0.8bp +\dpiclw=0.8bp +\dpicdraw (0,0) + --(0,0.25)\dpicstop +\dpicdraw (0,0.375) circle (0.049213in)\dpicstop +\dpicdraw (0,0.5) + --(0,0.75)\dpicstop +\draw (0,0.25) node[below left=-2bp]{$ -$}; +\draw (-0.125,0.375) node[left=-2bp]{$ v_s$}; +\draw (0,0.5) node[above left=-2bp]{$ +$}; +\dpicdraw (0,0.75) + --(0.25,0.75) + --(0.270833,0.791667) + --(0.3125,0.708333) + --(0.354167,0.791667) + --(0.395833,0.708333) + --(0.4375,0.791667) + --(0.479167,0.708333) + --(0.5,0.75) + --(0.75,0.75)\dpicstop +\draw (0.375,0.708333) node[below=-2bp]{$ R$}; +\dpicdraw[fill=black](0.75,0.75) circle (0.007874in)\dpicstop +\dpicdraw (0.75,0.75) + --(0.75,0.4)\dpicstop +\dpicdraw (0.666667,0.4) + --(0.833333,0.4)\dpicstop +\dpicdraw (0.666667,0.35) + --(0.833333,0.35)\dpicstop +\dpicdraw (0.75,0.35) + --(0.75,0)\dpicstop +\draw (0.75,0.4) node[above left=-2bp]{$ +$}; +\draw (0.666667,0.375) node[left=-2bp]{$ v$}; +\draw (0.75,0.35) node[below left=-2bp]{$ -$}; +\draw (0.833333,0.375) node[right=-2bp]{$ C$}; +\dpicdraw[fill=black](0.75,0) circle (0.007874in)\dpicstop +\dpicdraw (0.75,0.75) + --(1.25,0.75)\dpicstop +\dpicdraw (1.25,0.75) + --(1.25,0.5)\dpicstop +\dpicdraw (1.25,0.5) + --(1.244444,0.5)\dpicstop +\dpicdraw (1.25,0.5) + ..controls (1.261165,0.5) and (1.271481,0.494044) + ..(1.277063,0.484375) + ..controls (1.282646,0.474706) and (1.282646,0.462794) + ..(1.277063,0.453125) + ..controls (1.271481,0.443456) and (1.261165,0.4375) + ..(1.25,0.4375)\dpicstop +\dpicdraw (1.25,0.4375) + --(1.244444,0.4375)\dpicstop +\dpicdraw (1.25,0.4375) + ..controls (1.261165,0.4375) and (1.271481,0.431544) + ..(1.277063,0.421875) + ..controls (1.282646,0.412206) and (1.282646,0.400294) + ..(1.277063,0.390625) + ..controls (1.271481,0.380956) and (1.261165,0.375) + ..(1.25,0.375)\dpicstop +\dpicdraw (1.25,0.375) + --(1.244444,0.375)\dpicstop +\dpicdraw (1.25,0.375) + ..controls (1.261165,0.375) and (1.271481,0.369044) + ..(1.277063,0.359375) + ..controls (1.282646,0.349706) and (1.282646,0.337794) + ..(1.277063,0.328125) + ..controls (1.271481,0.318456) and (1.261165,0.3125) + ..(1.25,0.3125)\dpicstop +\dpicdraw (1.25,0.3125) + --(1.244444,0.3125)\dpicstop +\dpicdraw (1.25,0.3125) + ..controls (1.261165,0.3125) and (1.271481,0.306544) + ..(1.277063,0.296875) + ..controls (1.282646,0.287206) and (1.282646,0.275294) + ..(1.277063,0.265625) + ..controls (1.271481,0.255956) and (1.261165,0.25) + ..(1.25,0.25)\dpicstop +\dpicdraw (1.25,0.25) + --(1.244444,0.25)\dpicstop +\dpicdraw (1.25,0.25) + --(1.25,0)\dpicstop +\draw (1.244444,0.375) node[left=-2bp]{$ L$}; +\filldraw[line width=0bp](1.225,0.65) + --(1.25,0.55) + --(1.275,0.65) --cycle\dpicstop +\dpicdraw (1.25,0.572906) + --(1.25,0.65)\dpicstop +\draw (1.25,0.611453) node[right=-2bp]{$ i$}; +\dpicdraw (1.25,0) + --(0,0)\dpicstop +\end{tikzpicture}% diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quick.xsvg b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quick.xsvg new file mode 100644 index 00000000000..b07cccbda8f --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quick.xsvg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quickDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quickDPV.m4 new file mode 100644 index 00000000000..65a181f214a --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quickDPV.m4 @@ -0,0 +1,21 @@ +.PS # Pic input begins with .PS +# quickDPV.m4 +cct_init # Set defaults + +elen = 0.75 # Variables are allowed; default units are inches +move right 0.4 +Origin: Here # Position names are capitalized + svgLink(SourcesDPV.svg,source(up_ elen)) + llabel(-,svg_it(v`'svg_sub(s)),+) + svgLink(ResistorsDPV.svg,resistor(right_ elen)); rlabel(,svg_it(R),) + dot + { # Save current position and direction + capacitor(down_ to (Here,Origin)) #(Here,Origin) = (Here.x,Origin.y) + rlabel(+,svg_it(v),-); llabel(,svg_it(C)) + dot + } # Restore position and direction + line right_ elen*2/3 + {move right 0.2} + inductor(down_ Here.y-Origin.y); rlabel(,svg_it(L),); b_current("svg_it(i)") + line to Origin +.PE # Pic input ends diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quickDPV.svg b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quickDPV.svg new file mode 100644 index 00000000000..c648e2d9988 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/quickDPV.svg @@ -0,0 +1,104 @@ + + + + + + + + + + + + +- +vs ++ + + + + +R + + + + + ++ +v +- +C + + + + + + + + + + + + + +L + + +i + + diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/randomDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/randomDPV.m4 new file mode 100644 index 00000000000..314f6c9e513 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/randomDPV.m4 @@ -0,0 +1,100 @@ +.PS +# randomDPV.m4 +gen_init(svg_font(sans-serif,9bp__)) +NeedDpicTools + +################################################################ +# hscale(right length,nlabels, +# minlabel,maxlabel,[T][N]) +# arg5=T: top axis, N: nolabels + define(`hscale',`[ define(`hs_nl',`ifelse(`$2',,5,`$2')') + A: line `$1' ; Start: A.start; End: A.end + td = 1/(hs_nl-1)*A.len/5 + define(`hs_ud',`ifinstr(`$5',T,down,up)') +# Major tics + for i=1 to hs_nl-2 do { line hs_ud graphsize/20 thick 0.4 \ + from i/(hs_nl-1) between A.start and A.end } +# Minor tics + for i=0 to hs_nl-2 do { Ts: i/(hs_nl-1) between A.start and A.end + for j=1 to 4 do { line thick 0.4 hs_ud graphsize/20/2 from Ts+(j*td,0) } } +# Labels + ifinstr(`$5',N,,`for_(0,eval(hs_nl-1),1, + `Ts: m4x/(hs_nl-1) between A.start and A.end + s_box("%g",`$3'+m4x/(hs_nl-1)*(`$4'-(`$3'))) \ + at Ts ifelse(`$5',T,above,below)') ') + ]') +# vscale(up length,nlabels, +# minlabel,maxlabel,[R][N] ) +# arg5=R: right axis, N: nolabels + define(`vscale',`[ define(`vs_nl',`ifelse(`$2',,5,`$2')') + A: line `$1' ; Start: A.start; End: A.end + td = 1/(vs_nl-1)*A.len/5 + define(`vs_lr',`ifinstr(`$5',R,left,right)') +# Major tics + for i=1 to vs_nl-2 do { line vs_lr graphsize/20 thick 0.4 \ + from i/(vs_nl-1) between A.start and A.end } +# Minor tics + for i=0 to vs_nl-2 do { Ts: i/(vs_nl-1) between A.start and A.end + for j=1 to 4 do { line thick 0.4 vs_lr graphsize/20/2 from Ts+(0,j*td) } } +# Labels + ifinstr(`$5',N,,`for_(0,eval(vs_nl-1),1, + `Ts: m4x/(vs_nl-1) between A.start and A.end + s_box("%g",`$3'+m4x/(vs_nl-1)*(`$4'-(`$3'))) \ + at Ts ifelse(`$5',R,ljust,rjust)')') + ]') +# f_gauss(x,mean,stddev) + define f_gauss`{ std_gauss(($1-($2))/($3))/($3) }' + define std_gauss`{ expe(-($1)^2/2)/sqrt(twopi_) }' +################################################################ + +[ + n = 2000 # number of samples + stddev = 0.25 + graphsize = 2 + + B: box wid graphsize ht graphsize ; { move left 0.4 from B.w } +# Gemerate n Gaussian random numbers + randn(z,n,0,stddev) + m = 0 + for i=1 to n-1 by 2 do { m +=1; x[m] = z[i]; y[m] = z[i+1] + dot(at B+(x[m],y[m])) + } + + hscale(right B.wid,5,-1,1) with .Start at B.sw + hscale(right B.wid,5,-1,1,TN) with .Start at B.nw + vscale(up B.ht,5,-1,1) with .Start at B.sw + vscale(up B.ht,5,-1,1,RN) with .Start at B.se + + N: box invis wid B.wid ht B.ht with .sw at B.nw+(0,graphsize/10) + nb = 20 + binmax = n/5*0.5 + dx = N.wid/nb + histbins(x,m,-1,1,nb,hbin) + for i=0 to nb-1 do { line up hbin[i]/binmax * N.ht \ + from N.sw+((0.5+i)*dx,0) thick dx/(1bp__) outlined "gray" } + box wid N.wid ht N.ht at N +# vscale(up N.ht,5,0,1) with .Start at N.sw + + E: box invis wid B.wid ht B.ht with .sw at B.se+(graphsize/10,0) + nb = 20 + binmax = n/5*0.5 + dy = E.ht/nb + histbins(y,m,-1,1,nb,vbin) + for i=0 to nb-1 do { line right vbin[i]/binmax * E.wid \ + from E.sw+(0,(0.5+i)*dy) thick dy/(1bp__) outlined "gray" } + box wid E.wid ht E.ht at E +# hscale(right E.wid,5,0,1) with .Start at E.sw + +ng = 16 +for i=0 to ng do { x = i/ng*N.wid + U: x,(f_gauss(x,N.wid/2,stddev)*m*dx)/binmax*N.ht + X[i]: N.sw+U + Y[i]: E.nw+(U.y,-U.x) } + fitcurve(X,ng) + fitcurve(Y,ng) + +] +#showbox_ + +command "" +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/recycleDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/recycleDPV.m4 new file mode 100644 index 00000000000..135f31414e3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/recycleDPV.m4 @@ -0,0 +1,128 @@ +.PS +# recycle.m4 +gen_init +NeedDpicTools +[ +# Gradient fill and clipping are simply +# done with PStricks or Tikz but the other +# postprocessors don't all have this +# facility so the following calculates +# shading boundaries and lines. + +define ShadePoint { testexpr(i, $1 + arc cw rad circlerad from B.e to B.w with .c at B.c + circle colored "black" with .c at 3/4 + circle rad circlerad*2 with .c at A.c + circle rad circlerad/3 fill_(0) at 0.5 + circle rad circlerad/3 fill_(1) at 0.5 +',` +box wid 1 ht 0.75 "Yinyang.m4" "requires" "dpic" +') +] with .w at last [].e+(0.2,0) +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/relaycoilDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/relaycoilDPV.m4 new file mode 100644 index 00000000000..fc2bc2738f7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/relaycoilDPV.m4 @@ -0,0 +1,47 @@ +.PS +# relaycoil.m4 +cct_init + + spc = dimen_/3 +{ relaycoil; S: "svg_tt(`relaycoil')" at last [].s+(0,-20bp__) + { "svg_it(V1)" wid 15bp__ at last [].V1 rjust + "svg_it(V2)" at last [].V2 ljust } + K: relaycoil(NX) with .nw at last [].ne+(spc*4,0); "svg_tt((NX))" \ + at (last [],S) + { thinlines_ + spline <- from K.A1 left 7bp__ then up 4bp__ left 4bp__ + "svg_it(A1)" rjust + arrow <- from K.A2 left 10bp__; "svg_it(A2)" rjust + spline <- from K.A3 left 7bp__ then down 4bp__ left 4bp__ + "svg_it(A3)" rjust + spline <- from K.B1 right 7bp__ then up 4bp__ right 4bp__ + "svg_it(B1)" ljust + arrow <- from K.B2 right 10bp__; "svg_it(B2)" ljust + spline <- from K.B3 right 7bp__ then down 4bp__ right 4bp__ + "svg_it(B3)" ljust + thicklines_ + } + relaycoil(AXSR) with .nw at last [].ne+(spc*5,0); "svg_tt((AXSR))" \ + at (last [],S) + { "svg_it(V1)" at last [].V1 rjust; "svg_it(V2)" at last [].V2 rjust } + relaycoil(BXSR) with .nw at last [].ne+(spc*2,0); "svg_tt((BXSR))" \ + at (last [],S) + { "svg_it(V1)" at last [].V1 ljust; "svg_it(V2)" at last [].V2 ljust } + relaycoil(SR) with .nw at last [].ne+(spc*4,0); "svg_tt((SR))" at (last [],S) + relaycoil(SO) with .nw at last [].ne+(spc,0); "svg_tt((SO))" at (last [],S) + relaycoil(SOR) with .nw at last [].ne+(spc,0); "svg_tt((SOR))" at (last [],S) + } +{ + move down_ 3/4; right_ + relaycoil(HS); S: "svg_tt((HS))" at last [].s+(0,-12bp__) + relaycoil(NAC) with .nw at last [].ne+(spc,0); "svg_tt((NAC))" at (last [],S) + relaycoil(AC) with .nw at last [].ne+(spc,0); "svg_tt((AC))" at (last [],S) + relaycoil(ML) with .nw at last [].ne+(spc,0); "svg_tt((ML))" at (last [],S) + relaycoil(PO) with .nw at last [].ne+(spc,0); "svg_tt((PO))" at (last [],S) + relaycoil(RM) with .nw at last [].ne+(spc,0); "svg_tt((RM))" at (last [],S) + relaycoil(RH) with .nw at last [].ne+(spc,0); "svg_tt((RH))" at (last [],S) + relaycoil(TH) with .nw at last [].ne+(spc,0); "svg_tt((TH))" at (last [],S) + relaycoil(EL) with .nw at last [].ne+(spc,0); "svg_tt((EL))" at (last [],S) + } + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/roseDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/roseDPV.m4 new file mode 100644 index 00000000000..76a26552707 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/roseDPV.m4 @@ -0,0 +1,167 @@ +.PS +# rose.m4 +gen_init +ifelse( +ifpstricks(T)`'ifmpost(T)`'ifpostscript(T)`'ifpdf(T)`'ifpgf(T)`'ifsvg(T),, +`This diagram is for PSTricks, postscript, PDF, MetaPost, or svg', +` + +scale = 1.25 +Rose: [ +define(`gold_',`1,0.84,0') + +define(`rose',`point_(`$2'); CC: (vec_(`$1',0)); rrad = `$3' + move to CC + tmp = rrad-stripwid + {circle shaded rgbstring(gold_) rad rrad-sthick at CC} + {circle shaded rgbstring(gold_) rad tmp-sthick at CC} + {line to rvec_(rrad,0) chop tmp chop 0 } + {line to rvec_(-rrad,0) chop tmp chop 0 } + {line to rvec_(0,rrad) chop tmp chop 0 } + {line to rvec_(0,-rrad) chop tmp chop 0 } + {line from rvec_(-tmp/sqrt(2),-tmp/sqrt(2)) to rvec_(tmp/sqrt(2),tmp/sqrt(2))} + {line from rvec_(-tmp/sqrt(2),tmp/sqrt(2)) to rvec_(tmp/sqrt(2),-tmp/sqrt(2))} + {circle shaded rgbstring(gold_) rad tmp-stripwid-sthick at CC} + tmp = last circle.rad/sqrt(2) + line thick stripthick from rvec_(-tmp,0) to rvec_(0,-tmp) \ + then to rvec_(tmp,0) then to rvec_(0,tmp) then to rvec_(-tmp,0) \ + shaded rgbstring(gold_) + ') + +define(`spt_',`/72.27') + +[ lsk = 1.2 + sector = 360*dtor_/16 + exterior = 2.49 + outer_circle = exterior-0.55 + inner_circle = 1.1 + spoke_tail = 0.41 + spokethick = 0.09/(1spt_) # points + stripwid = 0.05 + stripthick = 1.6/1.2 + midroserad = inner_circle*sin(sector/2)-stripwid/2 + outerroserad = outer_circle*sin(sector/4)-stripwid/2 + del = 0.05 + +C: (0,0) + circle rad exterior fill_(0) at C + circle shaded rgbstring(gold_) rad outer_circle at C + circle rad spoke_tail fill_(0) at C + linethick = stripthick + sthick = linethick/2 spt_ + for i=0 to 15 do { + move to rect_(spoke_tail+1.5*stripwid,sector*i); + for j=-1 to 1 by 2 do { + {point_(sector*(i+j*0.5)) + line to rvec_(outer_circle-spoke_tail,0) } + { point_(sector*i) + move to rvec_(0,j*spokethick spt_) + line to rvec_(outer_circle-spoke_tail,0) \ + chop outer_circle-inner_circle chop 0 + } + } + crad = 0.25 +1.5*stripwid + cthick = 1.5*stripwid/(1spt_) + X: rect_(inner_circle+midroserad,sector*i) + circle outlined rgbstring(gold_) rad crad-(cthick/2 spt_) thick cthick at X + circle rad crad - sthick at X + } + for i=0 to 15 do { + X: rect_(inner_circle+midroserad,sector*i) + circle fill_(0) rad crad-1.5*stripwid-sthick at X + + for j = -1 to 1 by 2 do { move to X+vec_(0.20,j*0.14) + point_(sector*(i+j*0.25)) + line to rvec_(1.5*stripwid,0) } + + circle shaded rgbstring(gold_) rad midroserad*2/3-sthick at X + circle rad midroserad*2/3-stripwid-sthick at X + line from X to -(midroserad*2/3/(inner_circle+midroserad)) + } + + crad = spoke_tail+7*stripwid + cthick = 2*stripwid/(1spt_) + circle outlined rgbstring(gold_) rad crad-cthick/2 spt_ thick cthick at C + circle rad spoke_tail+1.5*stripwid-sthick at C + for i=5 to 7 do { circle rad spoke_tail+i*stripwid-sthick at C } + # Spokes and roses + for i=0 to 15 do { + rose(inner_circle,sector*i,midroserad) + line thick spokethick/lsk from C to rect_(outer_circle,sector*(i-0.5)) + line thick spokethick/lsk from C to rect_(outer_circle,sector*i) \ + chop inner_circle+midroserad*2 chop 0 + for j=-1 to 1 by 2 do { + X: rect_(outer_circle+outerroserad-linethick spt_,sector*(i+j*0.25)) + linethick = 1/lsk + circle colored rgbstring(gold_) rad outerroserad*1/2-1/lsk/2 spt_ at X + linethick = stripthick + circle fill_(0) rad outerroserad*1/3-sthick at X + point_(sector*(i+j*0.25)) + line from X to X + vec_(outerroserad,0) + rose(outer_circle,sector*(i+j*0.25),outerroserad) + } + } + # Outer decorations + for i=0 to 31 do { + move to rect_(exterior-0.25,sector*i/2); point_(sector*i/2) + { line thick stripthick from rvec_(del,3.5*del) to rvec_(-del,0) \ + then to rvec_(del,-3.5*del) then to rvec_(del,3.5*del) \ + shaded rgbstring(gold_) } + circle rad stripwid-sthick at Here + } + smrad = 0.08 + for i=0 to 7 do { + point_(sector*2*i) + move to C + vec_(midroserad+smrad/4,0) + { circle shaded rgbstring(gold_) rad smrad-sthick at Here} + { circle shaded rgbstring(gold_) rad smrad/2-sthick at Here} + line from rvec_(smrad/2,0) to rvec_(smrad,0) + } + + tmp = midroserad-stripwid + circle shaded rgbstring(gold_) rad midroserad-sthick at C + circle shaded rgbstring(gold_) rad tmp-sthick at C + CQ: circle invis rad tmp-linethick*4/2 spt_ at C + line from CQ.e to CQ.n to CQ.w to CQ.s to CQ.e to CQ.n + CQ: 0.5 + tmp = (distance(CQ,C) - linethick*3/2 spt_)*sqrt(2) + box wid tmp ht tmp at C + ] with .sw at 1,1 + +] # Rose + +Halftone: [ +#.PS +# SpiralHalftoneDPV.m4 +# https://tex.stackexchange.com/questions/584455/how-to-draw-this-spiral-made-of-circles-in-latex +# gen_init + + r = 133/255; g = 196/255; b = 100/255 + skale = 2/3*scale + skale = 2.49/4.25 + + holerad = 1*skale + outerrad = 4.25*skale + { circle thick 0.8 rad outerrad+2bp__ at Here outlined rgbstring(r,g,b) } + + define grcirc {circle diam $1 colored rgbstring(r,g,b)} + + npts = 200 + outercdiam = (outerrad/npts)*twopi_ + angoffset = -5*pi_/4 + da = twopi_/npts*10/3 + radc = outerrad + for x = 0 to 1 do { + cdiam = outercdiam*radc/outerrad + for i=0 to npts-1 do { ang = i/npts*twopi_ + grcirc(cdiam*abs(ang-pi_)/pi_) at rect_(radc,ang+angoffset) } + angoffset += da + radc -= cdiam*2/3 + if radc < holerad then { x = 1 } else { x = 0 } + } + +#.PE + ] with .sw at Rose.se+(0.2,0) + +') +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/sfgDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/sfgDPV.m4 new file mode 100644 index 00000000000..4e32981619d --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/sfgDPV.m4 @@ -0,0 +1,135 @@ +.PS +# sfgDPV.m4 +gen_init(svg_font(Times,11bp__)) +sfg_init( 1.2 ) # scale default size by 1.2 + +textht = textht*0.9 + +# Graph 1 +move right 0.15 +T:[ + Ft: sfgnode(,f(t),sfgbelow) + sfgline(,1/K) + Y1: sfgnode(,y`'svg_sub(1),sfgbelow rjust) + sfgline(,K/M) + DDY2: sfgnode(,y`'svg_sub(2),sfgbelow rjust) + {".." at DDY2 +(-3,-1)*textoffset} + sfgline(,1/s) + DY2: sfgnode(,y`'svg_sub(2) = x`'svg_sub(2),sfgbelow ljust) + {"." at DY2 +(2,-1)*textoffset} + sfgline(,1/s) + Y2: sfgnode(,y`'svg_sub(2) = x`'svg_sub(1),sfgbelow ljust) + + sf = 1 + sfgarc(from DY2 to DDY2,-B/M,below,,sf) + sfgarc(from Y2 to DDY2,-K/M,above,ccw,sf) + sfgarc(from Y2 to Y1,1,sfgabove,,sf) + ] + +# Graph 2 +B: [ + R1: sfgnode(,r`'svg_sub(1),sfgabove) + sfgline(,1) + X1: sfgnode(,x`'svg_sub(1),ljust) + R2: sfgnode(at R1+(0,-1),r`'svg_sub(2),sfgabove) + sfgline(,1) + X2: sfgnode(,x`'svg_sub(2),ljust) + sfgarc(from X1 to X2,a`'svg_sub(21),rjust,ccw) + sfgarc(from X2 to X1,a`'svg_sub(12),ljust,ccw) + + sfgself(at X1,,q`'svg_sub(11)) + sfgself(at X1,R,a`'svg_sub(11),ljust,cw,1.5) + sfgself(at X2,-90,a`'svg_sub(22),sfgbelow) + ] with .w at T.e + (linewid/2,-linewid/4) + +# Graph 3 +G3: [ + # change node spacing and increase node size + sfg_wid = 0.85; sfg_rad = 0.35/2 + for_(1,4,1,`N`'m4x: sfgnode(,m4x,,fill_(0.9)) + sfgself(at N`'m4x,-90,P`'svg_sub(m4x),,cw) + ifelse(m4x,4,,`sfgline(,G`'svg_sub(m4x),sfgbelow)') ') + sfgarc(from N2 to N1,F`'svg_sub(2),sfgabove,ccw,) + sfgarc(from N3 to N1,F`'svg_sub(3),sfgbelow,ccw,1.4) +] with .nw at T.sw + +A: [ sfg_wid = 0.75; sfg_rad = 0.15 + arrow right linewid*2/3 + P: sfgnode(,p) + sfgself(,90,a,below,cw) + arrow from P.e "b" below + Q: sfgnode(,q) + R: sfgnode(at Q+(Q-P),r) # for dpic + sfgarc(from Q to R,c,above,cw) + sfgarc(from R to Q,d,below,cw) + sfgself(at R,-90,e,above,cw) + arrow right linewid*2/3 from R.e + ] with .w at G3.e+(linewid/2,0) + +define(`svg_choose',`[ P:"svg_fsize(( ),150)" + "svg_small(`$1')" at P+(0,7bp__) + "svg_small(`$2')" at P-(0,3bp__) + ]') + +G4: [sfg_init( 2.0,0.25/2 ) # change node spacing and increase node size + s1 = 0.9 + s2 = 1.2 + N0: sfgnode(,svg_fsize(0,120),,invis) + sfgline(right_ sfg_wid,`svg_nu',below,->) + N1: sfgnode(,svg_fsize(1,120),,invis) + { sfgarc(to N0 ->,(1-p)`svg_gamma'+`svg_nu',above,ccw,s1) } + sfgline(right_ sfg_wid,`svg_nu'+`svg_lambda',below,->) + N2: sfgnode(,svg_fsize(2,120),,invis) + { sfgarc(to N1 ->,,,ccw,s1) } + { "p(1-p)svg_gamma+2`'svg_nu" at last [].M+(11bp__,0) above } + { svg_choose(2,1) at last [].M+(-19bp__,8bp__) } + { sfgarc(to N0 ->,(1-p)svg_sup(2)`svg_gamma',above,ccw,s2) } + sfgline(right_ sfg_wid,`svg_nu'+2`svg_lambda',below,->) + N3: sfgnode(,svg_fsize(3,120),,invis) + { sfgarc(to N2 ->,,,ccw,s1) } + { "p`'svg_sup(2)(1-p)svg_gamma+3`'svg_nu" at last [].M+(0bp__,0) above } + { svg_choose(3,2) at last [].M+(-33bp__,8bp__) } + { sfgarc(to N1 ->,,,ccw,s2) } + { "p(1-p)`'svg_sup(2)`'svg_gamma" at last [].M+(8bp__,0) above } + { svg_choose(3,1) at last [].M+(-16bp__,8bp__) } + { sfgarc(to N0 ->,(1-p)svg_sup(3)`svg_gamma',above,ccw,s2) } + sfgline(right_ sfg_wid*2/3,`svg_nu'+3`svg_lambda',below,->) + {"..." wid 0.3 ljust} + ] with .nw at G3.sw+(0,-0.1) + +# https://tex.stackexchange.com/questions/637455/tikz-how-to-set-exact-position-of-node +G5: [sfg_init( 1.75,0.25/2 ) # change node spacing and increase node size + Dstar: sfgnode(,* ) + D0: sfgnode(at Dstar+(2,0),svg_small(<>)svg_sub(0) ) + sfgline(, + svg_it(1-r`'svg_sub(`x-1,x')-q`'svg_sup(i)svg_sub(x-1`,'x,,,-0.8ex)),,->) + Ddots: sfgnode(,... ) + sfgline(,svg_it(1-r`'svg_sub(x-4`,'x)-q`'svg_sup(i)svg_sub(x-4`,'x,,,-0.8ex)), + ,->) + D5: sfgnode(,svg_small(<>)svg_sub(5) ) + DD: sfgnode(at D0+(0,-1.0),svg_symbol(&``#''8224;) ) + sfgself(at Dstar,L,,,,0.5) + "svg_it(1-i`'svg_sub(x)-q`'svg_sub(x)svg_sup(a,,,-0.8ex))" wid 45bp__ \ + at Dstar + (-0.3,0.25) + sfgself(at DD,D,1,above_,,0.5) + sfgself(at D5,R,,,,0.5) + "svg_it(1-q`'svg_sub(x)svg_sup(i,,,-0.8ex)-r`'svg_sub(x))" wid 47bp__ \ + at D5 + (0.3,0.25) + sfgarc(from D0 to Dstar ->,svg_it(r`'svg_sub(x`,'x)),below_,ccw) + sfgarc(from Dstar to D0 ->,svg_it(i`'svg_sub(x)),above_,ccw) + sfgarc(from Dstar to DD ->,svg_it(q`'svg_sub(x)svg_sup(a,,,-0.8ex)), + above_ ljust_,ccw) + sfgline(from D0 to DD,svg_it(q`'svg_sup(i)svg_sub(x`,'x,,,-0.8ex)),ljust,->) + sfgarc(from Ddots to Dstar,svg_it(r`'svg_sub(j`,'x)),below_,ccw,,->) + sfgarc(from Ddots to DD ->,svg_it(q`'svg_sup(i)svg_sub(x-j`,'x)), + above_ rjust_,) + sfgarc(from D5 to Dstar ->,svg_it(r`'svg_sub(x)),below_,ccw) + sfgarc(from D5 to DD ->,svg_it(q`'svg_sup(i)svg_sub(x,,,-0.8ex)), + above_ rjust_,) + ] with .nw at G4.sw+(0,-0.15) +#howbox_(,"G5") + + + move from (T.w,G4.s)-(7bp__,6bp__) to B.ne+(15bp__,6bp__) + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/shapesDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/shapesDPV.m4 new file mode 100644 index 00000000000..d7c5df27ef3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/shapesDPV.m4 @@ -0,0 +1,201 @@ +.PS +# shapesDPV.m4 +threeD_init + +divert(-1) +# shapes.m4 +# 3D structures with complex surfaces and hidden lines are the domain of more +# sophisticated software packages, but basic shapes can be drawn with pic. + +##################################################### + + `cylinder3D(xdispl,ydispl,zdispl,diameter, + [colored "color"])' +define(`cylinder3D',`[ Start: (0,0) + xdispl = `$1'; ydispl = `$2'; zdispl = `$3' + define(`M4CL',`xdispl,ydispl,zdispl')dnl + lenc = length3D(M4CL) + diamc = ifelse(`$4',,(lenc/2),`$4') ; radc = diamc/2 + cs = dot3D(View3D,M4CL)/lenc + End: Project(M4CL) + az = atan2(ydispl,xdispl) + ae = atan2(zdispl,sqrt(xdispl^2+ydispl^2)) + CL: line invis from Start to End; C: CL.c + nls = int(twopi_*radc/lthick) + define(`M4PP',`rot3Dz(az,rot3Dy(-ae,rot3Dx(-i/nls*twopi_,0,0,radc)))')dnl + for i=0 to nls-1 do { if dot3D(View3D,M4PP) > 0 then { + P: Project(M4PP) + ql = sqrta(dot3D(Light3D,M4PP)/radc) + line from P to End+P outlined rgbstring(ql,ql,ql) `$5' } } + Perp: (vperp(CL,radc)) + if cs > 0 then { T: End; B: Start } else { T: Start; B: End } + rpoint_(from Start to Perp) + css = sqrta(cs) + Top: rotellipse(diamc,diamc*cs, + thick linethick/3 shaded rgbstring(css,css,css)) with .c at T + W: line thick linethick/3 from T+Perp to B+Perp + Bot: ellipsearc(diamc,diamc*cs,pi_,twopi_,rp_ang,cw, + thick linethick/3) with .C at B + E: line thick linethick/3 from B-Perp to T-Perp + rpoint_(from Start to End) +`$6']') + + `cone3D(xdispl,ydispl,zdispl,diameter, + [colored "color"])' +define(`cone3D',`[ Start: (0,0) + xdispl = `$1'; ydispl = `$2'; zdispl = `$3' + define(`M4CL',`xdispl,ydispl,zdispl')dnl + lenc = length3D(M4CL) + diamc = ifelse(`$4',,(lenc/2),`$4') ; radc = diamc/2 + End: Project(M4CL) + cs = dot3D(View3D,M4CL)/lenc + az = atan2(ydispl,xdispl) + ae = atan2(zdispl,sqrt(xdispl^2+ydispl^2)) + CL: line invis from Start to End; C: CL.c + nls = int(twopi_*radc/lthick) + lt = sqrt(radc^2+lenc^2) + b = 0 + for i=0 to nls-1 do { if dot3D(View3D, + rot3Dz(az,rot3Dy(-ae,rot3Dx(-i/nls*twopi_,radc,0,lenc)))) > 0 then { + ql = sqrta(dot3D(Light3D, + rot3Dz(az,rot3Dy(-ae,rot3Dx(-i/nls*twopi_,radc,0,lenc))))/lt) + P: Project(rot3Dz(az,rot3Dy(-ae,rot3Dx(-i/nls*twopi_,0,0,radc)))) + line from P to End outlined rgbstring(ql,ql,ql) `$5' + if !b then { WB: P; b = 1 } + } else { if b then { BW: P; b = 0 } } } + if vlength(CL.x,CL.y) != 0 then { Perp: (vperp(CL,radc,R)) } else { Perp: (radc,0) } + if cs >= 0 then { T: End; B: Start } else {T: Start; B: End } + rpoint_(from Start to Perp) + pout = (vlength(End.x,End.y) > abs(radc*cs)) + if cs < 0 then { css = sqrta(cs) + if pout then { line thick linethick/3 from BW to End then to WB } + Bot: rotellipse(diamc,diamc*cs,thick linethick/3 \ + ifelse(`$5',,`shaded rgbstring(css,css,css)',`$5')) with .c at T } \ + else { if pout then { + line thick linethick/3 from BW to End then to WB + a = acos((WB.x*Perp.x+WB.y*Perp.y)/radc^2) + Bot: ellipsearc(diamc,diamc*cs,a,pi_-a,rp_ang,cw, thick linethick/3) \ + with .C at B } \ + else { + Bot: rotellipse(diamc,diamc*cs,thick linethick/3) with .c at B } } + rpoint_(from Start to End) +`$6']') + `Arrow3D(xdispl,ydispl,zdispl, + diam,arrowwid,arrowht)' +define(`Arrow3D',`[ diam_Ar = ifelse(`$4',,linewid/10,`$4') + wid_Ar = ifelse(`$5',,diam_Ar*2,`$5') + ht_Ar = ifelse(`$6',,wid_Ar*2,`$6') + x_Ar = ifelse(`$1',,1,`$1') + y_Ar = ifelse(`$2',,1,`$2') + z_Ar = ifelse(`$3',,1,`$3') + define(`M4Arrow3D',`x_Ar,y_Ar,z_Ar')dnl + len_Ar = length3D(M4Arrow3D) + len_Shaft = len_Ar - ht_Ar + cs_Ar = dot3D(View3D,M4Arrow3D) + if cs_Ar >= 0 then { + Shaft: cylinder3D(sprod3D(len_Shaft/len_Ar,M4Arrow3D),diam_Ar) + Head: cone3D(sprod3D(ht_Ar/len_Ar,M4Arrow3D),wid_Ar) \ + with .Start at Shaft.End } \ + else { + Head: cone3D(sprod3D(ht_Ar/len_Ar,M4Arrow3D),wid_Ar) + Shaft: cylinder3D(sprod3D(len_Shaft/len_Ar,M4Arrow3D),diam_Ar) \ + with .End at Head.Start } + Start: Shaft.Start; End: Head.End + `$7']') + +define(`f2xyz3D',``$1'x = `$2' +`$1'y = `$3' +`$1'z = `$4' ') + + `prism3D(xdispl,ydispl,zdispl,wid,ht,rotation (rad))' +define(`prism3D',`[ Start: (0,0) + xdispl = ifelse(`$1',,linewid,`$1') + ydispl = ifelse(`$2',,linewid,`$2') + zdispl = ifelse(`$3',,linewid,`$3') + widp = ifelse(`$4',,(linewid/5),`$4') + htp = ifelse(`$5',,(linewid/10),`$5') + rotp = ifelse(`$6',,0,`$6') + End: Project(xdispl,ydispl,zdispl); C: 0.5 between Start and End + lenp = length3D(xdispl,ydispl,zdispl) + az = atan2(ydispl,xdispl); ae = atan2(zdispl,sqrt(xdispl^2+ydispl^2)) + wp2 = widp/2; hp2 = htp/2 +# corners + f2xyz3D(nwB,rot3Dz(az,rot3Dy(-ae,rot3Dx(rotp, 0,-wp2, hp2)))) + f2xyz3D(swB,rot3Dz(az,rot3Dy(-ae,rot3Dx(rotp, 0,-wp2,-hp2)))) + f2xyz3D(seB,rot3Dz(az,rot3Dy(-ae,rot3Dx(rotp, 0, wp2,-hp2)))) + f2xyz3D(neB,rot3Dz(az,rot3Dy(-ae,rot3Dx(rotp, 0, wp2, hp2)))) + f2xyz3D(nwF,rot3Dz(az,rot3Dy(-ae,rot3Dx(rotp,lenp,-wp2, hp2)))) + f2xyz3D(swF,rot3Dz(az,rot3Dy(-ae,rot3Dx(rotp,lenp,-wp2,-hp2)))) + f2xyz3D(seF,rot3Dz(az,rot3Dy(-ae,rot3Dx(rotp,lenp, wp2,-hp2)))) + f2xyz3D(neF,rot3Dz(az,rot3Dy(-ae,rot3Dx(rotp,lenp, wp2, hp2)))) +# facets + M4Facet3D(neF,nwF,swF,seF) + M4Facet3D(neB,seB,swB,nwB) + M4Facet3D(neF,seF,seB,neB) + M4Facet3D(neF,neB,nwB,nwF) + M4Facet3D(seF,swF,swB,seB) + M4Facet3D(nwF,nwB,swB,swF) +`$7']') + +define(`M4Facet3D',` +define(`PFacet',`cross3D(diff3D(`$2'x,`$2'y,`$2'z,`$1'x,`$1'y,`$1'z), + diff3D(`$3'x,`$3'y,`$3'z,`$2'x,`$2'y,`$2'z))') + if dot3D(View3D,PFacet) > 0 then { + fFacet = sqrta(dot3D(Light3D,PFacet)/length3D(PFacet)) + P1: Project(`$1'x,`$1'y,`$1'z) + P2: Project(`$2'x,`$2'y,`$2'z) + P3: Project(`$3'x,`$3'y,`$3'z) + P4: Project(`$4'x,`$4'y,`$4'z) + line fill_(fFacet) invis from P1 to P2 then to P3 then to P4 then to P1 + line from P1 to P2; round + line to P3; round + line to P4; round + line to P1; round } ') + +##################################################### +divert(0)dnl + +azimuth = 60 +elev = 10 +setview(azimuth,elev) +[ Orig: (0,0) + setlight + Arrow3D(1,0,0) with .Start at Orig; move left 12bp__ from last [].End "x" + Arrow3D(0,1,0) with .Start at Orig; "y" ljust at last [].End + Arrow3D(0,0,1.2) with .Start at Orig; "z" above at last [].End + setlight(0,0,0) + cylinder3D(1,1,1,0.6) with .Start at Project(0.5,0.5,0.5) +] + Ball: shadedball(0.5) with .nw at last [].ne+(-0.25,0) +[ + setview(45,10) + setlight(40,70) + n = 9; len = 1.5; thmin = m4azim+pi_/2*0.8; thmax = thmin+twopi_ + for i=0 to n do { + r = i/n*(thmax-thmin)+thmin + prism3D(rot3Dz(r,rot3Dy(pi_/4,len,0,0)),0.2,0.1) \ + with .Start at Project(rot3Dz(r,rot3Dy(pi_/4,len*0.5,0,0))) } +] with .nw at last [].ne +[ + setlight(0,0) + movewid = 0.1 + len = 1.5; ni = 5; nj = 5 + for i=1 to ni-1 do { + {for j = 0 to nj by 2 do { + setview(0,i/ni*180-90,j/nj*90) + cylinder3D(0,0,len*(j+1)/(nj+1),0.4) + if j < nj then {move right} } } + if i < ni then {move down 0.85; right_} } #else { move down movewid } } +] with .nw at 1st [].sw+(0,-0.1) +[ + setlight(0,0) + len = 1.5; ni = 4; nj = 6 + for i=1 to ni do { + {for j = 0 to nj by 2 do { + setview(0,i/ni*180-90,j/nj*90) + cone3D(0,0,len*(j+1)/(nj+1),0.4) + if i==2 && j==(nj-2) then { move up_ 0.2 right_ -0.4 } \ + else { if j < nj then {move right_ 0.1}} } } + if i < ni then {move down_ 0.75; right_} } +] with .nw at last [].ne+(0.2,0) +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/slddiagsDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/slddiagsDPV.m4 new file mode 100644 index 00000000000..3f05c84d5bb --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/slddiagsDPV.m4 @@ -0,0 +1,100 @@ +.PS +# slddiagsDPV.m4 +cct_init(svg_font(sans-serif,10bp__)) +include(libSLD.m4) + +Pic1: [ +define(`TrDeltaWye', + `sl_transformer(down_ elen_ `$1',type=S) + { Deltasymbol(at last [].M1); Ysymbol(at 2nd last [].M2,,D) } ') + + T: dot + switch(up_ elen_); {"Public supply" above} + Bus1: sl_busbar(right_ 5*dimen_,6,port=D) with .c at T + {"svg_small(20 kV)" at Bus1.Start above ljust} + S1: switch(from Bus1.P1-(0,elen_) up_ elen_) + S2: switch(from Bus1.P2-(0,elen_) up_ elen_) + TRF1: TrDeltaWye(from Bus1.P3); arrow down_ dimen_/3 + TRF2: TrDeltaWye(from Bus1.P4); arrow down_ dimen_/3 + TRF3: TrDeltaWye(from Bus1.P5); arrow down_ dimen_/3 + S3: switch(from Bus1.P6-(0,elen_) up_ elen_) + Bus2: sl_busbar(right_ 1.5*dimen_,3,port=D) with .c at Bus1.P1+(0,-dimen_*3) + {"svg_small(20 kV)" at Bus2.Start above ljust} + {"svg_small(1.25 MVA)" at Bus2.P2 below} + S4: switch(from Bus2.P2 to S1.start) + TRF4: TrDeltaWye(from Bus2.P1) + S4: switch(from Bus2.P3+(0,-elen_) to Bus2.P3) +] + +Pic2: [ +# https://tex.stackexchange.com/questions/597643/draw-a-power-system-network + B1: sl_busbar(up_ dimen_*4/3,3) + sl_transformer(right_ 2*dimen_ from last [].P2, + type=S;body=shaded "lightgray"); variable(,,,dimen_*3/2) + B2: sl_busbar(up_ dimen_*4/3,3) + { line left_ dimen_/2 from B2.P1 + C1: capacitor(down_ dimen_/2); ground(,T) } + line right_ dimen_/2 + { line to (Here,C1.start); C2: capacitor(to (Here,C1.end)); ground(,T) } + ebox(right_ 3.5*dimen_, 2.5*dimen_, dimen_/5, 0.75) + { line to (Here,C1.start); C3: capacitor(to (Here,C1.end)); ground(,T) } + line right_ dimen_/2 + B3: sl_busbar(up_ dimen_*4.5,6) + line right_ dimen_*3/4 from B3.P1; box wid dimen_*3 ht dimen_*.6 \ + shaded "Goldenrod" "Static Load" + line right_ dimen_*3/4 from B3.P2; box wid dimen_*3 ht dimen_*.6 \ + shaded rgbstring(0.99*0.8, 0.74*0.8, 0.71*0.8) "Electronic Load" + sl_disk(right_ dimen_ from B3.P3, + text="A/C";circle=shaded ```rgbstring(.2,.8,.2)''';diam=dimen_*3/4) + sl_disk(right_ dimen_ from B3.P4, + text="M";circle=shaded ```rgbstring(.21,.47,.86)''';diam=dimen_*3/4) + sl_disk(right_ dimen_ from B3.P5, + text="M";circle=shaded ```rgbstring(.2,.6,.8)''';diam=dimen_*3/4) + sl_disk(right_ dimen_ from B3.P6, + text="M";circle=shaded ```rgbstring(.2,.63,.8)''';diam=dimen_*3/4) + sl_disk(left_ dimen_ from 1/2 between B3.P1 and B3.P2, + text="svg_small(DER_A)";\ + circle=shaded ```rgbstring(0.78,0.36,0.3)''';diam=dimen_*3/4) +] with .nw at last [].sw + (100bp__,120bp__) + +Pic3: [ +define(`shadedb',`shaded "CornflowerBlue"') +Loopover_(`LR', # loop to take advantage of symmetry + `define(`opposite',`ifelse(LR,left,right,left)')dnl + ifelse(LR,left,L,R)`'side: [ + sl_generator(LR dimen_/2,type=B;name=G1;circle=shadedb,box=shadedb) + T1: sl_transformer(opposite dimen_*3/2) + Bus1: sl_busbar(up_ dimen_*3/2,3,) with .P2 at Here + Br1: sl_breaker(from Bus1.P3 opposite elen_,box=shadedb) + line opposite dimen_ + Br2: sl_breaker(from Bus1.P1 opposite elen_,box=shadedb) + Br3: sl_breaker(down_ dimen_,box=shadedb) + Bus2: sl_busbar(opposite dimen_,3) with .P2 at Here + T2: sl_transformer(down_ dimen_ from Bus2.P2,name=X2) + sl_disk(down_ dimen_/2,type=B;text="SM";name=SM1;circle=shadedb,box=shadedb) + ground(at last circle.s,dimen_/2) + ]', + left,right) + "Bus 1" at Lside.Bus1.top above + "Bus 2" at Rside.Bus1.top above + "Bus 3" at Lside.Bus2.w above + "Bus 4" at Rside.Bus2.e above + "TL`'svg_sub(1) 50 km 69 kV" at 1/2 between Lside.Br1 and Rside.Br1 above + "TL`'svg_sub(2) 30 km" ljust "69 kV" ljust at Lside.Br2.end + (-18bp__,12bp__) + "TL`'svg_sub(2) 20 km" ljust "69 kV" ljust at Rside.Br2.end + (-18bp__,12bp__) + "G`'svg_sub(1) 50 MVA" ljust "13.8 kV" ljust at Lside.G1.w+(0,-28bp__) + "G`'svg_sub(2) 30 MVA" ljust "13.8 kV" ljust at Rside.G1.w+(0,-28bp__) + "T`'svg_sub(1) 50 MVA" ljust "13.8/69 kV svg_Delta/Y" ljust \ + at Lside.T1.start+(0,-37bp__) + "T`'svg_sub(2) 30 MVA" ljust "69/13.8 kV Y/svg_Delta" ljust \ + at Rside.T1.end+(5bp__,-33bp__) + "T`'svg_sub(3) 50 MVA" rjust "13.8/69 kV Y/svg_Delta" rjust \ + at Lside.X2.w+(-4bp__,0) + "T`'svg_sub(4) 20 MVA" ljust "69/6.9 kV Y/svg_Delta" ljust \ + at Rside.X2.e+(4bp__,0) + "SM`'svg_sub(1) 30 MVA" rjust "13.8 kV" rjust at Lside.SM1.w+(-4bp__,0) + "SM`'svg_sub(2) 20 MVA" ljust "6.9 kV" ljust at Rside.SM1.e+( 4bp__,0) +] with .nw at (Pic1.w,last [].sw + (0,-15bp__)) + +command "" +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/thyristorDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/thyristorDPV.m4 new file mode 100644 index 00000000000..450112c0427 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/thyristorDPV.m4 @@ -0,0 +1,119 @@ +.PS +# `thyristorDPV.m4' +cct_init(svg_font(sans-serif,11bp__,1.5bp__)) + +define labels { { + "$1" $2 at last[].$1 + "$3" $4 at last[].$3 + "$5" $6 at last[].$5 + "$7" $9 at (last[].s+(0,$8)) } } + +down_ +Row1: [ + {thyristor + labels(A,above,K,below,G,ljust,`thyristor',-0.25,wid 0.75) } + + move right 0.50 ; down_ + {thyristor(,B) + labels(T1,above,T2,below,G,below ljust,`...(,B)',-0.35) } + + move right 0.50 ; down_ + {thyristor(down_ dimen_*0.8,BR) + labels(T1,above,T2,below,G,below rjust,`...(,BR)',-0.22) } + + move right 0.60 ; down_ + {thyristor(,BE) + labels(T1,above,T2,below,G,below ljust,`...(,BE)',-0.35) } + + move right 0.50 ; down_ + {thyristor(,A) at (Here,last []) + labels(A,above,K,below,G,ljust,`...(,A)',-0.35) } + + move right 0.50 ; down_ + {thyristor(,F) at (Here,last []) + labels(A,above,K,below,G,ljust,`...(,F)',-0.22) } + + move right 0.65 ; down_ + {thyristor(,BRE) + labels(T1,above,T2,below,G,below rjust,`...(,BRE)',-0.35) } + + move right 0.75 ; down_ + {thyristor(,UARE) at (Here,last []) + labels(A,above,K,below,G,rjust below,`...(,UARE)',-0.22) } + + move right 0.50 ; down_ + {thyristor(,AV,G: G+(0.1,0.1)) at (Here,last []) + thinlines_ + spline -> from last[].G left 0.05 then left 0.05 down 0.1 + thicklines_ + labels(A,above,K,below,G,ljust,`...(,AV)',-0.35) } + + move right 0.50 ; down_ + {thyristor(,IEC) + labels(A,above ljust,K,below ljust,G,ljust,`...(,IEC)',-0.22) } + ] +Row2: [ + down_ + {thyristor(,UAH) + labels(A,rjust above,K,rjust below,G,ljust,`...(,UAH)',-0.35,wid 0.65) } + + move right 0.55 ; down_ + {thyristor(,N) at (Here,last []) + labels(A,above,K,below,Ga,rjust,`...(,N)',-0.22) } + + move right 0.55 ; down_ + {thyristor(,UANRE) at (Here,last []) + labels(A,above,K,below,Ga,ljust above,`...(,UANRE)',-0.35) } + move right 0.55 ; down_ + {thyristor(,SCR) at (Here,last []) + labels(A,above,K,below rjust,G,below ljust,`...(,SCR)',-0.22) } + + move right 0.55 ; down_ + {thyristor(,SCRE) at (Here,last []) + labels(A,above,K,below,G,ljust below,`...(SCRE)',-0.35) } + + move right 0.65 ; down_ + {thyristor(,SCRRE) at (Here,last []) + labels(A,above,K,below,G,rjust below,`...(SCRRE)',-0.22) } + + move right 0.55 ; down_ + {thyristor(,SCS) at (Here,last []) + labels(A,above,K,below,G,ljust,`...(SCS)',-0.35) } + { "Ga" rjust above at last[].Ga } + + move right 0.55 ; down_ + {thyristor(,SCSE) at (Here,last []) + labels(A,above,K,below,G,ljust below,`...(SCSE)',-0.22) } + { "Ga" rjust above at last[].Ga } + + move right 0.65 ; down_ + {thyristor(,SUSE) at (Here,last []) + labels(A,above,K,below,G,rjust,`...(SUSE)',-0.35) } + + move right 0.65 ; down_ + {thyristor(,SBSE) at (Here,last []) + labels(T1,above,T2,below,G,rjust,`...(SBSE)',-0.22,wid 50bp__) } + + ] with .nw at Row1.sw + (0,-0.20) + +Twoterms: [ right_ + { scr(,,Q) ; `"scr(,,Q)"' at last [].e ljust} + { "Q.G" at Q.G above } + + move down 0.4; right_ + { scs(,,Q2) ; `"scs(,,Q2)"' at last [].e ljust } + { "Q2.G" at Q2.G above } + { "Q2.Ga" at Q2.Ga below } + ] with .nw at Row2.sw+(0,-0.2) + + [ right_ + { sus(,RE,Q3) ; `"sus(,RE,Q3)"' at last [].e ljust} + { "Q3.G" at Q3.G above } + + move right_ 1.2 from last line.end + { sbs(,E,Q4) ; `"sbs(,E,Q4)"' at last [].e ljust} + { "Q4.G" at Q4.G below } + ] with .w at last [].e+(1.0,0) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/tstDPV.htmx b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/tstDPV.htmx new file mode 100644 index 00000000000..64d1753399d --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/tstDPV.htmx @@ -0,0 +1,280 @@ + + + + + + +SVG Examples: Circuit_macros Version XXX + + + + + + + + + + + +
+ +

SVG Circuit_macros examples, Version XXX

+ +Home +> +Examples +> +SVG + +
+ +

+ This file shows diagrams in .svg format produced without the use of + LaTeX or equivalent. + +The diagrams have been adapted from the Circuit_macros +examples in order to test the svg output of dpic. Generating svg line +art is straightforward but formatting text is not because TeX, LaTeX, +and related word processors do not produce svg directly. Either +less-sophisticated text formatting must be employed for svg or an + + intermediate format +such as pdf can be +produced, followed by an additional processing step to convert to svg. +Two possibilities for the latter are + dvisvgm +and + pdf2svg. +However, many circuit and similar diagrams intended for the web do not +require sophisticated labels; the examples shown below might +be representative. +

+

+ Click on the link to view the source of each diagram. +

+
+

+There are other issues: +

    +
  • The default font face is not specified in all of these diagrams but is + inherited from the enclosing document, so the appearance of labels can + differ depending on the browser. Some of these diagrams set the font at + the beginning of the diagram source. +
  • The <svg tag may require modification + from the default used for this test. + +
  • Diagrams such as these contain text labels + that have to be treated differently from the LaTeX-compatible versions. + Apparently there is no direct way to know the bounding box of arbitrary svg + text. + + Consequently, text placement is approximate and may require + manual adjustment. + Rather than patch the original source files for svg production, edited copies + have been used. The configuration file svg.m4 read by m4 + prior to libcct.m4 contains the following macros defined for svg. + Others could be defined to exercise some of the media capabilties of svg. + They are subject to change: +
      +
    • + m4tt`'svg_font(font-face,nominal size[:dptextratio],textoffset, + dpic commands`'m4tt): + Change font face, size, textratio and dpic textoffset parameters. + Change font face and dpic m4tt`'textht, m4tt`'dptextratio, + and m4tt`'textoffset parameters. + If arg4 is blank, the font is changed and + requires m4tt`'command "</g>" to cancel the font change. +
      + Note: + Nominal height = text height in drawing units; actual height = + nominal ht x m4tt`'dptextratio. +
      + Examples:
      + m4tt`'svg_font(Times)
      + m4tt`'svg_font(Times,14bp__)
      + m4tt`'svg_font(sans-serif,14bp__:0.71)
      + m4tt`'svg_font(Times,11bp__,1bp__,"text" at A)
      + m4tt`'svg_font(font-family="Times")
      + m4tt`'svg_font(font-family="Times" font-style="italic")
      + m4tt`'svg_font(style="font-family:Times; font-style:italic") +
    • m4tt svgfontratio(font name`'m4tt); + Reasonable m4tt`'dptextratio value for common fonts, used + by m4tt`'svg_font. +
    • m4tt svg_tspan(text attributes, text`'m4tt); + e.g. m4tt`'svg_tspan(font-style="italic" font-size="75%",XYZ) +
    • m4tt svg_it(text`'m4tt): for italics +
    • m4tt svg_tt(text`'m4tt): for monospace (courier) +
    • m4tt svg_sf(text`'m4tt): sans-serif (Helvetica) +
    • m4tt svg_norm(text`'m4tt): for normal text +
    • m4tt svg_bf(text`'m4tt): for bold face +
    • m4tt svg_small(text, percent`'m4tt): + to set a smaller text size, default 66 +
    • m4tt svg_fsize(text, percent`'m4tt): + for setting larger or smaller text size, default 100 +
    • m4tt svg_sub(text, size percent, y displ, x displ`'m4tt): + subscript +
    • m4tt svg_ul(text`'m4tt): underlined text +
    • m4tt svg_ol(text`'m4tt): overlined text +
    • m4tt svg_sup(text, size percent, y displ, x displ`'m4tt): + superscript +
    • m4tt svg_hat(character`'m4tt): circumflex-accented character +
    • m4tt svg_frac(numerator[:wid], denominator[:wid]`'m4tt): + basic fraction, wid in drawing units +
    • m4tt svg_rot(degrees, "text" [at position]`'m4tt): + Rotate text degrees (default 90) ccw. + Requires m4tt`'svg_rot_init(filename`'m4tt) and the source + must be processed twice. +
    • m4tt svg_rot_init(filename`'m4tt): + filename is the basename of the output of + m4tt`'dpic -v filename.pic > filename.svg`'m4tt +
    • m4tt svg_symbol(text`'m4tt): allow quoted pound sign in text, + e.g., m4tt`'svg_symbol(10&`#'176;) produces 10° +
    • m4tt svgLink(URL, drawing object, m4tt[B]): + link to external file using + <a xlink:href=...>...</a> (default is + m4tt`'target="_blank" unless + arg 3 = B) +
    • m4tt svgLinkString as above but for strings attached to objects +
    • Greek and other symbols: + + + + + + + + + + + + + + + +
      m4tt svg_alpha changecom(,)&`#'945;changecom(`#') + m4tt svg_beta changecom(,)&`#'946;changecom(`#') + m4tt svg_Gamma changecom(,)&`#'915;changecom(`#') + m4tt svg_gamma changecom(,)&`#'947;changecom(`#') + m4tt svg_Delta changecom(,)&`#'916;changecom(`#') + m4tt svg_delta changecom(,)&`#'948;changecom(`#') + m4tt svg_epsilon changecom(,)&`#'949;changecom(`#') + m4tt svg_zeta changecom(,)&`#'950;changecom(`#') +
      m4tt svg_eta changecom(,)&`#'951;changecom(`#') + m4tt svg_Theta changecom(,)&`#'920;changecom(`#') + m4tt svg_theta changecom(,)&`#'952;changecom(`#') + m4tt svg_iota changecom(,)&`#'953;changecom(`#') + m4tt svg_kappa changecom(,)&`#'954;changecom(`#') + m4tt svg_Lambda changecom(,)&`#'923;changecom(`#') + m4tt svg_lambda changecom(,)&`#'955;changecom(`#') + m4tt svg_mu changecom(,)&`#'956;changecom(`#') +
      m4tt svg_nu changecom(,)&`#'957;changecom(`#') + m4tt svg_Xi changecom(,)&`#'926;changecom(`#') + m4tt svg_xi changecom(,)&`#'958;changecom(`#') + m4tt svg_Pi changecom(,)&`#'928;changecom(`#') + m4tt svg_pi changecom(,)&`#'960;changecom(`#') + m4tt svg_rho changecom(,)&`#'961;changecom(`#') + m4tt svg_Sigma changecom(,)&`#'931;changecom(`#') + m4tt svg_sigma changecom(,)&`#'963;changecom(`#') +
      m4tt svg_tau changecom(,)&`#'964;changecom(`#') + m4tt svg_upsilon changecom(,)&`#'965;changecom(`#') + m4tt svg_Phi changecom(,)&`#'934;changecom(`#') + m4tt svg_phi changecom(,)&`#'966;changecom(`#') + m4tt svg_chi changecom(,)&`#'967;changecom(`#') + m4tt svg_Psi changecom(,)&`#'936;changecom(`#') + m4tt svg_psi changecom(,)&`#'968;changecom(`#') + m4tt svg_Omega changecom(,)&`#'937;changecom(`#') +
      m4tt svg_omega changecom(,)&`#'969;changecom(`#') + m4tt svg_micro changecom(,)&`#'956;changecom(`#') + m4tt svg_ohm changecom(,)&`#'937;changecom(`#') + m4tt svg_lt changecom(,)&`#'60;changecom(`#') + m4tt svg_gt changecom(,)&`#'62;changecom(`#') + m4tt svg_leq changecom(,)&`#'8804;changecom(`#') + m4tt svg_geq changecom(,)&`#'8805;changecom(`#') + m4tt svg_prime changecom(,)&`#'8242;changecom(`#') +
      m4tt svg_backsl changecom(,)&`#'92;changecom(`#') + m4tt svg_pound changecom(,)&`#'35;changecom(`#') + m4tt svg_comma changecom(,)&`#'44;changecom(`#') + m4tt svg_lparen changecom(,)&`#'40;changecom(`#') + m4tt svg_rparen changecom(,)&`#'41;changecom(`#') + m4tt svg_circ changecom(,)&`#'710;changecom(`#') + m4tt svg_deg changecom(,)&`#'176;changecom(`#') + m4tt svg_grave changecom(,)&`#'96;changecom(`#') +
      + + + +
      m4tt svg_emsp |changecom(,)&`#'8195;changecom(`#')| + m4tt svg_ensp |changecom(,)&`#'8194;changecom(`#')| + m4tt svg_thinsp |changecom(,)&`#'8201;changecom(`#')| +
      + +
    +
  • Inkscape: It may be efficient to define elements by macro and to + place them using a wysiwyg graphics editor. A draft page intended + for Inkscape is included. A reasonable variety of elements is defined + but many more could be added and they should be customized for + particular applications. Adjustments may also have to be made to + obtain the proper snap-to actions. +
  • Link experiments: Click on the resistor or source of quickDPV + to go to external + files in new windows. Click on "n-port" in NportDPV to replace the diagram + and then "back" to return. +
  • Some of the assumptions used to create this draft may be + na&`#'239;ve. + Comments are welcome. +
+ +
+ +cfig(XXXXX) + +
+ + diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ujtDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ujtDPV.m4 new file mode 100644 index 00000000000..2672d38989a --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/ujtDPV.m4 @@ -0,0 +1,31 @@ +.PS +# `ujt.m4' +cct_init(svg_font(sans-serif,11bp__)) + +dwn = 1.0 +dsep = 0.15 + +define(`demo_ujt',`up_ + ujt(`$1',`$2',`$3',`$4') + "B1" ifelse(`$5',,below,ljust) at last [].B1 + "E" at 1.5 between last [].Bulk.c and last [].E + "B2" ifelse(`$5',,above,ljust) at last [].B2 + ') + +[demo_ujt(up_ dimen_,,,E,A) +`"ujt(up_ dimen_,,,E)"' wid 1.3 at last [].s+(0,-0.2) below ] + +[demo_ujt(,,P,) +`"ujt(,,P,)"' at last [].s+(0,-dsep) below] \ +with .sw at last [].se+(0.8,0) + +[demo_ujt(,R,,) +`"ujt(,R,,)"' at last [].s+(0,-dsep) below] \ +with .sw at last [].se+(0.8,0) + +[demo_ujt(,R,P,) +`"ujt(,R,P,)"' at last [].s+(0,-dsep) below] \ +with .sw at last [].se+(0.8,0) + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/windows.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/windows.m4 new file mode 100644 index 00000000000..bc4527f36e8 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/windows.m4 @@ -0,0 +1,12 @@ +divert(-1) +# windows.m4 +# This file is used if the CUSTOM=windows.m4 function is turned on in Makefile +define(`windows_') + +# To makd NeedDpicTools work, +# change the absolute Windows path to your installation directory: + +define(`NeedDpicTools',`if "dpictools" != "1" then { + copy "D:\Dwight\lib\dpictools.pic" } define(`dfitcurve__') ') + +divert(0)dnl diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/wormDPV.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/wormDPV.m4 new file mode 100644 index 00000000000..79ac53f772a --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/dpv/wormDPV.m4 @@ -0,0 +1,123 @@ +.PS +# worm.m4 + gen_init + +define(`svgcolor',`sprintf("rgb(%g,%g,%g)",`$1',`$2',`$3')') + +`define case { exec sprintf("$%g",floor($1+0.5)+1); }' + +`define hsvtorgb { + h_ = $1; s_ = $2; v_ = $3 + f_ = h_/60-floor(h_/60) + p_ = v_*(1-s_) + q_ = v_*(1-f_*s_) + t_ = v_*(1-(1-f_)*s_) + case(pmod(floor(h_/60),6)+1, + $4 = v_; $5 = t_; $6 = p_, + $4 = q_; $5 = v_; $6 = p_, + $4 = p_; $5 = v_; $6 = t_, + $4 = p_; $5 = q_; $6 = v_, + $4 = t_; $5 = p_; $6 = v_, + $4 = v_; $5 = p_; $6 = q_) + $4 = int(($4)*255+0.5) + $5 = int(($5)*255+0.5) + $6 = int(($6)*255+0.5) + }' + +Worm: [ + linethick_(0.1) + dimen = 1.25 # scale parameter; try dimen=2 for a larger picture + w = 0.15 * dimen # worm radius + nhues = 265 + S: dimen,0 + for inx = 1 to nhues +2 do { + theta = inx*360/nhues + R: dimen*cosd(3*theta), dimen*sind(2*theta) + D: R-(S.x,S.y) + t = sqrt(max(0,w^2/(D.x^2+D.y^2)-1/4)) + Ra: 0.5 + (t*D.y,-t*D.x) + Rb: 0.5 - (t*D.y,-t*D.x) + if inx <= nhues then { + hsvtorgb(theta+120,1,1,r,g,b) + rgbfill( r,g,b, + arc cw from Ra to Rb rad w with .c at S + arc ccw from Rb to Ra rad w with .c at R ) + } else { + arc cw from Ra to Rb rad w with .c at S + arc ccw from Rb to Ra rad w with .c at R } + S: R + } + ] + + "svg_fsize(R,120)" at 0.9 ljust + "svg_fsize(G,120)" at Worm.e ljust + "svg_fsize(B,120)" at 0.1 ljust + "svg_fsize(Y,120)" at 0.1 rjust + "svg_fsize(M,120)" wid 0.2 at Worm.w rjust + "svg_fsize(C,120)" at 0.9 rjust + box invis ht Worm.ht wid Worm.wid+0.4 at Worm + +[ thicklines_ + C: circle rad 1.5 at 0,0 + smallrad = C.rad/2 + for t=0 to 330 by 30 do { + line from Rect_(C.rad-0.05,90-t) to Rect_(C.rad+0.05,90-t) + sprintf("%g",t) at Rect_(C.rad+0.2,90-t) + } + "svg_fsize(R,120)" at Rect_(C.rad+0.45,90-0) + "svg_fsize(Y,120)" wid 0.2 at Rect_(C.rad+0.45,90-60) + "svg_fsize(G,120)" at Rect_(C.rad+0.45,90-120) + "svg_fsize(C,120)" at Rect_(C.rad+0.45,90-180) + "svg_fsize(B,120)" at Rect_(C.rad+0.45,90-240) + "svg_fsize(M,120)" at Rect_(C.rad+0.45,90-300) + linethick_(0) + + for t = 1 to 90 do { + hsvtorgb(t/90*360,1,1,r,g,b) + line shaded svgcolor(r,g,b) outlined svgcolor(r,g,b) \ + from C to Rect_(C.rad-0.05,90-(t-0.5)/90*360) \ + then to Rect_(C.rad-0.05,90-(t+0.5)/90*360) \ + then to C + } + + R: circle diam C.rad at Rect_(C.rad*3/8,90) color "rgb(255,0,0)" + G: circle diam C.rad at Rect_(C.rad*3/8,-30) color "rgb(0,255,0)" + B: circle diam C.rad at Rect_(C.rad*3/8,-150) color "rgb(0,0,255)" + + RG: cintersect(R,R.rad,G,G.rad) + GR: cintersect(R,R.rad,G,G.rad,R) + GB: cintersect(G,G.rad,B,B.rad) + BG: cintersect(G,G.rad,B,B.rad,R) + BR: cintersect(B,B.rad,R,R.rad) + RB: cintersect(B,B.rad,R,R.rad,R) + +# The following could be done other ways depending on the postprocessor +`define lozenge { + arc from $1$2 to $2$1 with .c at $2 + arc from $2$1 to $1$2 with .c at $1 }' + +# yellow +linethick = 0.1; rgbfill(255,255,0,lozenge(R,G)) +linethick = 0.4; rgbdraw(255,255,0,lozenge(R,G)) + +# cyan +linethick = 0.1; rgbfill(0,255,255,lozenge(G,B)) +linethick = 0.4; rgbdraw(0,255,255,lozenge(G,B)) + +# magenta +linethick = 0.1; rgbfill(255,0,255,lozenge(B,R)) +linethick = 0.4; rgbdraw(255,0,255,lozenge(B,R)) + +`define white { + arc cw from RB to GR with .c at R + arc cw from GR to BG with .c at G + arc cw from BG to RB with .c at B }' +linethick = 0.1; rgbfill(255,255,255,white) +linethick = 0.4; rgbdraw(255,255,255,white) +setrgb(255,255,255) + line from RB to GR then to BG then to RB +resetrgb + +] with .w at Worm.e+(0.5,0) + +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/ex01.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/ex01.m4 index a566c4c2dd0..b505028bba7 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/ex01.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/ex01.m4 @@ -1,7 +1,7 @@ .PS # Timer.m4 cct_init -iflatex(`latexcommand({\small\sf)') + ifpostscript(,latexcommand({\small\sf)) define(`ic555',`[Chip: box ht boxwid wid boxwid "555" P7: "7" ljust at 1/6 @@ -70,5 +70,5 @@ Ex01: [ ] with .sw at Timer.se+(0.5,0) -iflatex(`latexcommand(}%)') + ifpostscript(,latexcommand(}%)) .PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/ex05.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/ex05.m4 index dbdacdab908..748a48ebe93 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/ex05.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/ex05.m4 @@ -1,7 +1,9 @@ .PS # ex05.m4 darrow_init +ifelse(ifpstricks(T)`'ifpgf(T)`'ifsvg(T)`'ifmpost(T),T,` +Kalman: [ fillval = 0.8 # environmental variable dx = boxht/5 # diagram parameters wrt scaled env variables @@ -11,9 +13,9 @@ darrow_init # Replacement for \bar, see # https://tex.stackexchange.com/questions/22100/the-bar-and-overline-commands -command "\newcommand{\ols}[1]{% +latexcommand(\newcommand{\ols}[1]{% \mskip.5\thinmuskip\overline{\mskip-.5\thinmuskip {#1} \mskip-.5\thinmuskip}% -\mskip.5\thinmuskip} % overline short " +\mskip.5\thinmuskip}) COb: box fill_ "C$\ols{\mbox{O}}$" CO:box fill_ with .nw at last box.se+(dx,-dx) "CO" @@ -67,5 +69,48 @@ TU: dtee(R) circle at Sum circle at Dum - + ] +Coxeter: [ +# Coxeter.m4 + + customlinethick = 1.5 + + linethick = customlinethick + define(`dotrad_',`(3/2*linethick pt__)') + + Orig: (0,0) + for i=0 to 4 do { P[i]: dot(at (i*linewid,0)) } + line from Orig to P[4] + P[-1]: dot(at (Rect_(linewid, 120))); line to Orig + P[-2]: dot(at (Rect_(linewid,-120))); line to Orig + + Pa: dot(at P[4]+(linewid,0)); "$a$" at last [].n above + arrow from P[4] to Pa chop linewid/4 + Pd: dot(at P[0]+(0,-2*linewid)); "$d$" at last [].w rjust + Pe: dot(at Pd+(linewid,0)); "$e$" at last [].n above + Pf: dot(at Pe+(linewid,0)); "$f$" at last [].n above + Pb: dot(at Pd+(Rect_(linewid,120))); "$b$" at last [].w rjust + Pc: dot(at Pd+(Rect_(linewid,-120))); "$c$" at last [].w rjust + line from Pb to Pd then to Pc + line from Pd to Pf + + define(`customarc', + `pushdef(`dfillcolor',`0.7,0.7,0.7') linethick_(0.4); dnl + Darc(`$1',linewid, (`$2')*dtor_, (`$3')*dtor_, + thick=linewid/6; wid=linewid*0.3; ht=linewid/6; ends=<->)dnl + linethick_(customlinethick); popdef(`dfillcolor')') + + customarc((linewid,-linewid/3), 25,155) + "$d$" at (linewid,linewid*2/3) + customarc((2*linewid,-linewid/3), 25,155) + "$e$" at (2*linewid,linewid*2/3) + customarc((3*linewid,-linewid/3), 25,155) + "$f$" at (3*linewid,linewid*2/3) + customarc(Orig,130,230); "$a$" at (Rect_(linewid,180)) + customarc(Orig, 10,110); "$b$" at (Rect_(linewid, 60)) + customarc(Orig,-110,-10); "$c$" at (Rect_(linewid,-60)) + + ] with .sw at Kalman.se+(15bp__,0) + +',` "This diagram requires LaTex" ') .PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/ex17.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/ex17.m4 index a0cd527986f..a304d7359b6 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/ex17.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/ex17.m4 @@ -32,7 +32,7 @@ define(`elen_',linewid) # shorter default length parallel_(Sep=1.75*dimen_; parallel_( `capacitor(,C); rlabel(,,C_2)', - `resistor; llabel(,R_2)' ), + `resistor; rlabel(,R_2)' ), parallel_( `resistor; rlabel(,R_1); move to rvec_(-dimen_/5,0) inductor(,W); rlabel(,L_1)', diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/examples.pdf b/Master/texmf-dist/doc/latex/circuit-macros/examples/examples.pdf index 184aa8a4006..a567ad90811 100644 Binary files a/Master/texmf-dist/doc/latex/circuit-macros/examples/examples.pdf and b/Master/texmf-dist/doc/latex/circuit-macros/examples/examples.pdf differ diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/files.tex b/Master/texmf-dist/doc/latex/circuit-macros/examples/files.tex index 22c3a5c5fdf..4a90ac0332c 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/files.tex +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/files.tex @@ -61,6 +61,12 @@ \src{Fuses.m4}.} } +\bfig{ + \centerline{\getpic{Arresters}} + \caption{The {\tt arrester} macro + \src{Arresters.m4}.} + } + \bfig{ \centerline{\getpic{MoreTable}} \caption{Additional two-terminal elements @@ -152,12 +158,12 @@ \src{Pconn.m4}.} } -\bfig{ +\ifmpost\else\ifpostscript\else\bfig{ \centerline{\getpic{EVplugs}} \caption{Electric vehicle charging plug patterns make extensive use of {\sl key=value} pairs to set options \src{EVplugs.m4}.} - } + }\fi\fi \bfig{ \centerline{\getpic{Headers}} @@ -411,6 +417,12 @@ } \end{sidewaysfigure} %}% \end{landscape} +\bfig{ + \centerline{\getpic{UNO}} + \caption{An Arduino UNO circuit adapted and redrawn + \src{UNO.m4}.} + } + \bfig{ \centerline{\getpic{Tubediags}} \caption{Electron-tube diagrams: a few bottom-view base diagrams, @@ -515,28 +527,28 @@ \src{ex00.m4}.} } -\bfig{ +\ifmpost\else\ifpostscript\else\bfig{ \centerline{\getpic{EEP}} \caption{A test of experimental single-line diagram macros \src{EEP.m4}.} - } + }\fi\fi -\bfig{ - \centerline{\getpic{control}} - \caption{Control-system block diagrams - \src{control.m4}.} - } +\ifpostscript\else\bfig{ + \centerline{\getpic{ex05}} + \caption{Use of {\tt darrow} and {\tt Darc} + \src{ex05.m4}.} + }\fi \bfig{ \centerline{\getpic{GrayCode}} - \caption{Gray code 10-bit encoder disk pattern + \caption{Gray code 10-bit encoder disk pattern and a crossbar switch \src{GrayCode.m4}.} } \bfig{ - \centerline{\getpic{Crossbar}} - \caption{A crossbar switch - \src{Crossbar.m4}.} + \centerline{\getpic{control}} + \caption{Control-system block diagrams + \src{control.m4}.} } \bfig{ @@ -559,6 +571,24 @@ \src{ex06.m4}.} } +\bfig{ + \centerline{\getpic{Geometry}} + \caption{Some geometrical constructions + \src{Geometry.m4}.} + } + +\bfig{ + \centerline{\getpic{Loglog}} + \caption{A graph drawn using the pic language + \src{Loglog.m4}.} + } + +\ifmpost\else\bfig{ + \centerline{\getpic{Smithchart}} + \caption{A Smith chart + \src{Smithlchart.m4}.} + }\fi + \bfig{ \centerline{\getpic{ex09}} \caption{Illustrating the macro @@ -583,19 +613,6 @@ \src{Plate.m4}.} } -\bfig{ - \centerline{\getpic{ex05}} - \caption{The Kalman canonical decomposition of a dynamical system: - use of {\tt darrow} - \src{ex05.m4}.} - } - -\bfig{ - \centerline{\getpic{Loglog}} - \caption{A graph drawn using the pic language - \src{Loglog.m4}.} - } - \bfig{ \centerline{\getpic{random}} \caption{Testing random number generation using @@ -631,17 +648,28 @@ \src{csc.m4}.} } -\bfig{ - \centerline{\getpic{rose}} - \caption{Redrawn from a detail of the set design for the musical - {\it Dracula,} used for testing {\tt dpic}. This diagram - consumes much \LaTeX\ main memory but can be produced - directly as pdf using \hbox{\tt dpic -d}, - as svg using \hbox{\tt dpic -v}, - or as postscript using \hbox{\tt dpic -r} - since no text formatting is required +\ifpostscript\bfig{% For psfrag + \includegraphics[width=\textwidth]{rose.eps} %\centerline{\getpic{rose}} + \caption{The left object, used for testing {\tt dipic,} is redrawn from + a detail of the set design for the musical {\it Dracula.} This + consumes much \LaTeX\ main memory but can be produced directly + as pdf using \hbox{\tt dpic -d}, as svg using \hbox{\tt dpic -v}, + or as postscript using \hbox{\tt dpic -r} since no text formatting + is required. The right object adjusts the size of dots to produce + a halftone effect \src{rose.m4}.} - } + }\else% +\ifmpost\else\bfig{% + \includegraphics[width=\textwidth]{rose.pdf} %\centerline{\getpic{rose}} + \caption{The left object, used for testing {\tt dipic,} is redrawn from + a detail of the set design for the musical {\it Dracula.} This + consumes much \LaTeX\ main memory but can be produced directly + as pdf using \hbox{\tt dpic -d}, as svg using \hbox{\tt dpic -v}, + or as postscript using \hbox{\tt dpic -r} since no text formatting + is required. The right object adjusts the size of dots to produce + a halftone effect + \src{rose.m4}.} + }\fi\fi \bfig{ \centerline{\getpic{diamond}} @@ -662,12 +690,18 @@ \src{Buttons.m4}.} } +\ifmpost\else\ifpostscript\else\bfig{% Exclude mpost and psfrag + \includegraphics[scale=0.7]{keyboard.pdf} %\centerline{\getpic{keyboard}} + \caption{This diagram has been produced as svg with dpic -v + (then converted to pdf for inclusion in examples.pdf) + \src{keyboard.m4}.} + }\fi\fi + \bfig{ \centerline{\getpic{Dini}} \caption{Dini surface and an icosahedron \src{Dini.m4}.} } -\clearpage \bfig{ \centerline{\getpic{Sierpinski}} @@ -708,17 +742,11 @@ \bfig{ \centerline{\getpic{Btree}} - \caption{A binary tree + \caption{Trees \src{Btree.m4}.} } \ifmpost\else% Tex capacity exceeded at this point under metapost -\bfig{ - \centerline{\getpic{Ttree}} - \caption{Another tree - \src{Ttree.m4}.} - } - % Overlaying a figure with line graphics depends on the postprocessor: \ifpst% PSTricks \bfig{% @@ -744,18 +772,18 @@ \bfig{% \centerline{\boxdims{InclA}{%ignore% \includegraphics[width=3in]{../Incl}}% - \hspace*{-3in}\includegraphics{Inclpdf}}% + \hspace*{-3in}\includegraphics{Incleps}}% \caption{Overlaying a figure with line graphics %ignore% - \src{Inclpdf.m4}.} + \src{Incleps.m4}.} } \else\ifpostscript% Postscript with psfrag (.eps.gz not allowed) -\bfig{% +ifpostscript(,\bfig{% \centerline{\boxdims{InclA}{%ignore% \includegraphics[width=3in]{Incl.eps}}% - \hspace*{-3in}\includegraphics{Inclpdf.eps}}% + \hspace*{-3in}\includegraphics{Incleps.eps}}% \caption{Overlaying a figure with line graphics %ignore% - \src{Inclpdf.m4}.} - } + \src{Incleps.m4}.} + }) \fi\fi\fi\fi\fi \fi % ifmpost diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/keyboard.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/keyboard.m4 new file mode 100644 index 00000000000..7966a7aa3bc --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/keyboard.m4 @@ -0,0 +1,269 @@ +.PS +# keyboardSVG.m4 + gen_init + scale=25.4 # unit is mm + +divert(-1) + +define(`kbd_u',(11mm__)) +define(`kbdrowsep',`movewid') +define(`kbdshadewid',`(kbd_u/9)') + + `kbdkey(name|text=chars,keys) + chars: string or string string + keys: wdth=expr; # base wid + hght=expr; # base ht + rad=expr; # base rad + shadewid=expr; # base shade wid + base=attribs; # base attributes + top=attribs; # top attributes ' +define(`kbdkey', + `pushkeys_(`$2', + wdth:kbd_u; hght:kbd_u*14/13+lthick; rad:kbd_u/10; + shadewid:kbdshadewid; base:fill_(0.3):N; top:fill_(0.9):N)dnl + [ Base: box wid m4wdth ht m4hght rad m4rad m4base + Top: box wid m4wdth-2*m4shadewid ht m4hght-m4shadewid-lthick \ + rad m4rad*(kbd_u-2*m4shadewid)/(kbd_u) with .n \ + at Base.n-(0,lthick) m4top + move to Top.w + ifelse(`$1',,,`pushkey_(`$1',text,,N)ifelse(m4text,, + `"iflatex(\sf) `$1'" above ljust', + `m4text');') `$3' + popdef(`m4wdth', `m4hght', `m4shadewid', `m4rad', `m4base', `m4top') dnl + popdef(`m4text') ] ') + +define(`tsmall', + `iflatex(`"{\sf\scriptsize `$1'}"', + ifelse(`$3',,")svg_fsize(`$1',ifelse(`$2',,75,`$2'))ifelse(`$3',,"))') + +define(`stkbdkey', + `iflatex(`command "{\sf\scriptsize"',`m4tmp=textht + textht = ifelse(`$1',,0.66*textht,`$1') ') + kbdkey(shift($*)) + iflatex(`command "}%"',`textht = m4tmp')') + + `enterkey(name|text=chars,keys) + chars: string or string string + keys: wdth=expr; # base wid + hght=expr; # base ht + bhght=expr; # ht of bottom part + rad=expr; # base rad + shadewid=expr; # base shade wid + base=attribs; # base attributes + top=attribs; # top attributes ' +define(`enterkey', + `pushkeys_(`$2', + wdth:kbd_u*2.26; + hght:kbd_u*14/13*2+kbdrowsep+linethick bp__; + bhght: kbd_u*14/13; + twdth: kbd_u*3/2; + rad:kbd_u/10; + shadewid:kbdshadewid; + base:fill_(0.3):N; + top:fill_(0.9):N)dnl + [ ltx = lthick; r = m4rad*(kbd_u-2*m4shadewid)/(kbd_u) +# thick outer + linethick = (m4shadewid+r)/(1bp__); lth2 = lthick/2 + NEx: Here; NE: NEx-(lth2,lth2); SE: NE-(0,m4hght-lth2*3-ltx*3/2) + SW: SE-(m4wdth-lthick,0) + W: SW+(0,m4bhght-lthick+ltx*3/2); NW: NE-(m4twdth-lthick,0); X: (NW,W) + d = 0.3; ro = m4rad-lth2 + move to W; arcto(X,NW,m4rad+lth2,outlined graystring(d)); Tx:NW + Loopover_(`PK',`arcto(Tx,PK,ro,outlined graystring(d));Tx:PK',NE,SE,SW,W,X) + linethick = ltx +# outer outline + NE: NEx; SE: NE-(0,m4hght+ltx); SW: SE-(m4wdth,0) + W: SW+(0,m4bhght); NW: NE-(m4twdth,0); X: (NW,W) + m4enteroutline(m4rad,,m4rad) +# thick inner + linethick = m4shadewid/(1bp__)+linethick; lth2 = lthick/2 + NE: NEx-(m4shadewid+lth2,lth2+ltx); SE: (NE,SE)+(0,m4shadewid*3/2) + SW: SE-(m4wdth-m4shadewid*3,0); W: SW+(0,m4bhght-m4shadewid*2-ltx*3/2); + NW: NE-(m4twdth-m4shadewid*3,0); X: (NW,W) + c = 0.9; ri = r-lth2 + move to W; arcto(X,NW,ri+lth2*2,outlined graystring(c)); Tx:NW + Loopover_(`PK',`arcto(Tx,PK,ri,outlined graystring(c));Tx:PK',NE,SE,SW,W,X) + N: 1/2 between NW and NE + line from N to (N,SE) thick (NE.x-NW.x)/(1bp__) outlined graystring(c) + SSW: 1/2 between SW and W + line from SSW to (SE,SSW) thick (W.y-SW.y)/(1bp__) outlined graystring(c) +# inner outline + NE: NE+(lth2,lth2); SE: SE+(lth2,-lth2); SW: SW-(lth2,lth2) + W: W+(-lth2,lth2); NW: NW+(-lth2,lth2); X: (NW,W) + linethick = ltx + m4enteroutline(ri,,ri+lth2*2) + move to (X,(1/2 between SW and W)); + ifelse(`$1',,,`pushkey_(`$1',text,,N)dnl + ifelse(m4text,,`"iflatex(\sf) `$1'" above ljust',`m4text')') + popdef(`m4wdth', `m4hght', `m4bhght', `m4twdth', `m4shadewid', `m4rad', + `m4base', `m4top', `m4bhght' ) popdef(`m4text')dnl + `$3' ] ') +define(`m4enteroutline',`move to W+(`$1',0); arcto(X,NW,`$3',`$2'); Tx: NW + Loopover_(`PP',`arcto(Tx,PP,`$1',`$2'); Tx: PP',NE,SE,SW,W,X)') +define(`m4enterup',`[ u = ifelse(`$1',,kbd_u*0.3) + line right u/4 then up u/2 then right u/6 then up u/2 left u/4+u/6 \ + then down u/2 left u/4+u/6 then right u/6 then down u/2 then right u/4 + ]') + +define(`kbdsymb',`iflatex("\tt\char`$1'",`dsvg_symb(`$1')')') +define(`m4kbdarrow',`arrow thick 1.5 ht kbd_u/5 wid kbd_u/5') + +divert(0)dnl + +define dsvg_symb {"&#$1;"} + +maxpswid = 25*kbd_u +movewid = kbd_u/11 + +define(`rshift',` at Here+(ifelse(`$1',,`kbd_u/8',`$1'),0) ') + +iflatex(`command "{\small\sf"', + `ifsvg(svg_font(Arial,kbd_u*16/13/4,0bp__)) + textht=kbd_u/4 ') + +Row2: [ + textoffset = kbd_u/8 + Loopover_(`KK',`kbdkey(text=KK); move', + kbdsymb(126) ljust kbdsymb(96) ljust, + Loopover_(`NN',`kbdsymb(NN) ljust "m4Lx" ljust,',33,64,35,36,37,94,38,42,40) + kbdsymb(41) ljust "0" ljust, + kbdsymb(95) ljust "-" ljust, + kbdsymb(43) ljust "=" ljust, + kbdsymb(124) ljust kbdsymb(92) ljust, + "" ) + m4kbdarrow left kbd_u*0.5 at last [].Top + ] +Row1: [ + kbdkey(tsmall(Esc,,N)); move right_ last [].wid+movewid*2 + Loopover_(`KK',`kbdkey(KK); move',F1,F2,F3,F4) + move right_ last [].wid/2 + Loopover_(`KK',`kbdkey(KK); move',F5,F6,F7,F8) + move right_ Row2.wid-Here.x-4*last [].wid-4*movewid + Loopover_(`KK',`kbdkey(KK); move',F9,F10,F11,F12) + ] with .sw at Row2.nw+(0,2*kbdrowsep) +Row3: [ +# Uparrow: kbdkey(,,m4kbdarrow up kbd_u/2 at Top) + Tab: kbdkey(text=tsmall(Tab) rshift ljust,wdth=kbd_u*1.6, + [ A: m4kbdarrow left kbd_u/2; line thick A.thick up A.wid at A.end + A: m4kbdarrow right A.len at A-(0,kbd_u/2) + line thick A.thick up A.wid at A.end ] with .w at Top ); move + Loopover_(`KK',`KK: kbdkey(KK); move',Q,W,E,R,T,Y,U,I,O,P) + textoffset = kbd_u/8 + kbdkey(text=kbdsymb(123) ljust kbdsymb(91) ljust); move + kbdkey(text=kbdsymb(125) ljust kbdsymb(93) ljust); move + w = Row2.wid-Here.x + R: box invis wid w-movewid ht last [].Base.ht + ] with .nw at Row2.sw-(0,kbdrowsep) +Row4: [ + Capslock: kbdkey(text=tsmall(Caps Lock) rshift ljust, + wdth=Row3.Tab.wid+Row3.Q.wid/3;); move + Loopover_(`KK',`KK: kbdkey(KK); move',A,S,D,F,G,H,J,K,L) + textoffset = kbd_u/8 + kbdkey(text=kbdsymb(58) ljust kbdsymb(59) ljust); move + kbdkey(text=kbdsymb(34) ljust kbdsymb(39) ljust); move + ] with .nw at Row3.sw-(0,kbdrowsep) + Enter: enterkey(text=tsmall(Enter),, + m4kbdarrow <- from last ""+(kbd_u/2,0) \ + right kbd_u/2 then up kbd_u/5 ) \ + with .ne at (Row2.e,Row3.n)-(movewid,0) +Row5: [ + ShiftL: kbdkey(text=tsmall(Shift) at 0.4 between Top.w and Top.e, + wdth=kbd_u*2.4, m4enterup at 0.15 between Top.w and Top.e); move + Loopover_(`KK',`KK: kbdkey(KK); move',Z,X,C,V,B,N,M) + textoffset = kbd_u/8 + kbdkey(text=kbdsymb(60) ljust kbdsymb(44) ljust); move + kbdkey(text=kbdsymb(62) ljust kbdsymb(46) ljust); move + kbdkey(text=kbdsymb(63) ljust kbdsymb(47) ljust); move + v = Row2.wid-Here.x-kbd_u-movewid*2 + ShiftR: kbdkey(text=tsmall(Shift) at 1/2 between Top.w and Top.e,wdth=v, + m4enterup at 0.15 between Top.w and Top.e); move + kbdkey(); move + ] with .nw at Row4.sw+(0,-kbdrowsep) +Row6: [ + w = 22/18*kbd_u + CtrlL: kbdkey(text=tsmall(Ctrl) rshift ljust,wdth=w); move + kbdkey(,wdth=w); move + kbdkey(text=tsmall(Alt) rshift ljust,wdth=w); move + s = Row2.wid-(7*w+8*movewid) + kbdkey(,wdth=s); move + kbdkey(text=tsmall(Alt) rshift ljust,wdth=w); move + kbdkey(,wdth=w); move + kbdkey(,wdth=w); move + CtrlR: kbdkey(text=tsmall(Ctrl) rshift ljust,wdth=w); move + ] with .nw at Row5.sw+(0,-kbdrowsep) +Arrowkeys: [ iflatex(`command "{\sf\scriptsize"',`textht *=0.66') +Row1:[ textoffset = kbd_u/20 + kbdkey(text=`"Print" ljust "Screen" ljust "SysRQ" ljust'); move + textoffset = kbd_u/12 + kbdkey(text="Scroll" ljust "Lock" ljust); move + kbdkey(text="Pause" ljust "Break" ljust); move + ] +Row2: [ textoffset = kbd_u/12 + kbdkey(text="Insert" ljust); move + kbdkey(text=tsmall(Home) ljust); move + kbdkey(text="Page" ljust "Up" ljust); move + ] with .nw at Row1.sw-(0,2*kbdrowsep) +Row3: [ textoffset = kbd_u/12 + Delete: kbdkey(text="Delete" ljust); move + End: kbdkey(text="End" ljust); move + kbdkey(text="Page" ljust "Down" ljust); move + ] with .nw at Row2.sw+(0,-kbdrowsep) +Row5: [ + move right Row3.End.w.x + movewid + Uparrow: kbdkey(,,m4kbdarrow up kbd_u/2 at Top) + ] with .nw at Row3.sw-(0,Row3.Delete.ht+2*kbdrowsep) +Row6: [ + kbdkey(,,m4kbdarrow left kbd_u/2 at Top); move + kbdkey(,,m4kbdarrow down kbd_u/2 at Top); move + kbdkey(,,m4kbdarrow right kbd_u/2 at Top); move + ] with .nw at Row5.sw-(0,kbdrowsep) + + iflatex(`command "}%"',`textht *=(1/0.66)') + ] with .nw at Row1.ne+(movewid,0) +Keypad: [ move down_ Arrowkeys.n.y-Arrowkeys.Row2.e.y; right_ + textoffset = kbd_u/8 +Row2:[ + kbdkey(text=tsmall(Num) ljust tsmall(Lock) ljust); move + iflatex(`command "{\large"',`textht *=1.5') + kbdkey(text=kbdsymb(47) ljust); move + kbdkey(text=kbdsymb(42) ljust); move + kbdkey(text=kbdsymb(45) ljust); move + iflatex(`command "}"') + ] +Row3:[ textoffset = kbd_u/12 + kbdkey(text="7" ljust tsmall(Home) ljust); move + kbdkey(text="8" ljust "" ljust,,m4kbdarrow up_ kbd_u/3 \ + at 3/4 between Top.ne and Top.sw); move + kbdkey(text="9" ljust tsmall(PgUp) ljust); move + ] with .nw at Row2.sw+(0,-kbdrowsep) +Row4:[ textoffset = kbd_u/12 + kbdkey(text="4" ljust "" ljust,,m4kbdarrow left kbd_u/3 \ + at 0.7 between Top.ne and Top.sw); move + kbdkey(text="5" ljust "" ljust); move + Six: kbdkey(text="6" ljust "" ljust,,m4kbdarrow right kbd_u/3 \ + at 0.7 between Top.ne and Top.sw); move + ] with .nw at Row3.sw+(0,-kbdrowsep) +Row5:[ textoffset = kbd_u/12 + kbdkey(text="1" ljust tsmall(End) ljust); move + kbdkey(text="2" ljust "" ljust,,m4kbdarrow down kbd_u/3 \ + at 0.7 between Top.ne and Top.sw); move + kbdkey(text="3" ljust tsmall(PgDn) ljust); move + ] with .nw at Row4.sw+(0,-kbdrowsep) +Row6:[ textoffset = kbd_u/12 + kbdkey(text="0" ljust tsmall(Ins) ljust, + wdth=Row4.wid-Row4.Six.wid-2*movewid); move + kbdkey(text=kbdsymb(46) ljust tsmall(Del) ljust); move + ] with .nw at Row5.sw+(0,-kbdrowsep) +Col4: [ textoffset = kbd_u/12 + iflatex(`command "{\large"',`textht *=1.5') + kbdkey(text="+" ljust,hght=Row3.n.y-Row4.s.y); move + iflatex(`command "}"',`textht /=1.5') + kbdkey(text=tsmall(Enter) ljust,hght=Row5.n.y-Row6.s.y) \ + with .nw at last [].sw - (0,kbdrowsep) + ] with .ne at (Row2.e,Row3.n) + + ] with .nw at Arrowkeys.ne+(movewid,0) + +iflatex(`command "}%"', +ifsvg(`command ""')) +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/keyboard.pdf b/Master/texmf-dist/doc/latex/circuit-macros/examples/keyboard.pdf new file mode 100644 index 00000000000..94548b033a0 Binary files /dev/null and b/Master/texmf-dist/doc/latex/circuit-macros/examples/keyboard.pdf differ diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/keyval.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/keyval.m4 deleted file mode 100644 index dc81fd123f0..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/keyval.m4 +++ /dev/null @@ -1,74 +0,0 @@ -.PS -# keyval.m4 -cct_init - -#An experiment in defining macro options as key1=val1;key2=val2; ... -# `resistor( linespec, -# cycles=n;type=E|Q|H;side=L|R) -# chars : E=ebox -# Q=offset -# H=squared (default 3 cycles) -# R=to right of drawing direction' -define(`xesistor', -`print "`$0'($@)" ; - setkey_(`$2',cycles,4,N)dnl - setkey_(`$2',type,N,N)dnl - setkey_(`$2',side,R,N)dnl - print "cycles:m4cycles" - print "type:m4type" - print "side:m4side" -ifelse( - m4type,E, - `ebox(`$1',shift(shift(shift($@))))', - `eleminit_(`$1') - ifelse(m4type,N, - `define(`m4n',`eval((m4cycles)*2)')dnl - define(`m4h',`dimen_/24')dnl - define(`m4v',2)dnl - if m4h*m4n*2 > rp_len then { eleminit_(to rvec_(m4h*m4n*2,0)) } - tr_xy_init(last line.c, m4h, ifelse(m4side,R,-))dnl - { line from last line.start to tr_xy(-m4n,0)\ - for_(2,m4n,2, - `then to tr_xy(eval(2*m4x-3-m4n), m4v) \ - then to tr_xy(eval(2*m4x-1-m4n),-m4v) \')dnl - then to tr_xy(m4n, 0) then to last line.end - [box invis ht_ m4h*m4v*2 wid_ m4h*m4n*2] at 2nd last line.c - }', - m4type,Q, - `define(`m4n',`eval(2*(m4cycles))')dnl - define(`m4h',`dimen_/24')dnl - define(`m4v',2)dnl - if m4h*m4n*2 > rp_len then { eleminit_(to rvec_(m4h*m4n*2,0)) } - tr_xy_init(last line.c, m4h, ifelse(m4side,R,-))dnl - { line from last line.start to tr_xy(-m4n,0)\ - for_(2,m4n,2, - `then to tr_xy(eval(2*m4x-2-m4n), m4v*2) \ - then to tr_xy(eval(2*m4x-m4n),0) \')dnl - then to tr_xy(m4n, 0) then to last line.end - [box invis ht_ m4h*m4v*2 wid_ m4h*m4n*2] at 2nd last line.c + ta_xy(0,m4v) - }', - m4type,H, - `define(`m4n',`ifelse(`$2',,5,`eval(2*$2-1)')')dnl - define(`m4h',`dimen_/20')dnl - define(`m4v',7/3)dnl - if m4h*m4n*2 > rp_len then { eleminit_(to rvec_(m4h*m4n*2,0)) } - tr_xy_init(last line.c, m4h, ifelse(m4side,R,-))dnl - { line from last line.start to tr_xy(-m4n,0)\ - for_(-m4n,m4n,2, - `ifelse(eval(((m4x+m4n)/2)%2),0, - `then to tr_xy(m4x,m4v) then to tr_xy(eval(m4x+2),m4v) \', - `then to tr_xy(m4x,0) \ - ifelse(m4x,m4n,,`then to tr_xy(eval(m4x+2),0)')\')')dnl - then to tr_xy(m4n, 0) then to last line.end - [box invis ht_ m4h*m4v wid_ m4h*m4n*2] at 2nd last line.c+(0,m4h*m4v/2) - }') - line invis from 2nd last line.start to 2nd last line.end ') - - popdef(`m4cycles')dnl - popdef(`m4type')dnl - popdef(`m4side')dnl -') - - xesistor(,type=E;cycles=5;) - xesistor(,type=Q;cycles=3;side=L) -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/mf/cct.mf b/Master/texmf-dist/doc/latex/circuit-macros/examples/mf/cct.mf index 6e6fa4f73e1..e134c95c63d 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/mf/cct.mf +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/mf/cct.mf @@ -1,5 +1,5 @@ % cct.mf, generated by Mfpic, v1.10 2012/12/03, -% from TeX source "font" on 2022/10/13 at 18:50 +% from TeX source "font" on 2022/11/28 at 18:39 numeric mfpicversion; mfpicversion := 110; if unknown mode: mode := localfont; fi if unknown mag: mag := 1000/1000; fi diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/mpost/Makefile b/Master/texmf-dist/doc/latex/circuit-macros/examples/mpost/Makefile index 18bb0ad5761..bef3268c06e 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/mpost/Makefile +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/mpost/Makefile @@ -19,28 +19,37 @@ MKDIM=printf '=boxdimfile{$(DIMFILE)}\n' #--------------------------------------------- DOC = examplesmpost -FIGS = Adder.1 Alogix.1 ABlogix.1 Antennas.1 AmpTable.1 Audio.1 \ - AntiqueClock.1 \ - Bip.1 Btree.1 Byte.1 Buttons.1 \ - Connectors.1 Contact.1 Contacts.1 \ - Counting.1 Crossbar.1 Crow.1 Csource.1 CanLogic.1 CctTable.1 Conn.1 \ - Decoder.1 Demultiplexer.1 Dini.1 Diodes.1 Drive.1 \ - Emarrows.1 Flow.1 Fuses.1 \ - GrayCode.1 Grounds.1 Headers.1 Heathkit.1 I2L.1 Inclpdf.1 Jack.1 \ - Lyap.1 Logic.1 Loglog.1 MC.1 Mixer.1 MotorControl.1 Multiplexer.1 \ - NLG.1 NPDT.1 Nport.1 \ - Opamp.1 Optoiso.1 Pconn.1 PushPull.1 Quantum.1 \ - Rectifiers.1 Relay.1 relaycoil.1 Rotbox.1 \ - Schottky.1 Sierpinski.1 ShiftR.1 Sixpole.1 Sources.1 SQUID.1 Switches.1 \ - Tgate.1 Three.1 Timer.1 TTLnand.1 Ttree.1 Tubediags.1 \ - Variable.1 Windings.1 Xform.1 \ - control.1 csc.1 diamond.1 ex00.1 ex01.1 ex02.1 \ - ex03.1 ex04.1 ex05.1 ex06.1 ex08.1 ex09.1 ex10.1 \ - ex11.1 ex12.1 ex15.1 ex16.1 ex17.1 ex18.1 ex21.1 exp.1 \ - fet.1 graysurf.1 lcct.1 pwrsupply.1 quick.1 \ - random.1 recycle.1 rose.1 shapes.1 thyristor.1 sfg.1 ujt.1 worm.1 XOR.1 - -BOXDIMS = ex09 Crow Inclpdf Loglog Opamp Ttree Windings + +FIGS = \ + ABlogix.1 Adder.1 Alogix.1 AmpTable.1 Antennas.1 Arresters.1 \ + Audio.1 Bip.1 Btree.1 Buttons.1 Byte.1 \ + Capacitors.1 CanLogic.1 Chips.1 Conn.1 Connectors.1 \ + Contacts.1 Contact.1 control.1 Crow.1 \ + csc.1 Csource.1 Decoder.1 \ + Demultiplexer.1 diamond.1 Dini.1 Diodes.1 Drive.1 \ + Emarrows.1 Escher.1 \ + ex00.1 ex01.1 ex02.1 ex03.1 ex04.1 ex05.1 ex06.1 ex08.1 \ + ex09.1 ex10.1 ex11.1 ex12.1 ex15.1 ex16.1 ex17.1 ex18.1 \ + ex21.1 exp.1 fet.1 Flow.1 Fuses.1 \ + Geometry.1 GrayCode.1 graysurf.1 Grounds.1 \ + Headers.1 Heathkit.1 \ + I2L.1 Inclpdf.1 Inductors.1 Jack.1 \ + lcct.1 Logic.1 Loglog.1 MC.1 Mixer.1 MoreTable.1 \ + MotorControl.1 Multiplexer.1 \ + NLG.1 NPDT.1 Nport.1 Opamp.1 Optoiso.1 \ + Pconn.1 Plate.1 PushPull.1 pwrsupply.1 \ + Quantum.1 quick.1 \ + random.1 Rectifiers.1 recycle.1 relaycoil.1 Relay.1 \ + Resistors.1 Rotbox.1 \ + Schottky.1 sfg.1 shapes.1 ShiftR.1 Sierpinski.1 Sixpole.1 \ + Smithchart.1 Sources.1 SQUID.1 Switches.1 \ + Tgate.1 Three.1 thyristor.1 TTLnand.1 Tubediags.1 \ + UNO.1 ujt.1 Variable.1 Windings.1 worm.1 Xform.1 XOR.1 + +REMOVED = \ + EEP.1 EVplugs.1 + +BOXDIMS = ex09 Crow Inclpdf Loglog Opamp Btree Windings # It is advisable to do `make clean' between test examples. #--------------------------------------------- @@ -79,6 +88,7 @@ DIMFILE = tmp.dim dpic -s $(DOC).pic >> $*.mp @printf 'end\n' >> $*.mp $(MPOST) $*.mp + chmod 644 $*.* $(DOC).ps: $(DOC).dvi $(DVIPS) $(DOC) -o @@ -123,7 +133,7 @@ tst1: test.1 tstmpost.tex dvips tstmpost clean: - rm -f stamp-* $(FIGS) *.pic + rm -f stamp-* $(FIGS) *.pic mp*.tex -if /usr/bin/test -f exlinks ; then \ ls -l *.m4 *.bb *.gz | grep '\->' | \ sed -e 's/^.* \([^ ][^ ]*\) ->.*$$/rm -f \1/' | sh; fi diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/mpost/README-mpost b/Master/texmf-dist/doc/latex/circuit-macros/examples/mpost/README-mpost index 53d0263f278..32dd40c1955 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/mpost/README-mpost +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/mpost/README-mpost @@ -1,6 +1,6 @@ THIS DIRECTORY contains a Makefile and test files for the MetaPost -output of dpic. +output of dpic, resulting in a .dvi file and then a .ps file. 1. On a Unix-like system, typing "make" processes the examples file and the diagrams it includes to produce examplesmpost.ps. Each diagram is diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/mpost/examplesmpost.tex b/Master/texmf-dist/doc/latex/circuit-macros/examples/mpost/examplesmpost.tex index 45baa6b3254..57d64639f5c 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/mpost/examplesmpost.tex +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/mpost/examplesmpost.tex @@ -18,4 +18,7 @@ The source files have been processed with m4, dpic -s, and MetaPost to produce this file. + At present ``File file.1 not found'' warnings are given even if the file + is found. + \input ../files.tex diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/paletteSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/paletteSVG.m4 new file mode 100644 index 00000000000..4c5a40f0387 --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/paletteSVG.m4 @@ -0,0 +1,336 @@ +.PS +# This is the source for a prototype svg library of electric circuit +# elements. Each element is a compound svg object with corners on grid points. +# +# Processing svg.m4 and this file thought dpic -v gives +# output that can be read into Inkscape. +# +define(`SIdefaults',` + scale = 25.4 + arcrad = 5 + arrowht = 2.5 + arrowwid = arrowht/2 + boxht = 12 + boxrad = 0 + boxwid = 20 + circlerad = 5 + dashwid = 1.5 + ellipseht = 12 + ellipsewid = 16 + lineht = 12 + linewid = 12 + moveht = 12 + movewid = 12 + textht = ifsvg(3,0) + textoffset = 1 + textwid = 0 +') + +log_init(svg_font(sans-serif,11bp__)) +SIdefaults + + # Assume dpic scale is in mm +gunit = 1 # Inkscape grid dimension +divert(-1) +define(`elen_',`(10*gunit)') # default 2-terminal element length +define(`dimen_',`(10*gunit)')# reference dimension for element bodies +define(`L_unit',`(2*gunit)') # logic gate grid size +define(`N_diam',1) # L_unit size of `not' circles + + # grid round and chop +define(`g_round',`(int((`$1')/gunit+100000.5 )-100000)*gunit') +define(`g_chop', `(int((`$1')/gunit+100000.9999)-100000)*gunit') + # snap to grid +define(`g_snap',`(g_round((`$1').x),g_round((`$1').y))') + +# Box containing an element. The element must be in a box that is +# intersected by a horizontal or vertical line from entry to exit. +define(`Gridbox',`[ command "" + S: Here; `$1'; F: Here + if S.y == F.y then { + move from (max(S.x,F.x),F.y+g_chop(last[].n.y-F.y)) \ + to (min(S.x,F.x),F.y-g_chop(F.y-last[].s.y)) } \ + else { + move from (F.x+g_chop(last[].e.x-F.x),max(S.y,F.y)) \ + to (F.x-g_chop(F.x-last[].w.x),min(S.y,F.y)) } + command "" ] ') + +# Place compound object corners at grid intersections +define(`Below', + `with .n at g_snap(ifelse(`$1',,`last []',`$1').s)-(0,2*gunit)') +define(`Right', + `with .w at g_snap(ifelse(`$1',,`last []',`$1').e)+(2*gunit,0)') + +# for debug +define(`prpos',`print (`$1').x/gunit,(`$1').y/gunit') +divert(0)dnl + +[ + +rpoint_(down_ elen_) +A:Gridbox( resistor ) + Gridbox( resistor(down_ dimen_*1/2) ) Right + Gridbox( resistor(,,E) ) Right + Gridbox( resistor(,,Q) ) Right + Gridbox( resistor(,,H) ) Right + Gridbox( resistor(,,N) ) Right + Gridbox( inductor(,W) ) Right + Gridbox( inductor(,W,,M) ) Right + Gridbox( inductor(,L) ) Right + Gridbox( inductor ) Right + Gridbox( inductor(,,,M) ) Right + Gridbox( capacitor ) Right + Gridbox( capacitor(,C) ) Right + Gridbox( capacitor(,P) ) Right + Gridbox( capacitor(,E) ) Right + Gridbox( capacitor(,K) ) Right + Gridbox( diode ) Right + Gridbox( diode(,K) ) Right + Gridbox( diode(,Z) ) Right + Gridbox( diode(,S) ) Right + Gridbox( diode(,L) ) Right + Gridbox( diode(,V) ) Right + Gridbox( diode(,v) ) Right + Gridbox( diode(,T) ) Right + Gridbox( diode(,CR) ) Right + Gridbox( diode(,D) ) Right + Gridbox( diode(,B) ) Right + Gridbox( diode(,LE) ) Right + Gridbox( [circle diam dimen_*0.7] ) Right + Gridbox( xtal ) Right + dot(at g_snap(last [].e+(2*gunit,0))) + +A:Gridbox( source ) Below(A) + Gridbox( source(,I) ) Right + Gridbox( source(,i) ) Right + Gridbox( source(,V) ) Right + Gridbox( source(,v) ) Right + Gridbox( source(,AC) ) Right + Gridbox( source(,S) ) Right + Gridbox( source(,X) ) Right + Gridbox( source(,F) ) Right + Gridbox( source(,P) ) Right + Gridbox( source(,U) ) Right + Gridbox( source(,R) ) Right + Gridbox( source(,T) ) Right + Gridbox( source(,L) ) Right + Gridbox( nullator ) Right + Gridbox( norator ) Right + Gridbox( consource ) Right + Gridbox( consource(,I) ) Right + Gridbox( consource(,i) ) Right + Gridbox( consource(,V) ) Right + Gridbox( consource(,v) ) Right + Gridbox( source(,Q) ) Right + Gridbox( source(,G) ) Right + +A:Gridbox( battery(up_ elen_) ) Below(A) + Gridbox( battery(up_ elen_,3) ) Right + Gridbox( ttmotor ) Right + Gridbox( memristor ) Right + Gridbox( tline ) Right + Gridbox( fuse ) Right + Gridbox( fuse(,D) ) Right + Gridbox( fuse(,B) ) Right + Gridbox( fuse(,C) ) Right + Gridbox( fuse(,S) ) Right + Gridbox( fuse(,HB) ) Right + Gridbox( fuse(,HC) ) Right + Gridbox( cbreaker ) Right + Gridbox( cbreaker(,,D) ) Right + Gridbox([variable(`[]',A)]) Right + Gridbox([variable(`[]',P)]) Right + Gridbox([variable(`[]',L)]) Right + Gridbox([variable(`[]',N)]) Right + Gridbox([variable(`[]',uN)]) Right + Gridbox([line to Here+(Rect_(dimen_/6,45))]) Right + Gridbox([line up dimen_*0.06 then right dimen_*0.12 \ + then up dimen_*0.06]) Right + Gridbox([em_arrows]) Right + Gridbox([em_arrows(N)]) Right + Gridbox([em_arrows(ND)]) Right + Gridbox([em_arrows(I)]) Right + Gridbox([em_arrows(ID)]) Right + Gridbox([em_arrows(E)]) Right + Gridbox([em_arrows(ED)]) Right + +A:Gridbox( [right_; ground] ) Below(A) + Gridbox( [right_; ground(,T)] ) Right + Gridbox( [right_; ground(,,F)] ) Right + Gridbox( [right_; ground(,,E)] ) Right + Gridbox( [right_; ground(,,S)] ) Right + Gridbox( [right_; ground(,,L)] ) Right + Gridbox( [right_; ground(,,P)] ) Right + Gridbox( transformer(right_ 6*gunit,L) ) Right + Gridbox( transformer(right_ 8*gunit,,2,8) ) Right + Gridbox( transformer(,,8,W,4) ) Right + Gridbox( transformer(,,9,AL) ) Right + Gridbox( transformer(,R,8,AW) ) Right + + rpoint_(right_) +A:Gridbox( switch ) Below(A) + Gridbox( switch(,,O) ) Right + Gridbox( switch(,,D) ) Right + Gridbox( switch(,,OD) ) Right + Gridbox( switch(,,C) ) Right + Gridbox( switch(,,B) ) Right + Gridbox( switch(,C,B) ) Right + Gridbox( dswitch ) Right + Gridbox( dswitch(,,WBK) ) Right + Gridbox( dswitch(,,WBuD) ) Right + Gridbox( dswitch(,,WBF) ) Right + Gridbox( dswitch(,,WBKF) ) Right + Gridbox( dswitch(,,WBL) ) Right + Gridbox( dswitch(,,WBKL) ) Right + +A:Gridbox( dswitch(,,WBT) ) Below(A) + Gridbox( dswitch(,,WdBKC) ) Right + Gridbox( dswitch(,,WBM) ) Right + Gridbox( dswitch(,,WBCO) ) Right + Gridbox( dswitch(,,WBCMP) ) Right + Gridbox( dswitch(,,WBCY) ) Right + Gridbox( dswitch(,,WBCZ) ) Right + Gridbox( dswitch(,,WBCE) ) Right + Gridbox( dswitch(,,WBRH) ) Right + Gridbox( dswitch(,,WBRdH) ) Right + Gridbox( dswitch(,,WBRHH) ) Right + +A:Gridbox( dswitch(,,WBMMR) ) Below(A) + Gridbox( dswitch(,,WBMM) ) Right + Gridbox( dswitch(,,WBMR) ) Right + Gridbox( dswitch(,,WBEL) ) Right + Gridbox( dswitch(,,WBLE) ) Right + Gridbox( dswitch(,,WBKEL) ) Right + Gridbox( antenna ) Right + Gridbox( antenna(,,L) ) Right + Gridbox( antenna(,,T) ) Right + Gridbox( antenna(,,S) ) Right + Gridbox( antenna(,,D) ) Right + Gridbox( antenna(,,P) ) Right + Gridbox( antenna(,,F) ) Right + +A:Gridbox( amp(right_ elen_*10/8) ) Below(A) +D1:Gridbox( integrator ) Right + Gridbox( delay ) Right + Gridbox( opamp ) Right + Gridbox( opamp(,,,,T) ) Right + Gridbox( amp(,dimen_/2) ) Right + Gridbox( integrator(,dimen_/2) ) Right + Gridbox( delay(,delay_rad_) ) Right + Gridbox( opamp(,,,dimen_*2/3) ) Right + Gridbox( opamp(,,,dimen_*2/3,T) ) Right + +right_ +A:Gridbox( relay(2) ) Below(A) + Gridbox( relay(2,O) ) Right + Gridbox( relay(2,C) ) Right + Gridbox( relay ) Right + Gridbox( contact ) Right + Gridbox( contact(O) ) Right + Gridbox( contact(C) ) Right + +up_ +A:Gridbox( [circle rad 29/10*gunit] ) Below(A) + Gridbox( bi_tr ) Right + Gridbox( bi_tr(,R) ) Right + Gridbox( bi_tr(,,P) ) Right + Gridbox( bi_tr(,R,P) ) Right + + Gridbox( j_fet ) Right + Gridbox( j_fet(,R) ) Right + Gridbox( j_fet(,,P,) ) Right + Gridbox( j_fet(,R,P,) ) Right + Gridbox( e_fet(,,,) ) Right + Gridbox( e_fet(,R,,) ) Right + + Gridbox( e_fet(,,P,) ) Right + Gridbox( e_fet(,R,P,) ) Right + Gridbox( d_fet(,,,) ) Right + Gridbox( d_fet(,R,,) ) Right + Gridbox( d_fet(,,P,) ) Right + Gridbox( d_fet(,R,P,) ) Right + +A:Gridbox( igbt ) Below(A) + Gridbox( ujt ) Right + Gridbox( ujt(,,P) ) Right +rpoint_(down_) + Gridbox( thyristor ) Right + Gridbox( thyristor(,B) ) Right + Gridbox( thyristor(,BG) ) Right + Gridbox( thyristor(,A) ) Right + Gridbox( thyristor(,C) ) Right +rpoint_(up_) + Gridbox( j_fet ) Right + Gridbox( e_fet ) Right + Gridbox( e_fet(,,,S) ) Right + Gridbox( e_fet(,,P) ) Right + Gridbox( e_fet(,,P,S) ) Right + Gridbox( d_fet ) Right + Gridbox( d_fet(,,,S) ) Right + Gridbox( d_fet(,,P,) ) Right + Gridbox( d_fet(,,P,S) ) Right + Gridbox( j_fet ) Right + Gridbox( j_fet(,,P) ) Right + Gridbox( mosfet(,,uHSDF) ) Right + +rpoint_(right_) +A:Gridbox( tgate ) Below(A) + Gridbox( tgate(,B) ) Right + Gridbox( ptrans ) Right + +A:Gridbox( AND_gate ) Below(A) + Gridbox( OR_gate ) Right + Gridbox( NAND_gate ) Right + Gridbox( NOR_gate ) Right + Gridbox( XOR_gate ) Right + Gridbox( NXOR_gate ) Right + Gridbox( BUFFER_gate ) Right + Gridbox( NOT_gate ) Right + +# input lines for OR-like gates. +define(`OR_inlgth',`(-sqrt(OR_rad^2-G_hht^2)+sqrt(OR_rad^2-`$1'^2))*L_unit') + + Gridbox( [ {move right_ gunit} + {move from last move-svec_(0,G_hht) to last move+svec_(0,G_hht)} + {line right_ OR_inlgth(0)} + {line right_ OR_inlgth(2) from Here+svec_(0,2)} + {line same from Here-svec_(0,2)} + {line right_ OR_inlgth(1) from Here+svec_(0,1)} + {line same from Here-svec_(0,1)}] ) Right + Gridbox( [ {move right_ gunit} + {move from last move-svec_(0,G_hht) to last move+svec_(0,G_hht)} + {line right_ OR_inlgth(0)} + {line right_ OR_inlgth(2) from Here+svec_(0,2)} + {line same from Here-svec_(0,2)}] ) Right + Gridbox( [ {move right_ gunit} + {move from last move-svec_(0,G_hht) to last move+svec_(0,G_hht)} + {line right_ OR_inlgth(2) from Here+svec_(0,2)} + {line same from Here-svec_(0,2)}] ) Right + Gridbox( [ {move right_ gunit} + {move from last move-svec_(0,G_hht) to last move+svec_(0,G_hht)} + {line right_ OR_inlgth(0)}] ) Right + +right_ +A:Gridbox( speaker ) Below(A) + Gridbox( speaker(,,H) ) Right + Gridbox( bell ) Right + Gridbox( microphone ) Right + Gridbox( buzzer ) Right + Gridbox( buzzer(,,C) ) Right + Gridbox( earphone ) Right + Gridbox( earphone(,,C) ) Right + Gridbox( nport ) Right + Gridbox( nterm ) Right + +A:Gridbox( FlipFlop(D) ) Below(A) + Gridbox( FlipFlop(T) ) Right + Gridbox( FlipFlop(RS)) Right + Gridbox( FlipFlop(JK)) Right + + ] with .nw at (0,0) + +#"A draft palette of a few elements for Inkscape using a 1 mm grid" \ +# ljust below at last [].sw + + command "" # end font +.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/psfrag/Makefile b/Master/texmf-dist/doc/latex/circuit-macros/examples/psfrag/Makefile index e79d5bee4d1..65f7dd91410 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/psfrag/Makefile +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/psfrag/Makefile @@ -20,38 +20,37 @@ M4 = m4 #--------------------------------------------- DOC = examplespsfrag -FIGS = Adder.eps Alogix.eps ABlogix.eps Antennas.eps Audio.eps AmpTable.eps \ - AntiqueClock.eps \ - Bip.eps Btree.eps Byte.eps Buttons.eps \ - CanLogic.eps CctTable.eps Conn.eps Connectors.eps \ - Counting.eps Crossbar.eps Crow.eps \ - Decoder.eps Demultiplexer.eps Dini.eps Diodes.eps Drive.eps \ - Contact.eps Contacts.eps \ - Csource.eps \ - Emarrows.eps Flow.eps Fuses.eps \ - GrayCode.eps Grounds.eps Headers.eps Heathkit.eps Jack.eps \ - I2L.eps Inclpdf.eps \ - Lyap.eps Logic.eps Loglog.eps \ - MC.eps Mixer.eps MotorControl.eps Multiplexer.eps \ - NLG.eps NPDT.eps Nport.eps \ - Opamp.eps Optoiso.eps Pconn.eps PushPull.eps Quantum.eps \ - Rectifiers.eps Relay.eps Rotbox.eps \ - Schottky.eps Sierpinski.eps ShiftR.eps Sixpole.eps Sources.eps SQUID.eps \ - Switches.eps \ - Tgate.eps Three.eps Timer.eps TTLnand.eps Ttree.eps Tubediags.eps \ - Windings.eps Variable.eps Xform.eps XOR.eps \ - control.eps csc.eps diamond.eps \ - ex00.eps ex01.eps ex02.eps ex03.eps ex04.eps \ - ex05.eps ex06.eps ex08.eps ex09.eps ex10.eps ex11.eps ex12.eps \ - ex15.eps ex16.eps ex17.eps ex18.eps ex21.eps exp.eps \ - fet.eps graysurf.eps lcct.eps pwrsupply.eps quick.eps \ - random.eps recycle.eps relaycoil.eps rose.eps sfg.eps shapes.eps \ - thyristor.eps ujt.eps worm.eps +FIGS = \ + ABlogix.eps Adder.eps Alogix.eps AmpTable.eps Antennas.eps Arresters.eps \ + Audio.eps Bip.eps Btree.eps Buttons.eps Byte.eps \ + Capacitors.eps CanLogic.eps Chips.eps Conn.eps Connectors.eps \ + Contacts.eps Contact.eps control.eps Crow.eps \ + csc.eps Csource.eps Decoder.eps \ + Demultiplexer.eps diamond.eps Dini.eps Diodes.eps Drive.eps \ + EEP.eps Emarrows.eps Escher.eps EVplugs.eps \ + ex00.eps ex01.eps ex02.eps ex03.eps ex04.eps ex05.eps ex06.eps ex08.eps \ + ex09.eps ex10.eps ex11.eps ex12.eps ex15.eps ex16.eps ex17.eps ex18.eps \ + ex21.eps exp.eps fet.eps Flow.eps Fuses.eps \ + Geometry.eps GrayCode.eps graysurf.eps Grounds.eps \ + Headers.eps Heathkit.eps \ + I2L.eps Incleps.eps Inductors.eps Jack.eps \ + lcct.eps Logic.eps Loglog.eps MC.eps Mixer.eps MoreTable.eps \ + MotorControl.eps Multiplexer.eps \ + NLG.eps NPDT.eps Nport.eps Opamp.eps Optoiso.eps \ + Pconn.eps Plate.eps PushPull.eps pwrsupply.eps \ + Quantum.eps quick.eps \ + random.eps Rectifiers.eps recycle.eps relaycoil.eps Relay.eps \ + Resistors.eps Rotbox.eps \ + Schottky.eps sfg.eps shapes.eps ShiftR.eps Sierpinski.eps Sixpole.eps \ + Smithchart.eps Sources.eps SQUID.eps Switches.eps \ + Tgate.eps Three.eps thyristor.eps TTLnand.eps Tubediags.eps \ + UNO.eps ujt.eps Variable.eps Windings.eps worm.eps Xform.eps XOR.eps \ + rose.eps LOCALFIGS = ex21 # Files using boxdims macros: -BOXDIMS = ex09 Crow Inclpdf Loglog TTLnand Opamp Ttree Windings +BOXDIMS = ex09 Crow Incleps Loglog TTLnand Opamp Btree Windings # It is advisable to do `make clean' between test examples. #--------------------------------------------- @@ -131,7 +130,7 @@ test.pic: test.m4 testlinks $(M4) $(M4MACROS) tstpsfrag.dim test.m4 > test.pic testlinks: - for file in ics.m4 FlowchartDefs.m4 ; do ln -s ../$$file ; done + -for file in ics.m4 FlowchartDefs.m4 ; do ln -s ../$$file ; done touch testlinks clean: @@ -143,6 +142,7 @@ clean: -if /usr/bin/test -f testlinks ; then \ ls -l *.m4 | grep '\->' | \ sed -e 's/^.* \([^ ][^ ]*\) ->.*$$/rm -f \1/' | sh; rm -f testlinks ; fi + rm -f FlowchartDefs.m4 ics.m4 for file in $(LOCALFIGS); do rm -f $${file}.m4 ; done rm -f *.log *.ps *.aux *.mp *.[0-9] *.[0-9][0-9] *.mpx *.eps *.dim *.pic rm -f core log mpxerr* *links figs.* *.dim dims F_test.* setdim.tex diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/rose.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/rose.m4 index b088b3afd46..5e12511ca19 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/rose.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/rose.m4 @@ -1,11 +1,13 @@ .PS # rose.m4 gen_init -ifelse(rgbstring(1,1,1),"", +ifelse( +ifpstricks(T)`'ifmpost(T)`'ifpostscript(T)`'ifpdf(T)`'ifpgf(T)`'ifsvg(T),, `This diagram is for PSTricks, postscript, PDF, MetaPost, or SVG', ` -scale = 1.2 +scale = 1.25 +Rose: [ define(`gold_',`1,0.84,0') define(`rose',`point_(`$2'); CC: (vec_(`$1',0)); rrad = `$3' @@ -126,5 +128,40 @@ C: (0,0) box wid tmp ht tmp at C ] with .sw at 1,1 +] # Rose + +Halftone: [ +#.PS +# SpiralHalftoneSVG.m4 +# https://tex.stackexchange.com/questions/584455/how-to-draw-this-spiral-made-of-circles-in-latex +# gen_init + + r = 133/255; g = 196/255; b = 100/255 + skale = 2/3*scale + skale = 2.49/4.25 + + holerad = 1*skale + outerrad = 4.25*skale + { circle thick 0.8 rad outerrad+2bp__ at Here outlined rgbstring(r,g,b) } + + define grcirc {circle diam $1 colored rgbstring(r,g,b)} + + npts = 200 + outercdiam = (outerrad/npts)*twopi_ + angoffset = -5*pi_/4 + da = twopi_/npts*10/3 + radc = outerrad + for x = 0 to 1 do { + cdiam = outercdiam*radc/outerrad + for i=0 to npts-1 do { ang = i/npts*twopi_ + grcirc(cdiam*abs(ang-pi_)/pi_) at rect_(radc,ang+angoffset) } + angoffset += da + radc -= cdiam*2/3 + if radc < holerad then { x = 1 } else { x = 0 } + } + +#.PE + ] with .sw at Rose.se+(0.2,0) + ') .PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ABlogixSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ABlogixSVG.m4 deleted file mode 100644 index d457250cc36..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ABlogixSVG.m4 +++ /dev/null @@ -1,53 +0,0 @@ -.PS -# `ABlogixSVG.m4' - log_init(svg_font(sans-serif,10.5bp__)) - linewid = 0.4 - -# A more complex expression - F: Autologix(And(Or(x3,x1,~x0),Nor(Or(x3,Not(x2),~x1,x0), - And(x4,Or(x2,x1,~x0),Xor(x2,~x1))))) - - Loopover_(`v_', `"svg_it(v_)" wid 11bp__ at F.In`'v_ above', x0,x1,x2,x3,x4) - "svg_it(Out)" ljust at F.Out - "svg_tt(`Autologix(And(Or(x3,x1,~x0),')" \ - wid 201bp__ with .w at F.sw+(0,-0.25) - "svg_tt(`Nor(Or(x3,Not(x2),~x1,x0),And(x4,Or(x2,x1,~x0),')" \ - wid 343bp__ with .w at last "".w+(65bp__,-16bp__) - "svg_tt(`Xor(x2,~x1)))))')" \ - wid 105bp__ with .w at last "".w+(0,-16bp__) -# Inputs on the left with vert offset in L_units -define(`Doff',LV;offset=25) - G: Autologix(And(Or(x3,x1,~x0),Nor(Or(x3,Not(x2),~x1,x0), - And(x4,Or(x2,x1,~x0),Xor(x2,~x1)))), - Doff*L_unit) \ - with .sw at F.Out+(0.2,-0.7) - - Loopover_(`v_', `"svg_it(v_)" wid 11pt__ at G.In`'v_ rjust ', x0,x1,x2,x3,x4) - "svg_it(Out)" wid 22bp__ ljust at G.Out - "svg_tt(`...,'Doff*L`'_unit))" at G.s+(0,-10pt__) - -# A more complex expression -define(`Eoff',R) - E: Autologix(And(Or(x3,x1,~x0),Nor(Or(x3,Not(x2),~x1,x0), - And(x4,Or(x2,x1,~x0),Xor(x2,~x1)))), - Eoff) \ - with .nw at F.sw+(0,-1.5) - - Loopover_(`v_', `"svg_it(v_)" wid 11bp__ at E.In`'v_ above ', x0,x1,x2,x3,x4) - "svg_it(Out)" ljust at E.Out - "svg_tt(...`,'Eoff))" at E.s+(0,-10pt__) - -# Inputs on the left with vert offset in L_units -define(`Foff',LRV;offset=17) - D: Autologix(And(Or(x3,x1,~x0),Nor(Or(x3,Not(x2),~x1,x0), - And(x4,Or(x2,x1,~x0),Xor(x2,~x1)))), - Foff*L_unit) \ - with .sw at E.Out1+(0.2,-0.5) - - Loopover_(`v_', `"svg_it(v_)" wid 11pt__ at D.In`'v_ rjust ', x0,x1,x2,x3,x4) - "svg_it(Out)" ljust at D.Out - "svg_tt(...`,'Foff*L`'_unit))" at D.s+(0,-10pt__) - - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AdderSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AdderSVG.m4 deleted file mode 100644 index 6c0de6b5edd..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AdderSVG.m4 +++ /dev/null @@ -1,76 +0,0 @@ -.PS -# AdderSVG.m4 -log_init(svg_font(sans-serif,11bp__)) - - del = linewid/4 -[ # full adder using gates - A: dot; { move left 15bp__}; {"A" rjust}; line right - Xor1: XOR_gate with .In1 at Here - dy = Xor1.In1.y-Xor1.In2.y - B: dot(at (A,Xor1.In2)); {"B" rjust}; line to Xor1.In2 - line from Xor1.Out right 2*del+dy - Xor2: XOR_gate with .In1 at Here - - Co: Autologix(Or(And(X1,X2),And(A,B)),N) with .nw at Xor2.sw+(-del,-del/2) - line from Co.In1 to (Co.In1,Xor2.In2) then to Xor2.In2 - dot(at (Xor1.Out+(del,0))); line to (Here,Co.In2) then to Co.In2 - dot(at (Xor1.In1-(del,0))); line to (Here,Co.In3) then to Co.In3 - dot(at (Xor1.In2-(del+dy,0))); line to (Here,Co.In4) then to Co.In4 - line right del from Co.Out1; dot; {"Co" ljust } - dot(at (Here,Xor2.Out)); {"S" ljust}; line to Xor2.Out - Ci: dot(at (B,(0.5 between Xor2.s and Co.n))); line to (Co.In1,Here); dot - "Ci" rjust at Ci - ] - -[ # truth table - griddim = linewid*0.4 - define(`row',`T: (0,-(`$1')*griddim*0.8) - Loopover_(`v',`"v" at T; T: T+(griddim,0)', shift($@))') - - [row(0,A,B,Ci,Co,S)] - line thick 2 color "gray" right 4.5*griddim \ - with .c at last [].c+(0,-griddim/2) - - [row(1,0,0,0,0,0) - row(2,0,0,1,0,1) - row(3,0,1,0,0,1) - row(4,0,1,1,1,0) - row(5,1,0,0,0,1) - row(6,0,1,1,0,0) - row(7,1,1,0,1,0) - row(8,1,1,1,1,1) ] with .n at last [].c+(0,-griddim) - - ] with .nw at 1st [].ne+(linewid,0) - -[ # cascade of n-bit adders -define(`smarrow',`arrow arrowht*4/5 wid arrowwid*5/4') -define(`nbitadder', -`FlipFlopX(wid 2*linewid fill_(0.9),n-bit adder, - :, I:;I:;;;I:;I:, I:, O:;;;O: ) `$3' - `"... "' at last [].Chip.n + (0,arrowht) - `"... "' at last [].Chip.s - (0,arrowht) - ifelse(`$1',,, - `"x`'svg_sub($1)" at last [].N6.end above - "s`'svg_sub($1)" at last [].S4.end below - "y`'svg_sub($1)" at last [].N5.end above') - ifelse(`$2',,, - `"x`'svg_sub($2)" ljust at 0.5 between last [].N2.end and last [].N1.end above - "y`'svg_sub($2)" rjust at 0.5 between last [].N2.end and last [].N1.end above - "s`'svg_sub($2)" at last [].S1.end below ') - ') - -P: nbitadder(0,n-1) - {"c`'svg_sub(o)" wid 0.15 at P.E1.end ljust } - {"c`'svg_sub(n)" at P.W1.end above } -Q: nbitadder(n,2n-1, with .E1.end at P.W1.end) - smarrow left arrowht from Q.W1.end - { "... " at Here+(-10pt__,0) } -R: nbitadder(,kn-1, with .E1.end at Here-(20bp__,0)) - smarrow left arrowht from R.W1.end - {"c`'svg_sub(kn)" wid 0.22 rjust } - - - ] with .nw at 1st [].sw+(0,-0.5) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AlogixSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AlogixSVG.m4 deleted file mode 100644 index 03362739039..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AlogixSVG.m4 +++ /dev/null @@ -1,116 +0,0 @@ -.PS -# `AlogixSVG.m4' -log_init(svg_font(sans-serif,10.5bp__)) - -# A modest expression in default form -A: Autologix( - Nand(And(Or(A,C),Or(B,~C),Or(~A,B,C)),Ck); - Nand(~A,B)@with .n at last [].s+(0,-2bp__)) - "svg_it(Out1)" at A.Out1 ljust - "svg_it(Out2)" at A.Out2 ljust - Loopover_(`v_', `"svg_it(v_)" at A.In`'v_ above ', A,B,C,Ck) - move left 0.2 from A.w - "svg_tt(`Autologix(')" wid 68bp__ with .w at A.sw+(0,-0.15) - "svg_tt(`Nand(And(Or(A,C),Or(B,~C),Or(~A,B,C)),Ck);')" \ - wid 305bp__ with .w at last "".w+(0.2,-0.18) - "svg_tt(`Nand(~A,B)@with .n at last [].s+(0,-2bp__))')"\ - wid 313bp__ with .w at last "".w+(0,-0.18) - -# Draw a tree of gates only. The ~ has been -# replaced by NOT gates. -B: Autologix(Or(And(B,Not(C)),And(Not(A),B,C)),N) \ - with .sw at A.e+(1.3,-0.5) - "svg_it(Out)" at B.Out above ljust - "svg_tt(`Autologix(Or(And(B,Not(C)),')" wid 165bp__ \ - with .w at B.sw+(-0.6,-0.15) - "svg_tt(`And(Not(A),B,C)),N)')" wid 122bp__ with .w at last "".w+(1.1,-0.18) - for_(1,4,1,`"svg_it(B.In`'m4x)" at B.In`'m4x rjust') - "svg_it(B.In5)" at B.In5+(0,-1.5bp__) rjust - -# Here is how to include an arbitrary circuit -# that is not one of the standard gates. -# First, define the circuit with a name ending -# in _gate. Make sure its inputs are on the left -# and named In1, In2, ... and the output Out -# is on the right. -define(`SR_gate',`[ - S: NOR_gate - R: NOR_gate at S+(0,-L_unit*(AND_ht+4)) - w = (S.Out.x-R.In1.x)/3 - v = 2*L_unit - line right_ dimen_/2 from S.Out - Out: Here - TR: R.In1-(v,0) - line from S.Out+(v,0) down w*3/2 then left S.Out.x-TR.x+v down w \ - then to TR then to R.In1 - TS: S.In2-(v,0); - line from R.Out right v then up w*3/2 then left R.Out.x-TS.x+v up w \ - then to TS then to S.In2 - In1: S.In1 - In2: R.In2 ]') -# Now define the function by which the circuit -# will be invoked: -define(`SRff',`_AutoGate(SR,$@)') - -# You are done. Here is an example: -G: [ - F: Autologix(SRff(And(x,y),Nand(x,y)),LRV) - - "svg_it(x)" at F.Inx rjust - "svg_it(y)" at F.Iny rjust - "svg_it(Out)" at F.Out ljust - ] with .sw at A.n+(0.5,-0.25) - "svg_tt(`Autologix(SRff(And(x,y),Nand(x,y)),LRV)')" wid 285pt__ \ - with .w at last [].sw+(0,-10pt__) - -undefine(`extras') -define(`extras') - -ifdef(`extras',` - Q1: Autologix(Nor(Nor(A,And(B,C)),Nand(Not(B),D))) \ - with .nw at A.sw+(0,-61bp__) - Loopover_(`x',`"x" wid 7bp__ at last [].In`'x above',A,B,C,D) - - "svg_tt(`Q1: Autologix(Nor(Nor(A,And(B,C)),Nand(Not(B),D)),options)')" \ - wid 363bp__ with .nw at Q1.sw+(0,-10bp__) - "svg_tt(`Loopover_(`x',`\"svg_it(x)\" at last [].In`'x above',A,B,C,D)')" \ - wid 431bp__ with .nw at last "".sw+(0,-5bp__) - - Q2: Autologix(Nor(Nor(A,And(B,~C)),Nand(Not(B),D)),V) \ - with .nw at last "".sw+(0,-16bp__) - Loopover_(`x',`"x" at last [].In`'x above',A,B,C,D) - "V" at last [].se above rjust - - Q3: Autologix(Nor(Nor(A,And(B,C)),Nand(Not(B),D)),R) \ - with .nw at last [].sw+(0,-0.2) - Loopover_(`x',`"x" at last [].In`'x above',A,B,C,D) - "R" at last [].se above rjust - - Q4: Autologix(Nor(Nor(A,And(B,C)),Nand(Not(B),D)),RV) \ - with .nw at last [].sw+(0,-0.2) - Loopover_(`x',`"x" at last [].In`'x above',A,B,C,D) - "RV" at last [].se above rjust - - Autologix(Nor(Nor(A,And(B,C)),Nand(Not(B),D)),LRV) \ - with .Out at Q4.Out+(3.5,0) - Loopover_(`x',`"x" at last [].In`'x rjust',A,B,C,D) - "LRV" at last [].se above rjust - - Autologix(Nor(Nor(A,And(B,C)),Nand(Not(B),D)),LR;offset=-L_unit*1.5) \ - with .Out at Q3.Out+(3.5,0) - Loopover_(`x',`"x" at last [].In`'x rjust',A,B,C,D) - "LR" at last [].se above rjust - - Autologix(Nor(Nor(A,And(B,~C)),Nand(Not(B),D)),LV;offset=L_unit*2) \ - with .Out at Q2.Out+(3.5,0) - Loopover_(`x',`"x" at last [].In`'x rjust',A,B,C,D) - "LV" at last [].se above rjust - - Autologix(Nor(Nor(A,And(B,C)),Nand(Not(B),D)),L) \ - with .Out at Q1.Out+(3.5,0) - Loopover_(`x',`"x" at last [].In`'x rjust',A,B,C,D) - "L" at last [].se above rjust -') - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AmpTableSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AmpTableSVG.m4 deleted file mode 100644 index 2850ff5ad70..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AmpTableSVG.m4 +++ /dev/null @@ -1,25 +0,0 @@ -.PS -# `Amptable.m4' -cct_init(svg_font(sans-serif,11bp__)) - - textwid = 0.7 - movewid = 2pt__ -{ - {amp ; move ; "`amp'" ljust} - move down 0.4; right_ - {amp(,0.3) ; move ; "`amp'(,0.3)" ljust} - } - move right_ 2.0 -{ {delay ; move ; "`delay'" ljust} - move down 0.4; right_ - {delay(,0.2) ; move ; "`delay'(,0.2)" ljust} - } - - move right_ 2.0 -{ {integrator ; move ; "`integrator'" ljust} - move down 0.5; right_ - {integrator(,0.3) ; move ; "`integrator'(,0.3)" wid 1.2 at Here ljust} - } - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AntennasSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AntennasSVG.m4 deleted file mode 100644 index ed098b39108..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AntennasSVG.m4 +++ /dev/null @@ -1,40 +0,0 @@ -.PS -# `Antennas.m4' -cct_init(svg_font(sans-serif,11bp__)) - textoffset = 3bp__ - - define(`elen_',elen_*0.9) - B: Here - A: antenna - "T" below at A.T - "`antenna'" wid 0.6 at A.n above - A: antenna(at A.T+(elen_,0),T) - "T" below at A.T - "`(,T)'" at A.n above - A: antenna(at A.T+(elen_,0),,L) - "T1" below rjust at A.T1 - "T2" below ljust at A.T2 - "`(,,L)'" at A.n above - A: antenna(at A.T+(elen_,0),T,L) - "T1" below rjust at A.T1 - "T2" below ljust at A.T2 - "`(,T,L)'" at A.n above - A: antenna(at A.T+(elen_,0),,T) - "T" below at A.T - "`(,,T)'" at A.n above - A: antenna(at A.T+(elen_,0),,S) - "T1" below rjust at A.T1 - "T2" below ljust at A.T2 - "`(,,S)'" at A.n above - A: antenna(at A.T+(elen_,0),,D) - "T1" below rjust at A.T1 - "T2" below ljust at A.T2 - "`(,,D)'" at A.n above - A: antenna(at A.T+(elen_,0),,P) - "T" below at A.T - "`(,,P)'" at A.n above - A: antenna(at A.T+(elen_,0),,F) - "T" below at A.T - "`(,,F)'" at A.n above - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ArrowFnSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ArrowFnSVG.m4 deleted file mode 100644 index b72914b7285..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ArrowFnSVG.m4 +++ /dev/null @@ -1,59 +0,0 @@ -.PS -# ArrowFnSVG.m4 -# https://tex.stackexchange.com/questions/581089/arrow-function-diagrams -gen_init - brad = 0.04 - bht = 0.4 - bwid = 0.25 -define(`rbox',`box rad brad outlined "Orange"') - -B1: [ - svg_font(Times,14bp__) - linethick = 1.2 - arrowwid = 0.08 - rbox wid 5*boxwid ht 3/2*boxwid - line from last box.w-(bht/4,0) "svg_it(X)" above ljust -T: Here - arrow up bwid right bwid then right bwid -F: rbox ht bht "svg_it(f)" - {"svg_it(Y)" above ljust } - arrow down bwid right bwid from T then right boxwid + bwid*3/2 -G: rbox ht bht "svg_it(g)" - {"svg_it(Z)" above ljust } -S: circle diam bht "svg_it(+)" at (G.e.x+boxwid,(F.y+G.y)/2) - d = F.y-S.nw.y - arrow from F.e to S.nw+(-d,d) then to S.nw - arrow from G.e to S.sw+(-d,-d) then to S.sw - arrow right from S.e - command "" # end font - ] -[ - svg_font(Times,11bp__) - bht = bht/2 - sbwid = boxwid*3/4 - bbwid = sbwid*5/4 - dh = bht/2 -B1: rbox wid bbwid ht bbwid -B2: rbox wid sbwid*3/2 ht bbwid at B1+(3/2*bbwid,0) -B3: rbox wid bbwid ht bbwid at B2+(3/2*bbwid,0) -B4: rbox wid sbwid*3/2 ht bbwid at B3+(3/2*bbwid,0) -B5: rbox wid bbwid ht bbwid at B4+(3/2*bbwid,0) - F: rbox ht bht wid sbwid at B2.n-(0,bht*3/4) "svg_it(f)" -BR: B2.s+(0,B2.n.y-F.y) - G: rbox ht bht wid sbwid at (B4,F) "svg_it(g)" - S: circle diam bht*3/2 at B5+(bht/2,0) "svg_it(+)" - arrow right from S.e - T: B1.w+(dh,0) -B: rbox ht bbwid*5/4 wid boxwid*7.25 with .w at T-(sbwid*3/4,0) - { line from T left sbwid "svg_it(x)" above ljust } - arrow from T to (B1.e-(dh,0),F) then to F.w - arrow from F.e to (B3.w+(dh,0),F) then to (B3.e-(dh,0),BR) - continue to (B5.w+(dh,0),Here) then to S.sw - line thick 5 outlined "white" from B3.sw to B3.ne chop brad - arrow from T to (B1.e-(dh,0),BR) then to (B3.w+(dh,0),BR) \ - then to (B3.e-(dh,0),G) then to G.w - arrow from G.e to (B5.w+(dh,0),G) then to S.nw - command "" # end font - ] with .nw at B1.sw+(0,-0.2) - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AudioSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AudioSVG.m4 deleted file mode 100644 index 709fdf4c251..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AudioSVG.m4 +++ /dev/null @@ -1,103 +0,0 @@ -.PS -# `AudioSVG.m4' -cct_init(svg_font(sans-serif,11bp__,2bp__)) - -define(`In123',` -thinlines_ - arrow <- from `$1'.In1 up 0.05 left 0.15 - "svg_it(In1)" wid 0.25 rjust above - arrow <- left 0.15 from `$1'.In2 - "svg_it(In2)" rjust - arrow <- from `$1'.In3 down 0.05 left 0.15 - "svg_it(In3)" rjust below -thicklines_ ') - -L:[ - S: speaker - `"speaker"' at S.s+(0,-0.2) below - In123(S) - thinlines_ - arrow <- from S.In4 left 0.05 up 0.15 - "svg_it(In4)" above rjust - arrow <- from S.In5 right 0.05 up 0.15 - "svg_it(In5)" above ljust - arrow <- from S.In6 left 0.05 down 0.15 - "svg_it(In6)" below rjust - arrow <- from S.In7 right 0.05 down 0.15 - "svg_it(In7)" below ljust - spline <- from S.Box.e+(0,0.05) right 0.27 up 0.10 \ - then right 0.1 up 0.2 - "svg_it(Box)" above - thicklines_ - ] -[ - H: speaker(,,H) - `"...(,,H)"' at H.s+(0,-0.30) below - ] with .sw at last [].se -[ - B: bell - `"bell"' at B.s+(0,-0.2) below - In123(B) - thinlines_ - arrow <- from B.Box.n+(-0.1,0) up 0.15 left 0.1 ; "svg_it(Box)" above - arrow <- from B.Circle.n up 0.15 ; "svg_it(Circle)" above - thicklines_ - ] with .sw at last [].se+(0.35,0) -[ - Z: buzzer - `"buzzer"' at Z.s+(0,-0.2) below - In123(Z) - thinlines_ - arrow <- from Z.Box.n up 0.15 ; "svg_it(Box)" above - thicklines_ - ] with .sw at last [].se+(0.4,0) -R:[ - Z: buzzer(,,C) - `"buzzer(,,C)"' at Z.s+(0,-0.2) below - In123(Z) - thinlines_ - spline <- from 0.8 right 2*arrowht up 0.5*arrowht \ - then up 0.15 right 0.05 - "svg_it(Face)" wid 0.5 at Here above - thicklines_ - ] with .sw at last [].se+(0.4,0) -[ - M: microphone - `"microphone"' wid 60bp__ at M.s+(0,-0.2) below - In123(M) - thinlines_ - arrow <- from M.Circle.n up 0.15 ; "svg_it(Circle)" above - thicklines_ - ] with .sw at last [].se+(0.4,0) -[ - M: microphone(A) - "`microphone(A)'" at M.s+(0,-0.2) #below - thinlines_ - arrow <- from M.Head.e+(0,0.05) right 0.2; "svg_it(Head)" wid 40bp__ ljust - spline 0.5 <- from M.Head.b down 0.05 right 0.1 then right 0.1 - "svg_it(Head.b)" ljust - arrow <- from M.Stand.s right 0.2; "svg_it(Stand.s)" ljust - thicklines_ - ] with .n at last [].s+(0,-0.2) -[[ - E: earphone - `"earphone"' at E.s+(0,-0.2) below - In123(E) - thinlines_ - arrow <- from E.Box.n up 0.15 left 0.15 ; "svg_it(Box)" above - thicklines_ - ] - [ - E: earphone(,,C) - `"earphone(,,C)"' at E.s+(0,-0.2) below - thinlines_ - arrow <- from E.L up 0.15 left 0.15; "svg_it(L)" rjust - arrow <- from E.R up 0.15 right 0.15; "svg_it(R)" ljust - "svg_it(N)" at E.N above - "svg_it(C)" at E.C - thicklines_ - ] with .sw at last [].se+(0.4,0) -] with .n at (0.5 between L and R,L.s)+(0.5,-0.2) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AutoencoderSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AutoencoderSVG.m4 deleted file mode 100644 index 05921e1bcc1..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/AutoencoderSVG.m4 +++ /dev/null @@ -1,97 +0,0 @@ -.PS -# Masked_Autoencoder.m4 -gen_init -NeedDpicTools -svg_font(sans-serif,12bp__,textoffset) - - circlerad = 0.2 - circlesep = 0.5 - rowsep = 0.9 - arrowht = arrowht*0.8 - arrowwid = arrowwid*1.4 - linethick = 1 - -define plan { - m = 0 - for i=1 to 4 do { - for j=1 to ncircles[i] do { - exec sprintf("C[i,j]: circle thick 1.6 \"%g\" at Here",m+j) - if i>1 then { - if "$1"=="" then { - for k=1 to ncircles[i-1] do { arrow from C[i,j] to C[i-1,k] chop } } - } - if j!=ncircles[i] then { move right_ circlesep from C[i,j] } - } - m += ncircles[i] - case(i, - move to C[1,1]+(-circlesep/2,-rowsep), - move to C[2,1]+(0,-rowsep), - move to C[3,1]+(circlesep/2,-rowsep), ) - } - } - gridsiz = 0.78/4 -define grid { [ SW: 0,0 - for i=1 to $1 do { - move to (0,(0.5-i)*gridsiz) - exec sprintf("fv = $%g",2+i) - for j=1 to $2 do { fl = 1-(int(fv / 2^(j-1)) % 2) - box wid gridsiz ht gridsiz outlined "gray" shaded rgbstring(fl,fl,fl) } - } ]} - -define cxt { - m = 1 - for i=2 to 4 do { - for j=1 to ncircles[i] do { - exec sprintf("narrows = $%g",m) - for k=1 to narrows do { - exec sprintf("cnum = $%g",m+k) - exec sprintf("arrow from C[i,j] to C[i-1,cnum] $%g chop", $+) - } - m += narrows+1 - } } } - -B: box invis ht 8 wid 8 -[ - array(ncircles,3,4,4,3) - plan() - svg_font(Times,12bp__,textoffset) - for j=1 to 3 do { - sprintf("svg_it(x)`'svg_sub(%g,60%)",j) at C[1,j].n+(0,2bp__) above - "svg_circ" at last ""+(-1bp__,1bp__) - sprintf("svg_it(x)`'svg_sub(%g,60%)",j) at C[4,j].s+(0,-2bp__) below - } - - "V" at 0.5 between C[2,1].w and C[1,1].w - "W`'svg_sup(2)" at 0.5 between C[3,1].w and C[2,1].w - "W`'svg_sup(1)" at 0.5 between C[3,1].w and C[4,1].w - -GV: grid(3,4,0,15,6) with .w at C[2,4]+(circlerad*2,rowsep/2) - "=M`'svg_sup(V)" at GV.e ljust -G2: grid(4,4,13,0,0,13) with .w at (GV.w,C[3,4]+(circlerad*2,rowsep/2)) - "=M`'svg_sup(V`'svg_sup(2))" at G2.e ljust -G1: grid(4,3,1,5,1,1) with .w at (GV.w,C[4,3]+(circlerad*2,rowsep/2)) - "=M`'svg_sup(V`'svg_sup(1))" at G1.e ljust - command "" - - move to (GV.x+3*circlesep,C[1,1].y) - plan(3,1,2,1,2,2,1,2,1,2,2,3,1,2) - for i=2 to 4 do { - cxt(2,1,3,0,0,2,1,3, 0,4,1,2,3,4,0,0, 0,4,1,2,3,4,0, \ - outlined rgbstring(0.5,0.5,0.5) shaded rgbstring(0.5,0.5,0.5) ) - cxt(0,1,1,1,1,0, 2,2,3,0,2,2,3,2,2,3, 0,0,3,1,3,4,) - } - svg_font(Times,12bp__,textoffset) - for j=1 to 3 do { sprintf("svg_it(x)`'svg_sub(%g,60%)",j) \ - at C[4,j].s+(0,-2bp__) below } - arrow dotted from C[1,2].n up circlesep/2 - "svg_it(p(x`'svg_sub(2)))" at Here+(0,2bp__) above - "svg_it(p(x`'svg_sub(3)|x`'svg_sub(2)))" at (C[1,3]+(circlesep/2,0),last "") - arrow dotted from C[1,3] to last "".s chop circlerad chop textoffset - "svg_it(p(x`'svg_sub(1)|x`'svg_sub(2),x`'svg_sub(3)))" \ - at (C[1,1]+(-circlesep/2,0),last "") - arrow dotted from C[1,1] to last "".s chop circlerad chop textoffset - command "" - - ] at B - command "" -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/Banking.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/Banking.m4 deleted file mode 100644 index 630326f867c..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/Banking.m4 +++ /dev/null @@ -1,59 +0,0 @@ -.PS -#Banking.m4 - -gen_init - - scale = 2.54 # use cm - svg_font(Arial Black,11 bp__,2 bp__) - boxwid = 6.8 - boxht = 4.5 - linethick_(1.5) - - define(`heading', - ``$1'') - define(`subheading', - `[`$1']') - define(`wtext',``$1'') - - C: circle diam 2.6 colored "mediumblue" - Person: box rad boxht/4 colored "mediumblue" with .n at C.s+(0,C.rad/8) \ - "heading(Personal Banking)" \ - "" \ - "heading(Customer)" \ - "subheading(Person)" \ - "" \ - "wtext(A customer of the bank`,' with)" \ - "wtext(personal bank accounts.)" - - A1: arrow thick 1.5 dashed down 3.5 from Person.s - svg_font(Arial,11 bp__,2 bp__) - { box invis fill 1 ht 0.4 wid 1.0 "Uses" at A1 } - command "" - Internet: box colored "steelblue" \ - "heading(Internet Banking System)" \ - "subheading(Software system)" \ - "" \ - "wtext(Allows customers to view)" \ - "wtext(information about their bank)" \ - "wtext(accounts`,' and make payments.)" - - svg_font(Arial,11 bp__,2 bp__) - A2: arrow thick 1.5 dashed right 5.4 from Internet.e \ - "Sends e-mail" above "using" below - command "" - Email: box colored "slategrey" \ - "heading(E-mail System)" \ - "subheading(Software system)" \ - "" \ - "wtext(Internal Microsoft Exchange)" \ - "wtext(e-mail system.)" - - A3:arrow thick 1.5 dashed from Email.nw+(0.4,0) to Person.se+(0.3,Person.ht/5) - svg_font(Arial,11 bp__,2 bp__) - { box invis fill 1 ht 0.4 wid 3.3 "Sends e-mails to" at A3 } - command "" - -# etc - - command "" # font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/BipSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/BipSVG.m4 deleted file mode 100644 index 7dbf38c84a7..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/BipSVG.m4 +++ /dev/null @@ -1,68 +0,0 @@ -.PS -# `Bip.m4' -cct_init(svg_font(sans-serif,11bp__)) - - up_ -Q1: bi_tr(up_ dimen_) - thinlines_ - box dotted ht last [].ht wid last [].wid at last [] - thicklines_ - "E" at Q1.E-(0,0.05) below - "B" at Q1.B rjust - "C" at Q1.C above - "`bi_tr(up_ dimen_)'" wid 1.2 at Q1.s + (0,-0.35) below - -Q2: bi_tr(,R) with .E at Q1.E+(0.25,0) - thinlines_ - box dotted ht last [].ht wid last [].wid at last [] - thicklines_ - "E" at Q2.E-(0,0.05) below - "B" at Q2.B ljust - "C" at Q2.C above - "`bi_tr(,R)'" at Q2.s + (0,-0.2) below - -Q3: bi_tr(,,P) with .C at Q2.C+(1.15,0) - thinlines_ - box dotted ht last [].ht wid last [].wid at last [] - thicklines_ - "E" at Q3.E-(0,0.05) below - "B" at Q3.B rjust - "C" at Q3.C above - "`bi_tr(,,P)'" at Q3.s + (0,-0.2) below - -Q4: bi_tr(,,,E) with .C at Q3.C+(0.9,0) - thinlines_ - box dotted ht last [].ht wid last [].wid at last [] - thicklines_ - "E" at Q4.E-(0,0.05) below - "B" at Q4.B rjust - "C" at Q4.C above - "`bi_tr(,,,E)'" at (Q4.s,Q4.E) + (0,-0.2) below - -Q5: igbt(,,) with .E at Q4.E+(0.65,0) - thinlines_ - box dotted ht last [].ht wid last [].wid at last [] - thicklines_ - "E" at Q5.E-(0,0.05) below - "G" at Q5.G rjust - "C" at Q5.C above - "`igbt'" at Q5.s + (0,-0.2) below - -Q6: igbt(,,LD) with .E at Q5.E+(0.55,0) - thinlines_ - box dotted ht last [].ht wid last [].wid at last [] - thicklines_ - "E" at Q6.E-(0,0.05) below - "G" at Q6.G rjust - "C" at Q6.C above - "`igbt(,,LD)'" at (Q6.s,Q6.E) + (0,-0.2) below - -Q7: Darlington with .E at Q6.E+(1.2,0) - thicklines_ - "E" wid 0.15 at Q7.E-(0,0.05) below - "B" at Q7.B rjust - "C" at Q7.C above - "`Darlington'" at (Q7.s,Q7.E) + (0,-0.2) below - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/BtreeSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/BtreeSVG.m4 deleted file mode 100644 index e025572a0ac..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/BtreeSVG.m4 +++ /dev/null @@ -1,109 +0,0 @@ -.PS -# Btree.m4 -# One way to draw a binary tree using pic macros -gen_init(svg_font(sans-serif,11bp__)) -sinclude(tst.dim) -s_init(Btree) -maxpswid = 12 -Btree: [ -circlerad = 0.35 - -define n { [C: circle fill_(0.9) $1 - if "$2" != "" then { - L: $2 with .ne at C.s-(circlerad/20, circlerad/2) - line from C to L.C chop } - if "$3" != "" then { - R: $3 with .nw at C.s+(circlerad/20,-circlerad/2) - line from C to R.C chop } - ] } - -# Redrawn from T. A. Standish, "Data Structure Techniques," Addison-Wesley 1980. -# Node data: -define Sirius { n("Sirius",Canopus,Vega) } -define Canopus { n("Canopus",AlphaCentauri,Capella) } -define AlphaCentauri { n("Alpha" "Centauri",Achernar,Arcturus) } -define Arcturus { n("Arcturus",Betelgeux) } -define Betelgeux { n("Betelgeux",BetaCentauri) } -define Capella { n("Capella",Rigel) } -define Rigel { n("Rigel",Procyon) } -define Achernar { n("Achernar") } -define BetaCentauri { n("Beta" "Centauri") } -define Procyon { n("Procyon") } -define Vega { n("Vega") } - -# Build the tree from the root -S: Sirius - - command "" # end font -] -Ttree: [ -# TtreeSVG.m4 -svg_font(sans-serif,10bp__) - -# `Node(no in row, head [location], -# displacement of top of body (.n) wrt head, -# body Node 1, body Node 2, ...) ' -define(`Node',` - Head`$1': `$2' - ifelse(`$3',,,` Body`$1': [ - Loopover_(`v',`v; define(`m4ct',m4Lx)',shift(shift(shift($@)))) - ] with .n at Head`$1' + `$3' - connect(`$1',m4ct)')') - -define(`connect',`Bot: move from Head$1.sw-(0,5bp__) to Head$1.se-(0,5bp__) -for_(1,`$2',1, - `Top: move from Body$1.Head`'m4x.nw+(0,2bp__) \ - to Body$1.Head`'m4x.ne+(0,2bp__) - Mov: move from Head$1 to Body$1.Head`'m4x - if Bot.len*Top.len*Mov.len > 0 then { - line from Intersect_(Mov,Top) to Intersect_(Mov,Bot)}')') - - vsep = 0.75 -define(`txw',`wid `$1'mm__')dnl scaled by 14/12 for 14 pt type - - Node(1,"svg_it(h(h(h(x`'svg_sub(1),x`'svg_sub(2))," \ - + "h(x`'svg_sub(3),x`'svg_sub(4))),h(h(x`'svg_sub(5),x`'svg_sub(6))," \ - + "h(x`'svg_sub(7),x`'svg_sub(8)))))" txw(70) , - (0,-vsep), - Node(1,"svg_it(h(h(x`'svg_sub(1),x`'svg_sub(2)),h(x`'svg_sub(3)," \ - + "x`'svg_sub(4))))" txw(32) , - (0,-vsep), - Node(1,"svg_it(h(x`'svg_sub(1),x`'svg_sub(2)))" txw(14) , - (0,-vsep), - Node(1,"svg_it(x`'svg_sub(1):=((A,pk`'svg_sub(A)),h`'svg_sub(1)))" \ - txw(29) ), - Node(2,"svg_it(x`'svg_sub(2):=((B,pk`'svg_sub(B)),h`'svg_sub(2)))" \ - txw(29) with .n at last "".ne+(0.2,-vsep*2/3))), - Node(2,"svg_it(h(x`'svg_sub(3),x`'svg_sub(4)))" txw(14) \ - with .nw at Head1.ne+(Body1.wid/2+0.1,0), - (0,-vsep), - Node(1,"svg_it(x`'svg_sub(3):=" \ - + "((A,pk`'svg_prime`'svg_sub(A,,,-0.5ex)),h`'svg_sub(3)))" \ - txw(29)), - Node(2,"svg_it(x`'svg_sub(4):=((D,pk`'svg_sub(D)),h`'svg_sub(4)))" \ - txw(29) with .n at last "".ne+(0.2,-vsep*2/3)))), - Node(2,"svg_it(h(h(x`'svg_sub(5),x`'svg_sub(6)),h(x`'svg_sub(7)," \ - + "x`'svg_sub(8))))" txw(29) with .nw at Head1.ne+(Body1.wid/2,0), - (0,-vsep), - Node(1, "svg_it(h(x`'svg_sub(5),x`'svg_sub(6)))" txw(14) , - (0,-vsep*5/4), - Node(1,"svg_it(x`'svg_sub(5):=((E,pk`'svg_sub(E)),h`'svg_sub(5)))" \ - txw(29) ), - Node(2,"svg_it(x`'svg_sub(6):=((H,pk`'svg_sub(H)),h`'svg_sub(6)))" \ - txw(29) with .n at last "".ne+(0.2,-vsep*2/3))), - Node(2,"svg_it(h(x`'svg_sub(7),x`'svg_sub(8)))" txw(14) \ - with .nw at Head1.ne+(Body1.wid/2+0.1,0), - (0,-vsep*5/4), - Node(1,"svg_it(x`'svg_sub(7):=" \ - + "((D,pk`'svg_prime`'svg_sub(D,,,-0.5ex)),h`'svg_sub(7)))" \ - txw(29) ), - Node(2,"svg_it(x`'svg_sub(8):=((K,pk`'svg_sub(K)),h`'svg_sub(8)))" \ - txw(29) with .n at last "".ne+(0.2,-vsep*2/3); \ - move right 0.2)), - Node(3,"svg_it(h(x`'svg_sub(9)))" txw(8) \ - at 0.5 between Head1 and Head2))) - -] with .w at last [].e+(-1,0) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ButtonsSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ButtonsSVG.m4 deleted file mode 100644 index 79c94636397..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ButtonsSVG.m4 +++ /dev/null @@ -1,115 +0,0 @@ -.PS -# ButtonsSVG.m4 -gen_init(svg_font(sans-serif,11bp__)) -NeedDpicTools - -divert(-1) -################################################################# - - `RoundButton(diameter,hue,linedensity) - hue 0=red, 60=yellow, 120=green ...' -define(`RoundButton',`[ -# Colors and radius: - hue = ifelse(`$2',,60,`$2') - crad = ifelse(`$1',,circlerad,(`$1')/2) - linedensity = ifelse(`$3',,150/scale,`$3') # default 150 lines per inch - hsvtorgb(hue, 1, 1, r1,g1,b1) - hsvtorgb(hue-5, 1,0.9, r2,g2,b2) - hsvtorgb(hue-10,1,0.5, r3,g3,b3) -# Shaded main disk - define RBbackground { - circle rad crad*($`'1) thick lthk at C outlined rgbstring($`'2,$`'3,$`'4) - } - C: circle invis rad crad at (0,0) - nsteps = round_(crad*linedensity) - lthk = crad/nsteps/(1bp__) - ShadeObject(RBbackground,nsteps, - 0, r1,g1,b1, - 0.2, r1,g1,b1, - 0.8, r2,g2,b2, - 1, r3,g3,b3) at C -# Highlight disk with arc shading - rad1 = crad*3/4 - C1: C.n-(0,rad1+0.02*crad) - C2: C1+(0,2*rad1) - lthk = 2*rad1/nsteps/(1bp__) - define RBoverlay { - radx = rad1 + ($`'1)*2*rad1 - if $`'1 < 1 then { - arc cw rad radx thick lthk outlined rgbstring($`'2,$`'3,$`'4) \ - from Cintersect(C2,radx,C1,rad1) \ - to Cintersect(C2,radx,C1,rad1,R) \ - with .c at C2 - } } - nsteps = round_(rad1*2*linedensity) - ShadeObject(RBoverlay,nsteps, - 0, 1, 1, 1, - 0.1, 1, 1, 1, - 0.33,(r1+r2)/2,(g1+g2)/2,(b1+b2)/2, - 0.67,r1,g1,b1, - 1, (r1+r2)/2,(g1+g2)/2,(b1+b2)/2) with .c at C1 - `$4']') - -################################################################# - - `BoxButton(wid,height,hue,linedensity) - hue 0=red, 60=yellow, 120=green ...' -define(`BoxButton',`[ -# Size and Color - boxw = ifelse(`$1',,boxwid*4/3,`$1') - boxh = ifelse(`$2',,boxw/4,`$2') - hue = ifelse(`$3',,180,`$3') - hsvtorgb(hue, 1, 1, r1,g1,b1) - hsvtorgb(hue-5, 1,0.9, r2,g2,b2) - hsvtorgb(hue-10,1,0.5, r3,g3,b3) -# Peripheral shading - linedensity = ifelse(`$4',,150/scale,`$4') - nsteps=10 - define BxBshadow { - box ht boxh wid boxw rad boxh/2 \ - outlined rgbstring($`'2,$`'3,$`'4) at (0,($`'1)*4*linethick bp__) - } - Q: ShadeObject(BxBshadow,nsteps, - 0, 1,1,1, - 1, r3,g3,b3) -# Shaded body - lthk = boxh/nsteps/(1bp__) - define BxBshade { - v = boxh*(1-($`'1)) - h = (boxw-boxh)/2+sqrt((boxh/2)^2-(v-boxh/2)^2) - line from (-h,v) to (h,v) thick lthk outlined rgbstring($`'2,$`'3,$`'4) - } - nsteps = boxh*linedensity - C: ShadeObject(BxBshade,nsteps, - 0, r1, g1, b1, - 0.4, r2, g2, b2, - 1, r3, g3, b3) with .n at Q.n -# Shaded highlight - bh = boxh*0.4 - bw = boxw*4/4.5 - define BxBhighlight { - v = bh*(1-($`'1)); h = (bw-bh)/2+sqrt((bh/2)^2-(v-bh/2)^2) - line from (-h,v) to (h,v) thick lthk outlined rgbstring($`'2,$`'3,$`'4) - } - nsteps = bh*linedensity - ShadeObject(BxBhighlight,nsteps, - 0,1,1,1, - 8/nsteps,1,1,1, - 1, r2,g2,b2) with .n at Q.n+(0,-boxh/20) - `$5']') - -################################################################# -divert(0)dnl - -for x=0 to 5 do { - B: RoundButton(0.6,x*60) at (x,0) - "Button" sprintf("%g",x+1) at B } - -[ for i=0 to 2 do { - BoxButton(1.5,,180+120*i) at (i*2,0) - "Button" at last [].C - } - ] with .nw at 1st [].sw+(0,-0.5) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ByteSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ByteSVG.m4 deleted file mode 100644 index ca059487e7c..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ByteSVG.m4 +++ /dev/null @@ -1,38 +0,0 @@ -.PS -# Byte.m4 -gen_init(svg_font(sans-serif,11bp__)) -boxht = 0.2 -boxwid = 3.5 - -define leftlabel { {"$1" at last box.w ljust} } - -down_ -Lab[0]: box; leftlabel( B0STDISBL (reset pin is enabled) ) -Lab[1]: box; leftlabel( WDTON (WDT not always on) ) -Lab[2]: box; leftlabel( SPIEN (allow serial programming) ) -Lab[3]: box; leftlabel( CKOPT (full output swing) ) -Lab[4]: box; leftlabel( EESAVE (don't preserve EEPB0OM over chip erase) ) -Lab[5]: box; leftlabel( BOOTSZ1 ) -Lab[6]: box; leftlabel( BOOTSZ0 ) -Lab[7]: box; leftlabel( BOOTB0ST (boot reset vector at 0x0000) ) - -boxwid = boxht -left_ -B0:box "1" with .e at Lab[0].nw + (0.75,0.5) - box "0" - box "0" - box "1" - box "0" - box "0" - box "1" - box "1" - box wid 2*boxht "0xc9" - -for i=0 to 7 do { - spline -> ht arrowht*0.7 from B0.s-(i*boxht,0) down boxht/4 \ - then to Lab[0].nw-((i+1)*boxht/2,0) \ - then down Lab[0].nw.y-Lab[i].y then to Lab[i].w - } - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CanLogicSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CanLogicSVG.m4 deleted file mode 100644 index b6c1d02e2f2..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CanLogicSVG.m4 +++ /dev/null @@ -1,159 +0,0 @@ -.PS -#CanLogic -ifdef(`L_unit',,`include(liblog.m4)') -log_init(svg_font(sans-serif,11bp__)) - -divert(-1) -########################################################################### - Macros for automatically drawing 2-layer - Boolean functions - - Style parameters -define(`dotrad_',(0.01*scale)) -define(`gatelineth',1) -define(`lineth',0.5) -define(`inputsep',`2*jog') -define(`jog',`(AND_ht/2)*L_unit') - - `CanLogic(layer gate type,[N], - output gate type,[N], - term,term,...) - This is the driver macro. Terms are - strings of variables or of variables - preceded by the ~ character. Each - variable is one letter e.g. - CanLogic(NAND,,OR,N,abcd,a~b,c,~ad)' -define(`CanLogic', - `define(`terms',`shift(shift(shift(shift($@))))') -# Determine required input variables and negated -# variables - Loopover_(`t_',`varloop(`v_',`define(X`'v_)',`define(XN`'v_)',t_)',terms) -# Draw the inputs with NOT gates as necessary - LastInput: Here-(inputsep,0) - Loopover_(`t_',`varloop(`v_', - `ifdef(D`'v_,,`ifdef(XN`'v_,`DrawInNotIn(v_)',`DrawIn(v_)')')', - `ifdef(D`'v_,,`ifdef(X`'v_,`DrawInNotIn(v_)',`DrawNotIn(v_)')')', t_)', - terms) -# Draw 2nd-layer gates - right_ - LastGateSE: LastInput+(5*jog,-(AND_wd*L_unit*1.5)) - Loopover_(`t_', - `define(`termcount',m4Lx)DrawLayerGate(G`'termcount,$1,$2,t_)', - terms) -# Draw output gate - linethick = gatelineth - OP: m4xpand(`$3'_gate(termcount,$4)) with .Out at \ - 0.5 + (jog/2*(termcount+3)+AND_wd*L_unit,0) - Out: Here - linethick = lineth -# Connect 2nd-layer gates to the output gate - VectorConnect(G,termcount,OP) -# Connect the inputs and negated inputs to -# 2nd-layer gates - Loopover_(`t_',`ConnectInputs(G`'m4Lx,t_)',terms) -# Clean up - Loopover_(`t_',`DeleteLogDefs(t_)',terms) - ') - `VectorConnect(number of 2nd layer gates, - common 2nd layer gate name, - output gate name) - Connect the 2nd-layer gate outputs to the - output gate inputs' -define(`VectorConnect', - `for_(1,`$2',1, - `line from `$1'm4x.Out right `$3'.In1.x-`$1'm4x.Out.x \ - - jog/2*(`$2'+1-abs(2*m4x-`$2'-1)) \ - then down `$1'm4x.Out.y - `$3'.In`'m4x.y then to `$3'.In`'m4x ')') - - Draw and label a non-inverted input -define(`DrawIn', - `LastInput: LastInput+(inputsep,0) - In`'$1: LastInput - "svg_it($1)" ljust at LastInput # Maybe labels should be done externally - Int`'$1: LastInput - define(D`'$1)') - - Draw and label an inverted input -define(`DrawNotIn', - `LastInput: LastInput+(inputsep,0) - InN`'$1: LastInput - "svg_it($1)" ljust at LastInput # Maybe labels should be done externally - line down_ 2*jog from LastInput - linethick = gatelineth - NOT_gate - InNt`'$1: Here - linethick = lineth - define(D`'$1)') - Draw and label an input that is required both - inverted and uninverted. -define(`DrawInNotIn', - `LastInput: LastInput+(inputsep,0) - In`'$1: LastInput - "svg_it($1)" ljust at LastInput # Maybe labels should be done externally - line from LastInput down jog - Int`'$1: dot - LastInput: LastInput+(inputsep,0) - line to (LastInput,Here) then down_ jog - linethick = gatelineth - NOT_gate - linethick = lineth - InNt`'$1: Here - define(D`'$1)') - `varloop(`var',ifnotnegated,ifnegated,term) - Loop over term variables performing actions' -define(`varloop',`ifelse(`$4',,,substr(`$4',0,1),~, - `define(`$1',substr($4,1,1)) $3 - varloop(`$1',`$2',`$3',substr($4,2))', - `define(`$1',substr($4,0,1)) $2 - varloop(`$1',`$2',`$3',substr($4,1))')')') - - Count gate inputs and mark last appearance -define(`Countinputs',`varloop(`v_', - `define(`incount',incr(incount)) define(Last`'v_,`$1')', - `define(`incount',incr(incount)) define(LastN`'v_,`$1')',$2)') - - Draw a 2nd layer gate -define(`DrawLayerGate', - `define(`incount',0) - Countinputs($1,$4) - ifelse(incount,1, - `LastGateSE: LastGateSE-(0,jog) - $1: [ In1:Here; line right AND_wd*L_unit; Out: Here] \ - with .Out at LastGateSE', - `LastGateSE: LastGateSE-(0,jog+AND_ht*L_unit) - linethick = gatelineth - $1: m4xpand(`$2'_gate(incount,$3)) with .se at LastGateSE - linethick = lineth ')') - - Connect this gate to its input lines -define(`ConnectInputs',`define(`innum',0) varloop(`v_', - `define(`innum',incr(innum)) - line from `$1'.In`'innum to (In`'v_,`$1'.In`'innum)dnl - ifelse(`$1',m4xpand(Last`'v_),`then to In`'v_',`; dot')', - `define(`innum',incr(innum)) - line from `$1'.In`'innum to (InNt`'v_,`$1'.In`'innum)dnl - ifelse(`$1',m4xpand(LastN`'v_), `then to InNt`'v_', `; dot')',$2)') - - Delete definitions to allow more than one - circuit per diagram -define(`DeleteLogDefs',`varloop(`v_', - `undefine(Last`'v_) undefine(D`'v_) undefine(X`'v_)', - `undefine(LastN`'v_) undefine(D`'v_) undefine(XN`'v_)',$1)') - - Thanks to Alexander Ray for suggesting the - need for something like these macros -########################################################################### -divert(0)dnl - - linethick = lineth - -[ CanLogic(AND,,OR,,abcd,a~b,c,~ad) #; line right jog from Out "svg_it(f)" above - ] -{`"CanLogic(AND,,OR,,abcd,a~b,c,~ad)"' at last [].s -(0,11bp__)} - -[ CanLogic(OR,N,NAND,,ab~c,a~bc,ac,~d) #; line right jog from Out "$f$" above - ] with .sw at last [].se+(0.5,0) -{`"CanLogic(OR,N,NAND,,ab~c,a~bc,ac,~d)"' at last [].s - (0,11bp__)} - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CapacitorsSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CapacitorsSVG.m4 deleted file mode 100644 index be6a8edd479..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CapacitorsSVG.m4 +++ /dev/null @@ -1,43 +0,0 @@ -.PS -# `CapacitorsSVG.m4' -cct_init(svg_font(sans-serif,11pt__)) -textwid = 1.5 -movewid = 2 pt__ -hm = 2.1 -vm = 0.28 - -hm = 2.05 -vm = 0.28 -{ {capacitor ; move ; "`capacitor '" ljust} - move right_ hm - {capacitor(,C); move ; "`capacitor(,C) '" ljust} - move right_ hm - {capacitor(,C+); move ; "`capacitor(,C+) '" ljust} -} - move down vm; right_ -{ {capacitor(,P); move ; "`capacitor(,P) '" ljust} - move right_ hm - {capacitor(,E); move ; "`capacitor(,E) '" ljust} - move right_ hm - {capacitor(,K); move ; "`capacitor(,K) '" ljust} -} - move down 0.25; right_ -{ {capacitor(,M); move ; "`capacitor(,M) '" ljust} - move right_ hm - {capacitor(,N); move ; "`capacitor(,N) '" ljust} - move right_ hm - {capacitor(,CP); move ; "`capacitor(,CP) '" ljust} -# {xtal ; move ; "`xtal '" ljust} -} - move down 0.25; right_ -{ {capacitor(,dC); move ;"`capacitor(,dC) '" ljust} - move right_ hm - {capacitor(,dF); move ;"`capacitor(,dF) '" ljust} - move right_ hm - {variable(`capacitor',NN,-30,dimen_/3) - move ;"`variable('svg_grave`capacitor'svg_prime`,'" wid 97bp__ ljust \ - "` NN,-30,dimen_/3)'" ljust } -} - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ChipsSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ChipsSVG.m4 deleted file mode 100644 index b85ce8d9704..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ChipsSVG.m4 +++ /dev/null @@ -1,44 +0,0 @@ -.PS -# ChipsSVG.m4 -log_init -include(icsSVG.m4) -svg_font(sans-serif,8.5bp__) - -Chips: [ - ic4017 - {"4017" at last [].Chip.sw below ljust} - move - ic4510 - {"4510" at last [].Chip.sw below ljust} - move - icVS1053 - {"VS1053" at last [].Chip.sw below ljust} - - DIP_chip_outline with .sw at last [].se+(0.5,0) - { `"DIP_chip_outline"' at last [].s below } - ] - -DIPs: [ - DIP0: DIP - DIP32: DIP(32,direct=R;bodywid=0.5*scale) with .sw at last [].se+(0.5,0) - DIP16: DIP(16,type=Q;pinwid=1bp__) with .sw at DIP32.se+(1.5,0) - - thinlines_ - { "svg_tt(`DIP')" at DIP0.s - (0,10bp__) } - { arrow <- from DIP0.Pin1 up 0.2; "svg_it(`Pin1')" ljust at Here+(-0.05,0.1) } - { arrow <- from DIP0.c up 0.7 right 0.25; "svg_it(`Body')" ljust } - { arrow <- from DIP0.Pin8 up 0.25 right 0.2 ; "svg_it(`Pin8')" above ljust } - - { "svg_tt(`DIP(32,direct=R;bodywid=0.5*scale)')" ljust \ - at DIP32.sw - (20bp__,10bp__) } - { arrow <- right 0.2 from DIP32.Pin1; "svg_it(`Pin1')" ljust } - { spline <- right 0.2 then right 0.1 up 0.1 from DIP32.Pin32 - "svg_it(`Pin32')" ljust } - - { "svg_tt(`DIP(16,type=Q;pinwid=1bp__)')" at DIP16.sw - (0,10bp__) ljust } - thicklines_ - - ] with .nw at last [].sw+(0,-0.3) - - command "" -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ConnSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ConnSVG.m4 deleted file mode 100644 index 7344baeb23e..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ConnSVG.m4 +++ /dev/null @@ -1,67 +0,0 @@ -.PS -# `ConnSVG.m4' -cct_init(svg_font(sans-serif,10.5bp__)) - -T:[ - S1: tstrip(U) - thinlines_ - arrow <- left 0.15 from S1.L1; "L1" rjust - arrow <- left 0.15 from S1.L4; "L4" wid 0.2 rjust - "..." at (0.5 between last "" and 2nd last "")+(-0.15,0.02) - arrow <- right 0.25 from S1.R1; "R1" ljust - arrow <- right 0.25 from S1.R4; "R4" ljust - "..." at (0.5 between last "" and 2nd last "")+(0.15,0.02) - arrow <- right 0.15 up 0.10 from S1.T1; "T1" ljust - arrow <- right 0.15 up 0.10 from S1.T4; "T4" ljust - "..." at (0.5 between last "" and 2nd last "")+(0.15,0.02) - thicklines_ - CS1: "`tstrip(U)'" at S1.s+(0,-0.15) - S2: tstrip(R,5,DO;wid=1.0;ht=0.25) with .sw at S1.se+(0.7,0.15) - thinlines_ - arrow <- up 0.2 right 0.1 from S2.T1; "T1" above - arrow <- up 0.2 right 0.1 from S2.T5; "T5" above - "..." at 0.5 between last "" and 2nd last "" above - CS2: `"tstrip(R,5,"' ljust \ - `" DO;wid=1.0;ht=0.25)"' ljust at S2.sw+(-0.1,-0.2) -] - -C: [ - C1: ccoax - `"ccoax "' at C1.s below - thinlines_ - arrow <- up 0.1 right 0.1 from C1.C.ne; "C" ljust - arrow <- down 0.05 right 0.1 from C1.S.e; "S" wid 0.1 ljust - thicklines_ - C2: ccoax(at C1+(0,0.3),F) - `"ccoax(,F)"' wid 0.65 at C2.ne ljust - ] with .C1.sw at T.S2.se+(0.6,0.0) - -Y: [ - tconn(,O) - {`"tconn(,O)"' at last line.c+(0,-0.2) wid 43 pt__ } - move to Here+(0.3,0) - P1: tconn(,>) - {`"(,>)"' at last line.c+(0,-0.2)} - move to P1.end+(0.3,0) - tconn(,>>) - {`"(,>>)"' at last line.c+(0,-0.2)} - move to P1.start+(0,linewid) - P3: tconn(,<) - {`"tconn(,<)"' at last line.c+(0,-0.2)} - move to P3.end+(0.3,0) - tconn(,<<) - {`"(,<<)"' at last line.c+(0,-0.2)} - -] with .sw at (C.e.x-0.3,T.s.y) - -B: [ - tbox(V`'svg_sub(1)) - { `"tbox'(V`'svg_sub(1))" wid 47bp__ with .nw at last [].sw+(0,-4bp__) } - tbox(V`'svg_sub(2),,,<) with .sw at last [].se+(0.75,0) - { `"tbox'(V`'svg_sub(2)`,,,<)"' at last [].s below } - tbox(V`'svg_sub(3),,,<>) with .sw at last [].se+(0.75,0) - { `"tbox'(V`'svg_sub(3)`,,,<>)"' at last [].s below } -] with .nw at T.sw+(0,-0.2) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ConnectorsSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ConnectorsSVG.m4 deleted file mode 100644 index 67f89e5348c..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ConnectorsSVG.m4 +++ /dev/null @@ -1,30 +0,0 @@ -.PS -# ConnectorsSVG.m4 -log_init -include(icsSVG.m4) - -svg_font(sans-serif,8.5bp__) -#vg_rot_init(test) -svg_rot_init(ConnectorsSVG) - -# ArduinoUno -# "Arduino Uno Rev 3" at last [].Connector.s below - Ar: ArduinoLeonardo #with .sw at last [].se+(0.25,0) - "Arduino Leonardo" at last [].Connector.s below - - RPI: RPi with .sw at last [].se+(0.25,0) - "Raspberry Pi 4 GPIO" at last [].GPIO.s below - - HD: HDMI_micro with .nw at last [].ne+(0.25,0.5) - "Micro" rjust at HD.Base.sw "HDMI" rjust - - S: USB_C_Socket with .sw at (HD.e.x+0.25,RPI.s.y) - "USB-C Socket" at S.Base.s below - "B12" at S.B12.end above ljust - "B1" at S.B1.end above ljust - "A1" at S.A1.end above rjust - "A12" at S.A12.end above rjust - - command "" - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ContactSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ContactSVG.m4 deleted file mode 100644 index 057f7027311..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ContactSVG.m4 +++ /dev/null @@ -1,101 +0,0 @@ -.PS -# ContactSVG -cct_init -svg_font(sans-serif,11bp__) - -movw = 0.45 -{ - contact - {S:"svg_tt(`contact')" at last [].s+(0,-0.15) - "svg_it(`P')" rjust at last [].P.w - "svg_it(`O')" ljust at last [].O - "svg_it(`C')" ljust at last [].C } - move right_ movw; contact(R) - {"svg_tt(`(R)')" at (last [].s,S) - "svg_it(`P')" rjust at last [].P.w - "svg_it(`O')" ljust at last [].O - "svg_it(`C')" ljust at last [].C } - move right_ movw; contact(O); {"svg_tt(`(O)')" at (last [],S)} - move right_ movw; contact(C); {"svg_tt(`(C)')" at (last [],S)} - - move right_ movw; contact(P) - {S: "svg_tt(`(P)')" at last [].s+(0,-0.15) - "svg_it(`P')" rjust at last [].P.w - "svg_it(`O')" ljust at last [].O - "svg_it(`C')" ljust at last [].C } - move right_ movw; contact(PR) - {S: "svg_tt(`(PR)')" at last [].s+(0,-0.15) - "svg_it(`P')" rjust at last [].P.w - "svg_it(`O')" ljust at last [].O - "svg_it(`C')" ljust at last [].C } - move right_ movw; contact(PO); {"svg_tt(`(PO)')" at (last [],S)} - {"svg_it(`O')" ljust at last [].O - "svg_it(`C')" ljust at last [].C } - move right_ movw; contact(PC); {"svg_tt(`(PC)')" at (last [],S)} -} - -move down 0.75; right_ ; { - contact(I); {S: "svg_tt(`(I)')" at last [].s+(0,-12bp__) - "svg_it(`P')" rjust at last [].P.w - "svg_it(`O')" ljust at last [].O.e - "svg_it(`C')" ljust at last [].C.e } - move right_ movw; contact(RI) - {"svg_tt(`(RI)')" at (last [],S) - "svg_it(`P')" rjust at last [].P.w - "svg_it(`O')" ljust at last [].O.e - "svg_it(`C')" ljust at last [].C.e } - move right_ movw; contact(OI); {"svg_tt(`(OI)')" at (last [],S)} - move right_ movw; contact(CI); {"svg_tt(`(CI)')" at (last [],S)} - - move right_ movw; contact(PI); {"svg_tt(`(PI)')" at (last [],S) } - {"svg_it(`O')" ljust at last [].O.e - "svg_it(`C')" ljust at last [].C.e } - move right_ movw; contact(PIO); {"svg_tt(`(PIO)')" at (last [],S) } - move right_ movw; contact(PIC); {"svg_tt(`(PIC)')" at (last [],S) } -} - -movewid = movw - move down 0.65; right_; { - K: contact(T) - {S: "svg_tt(`(T)')" at last [].s+(0,-0.15) - thinlines_ - spline <- right 0.09 then up 0.05 right 0.05 from K.C; "svg_it(`C')" - spline <- right 0.09 then down 0.05 right 0.05 from K.O; "svg_it(`O')" - thicklines_ } - move; K: contact(RT) - {"svg_tt(`(RT)')" at (last [],S) - thinlines_ - spline <- right 0.09 then up 0.05 right 0.05 from K.O; "svg_it(`O')" - spline <- right 0.09 then down 0.05 right 0.05 from K.C; "svg_it(`C')" - thicklines_ } - move; contact(OT); {S: "svg_tt(`(OT)')" at (last [],S) } - move; contact(CT); {S: "svg_tt(`(CT)')" at (last [],S) } - move; contact(PT); {S: "svg_tt(`(PT)')" at (last [],S) } - move; contact(PTO); {S: "svg_tt(`(PTO)')" at (last [],S) } - move; contact(PTC); {S: "svg_tt(`(PTC)')" at (last [],S) } -} - - move down 0.65; right_; { - K: contact(U) - {S: "svg_tt(`(U)')" at last [].s+(0,-0.15) - thinlines_ - spline <- right 0.09 then up 0.05 right 0.05 from K.C; "svg_it(`C')" - spline <- right 0.09 then down 0.05 right 0.05 from K.O; "svg_it(`O')" - thicklines_ } - move; K: contact(RU) - {"svg_tt(`(RU)')" at (last [],S) - thinlines_ - spline <- right 0.09 then up 0.05 right 0.05 from K.O; "svg_it(`O')" - spline <- right 0.09 then down 0.05 right 0.05 from K.C; "svg_it(`C')" - thicklines_ } - move; K: contact(OU); {S: "svg_tt(`(OU)')" at (last [],S) - "svg_it(`O')" ljust at K.O.e } - move; K: contact(CU); {S: "svg_tt(`(CU)')" at (last [],S) - "svg_it(`C')" ljust at K.C.e } - move; contact(PU); {S: "svg_tt(`(PU)')" at (last [],S) } - move; contact(PUO); {S: "svg_tt(`(PUO)')" at (last [],S) } - move; contact(PUC); {S: "svg_tt(`(PUC)')" at (last [],S) } -} - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ContactsSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ContactsSVG.m4 deleted file mode 100644 index 556ae04a616..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ContactsSVG.m4 +++ /dev/null @@ -1,49 +0,0 @@ -.PS -# ContactsSVG.m4 -cct_init -svg_font(sans-serif,10bp__) - - space = 0.75 - KS:contacts(2) - {"svg_tt(`contacts(2)')" wid 1 at KS.s +(0,-12bp__) - for_(1,2,1, - `"svg_it(P`'m4x)" rjust at last [].P`'m4x-(dotrad_,0) - "svg_it(O`'m4x)" ljust at last [].O`'m4x+(dotrad_,0) - "svg_it(C`'m4x)" ljust at last [].C`'m4x+(dotrad_,0) ') } - - KS:contacts(2,I) with .sw at last [].se+(space,0) - {"svg_tt(`(2,I)')" at KS.s +(0,-12bp__) - for_(1,2,1, - `"svg_it(P`'m4x)" rjust at last [].P`'m4x-(dotrad_,0) - "svg_it(O`'m4x)" ljust at last [].O`'m4x+(dotrad_,0) - "svg_it(C`'m4x)" ljust at last [].C`'m4x+(dotrad_,0) ') } - - KS:contacts(2,IO) with .sw at last [].se+(space,0) - {"svg_tt(`(2,IO)')" at KS.s +(0,-12bp__) - for_(1,2,1, - `"svg_it(P`'m4x)" rjust at last [].P`'m4x-(dotrad_,0) - "svg_it(O`'m4x)" ljust at last [].O`'m4x+(dotrad_,0) ') } - - KS:contacts(2,PICD) with .sw at last [].se+(space,0) - {"svg_tt(`(2,PICD)')" at KS.s +(0,-12bp__) - for_(1,2,1, - `"svg_it(P`'m4x)" rjust at last [].P`'m4x-(dotrad_,0) - "svg_it(O`'m4x)" ljust at last [].O`'m4x+(dotrad_,0) - "svg_it(C`'m4x)" ljust at last [].C`'m4x+(dotrad_,0) ') } - - KS:contacts(2,PTCD) with .sw at last [].se+(space,0) - {"svg_tt(`(2,PTCD)')" at KS.s +(0,-12bp__) - for_(1,2,1, - `"svg_it(P`'m4x)" rjust at last [].P`'m4x-(dotrad_,0) - "svg_it(O`'m4x)" ljust at last [].O`'m4x+(dotrad_,0) - "svg_it(C`'m4x)" ljust at last [].C`'m4x+(dotrad_,0) ') } - - KS:contacts(2,PUCD) with .sw at last [].se+(space,0) - {"svg_tt(`(2,PUCD)')" at KS.s +(0,-12bp__) - for_(1,2,1, - `"svg_it(P`'m4x)" rjust at last [].P`'m4x-(dotrad_,0) - "svg_it(O`'m4x)" ljust at last [].O`'m4x+(dotrad_,0) - "svg_it(C`'m4x)" ljust at last [].C`'m4x+(dotrad_,0) ') } - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CountingSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CountingSVG.m4 deleted file mode 100644 index a972ba663f6..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CountingSVG.m4 +++ /dev/null @@ -1,32 +0,0 @@ -.PS -# CountingSVG.m4 -gen_init(svg_font(sans-serif,11bp__)) - - g = 0.4 # grid size - define grid { (($2)*g,-($1)*g) } - circlerad = 0.1 - -for i=1 to 4 do { # 66% becomes 66%% in the sprintf string: - sprintf("svg_it(S`'svg_sub(%g,66%):)",i) ljust at grid(i,-0.5) - for j=1 to 4 do { if i+j < 8 then { - sprintf("svg_it(s`'svg_sub(%g%g,66%))",i,j) at grid(i,j) } } } - -"." at grid(4.6,0) -"." at grid(4.7,0) -"." at grid(4.8,0) -for i=1 to 3 do { `"..."' at grid(i,5) } -"..." at grid(4,4) - -P: grid(1,1) -for k=3 to 5 do { - for i=1 to k-1 do { if (k%2==1) then { m=i; n=k-i } else { m=k-i; n=i } - Q: grid(m,n) - arrow from P to Q chop - P: Q } - } - -move from grid(1,1)+(-0.5,0.1) \# Adjust bounding box - to grid(4,4)+(0.5,-0.45) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CrowSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CrowSVG.m4 deleted file mode 100644 index 3fe2e8ff72c..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CrowSVG.m4 +++ /dev/null @@ -1,74 +0,0 @@ -.PS -# CrowSVG.m4 -#`Illustrates shadebox and custom crowfoot line termination' -gen_init(svg_font(sans-serif,11bp__)) - -# Custom macros -------------------------- - -# `crowline(linespec,wid,ht)' -define(`crowline', - `line `$1' - M4_E: last line.end - crow_wd = ifelse(`$2',,`(arrowwid*8/5)',`$2') - crow_ht = ifelse(`$3',,`(1.5*crow_wd)',`$3') - M4_P: vperp(last line); M4_P: (M4_P.x*crow_wd,M4_P.y*crow_wd) - M4_X: crow_ht/lin_leng(last line) between M4_E and last line.start - ifdpic( - `spline 0.4 from M4_E+M4_P to M4_X+M4_P then to M4_X-M4_P then to M4_E-M4_P', - `spline from M4_E+(M4_P.x,M4_P.y) to M4_X+(M4_P.x,M4_P.y) \ - then to M4_X-(M4_P.x,M4_P.y) then to M4_E-(M4_P.x,M4_P.y)') ') - -define(`custombox', - ``$1': shadebox(box `$2',3) - "`$1'" at last box.n above - boxtext(shift(shift($@)))') - -define boxtext { - for i=1 to $+ do { move to last box.nw+(3pt__,-(2+i*11)pt__); - exec sprintf("\"$%g\" ljust",i) } - } - -# ---------------------------- - - boxwid = boxwid*1.15 - boxsep = boxwid/2 - - custombox(Class,ht boxht*1.7, - `classkey, class_type, class_desc') - - custombox(Product,ht Class.ht with .nw at Class.ne+(boxsep,0), - `classkey, prodkey, prod_name, pkg_type') - - custombox(Sales,ht boxht*2.75 with .nw at Product.ne+(boxsep*2,13pt__), - `perkey, classkey, prodkey, storekey, promokey, quantity, dollars') - - custombox(Period,ht Sales.ht with .nw at Sales.ne+(boxsep*2,0), - `perkey, date, day, week, month, qtr, year') - - custombox(Market,ht Sales.ht with .nw at Class.sw+(0,-boxsep*3/2), - `perkey, date, day, week, month, qtr, year') - - custombox(Store,ht boxht*3.2 with .sw at (Product.w,Market.s), - `storekey, mktkey, store_type, store_name, street, city, state, zip') - - custombox(Promotion,ht Market.ht with .sw at (Period.w,Market.s), - `promokey, promo_type, promo_desc, value, start_date, end_date') - - move to Class.ne+(0,-10pt__); crowline(to (Product.w,Here)) - - move to Product.ne+(0,-10pt__); crowline(to (Sales.w,Here)) - move to last line.start+(0,-crow_wd*2.5); crowline(to (Sales.w,Here)) -T: last line.c+(0,-crow_wd*2.5) - - move to Period.nw+(0,-10pt__); crowline(to (Sales.e,Here),,1.75*crow_wd) -Q: (last line.c,0.35 between Sales.se and Sales.ne) - - move to Market.ne+(0,-10pt__); crowline(to (Store.w,Here)) - move to Store.ne+(0,-10pt__); line to (T,Here) then to T - crowline(to (Sales.w,Here)) - - move to Promotion.nw+(0,-10pt__); line to (Q,Here) then to Q - crowline(to (Sales.e,Here),,1.75*crow_wd) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CrullerSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CrullerSVG.m4 deleted file mode 100644 index 7f8173b52a4..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CrullerSVG.m4 +++ /dev/null @@ -1,67 +0,0 @@ -.PS -# CrullerSVG.m4 -threeD_init -NeedDpicTools -scale = 2.54 - -define(`lobe',`(sind(6*(`$1'))+4)/5*2.25') - - viewazimuth = 20 # Set view angles in degrees - viewelevation = 30 - setview(viewazimuth,viewelevation,0) - - dt = 3 # major angle degrees per facet - ds = 10 # minor angle degrees per facet - - tradius = 6 -define(`cruller',`rot3Dz((`$1')*dtor_, - sum3D(0,tradius,0,0,Rect_(lobe(`$2'+2*(`$1')),`$2')))') - -define(`tvisible',`dot3D(View3D, - cross3D(diff3D(cruller(`$1'+dt/2,`$2'),cruller(`$1',`$2')), - diff3D(cruller(`$1',`$2'+ds/2),cruller(`$1',`$2'))))') - - # create the arrays and sort - n = 0 - for t = dt to 360+dt/2 by dt do { - for s=ds/2 to 360.1 by ds do { - if tvisible(t,s) > -0.01 then { - n +=1 - t[n] = t - s[n] = s - d[n] = dot3D(cruller(t,s),view3D1,view3D2,view3D3) # view distance - ix[n] = n - } - } } -# prval(n) - dpquicksort(d,1,n,ix) - - # Background -Bne: (9,6) -Bsw: (-9,-6) -B: 0.5 between Bne and Bsw -iflatex(`line fill_(0.75) \ - from (Bsw,Bne) to Bsw then to (Bne,Bsw) then to Bne then to (Bsw,Bne)', - `ShadedPolygon((Bsw,Bne):Bsw:(Bne,Bsw):Bne,,-30, - 0,1,1,1, - .5,.1,.4,0, - 1,0,0,0) at B') - # draw the facets -thinlines_ -[ - rgbtohsv(0.6,0.4,0,h,s,v) - for i = 1 to n do { - tc = t[ix[i]]; sc = s[ix[i]] - SE: Project(cruller(tc+dt/2,sc-ds/2)) - SW: Project(cruller(tc-dt/2,sc-ds/2)) - NW: Project(cruller(tc-dt/2,sc+ds/2)) - NE: Project(cruller(tc+dt/2,sc+ds/2)) - f = ((dcosine3D(3,cruller(tc,sc))/2.25+1)/2)^2 - hsvtorgb(h,(1-f)*s,1,r,g,b) - line outlined rgbstring(r,g,b) shaded rgbstring(r,g,b) ifpdf( invis ) \ - from SE to SW then to NW then to NE then to SE } - ] at B - -thicklines_ - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CsourceSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CsourceSVG.m4 deleted file mode 100644 index c95aaff3d45..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/CsourceSVG.m4 +++ /dev/null @@ -1,197 +0,0 @@ -.PS -# Csource.m4 -cct_init(svg_font(sans-serif,11bp__,2bp__)) - -# The default line separation is a bit small if the top line contains -# subscripts, so we space stacked lines explicitly: -define(`stbelow',`at last ""-(0,textht*1.5)') - -define(`loffset',`+(textoffset,0)') -define(`roffset',`-(textoffset,0)') - -define(`npair',`[define(`m4lr',ifelse(`$1',,l,r)) - J: mosfet(down_ dimen_,ifelse(`$1',,R,L),uHSDF,E) - {["svg_it(Q`'svg_sub(`$2'))" ljust; "2N5464" ljust stbelow]\ - at J.nw+(ifelse(`$1',,-5bp__,5bp__),textht*0.75)} - G: J.G - line ifelse(`$1',,right,left) dimen_/4 from J.D - Q: bi_tr(up_ dimen_,ifelse(`$1',,L,R),,E) with .B at Here - {["svg_it(Q`'svg_sub(`$3'))" m4lr`'just; "2N4239" m4lr`'just stbelow] \ - at last [].ifelse(`$1',,e,w)} - E: Q.E - S: dot(at (Q.C,J.S)) - line from J.S to S then to Q.C ]') - -define(`ppair',`[define(`m4lr',ifelse(`$1',,l,r)) - J: mosfet(down_ dimen_,ifelse(`$1',,R,L),dHSDF,E) - {["svg_it(Q`'svg_sub(`$2'))" ljust; "2N3819" ljust stbelow] \ - at J.sw+(ifelse(`$1',,0,`4bp__'),-textht*0.6)} - G: J.G - line ifelse(`$1',,right,left) dimen_/4 from J.S - Q: bi_tr(down_ dimen_,ifelse(`$1',,R,L),P,E) with .B at Here - {["svg_it(Q`'svg_sub(`$3'))" m4lr`'just; "2N4236" m4lr`'just stbelow]} - E: Q.E - S: dot(at (Q.C,J.D)) - line from J.D to S then to Q.C ]') - - textht = textht*0.8 - R2: resistor(down_ dimen_) - {["svg_it(R`'svg_sub(2))" ljust; "150`'svg_ohm" ljust stbelow] \ - at last [].e loffset } - dot - Q13: bi_tr(down_ dimen_,,P,E) with .E at Here - {["svg_it(Q`'svg_sub(13))" rjust; "2N4236" rjust stbelow] at last [].w } - line down 3.1*elen_ from Q13.C - Q14: bi_tr(up_ dimen_,R,,E) with .C at Here - {["svg_it(Q`'svg_sub(14))" rjust; "2N4239" rjust stbelow] at last [].w } - dot(at Q14.E) - { line left_ dimen_*1.3 then up_ dimen_ - R1: potentiometer(up_ dimen_) with .Start at Here - {["svg_it(R`'svg_sub(1))" ljust; "20k`'svg_ohm" ljust stbelow] \ - at last [].e loffset } - { ground(at R1.T1) } - line from R1.End to (R1.End,Q13.E) then to Q13.E } - { dot(at Q13.C+(0,-elen_)) - line to (R1.R,Here)+(-dimen_/2,0) - { arrowline(right_ dimen_/2); llabel(,i`'svg_sub(1)) } - { move left 0.2} - V1: gap(down_ dimen_,1); rlabel(+,V`'svg_sub(1),-) - line down_ dimen_/4 chop dotrad_ chop 0; ground(,T) } - R3: resistor(down_ dimen_) - {["svg_it(R`'svg_sub(3))" ljust; "150svg_ohm" ljust stbelow] \ - at last [].e loffset} - dot(at Q13.C+(0,-2*elen_)) - line right_ dimen_/2 - A1: opamp with .In2 at Here; "svg_it(A`'svg_sub(1))" at A1.C - { "Nexus" rjust "SQ-10A" rjust at (A1.E,A1.s)+(0,-textht/2) } - line left_ dimen_/4 from A1.In1 then up_ dimen_/2 then right dimen_ - dot - { resistor(up_ elen_) - {["svg_it(R`'svg_sub(14))" rjust; "19k`'svg_ohm" rjust stbelow] \ - at last [].w roffset} - line to (Here,Q13.E) then to Q13.E } - line to (A1.Out,Here) - dot - { line to A1.Out - dot - resistor(down_ to (Here,Q14.E)) - {["svg_it(R`'svg_sub(13))" ljust; "91k`'svg_ohm" ljust stbelow] \ - at last [].e loffset} - line to Q14.E } - R6: resistor(right_ dimen_) - {["svg_it(R`'svg_sub(6))" ljust; "15k`'svg_ohm" ljust stbelow] \ - with .n at last [].sw+(0,-textoffset) } - dot - line to (Here,A1.In1) then right_ dimen_/4 - A2: opamp with .In1 at Here; {"svg_it(A`'svg_sub(2))" at A2.C } - { "Nexus" rjust "SQ-10A" rjust at (A2.E,A2.s)+(0,-textht/2) } - line left_ dimen_/4 from A2.In2 - ground - - dot(at A2.Out) - DP1: npair(,3,4) with .E at (A2.Out,Q14.B)+(elen_*1.25,0) -#if 2 < 1 then { - line from A2.Out to (A2.Out,DP1.G) then to DP1.G - line from DP1.E to (DP1.E,R3.bottom); dot - D4: reversed(`diode',up_ dimen_/2 from DP1.S) - D3: reversed(`diode',up_ dimen_/2 from Here+(0,-dimen_/6)) - { "OMC-V" rjust "svg_it(D`'svg_sub(4))" rjust \ - "svg_it(D`'svg_sub(3))" rjust at last [].w } - DP2: ppair(,1,2) with .E at (DP1.E,Q13.B) - D1: diode(down_ dimen_/2 from DP2.S) - D2: diode(down_ dimen_/2 from Here+(0,dimen_/6)) - {"svg_it(D`'svg_sub(1))" rjust "svg_it(D`'svg_sub(2))" rjust "OMC-V" rjust\ - at last [].w } - dot(at (Here,A2)) - line to D2.bottom - line from DP2.G to (A2.Out,DP2.G) then to A2.Out - line from DP2.E to (DP2.E,R2.top); dot - - T: dot(at (DP1.E,A2)+(dimen_,0)) - DP3: npair(,7,8) with .G at (Here,DP1.G)+(dimen_/4,0) - dot(at DP3.E) - line to Q14.B - DP4: ppair(,5,6) with .G at (DP3.G,DP2.G) - dot(at DP4.E) - line to Q13.B - line from DP3.G to (T,DP3.G) then to (T,DP4.G) then to DP4.G - R11: resistor(down_ dimen_ from DP4.S) - {["svg_it(R`'svg_sub(11))" rjust; "20`'svg_ohm" rjust stbelow] \ - at last [].w roffset} - D5: diode(up_ from DP3.S to (DP3.S,A2),Z) - {["svg_it(D`'svg_sub(5))" rjust; "1N4729" rjust stbelow] \ - at last [].w roffset} - line to R11.end - C4: capacitor(right_ dimen_*1.3 from DP3.S,C) - llabel(,svg_it(C`'svg_sub(4))); rlabel(,"0.68`'svg_micro(F)") - C3: capacitor(right_ dimen_*1.3 from DP4.S,C) - llabel(,svg_it(C`'svg_sub(3))); rlabel(,"0.68`'svg_micro(F)") - dot - dot(at (Here,R6)) - C2: reversed(`capacitor',left_ dimen_*1.3,C) - rlabel(,svg_it(C`'svg_sub(2))); llabel(,"0.1`'svg_micro(F)") - line to R6.end - - R5: resistor(up_ from R6.end to (R6.end,Q13.B)) - {["svg_it(R`'svg_sub(5))" ljust; "100k`'svg_ohm" ljust stbelow] \ - at last [].e loffset } - dot(at R5.top-(0,dimen_/2)) - line left_ dimen_/2 - capacitor(down_ dimen_,C) - {["svg_it(C`'svg_sub(1))" rjust; "1`'svg_micro(F)" rjust stbelow] \ - at last [].w roffset} - ground(,T) - - line from DP4.E to (DP4.E,R2.bottom) - resistor(up_ to (Here,R2.top)) - {["svg_it(R`'svg_sub(9))" ljust; "910`'svg_ohm" ljust stbelow] \ - at last [].e loffset} - dot - resistor(down_ from DP3.E to (DP3.E,R3.bottom)) - {["svg_it(R`'svg_sub(10))" ljust; "910`'svg_ohm" ljust stbelow] \ - at last [].e loffset} - dot - - line from R5.top to (R5,Q13.E) - resistor(right_ elen_) - {["svg_it(R`'svg_sub(4))" ljust; "100k`'svg_ohm" ljust stbelow] \ - with .s at last [].nw+(0,1bp__)} - line to (C4.end,Here) then to C4.end - - DP5: npair(L,11,10) with .E at (C4.end,DP1.E)+(elen_*0.8,0) - line from DP5.E to (DP5.E,R3.bottom); dot - line from R3.bottom to Here+(dimen_/2,0) - dot(,,1) - "svg_it(-E`'svg_sub(CC))" ljust at last [].e - D6: diode(up_ from DP5.S to (DP5.S,A2),Z) - {["svg_it(D`'svg_sub(6))" rjust; "1N4728" rjust stbelow] \ - at last [].w roffset} - DP6: ppair(L,12,9) with .E at (DP5.E,DP2.E) - line from DP6.E to (DP6.E,R2.top); dot - line from R2.top to Here+(dimen_/2,0) - dot(,,1) - { "svg_it(E`'svg_sub(CC))" ljust at last [].e } - resistor(down_ from DP6.S to (DP6.S,C2)) - {["svg_it(R`'svg_sub(12))" rjust; "20`'svg_ohm" rjust stbelow] \ - at last [].w roffset} - dot - { line to C2.e } - line to D6.end - - Vr: dot(at (DP6.G,V1.top)+(dimen_/4,0)) - line from DP6.G to (Vr,DP6.G) then to (Vr,DP5.G) then to DP5.G - reversed(`arrowline',right_ dimen_/2 from Vr); llabel(,i`'svg_sub(2)) - V2: gap(down_ dimen_,1); llabel(+,V`'svg_sub(2),-) - { move right 0.2} - line down_ dimen_/4 chop dotrad_ chop 0; ground(,T) - - dot(at (Vr,T)) - resistor(left_ to (DP6.E,Here)) - {["svg_it(R`'svg_sub(15))" ljust; "200`'svg_ohm" ljust stbelow] \ - with .s at last [].nw+(0,textoffset)} - line to (DP1.E,Here) - dot -#} - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/DecoderSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/DecoderSVG.m4 deleted file mode 100644 index 2f9659ee42f..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/DecoderSVG.m4 +++ /dev/null @@ -1,25 +0,0 @@ -.PS -# Decoder.m4 -log_init(svg_font(sans-serif,11bp__)) - - define(`nlines',3) # OK for nlines from 1 to approximately 4 - - define(`ndata',`eval(2**nlines-1)') - for_(0,nlines-1,1, - `{right_; A`'m4x: dot(at rsvec_(0,m4x*AND_ht)) - "svg_it(A`'svg_sub(m4x))" wid 0.2 at last [].w rjust}') - - for_(0,ndata,1, - `define(`m4y',m4x) down_ - G`'m4y: AND_gate(nlines) \ - at A0+svec_(AND_ht*3/2,(m4y+1/2)*AND_ht*3/2) - line down linewid/3; dot; "svg_it(D`'svg_sub(m4y))" at last [].s below - for_(0,nlines-1,1, - `ifelse(eval(m4y/2**m4x%2),0, - `up_; NOT_circle with .s at',`move to') G`'m4y.In`'eval(nlines-m4x) - line to (Here,A`'m4x) ifelse(m4y,ndata,`then to A`'m4x',`; dot') - ') - ') - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/DemultiplexerSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/DemultiplexerSVG.m4 deleted file mode 100644 index 37ff8e14311..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/DemultiplexerSVG.m4 +++ /dev/null @@ -1,37 +0,0 @@ -.PS -# `DemultiplexerSVG.m4' -log_init(svg_font(sans-serif,11*0.8bp__)) - - right_ - - Demux(4,DM1) - "`Demux'(4,DM1)" at last [].s below - "svg_it(Out0)" at last [].Out0.end +(6bp__,6bp__) - "svg_it(Out3)" at last [].Out3.end +(6bp__,-6bp__) - "svg_it(In)" at last [].In.end rjust wid 11bp__ - "svg_it(Sel)" at last [].Sel.end ljust above - left_; Demux(4,,LOE) with .c at last [].c+(1.2,0) - "`left_; Demux'(4,,LOE)" at last [].s + (0,-20bp__) - "svg_it(Sel)" at last [].Sel.end rjust - "svg_it(Out0)" at last [].Out0.end +(-6bp__,6bp__) - "svg_it(OE)" at last [].OE.end ljust - "svg_it(In)" at last [].In.end+(0,5bp__) ljust - right_; Demux(4,,NOEBN2) with .c at last [].c+(1.2,0) - "(4,,NOEBN2)" at last [].s below - "svg_it(Sel0)" at last [].Sel0.end rjust - "svg_it(Sel1)" at last [].Sel1.end ljust - "svg_it(Out0)" at last [].Out0.end +(5bp__,6bp__) - "svg_it(Out3)" at last [].Out3.end +(5bp__,6bp__) - "svg_it(NOE)" at last [].NOE.end rjust - "svg_it(In)" at last [].In.end above - down_; Demux(8,,L3,,28*L_unit) with .c at last [].c+(1.8,0) - "`down_; Demux'(8,,L3,,28*L_unit)" at last [].s+(0,-15bp__) wid 170bp__ - "svg_it(Sel0)" at last [].Sel0.end rjust - "svg_it(Sel2)" at last [].Sel2.end rjust below - "svg_it(Out0)" at last [].Out0.end rjust - "svg_it(Out7)" at last [].Out7.end ljust - "svg_it(In)" at last [].In.end rjust - - command "" # end font - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/DiniSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/DiniSVG.m4 deleted file mode 100644 index 1846917a4ae..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/DiniSVG.m4 +++ /dev/null @@ -1,193 +0,0 @@ -.PS -# Dini.m4 -# This diagram can be produced using, e.g. -# m4 pdf.m4 Dini.m4 | dpic -d > Dini.pdf - -threeD_init -NeedDpicTools -scale = 1.5 -[ - viewazimuth = 0 # View angles in degrees - viewelevation = 20 - setview(viewazimuth,viewelevation,0) - - a = 1.5 - b = 0.25 - -define(`Dini', -`a*cos(`$1')*sin(`$2'),dnl - a*sin(`$1')*sin(`$2'),dnl - (a*(cos(`$2')+loge(tan((`$2')/2))) + b*(`$1'))') - - umin = 0; umax = 4*pi_ - vmin = 0.2; vmax = 2.0 - ugrid = 80; vgrid = 20 - - ur = umax-umin - vr = vmax-vmin -`define cu {umin+($1)/ugrid*ur}' -`define cv {vmin+($1)/vgrid*vr}' - -# Generate points and sort - n = -1 - for iu=0 to ugrid do { - for iv=0 to vgrid do { - n +=1 - ciu[n] = cu(iu) - civ[n] = cv(iv) - d[n] = dot3D(View3D,Dini(ciu[n],civ[n])) - ix[n] = n - } - } - dpquicksort(d,0,n,ix) - -# Draw the facets - linethick = 0.4 - du = ur/ugrid/2 - dv = vr/vgrid/2 - for i=0 to n do { - NE: Project(Dini(ciu[ix[i]]+du,civ[ix[i]]+dv)) - SE: Project(Dini(ciu[ix[i]]+du,civ[ix[i]]-dv)) - SW: Project(Dini(ciu[ix[i]]-du,civ[ix[i]]-dv)) - NW: Project(Dini(ciu[ix[i]]-du,civ[ix[i]]+dv)) - f = (-cos(ciu[ix[i]])+1)/2 - g = ( sin(ciu[ix[i]])+1)/2 - line from NE to SE then to SW then to NW then to NE \ - outlined rgbstring(f,g,0) shaded rgbstring(f,g,0) -# outlined rgbstring(0,0.5,0) shaded rgbstring(f,g,0) - } -] -# Icosahedron.m4 -[ -#threeD_init -#NeedDpicTools - # Computing facets is complicated, so list them. - # 60 vertices: -define(`m4x',-1) - array2(v,m4inx,0, 0, 1.021) - array2(v,m4inx,0.4035482, 0, 0.9378643) - array2(v,m4inx,-0.2274644, 0.3333333, 0.9378643) - array2(v,m4inx,-0.1471226, -0.375774, 0.9378643) - array2(v,m4inx,0.579632, 0.3333333, 0.7715933) - array2(v,m4inx,0.5058321, -0.375774, 0.8033483) - array2(v,m4inx,-0.6020514, 0.2908927, 0.7715933) - array2(v,m4inx,-0.05138057, 0.6666667, 0.7715933) - array2(v,m4inx,0.1654988, -0.6080151, 0.8033483) - array2(v,m4inx,-0.5217096, -0.4182147, 0.7715933) - array2(v,m4inx,0.8579998, 0.2908927, 0.4708062) - array2(v,m4inx,0.3521676, 0.6666667, 0.6884578) - array2(v,m4inx,0.7841999, -0.4182147, 0.5025612) - array2(v,m4inx,-0.657475, 0.5979962, 0.5025612) - array2(v,m4inx,-0.749174, -0.08488134, 0.6884578) - array2(v,m4inx,-0.3171418, 0.8302373, 0.5025612) - array2(v,m4inx,0.1035333, -0.8826969, 0.5025612) - array2(v,m4inx,-0.5836751, -0.6928964, 0.4708062) - array2(v,m4inx,0.8025761, 0.5979962, 0.2017741) - array2(v,m4inx,0.9602837, -0.08488134, 0.3362902) - array2(v,m4inx,0.4899547, 0.8302373, 0.3362902) - array2(v,m4inx,0.7222343, -0.6928964, 0.2017741) - array2(v,m4inx,-0.8600213, 0.5293258, 0.1503935) - array2(v,m4inx,-0.9517203, -0.1535518, 0.3362902) - array2(v,m4inx,-0.1793548, 0.993808, 0.1503935) - array2(v,m4inx,0.381901, -0.9251375, 0.2017741) - array2(v,m4inx,-0.2710537, -0.9251375, 0.3362902) - array2(v,m4inx,-0.8494363, -0.5293258, 0.2017741) - array2(v,m4inx,0.8494363, 0.5293258, -0.2017741) - array2(v,m4inx,1.007144, -0.1535518, -0.06725804) - array2(v,m4inx,0.2241935, 0.993808, 0.06725804) - array2(v,m4inx,0.8600213, -0.5293258, -0.1503935) - array2(v,m4inx,-0.7222343, 0.6928964, -0.2017741) - array2(v,m4inx,-1.007144, 0.1535518, 0.06725804) - array2(v,m4inx,-0.381901, 0.9251375, -0.2017741) - array2(v,m4inx,0.1793548, -0.993808, -0.1503935) - array2(v,m4inx,-0.2241935, -0.993808, -0.06725804) - array2(v,m4inx,-0.8025761, -0.5979962, -0.2017741) - array2(v,m4inx,0.5836751, 0.6928964, -0.4708062) - array2(v,m4inx,0.9517203, 0.1535518, -0.3362902) - array2(v,m4inx,0.2710537, 0.9251375, -0.3362902) - array2(v,m4inx,0.657475, -0.5979962, -0.5025612) - array2(v,m4inx,-0.7841999, 0.4182147, -0.5025612) - array2(v,m4inx,-0.9602837, 0.08488134, -0.3362902) - array2(v,m4inx,-0.1035333, 0.8826969, -0.5025612) - array2(v,m4inx,0.3171418, -0.8302373, -0.5025612) - array2(v,m4inx,-0.4899547, -0.8302373, -0.3362902) - array2(v,m4inx,-0.8579998, -0.2908927, -0.4708062) - array2(v,m4inx,0.5217096, 0.4182147, -0.7715933) - array2(v,m4inx,0.749174, 0.08488134, -0.6884578) - array2(v,m4inx,0.6020514, -0.2908927, -0.7715933) - array2(v,m4inx,-0.5058321, 0.375774, -0.8033483) - array2(v,m4inx,-0.1654988, 0.6080151, -0.8033483) - array2(v,m4inx,0.05138057, -0.6666667, -0.7715933) - array2(v,m4inx,-0.3521676, -0.6666667, -0.6884578) - array2(v,m4inx,-0.579632, -0.3333333, -0.7715933) - array2(v,m4inx,0.1471226, 0.375774, -0.9378643) - array2(v,m4inx,0.2274644, -0.3333333, -0.9378643) - array2(v,m4inx,-0.4035482, 0, -0.9378643) - array2(v,m4inx,0, 0, -1.021) - - # 12 pentagons -undefine(`m4x') -array2(p,m4inx,0,3,8,5,1) -array2(p,m4inx,2,7,15,13,6) -array2(p,m4inx,4,10,18,20,11) -array2(p,m4inx,9,14,23,27,17) -array2(p,m4inx,12,21,31,29,19) -array2(p,m4inx,16,26,36,35,25) -array2(p,m4inx,22,32,42,43,33) -array2(p,m4inx,24,30,40,44,34) -array2(p,m4inx,28,39,49,48,38) -array2(p,m4inx,37,47,55,54,46) -array2(p,m4inx,41,45,53,57,50) -array2(p,m4inx,51,52,56,59,58) - - # 20 hexagons -undefine(`m4x') -array2(h,m4inx,0,1,4,11,7,2) -array2(h,m4inx,0,2,6,14,9,3) -array2(h,m4inx,1,5,12,19,10,4) -array2(h,m4inx,3,9,17,26,16,8) -array2(h,m4inx,5,8,16,25,21,12) -array2(h,m4inx,6,13,22,33,23,14) -array2(h,m4inx,7,11,20,30,24,15) -array2(h,m4inx,10,19,29,39,28,18) -array2(h,m4inx,13,15,24,34,32,22) -array2(h,m4inx,17,27,37,46,36,26) -array2(h,m4inx,18,28,38,40,30,20) -array2(h,m4inx,21,25,35,45,41,31) -array2(h,m4inx,23,33,43,47,37,27) -array2(h,m4inx,29,31,41,50,49,39) -array2(h,m4inx,32,34,44,52,51,42) -array2(h,m4inx,35,36,46,54,53,45) -array2(h,m4inx,38,48,56,52,44,40) -array2(h,m4inx,42,51,58,55,47,43) -array2(h,m4inx,48,49,50,57,59,56) -array2(h,m4inx,53,54,55,58,59,57) - - viewazimuth = -10 # View angles in degrees - viewelevation = 40 - setview(viewazimuth,viewelevation,0) - - n = 0 # Find and draw the visible hexagons - for i=1 to 20 do { # The normal is the line to the center - for_(1,3,1,`a[m4x] = (v[h[i,1],m4x] + v[h[i,4],m4x])/2') - if dot3D(View3D,a[1],a[2],a[3]) >= 0 then { n +=1; ih[n] = i } - } - for i=1 to n do { - for j=1 to 6 do { x[j]=h[ih[i],j] } - line from Project((v[x[1],1]),(v[x[1],2]),(v[x[1],3]))\ - for_(2,6,1,`to Project((v[x[m4x],1]),(v[x[m4x],2]),(v[x[m4x],3]))\')\ - to Project((v[x[1],1]),(v[x[1],2]),(v[x[1],3])) thick 0.2 fill_(0.95) - } - m = 0 - for i=1 to 12 do { # Visible pentagons - for_(1,3,1,`a[m4x] = 0; for j=1 to 5 do { a[m4x] += v[p[i,j],m4x] }') - if dot3D(View3D,a[1]/5,a[2]/5,a[3]/5) >= 0 then { m +=1; ip[m] = i } - } - for i=1 to m do { - for j=1 to 5 do { x[j]=p[ip[i],j] } - line from Project((v[x[1],1]),(v[x[1],2]),(v[x[1],3])) \ - for_(2,5,1,`to Project((v[x[m4x],1]),(v[x[m4x],2]),(v[x[m4x],3]))\')\ - to Project((v[x[1],1]),(v[x[1],2]),(v[x[1],3])) thick 0.2 fill_(0) - } -] scaled 2.5 with .sw at last [].se+(1,0) -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/DiodesSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/DiodesSVG.m4 deleted file mode 100644 index 8af6a2e2986..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/DiodesSVG.m4 +++ /dev/null @@ -1,56 +0,0 @@ -.PS -# `Diodes.m4' -cct_init(svg_font(sans-serif,11bp__)) -movewid = 2pt__ - -{ {diode ; move ; "`diode'" ljust} - move down 0.2; right_ - {diode(,S) ; move ; "`diode(,S)'" ljust} - move down 0.2; right_ - {diode(,V) ; move ; "`diode(,V)'" ljust} - move down 0.2; right_ - {diode(,v) ; move ; "`diode(,v)'" ljust} - move down 0.2; right_ - {diode(,w) ; move ; "`diode(,w)'" ljust} - move down 0.2; right_ - {diode(,B) ; move ; "`diode(,B)'" ljust} - move down 0.2; right_ - {diode(,b) ; move ; "`diode(,b)'" ljust} - move down 0.2; right_ - {diode(,G) ; move ; "`diode(,G)'" ljust} - move down 0.2; right_ - {diode(,D) ; move ; "`diode(,D)'" ljust} - } - - move right_ 2.0 -{ {diode(,K) ; move ; "`diode(,K)'" ljust} - move down 0.2; right_ - {diode(,ZK) ; move ; "`diode(,ZK)'" ljust} - move down 0.2; right_ - {diode(,CR) ; move ; "`diode(,CR)'" ljust} - move down 0.2; right_ - {diode(,L) ; move ; "`diode(,L)'" ljust} - move down 0.2; right_ - {diode(,F) ; move ; "`diode(,F)'" ljust} - move down 0.2; right_ - {diode(,Sh) ; move ; "`diode(,Sh)'" ljust} - move down 0.2; right_ - {diode(,M) ; move ; "`diode(,M)'" ljust} - move down 0.2; right_ - {diode(,MK) ; move ; "`diode(,MK)'" ljust} - } - - move down_ sourcerad_ right_ 2.0 -{ {diode(,Z,RE) ; move ; "`diode(,Z,RE)'" wid 70bp__ ljust} - move down 0.25; right_ - {diode(,T) ; move ; "`diode(,T)'" ljust} - move down 0.30; right_ - {diode(,P) ; move ; "`diode(,P)'" ljust} - move down 0.30; right_ - {diode(,LE) ; move ; "`diode(,LE)'" ljust} - move down 0.15; right_ - {diode(,LER) ; move ; "`diode(,LER)'" ljust} - } - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/DriveSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/DriveSVG.m4 deleted file mode 100644 index 48a7165ff9f..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/DriveSVG.m4 +++ /dev/null @@ -1,74 +0,0 @@ -.PS -# `Drive.m4' -cct_init - -define(`synchmachine',`[ r = ifelse(`$1',,`dimen_*3/4',(`$1')/2) - C: circle rad r - Point_(120) - line from C to C+vec_(r*2/9,0); reversed(`inductor',to rvec_(r*2/3,0)) - W2: Here - Point_(240) - line from C to C+vec_(r*2/9,0); reversed(`inductor',to rvec_(r*2/3,0)) - W3: Here - line from C right_ r*2/9; inductor(right_ r*2/3) - W1: Here ]') - - bht = sourcerad_*10 - dlen = dimen_*2/3 -define(`Diodepair',`[ diode(up_ dlen); line up bht-2*dlen; diode(up_ dlen) ]') - -define(`gbt',`bi_trans(`$1',`$2',CBUHdE`$3')') -define(`dotrad_',dotrad_*0.5/linewid) -define(`GBTpair',`[linewid = 0.5*3/4 - Q1: gbt(up_ bht/2,,D) - Q2: gbt(up_ bht/2,,D) with .C at Q1.E - ]') - -SW: ground - line up -W: Here - line right dimen_/3; dot - ssep = sourcerad_*2.5 - { line up ssep; S1: source(right_ dimen_,AC) } - { S2: source(right_ dimen_,AC) } - { line down ssep; S3: source(right_ dimen_,AC) } - - dsep = dimen_/2 -D1: Diodepair at S2.e -D2: Diodepair at D1+(dsep,0); dot(at D2.n); dot(at D2.s) -D3: Diodepair at D2+(dsep,0); dot(at D3.n); dot(at D3.s) - dot(at (D1,S1)) - dot(at (D2,S2)); line to S2.e - dot(at (D3,S3)); line to S3.e - - line from D1.n to D3.n - inductor(right_ dimen_) -T: dot - capacitor(to (Here,D1.s),C) - dot - - gsep = dimen_*1.25 -G1: GBTpair with .Q1.C at T+(dimen_,0) -G2: GBTpair at G1+(gsep,0) -G3: GBTpair at G2+(gsep,0) - - line from G3.Q1.C to T - dot(at (G1.Q1.C,T)) - dot(at (G2.Q1.C,T)) - line from G3.Q2.E to D1.s - dot(at (G1.Q1.E,D1.s)) - dot(at (G2.Q1.E,D1.s)) - -M: synchmachine with .C at G3.e+(dimen_*2,0) - sg = dimen_/8 -L: (0.5,D1.s)-(sg,0) - line from M.W1 to (M.W1,L) then to L \ - then up M.C.y-L.y-sg then to G3.Q2.C+(0,-sg); dot - line from M.W3 down M.W3.y-L.y-sg*2 then to L+(sg*2,sg*2)\ - then up M.C.y-L.y-sg*2 then to G2.Q2.C; dot - line from M.W2 to (L,M.W2) \ - then down M.W2.y-G1.Q2.C.y-sg then to G1.Q2.C+(0,sg); dot - - line right dimen_/3 from M.e then down M.e.y-SW.y - ground -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/EEPSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/EEPSVG.m4 deleted file mode 100644 index 25a9ff71d92..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/EEPSVG.m4 +++ /dev/null @@ -1,108 +0,0 @@ -.PS -# EEPSVG.m4 -# slddiagsSVG.m4 -cct_init(svg_font(sans-serif,10bp__)) -include(libSLD.m4) -maxpsht = 30 - -Pic1: [ -define(`TrDeltaWye', - `sl_transformer(down_ elen_ `$1',type=S) - { Deltasymbol(at last [].M1); Ysymbol(at 2nd last [].M2,,D) } ') - - T: dot - switch(up_ elen_); {"Public supply" above} - Bus1: sl_busbar(right_ 5*dimen_,6,port=D) with .c at T - {"svg_small(20 kV)" at Bus1.Start above ljust} - S1: switch(from Bus1.P1-(0,elen_) up_ elen_) - S2: switch(from Bus1.P2-(0,elen_) up_ elen_) - TRF1: sl_transformer(from Bus1.P3 down_ elen_,type=S,,,Delta,Y) - arrow down_ dimen_/3 - TRF2: sl_transformer(from Bus1.P4 down_ elen_,type=S,,,Delta,Y) - arrow down_ dimen_/3 - TRF3: sl_transformer(from Bus1.P5 down_ elen_,type=S,,,Delta,Y) - arrow down_ dimen_/3 - S3: switch(from Bus1.P6-(0,elen_) up_ elen_) - Bus2: sl_busbar(right_ 1.5*dimen_,3,port=D) with .c at Bus1.P1+(0,-dimen_*3) - {"svg_small(20 kV)" at Bus2.Start above ljust} - {"svg_small(1.25 MVA)" at Bus2.P2 below} - S4: switch(from Bus2.P2 to S1.start) - TRF4: sl_transformer(from Bus2.P1 down_ elen_,type=S,,,Delta,Y) - S4: switch(from Bus2.P3+(0,-elen_) to Bus2.P3) -] - -Pic2: [ -# https://tex.stackexchange.com/questions/597643/draw-a-power-system-network - B1: sl_busbar(up_ dimen_*4/3,3) - sl_transformer(right_ 2*dimen_ from last [].P2, - type=S;body=shaded "lightgray"); variable(,,,dimen_*3/2) - B2: sl_busbar(up_ dimen_*4/3,3) - { line left_ dimen_/2 from B2.P1 - C1: capacitor(down_ dimen_/2); ground(,T) } - line right_ dimen_/2 - { line to (Here,C1.start); C2: capacitor(to (Here,C1.end)); ground(,T) } - ebox(right_ 3.5*dimen_, 2.5*dimen_, dimen_/5, 0.75) - { line to (Here,C1.start); C3: capacitor(to (Here,C1.end)); ground(,T) } - line right_ dimen_/2 - B3: sl_busbar(up_ dimen_*4.5,6) - line right_ dimen_*3/4 from B3.P1; box wid dimen_*3 ht dimen_*.6 \ - shaded rgbstring(0.85, 0.65, 0.13) "Static Load" - line right_ dimen_*3/4 from B3.P2; box wid dimen_*3 ht dimen_*.6 \ - shaded rgbstring(0.79, 0.59, 0.57) "Electronic Load" - sl_disk(right_ dimen_ from B3.P3, - text="A/C";circle=shaded rgbstring(0.2, 0.8, 0.2);diam=dimen_*3/4) - sl_disk(right_ dimen_ from B3.P4, - text="M";circle=shaded rgbstring(0.21, 0.47, 0.86);diam=dimen_*3/4) - sl_disk(right_ dimen_ from B3.P5, - text="M";circle=shaded rgbstring(0.2, 0.6, 0.8);diam=dimen_*3/4) - sl_disk(right_ dimen_ from B3.P6, - text="M";circle=shaded rgbstring(0.2, 0.63, 0.8);diam=dimen_*3/4) - sl_disk(left_ dimen_ from 1/2 between B3.P1 and B3.P2, - text="svg_small(DER_A)"; circle=shaded rgbstring(0.78, 0.36, 0.3);diam=dimen_*3/4) -] with .nw at last [].sw + (100bp__,120bp__) - -Pic3: [ -define(`shadedb',`shaded rgbstring(0.39,0.50,0.93)') -Loopover_(`LR', # loop to take advantage of symmetry - `define(`opposite',`ifelse(LR,left,right,left)')dnl - ifelse(LR,left,L,R)`'side: [ - sl_generator(LR dimen_/2,type=B;name=G1;circle=shadedb,box=shadedb) - { move from G1 opposite last circle.rad*3/2 down_ last circle.rad - ifelse(LR,left,`Delta',`Wye')symbol(,size=sourcerad_*2/3) } - T1: sl_transformer(opposite dimen_*3/2,name=Tx) - Bus1: sl_busbar(up_ dimen_*3/2,3,) with .P2 at Here - Br1: sl_breaker(from Bus1.P3 opposite elen_,box=shadedb) - line opposite dimen_*4/3 - Br2: sl_breaker(from Bus1.P1 opposite elen_,box=shadedb) - Br3: sl_breaker(down_ dimen_,box=shadedb) - Bus2: sl_busbar(opposite dimen_,3) with .P2 at Here - T2: sl_transformer(down_ dimen_ from Bus2.P2,name=X2) - sl_disk(down_ dimen_/2,type=B;text="SM";name=SM1;circle=shadedb,box=shadedb) - { move from last circle opposite sourcerad_*3 - Wyesymbol(,type=G`'ifelse(LR,right,L);size=sourcerad_*2/3) } - ]', - left,right) - "Bus 1" at Lside.Bus1.top above - "Bus 2" at Rside.Bus1.top above - "Bus 3" at Lside.Bus2.w above - "Bus 4" at Rside.Bus2.e above - "TL`'svg_sub(1) 50 km 69 kV" at 1/2 between Lside.Br1 and Rside.Br1 above - "TL`'svg_sub(2) 30 km" ljust "69 kV" ljust at Lside.Br2.end + (-18bp__,12bp__) - "TL`'svg_sub(2) 20 km" ljust "69 kV" ljust at Rside.Br2.end + (-18bp__,12bp__) - "G`'svg_sub(1) 50 MVA" ljust "13.8 kV" ljust at Lside.G1.w+(-25bp__,-32bp__) - "G`'svg_sub(2) 30 MVA" ljust "13.8 kV" ljust at Rside.G1.w+(10bp__,-28bp__) - "T`'svg_sub(1) 50 MVA" "13.8/69 kV svg_Delta/Y" \ - at Lside.Tx.s+(-2bp__,-25bp__) - "T`'svg_sub(2) 30 MVA" "69/13.8 kV Y/svg_Delta " \ - at Rside.Tx.s+(2bp__,-27bp__) - "T`'svg_sub(3) 50 MVA" rjust "13.8/69 kV Y/svg_Delta " rjust \ - at Lside.X2.w+(-4bp__,0) - "T`'svg_sub(4) 20 MVA" ljust "69/6.9 kV Y/svg_Delta " ljust \ - at Rside.X2.e+(4bp__,0) - "SM`'svg_sub(1) 30 MVA" rjust "13.8 kV" rjust at Lside.SM1.w+(-4bp__,0) - "SM`'svg_sub(2) 20 MVA" ljust "6.9 kV" ljust at Rside.SM1.e+( 4bp__,0) -] with .nw at (Pic1.w,last [].sw + (0,-15bp__)) - - command "" - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/EVplugsSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/EVplugsSVG.m4 deleted file mode 100644 index 54530a1bfad..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/EVplugsSVG.m4 +++ /dev/null @@ -1,210 +0,0 @@ -.PS -# EV_lugs.m4 -# https://en.wikipedia.org/wiki/CHAdeMO -gen_init -divert(-1) - - `EV_J1772(keys) - EV charging plug in a [] block - keys: wdth=expr; # plug width - diamLNP=expr; # diam of L1, N, PE - twdth=expr; # tab width - thgt=expr; # tab hght - thick=expr; # outer line thickness (pt) - inthick=expr; # inner line thickness (pt) - BG=attributes; # shaded gray etc - L1=attributes; # L1 attributes ... - N=attributes; - PE=attributes; - PP=attributes; - CP=attributes; ' -define(`pEVskale',25.4) dnl default plug size (20 mm) -define(`EV_J1772',`[ pushkeys_(`$1', `wdth:20/pEVskale; - twdth:3.5/20*m4wdth; thgt:1.5/20*m4wdth; diamLNP:6/20*m4wdth; - thick:2; inthick:1.5; BG::N; L1::N; N::N; PE::N; PP::N; CP::N; ') - tang = atan2(m4twdth/2,m4wdth/2)*rtod_ - TS: (Rect_(m4wdth/2,-90-tang)); TE: (Rect_(m4wdth/2,-90+tang)) - Tab: line thick m4thick from TS down_ m4thgt \ - then to TE-(0,m4thgt) then to TE m4BG - Arc: arc thick m4thick to TS with .c at (0,0) m4BG - round(at TS,last arc.thick); round(at TE,last arc.thick) - L1: circle diam m4diamLNP thick m4inthick at (Rect_(m4wdth/4,150)) m4L1 - N: circle diam m4diamLNP thick m4inthick at (Rect_(m4wdth/4, 30)) m4N - PE: circle diam m4diamLNP thick m4inthick at (0,-m4wdth/4) m4PE - PP: circle diam m4diamLNP*0.55 thick m4inthick at (Rect_(m4wdth/3,210)) m4PP - CP: circle diam m4diamLNP*0.55 thick m4inthick at (Rect_(m4wdth/3,-30)) m4CP - `$2' popdef(`m4CP',`m4PP',`m4PE',`m4N',`m4L1',`m4BG', - `m4wdth',`m4diamLNP',`m4twdth',`m4thgt',`m4thick',`m4inthick') ]') - - `EV_J3068(keys,shade) - EV charging plug in a [] block - keys: wdth=expr; # plug width - diamLNP=expr; # diam of L1, N, PE - twdth=expr; # tab width - thgt=expr; # tab hght - thick=expr; # outer line thickness (pt) - inthick=expr; # inner line thickness (pt) - BG=attributes; # shaded gray etc - L1|L2|L3=attributes; # pin attributes ... - N=attributes; - PE=attributes; - PP=attributes; - CP=attributes; - arg2= R:G:B background fill color ' -define(`EV_J3068',`[ pushkeys_(`$1', - `wdth:25/pEVskale; diamLNP:m4wdth*0.25; thick:2; inthick:1.5; - BG::N; L1::N; L2::N; L3::N; N::N; PE::N; PP::N; CP::N; ') - C: Here - NE: C+(Rect_(m4wdth/2,45)); NW: C+(Rect_(m4wdth/2,135)) - Ac: NE-(1,1)/sqrt(2)*m4diamLNP/2 - Arc: arc thick m4thick from NW to NE with .c at C m4BG ifelse(`$2',,, - `shaded rgbstring(patsubst(`$2',:,`,')) - line invis from NE to Ac+(0,m4diamLNP/2) \ - then to Ac+(0,m4diamLNP/2) \ - then to NW+(1,-1)/sqrt(2)*m4diamLNP/2 + (0,m4diamLNP/2) \ - then to NW then to NE shaded rgbstring(patsubst(`$2',:,`,'))') - arc thick m4thick to Ac+(0,m4diamLNP/2) with .c at Ac m4BG - Top: line thick m4thick to (NW+NE-Ac, Here) m4BG - arc thick m4thick to NW with .c at Here+(0,-m4diamLNP/2) m4BG - PE: circle diam m4diamLNP thick m4inthick at C m4PE - PP: circle diam m4diamLNP*0.55 thick m4inthick at C+(Rect_(m4wdth/3,45)) m4PP - CP: circle diam m4diamLNP*0.55 thick m4inthick at C+(Rect_(m4wdth/3,135)) m4CP - L1: circle diam m4diamLNP thick m4inthick at C+(m4wdth*.3,0) m4L1 - L2: circle diam m4diamLNP thick m4inthick at C+(Rect_(m4wdth*.3,-60)) m4L2 - L3: circle diam m4diamLNP thick m4inthick at C+(Rect_(m4wdth*.3,-120)) m4L3 - N: circle diam m4diamLNP thick m4inthick at C-(m4wdth*.3,0) m4N - `$3' popdef(`m4wdth',`m4diamLNP',`m4thick',`m4inthick', - `m4BG',`m4L1',`m4L2',`m4L3',`m4N',`m4PE',`m4PP',`m4CP') ]') - - `EV_CCS1(J1772 keys,DC keys) - DC keys: wdth=expr; # DC socket width - hght=expr; # DC socket height - diamPM=expr; # diam of DC+, DC- circles - sep=expr; # separation of Jack and DC - thick=expr; # outer line thickness (pt) - inthick=expr; # inner line thickness (pt) - BG=attributes; # shaded gray etc - DCplus=attributes; - DCminus=attributes; ' -define(`EV_CCS1',`[ - J: EV_J1772(`$1') - pushkeys_(`$2',`wdth:J.wid:23.5/20; hght:J.wid*11/20; diamPM:m4hght*7/11; - sep:J.wid*3/30; thick:J.Arc.thick; inthick:J.PE.thick; - BG::N; DCplus::N; DCminus::N;') - DC: [ Box: box thick m4thick wid m4wdth ht m4hght rad m4hght/2 m4BG - DCplus: circle thick m4inthick diam m4diamPM at Box.w+(m4hght/2,0) m4DCplus - DCminus:circle thick m4inthick diam m4diamPM at Box.e-(m4hght/2,0) m4DCminus - ] with .n at J.s+(0,-m4sep) - popdef(`m4wdth',`m4hght',`m4diamPM',`m4sep',`m4thick',`m4inthick',`m4BG', - `m4DCplus',`m4DCminus') - ]') - - `EV_CCS2(J3068 keys,shade,DC keys) - DC keys: wdth=expr; # DC socket width - hght=expr; # DC socket height - diamPM=expr; # diam of DC+, DC- circles - sep=expr; # separation of Jack and DC - thick=expr; # outer line thickness (pt) - inthick=expr; # inner line thickness (pt) - BG=attributes; # shaded gray etc - DCplus=attributes; - DCminus=attributes; - arg2= R:G:B background fill color ' -define(`EV_CCS2',`[ - J: EV_J3068(`$1',`$2') - pushkeys_(`$3',`wdth:J.wid:23.5/20; hght:J.wid*11/20; diamPM:m4hght*7/11; - sep:J.wid*3/30; thick:J.Arc.thick; inthick:J.PE.thick; - BG::N; DCplus::N; DCminus::N;') - DC: [ Box: box thick m4thick wid m4wdth ht m4hght rad m4hght/2 dnl - m4BG ifelse(`$2',,,`shaded rgbstring(patsubst(`$2',:,`,'))') - DCplus: circle thick m4inthick diam m4diamPM at Box.w+(m4hght/2,0) m4DCplus - DCminus:circle thick m4inthick diam m4diamPM at Box.e-(m4hght/2,0) m4DCminus - ] with .n at J.s+(0,-m4sep) - popdef(`m4wdth',`m4hght',`m4diamPM',`m4sep',`m4thick',`m4inthick',`m4BG', - `m4DCplus',`m4DCminus') - ]') - - `EV_CHAdeMO(keys,shade) - EV charging plug in a [] block - keys: wdth=expr; # plug width - thick=expr; # outer line thickness (pt) - inthick=expr; # inner line thickness (pt) - BG=attributes; # background shaded gray etc - DCplus=|DCminusNS=|FG=|NC=|SS1=|DCP=|PP=| - CL=|CH=|SS2=attributes # pin attributes ...' -define(`EV_CHAdeMO',`[ pushdef(`m4sk',33/140/pEVskale) pushkeys_(`$1', - `wdth:140*m4sk; thick:m4wdth*9/140/(1bp__); inthick:m4thick*1.5/9; - BG::N; DCplus::N; DCminus::N;N::N;S::N; - FG::N; NC::N; SS1::N; DCP::N; PP::N; CL::N; CH::N; SS2::N') - C: circle thick m4thick diam m4wdth-m4thick bp__ m4BG - line thick m4thick*0.6 from C+(Rect_(C.rad+m4thick bp__*3/4,42)) \ - to C+(Rect_(C.rad+m4thick bp__*3/4,50)) then left m4thick bp__ m4BG - line thick m4thick*0.6 from C+(Rect_(C.rad+m4thick bp__*3/4,138)) \ - to C+(Rect_(C.rad+m4thick bp__*3/4,130)) then right m4thick bp__ m4BG - idiam = (m4wdth-m4thick bp__*2)*47/(27+47*2) - N: circle diam idiam thick m4inthick with .n at C.n-(0,m4thick bp__/2) m4N - S: circle diam idiam thick m4inthick with .s at C.s+(0,m4thick bp__/2) m4S - E: circle diam idiam thick m4inthick at Cintersect(N,N.diam,S,S.diam) m4DCminus - W: circle diam idiam thick m4inthick at Cintersect(S,S.diam,N,N.diam) m4DCplus - Loopover_(`Z', - `line thick m4inthick up Z.diam*0.6 right Z.diam*0.6 with .c at Z - line thick m4inthick up Z.diam*0.6 left Z.diam*0.6 with .c at Z',N,S) - Loopover_(`L',`L: circle diam idiam/4 thick linethick/2 \ - at N+(Rect_(idiam/4,90*m4Lx)) m4xpand(m4`'L)',FG,NC,DCP,SS1) - Loopover_(`L',`L: circle diam idiam/4 thick linethick/2 \ - at S+(Rect_(idiam/4,90*m4Lx)) m4xpand(m4`'L)',PP,CL,SS2,CH) - `$3' popdef(`m4sk',`m4wdth',`m4thick',`m4inthick',`m4BG', - `m4DCplus',`m4DCminus',`m4N',`m4S', - `m4FG',`m4NC',`m4SS1',`m4DCP',`m4PP',`m4CL',`m4CH',`m4SS2') ]') - -divert(0)dnl - - ifsvg(svg_font(sans-serif,6bp__)) - iflatex(command "{\sf\scriptsize") - define(`EVsmall',`ifsvg(svg_small(`$1'),{\tiny `$1'})') - define(`EVtxt',`ifsvg(``$1'',`{patsubst(`$1',_,\\_)}')') - define(`EVk',`ifsvg(+(0,0.75bp__))') - -[ -P1: EV_J1772(BG=fill_(0.75); PE=fill_(1) "PE";L1=fill_(1) "L1";N=fill_(1) "N"; - PP=fill_(1); CP=fill_(1);) - "EVsmall(PP)" at P1.PP EVk - "EVsmall(CP)" at P1.CP EVk - -P2: EV_J3068(PE=shaded "green" "PE";\ - L1=shaded "yellow" "L1";L2=shaded "yellow" "L2";L3=shaded "yellow" "L3"; - N=fill_(1) "N";", - 0.85:0.85:0.85) at P1+(15bp__,0) \ - with .w at P1.e+(P1.wid/5,0) - "EVsmall(PP)" at P2.PP EVk - "EVsmall(CP)" at P2.CP EVk - -P3: EV_CCS1(L1="L1";N="N";PE="PE", - DCplus="DC+";DCminus="DC-") with .w at P2.e+(P1.wid/5,0) - "EVsmall(PP)" at P3.J.PP EVk - "EVsmall(CP)" at P3.J.CP EVk - -P4: EV_CCS2(L1="L1";L2="L2";L3="L3";N="N";PE="PE",0.85:0.85:0.85, - DCplus="DC+";DCminus="DC-") with .w at P3.e+(P1.wid/5,0) - "EVsmall(PP)" at P4.J.PP EVk - "EVsmall(CP)" at P4.J.CP EVk -P5: EV_CHAdeMO( BG=outlined "blue" fill_(0.8); - DCplus=shaded "red" "DC+"; - DCminus=shaded "red" "DC-"; - Loopover_(`L',`L=fill_(1);',N,S) - FG=shaded "green"; - Loopover_(`L',`L=shaded "orange";',SS1,DCP,NC,PP,CH,SS2,CL)) \ - with .w at P4.e+(P4.w.x-P3.e.x,0) - Loopover_(`L',`"EVsmall(L)" at P5.L EVk',FG,NC,DCP,SS1,PP,CL,CH,SS2) -# - ifsvg(move from P5.e right 0.2) - "EVtxt(`EV_CCS2')" at P4.s+(0,-10bp__) - "EVtxt(`EV_CCS1')" at (P3,last "") - "EVtxt(`EV_J3068')" at (P2,last "") - "EVtxt(`EV_J1772')" at (P1,last "") - "EVtxt(`EV_CHAdeMO')" at (P5,last "") - ] # with .nw at last [].sw+(0,-0.2) - - iflatex(command "}%") - ifsvg(command "") -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/EmarrowsSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/EmarrowsSVG.m4 deleted file mode 100644 index 33372ae290f..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/EmarrowsSVG.m4 +++ /dev/null @@ -1,31 +0,0 @@ -.PS -# `Emarrows.m4' -cct_init(svg_font(sans-serif,11bp__)) - hskip = 0.6 -[ - { em_arrows(N) - box dotted wid last [].wid ht last [].ht at last [].c - thinlines_ - arrow <- up 0.12 from last [].Head;`"Head"' above - arrow <- down 0.12 from last [].Tail;`"Tail"' below - `"A1"' rjust below at last [].A1.c - `"A2"' ljust above at last [].A2.c - thicklines_ - move down 0.25 from last [].s - move up 0.2 from last [].n - `"em_arrows(N)"' wid 1.0 at last [].s+(0,-0.20) below } - { em_arrows(ND,45) with .sw at last [].se+(hskip*1.5,0) - `"em_arrows(ND,45)"' at last [].s below } - { em_arrows(I) with .sw at last [].se+(hskip,0) - `"...(I)"' at last [].s+(0,-9bp__) below } - { em_arrows(ID) with .sw at last [].se+(hskip,0) - `"...(ID)"' at last [].s+(0,-2bp__) below } - { em_arrows(E) with .sw at last [].se+(hskip,0) - `"...(E)"' at last [].s+(0,-2bp__) below } - { em_arrows(ED) with .sw at last [].se+(hskip,0) - `"...(ED)"' wid .75 at last [].s+(0,-2bp__) below } - ] -# box wid last [].wid ht last [].ht at last [] - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/EscherSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/EscherSVG.m4 deleted file mode 100644 index 637f99b29a4..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/EscherSVG.m4 +++ /dev/null @@ -1,175 +0,0 @@ -.PS -# EscherSVG.m4 -# https://tex.stackexchange.com/questions/129274/showcase-of-optical-illusions-made-with-tex-latex-luatex-context -threeD_init -[] -ifelse(1,1,` -[ - u=1/2.54 # unit size; could use scale for this - - define(`treadcolor',`0.8,0.75,0.7') - define(`darkgrn',`.1,.1,0') - define(`lightgrn',`.7,.7,.6') - - define(`northsteps',3) - define(`eaststeps',8) - define(`southsteps',7) - define(`weststeps',4) - define(`baselayers',10) - define(`eb',eval(baselayers+eaststeps)) - define(`ebs',eval(eb+southsteps)) - define(`under',7) - - azimuth = -45 # view angles - elevation = 25 - setview(azimuth,elevation,0) - # projected unit vectors - UX: Project(u,0,0) - UY: Project(0,-u,0) - UZ: Project(0,0,u) - # layer thickness in units of u - f= -(eaststeps*UX.y + southsteps*UY.y - weststeps*UX.y - northsteps*UY.y)/dnl - ((eaststeps+southsteps+weststeps+northsteps)*UZ.y) - # XY projection of 3D coords in units of u -define proj {UX*($1)+UY*($2)+UZ*($3)} - -define tread {line from UY/2 \ - to UY then to UY+UX then to UX then to (0,0) \ - then to UY/2 shaded rgbstring(treadcolor) \ - with .start at proj($1,$2,$3)+UY/2 } - -define wrect {line invis from (0,0) to UX*($4) \ - then to UX*($4)+UZ*($5) \ - then to UZ*($5) then to (0,0) with .start at proj($1,$2,$3) \ - shaded rgbstring(r,g,b)} - -define srect {line invis from (0,0) to UY*($4) then to UY*($4)+UZ*($5) \ - then to UZ*($5) then to (0,0) with .start at proj($1,$2,$3) \ - shaded rgbstring(r,g,b) } - # color blending -define(`blendwht',`between3D(`$1',`$2',`$3',`$4',1,1,1)') -define makergb { r = $1; g = $2; b = $3 } -define dorgb { gg = $2 - if $1==0 then { makergb(blendwht(gg,lightgrn)) } \ - else { makergb(blendwht(gg,darkgrn)) } } - -# East - for i=-under to baselayers do { - dorgb((i%2),0.2) - wrect(1,1,i*f,eaststeps-2,-f) } - for i=0 to eaststeps do { - dorgb((i%2),0.2) - wrect(i,1,(baselayers+i)*f,(eaststeps+1-i),-f) - tread(i,0,(baselayers+i)*f) - line from proj(i,1,(baselayers+i)*f) \ - to proj(i,1,(baselayers-1+i)*f) } -# South - for i=0 to eb do { - dorgb((i%2),0.4) - srect(eaststeps+1,0,i*f,southsteps+1,-f) } - for i=1 to southsteps do { - dorgb((i%2),0.4) - srect(eaststeps+1,i,(eb+i)*f,(southsteps+1-i),-f) - tread(eaststeps,i,(eb+i)*f) - line from proj(eaststeps+1,i,(eb+i)*f) \ - to proj(eaststeps+1,i,(eb+i-1)*f) } -# North - for i=-under to baselayers-northsteps-1 do { - dorgb((i%2),0.1) - srect(1,1,i*f,northsteps-1,-f) } - for i=1 to northsteps do { - dorgb((i%2),0.1) - srect(1,1,(baselayers-i)*f,i,-f) - wrect(0,1+i,(baselayers-i)*f,1,-f) - line from proj(0,1+i,(baselayers-i)*f) \ - to proj(0,1+i,(baselayers-i-1)*f) - line from proj(1,1+i,(baselayers-i)*f) \ - to proj(1,1+i,(baselayers-i-1)*f) - tread(0,i,(baselayers-i)*f) } -# West - for i=0 to ebs do { - dorgb((i%2),0.4) - wrect(eaststeps+1,southsteps+1,i*f,-(weststeps+1),-f) } - for i=0 to weststeps-1 do { - dorgb((i%2),0.4) - wrect(eaststeps-i,southsteps+1,(ebs+i+1)*f,-(weststeps-i),-f,) - srect(eaststeps-i,southsteps,(ebs+i+1)*f,1,-f) - if i!=weststeps-1 then { - line from proj(eaststeps-i,southsteps,(ebs+i+1)*f) \ - to proj(eaststeps-i,southsteps,(ebs+i)*f) } - line from proj(eaststeps-i,southsteps+1,(ebs+i+1)*f) \ - to proj(eaststeps-i,southsteps+1,(ebs+i)*f) - tread(eaststeps-(i+1),southsteps,(ebs+i+1)*f) } -# Corner lines - define(`dgreen',`outlined rgbstring(blendwht(0.2,darkgrn))') - line dgreen from proj(1,1,(baselayers-1)*f) to proj(1,1,-under*f) - line dgreen from proj(eaststeps+1,southsteps+1,ebs*f) \ - to proj(eaststeps+1,southsteps+1,-f) - line dgreen from proj(0,northsteps+1,(baselayers-northsteps)*f) \ - to last line.end-UX*(weststeps+1) then to last line.end \ - then to proj(eaststeps+1,0,-f) then to proj(eaststeps+1,0,eb*f) - ] -') - -ifelse(1,1,` -define(`DPL',`(project(`$1',`$2',`$3'))') -define(`ISL',` - S1: `$2'; E1: `$2' + `$3' - S2: `$4'; E2: `$4' + `$5' - `$1': line from S2 to intersect_(S1,E1,S2,E2) ') - -[ - bdp = 1.8 - bwd = 2.8 - bht = 1.5 - bth = bwd/10 - setview(-45,20,0) - - L1: line from DPL(0,0,0) to DPL(0,0,bht) \ - then to DPL(0,bwd,bht) \ - then to DPL(bdp,bwd,bht) \ - then to DPL(bdp,bwd,0) \ - then to DPL(bdp,0,0) \ - then to DPL(0,0,0) - L2: line from DPL(bth,bth,bht) to DPL(bth,bwd-bth,bht) \ - then to DPL(bdp-bth,bwd-bth,bht) \ - then to DPL(bdp-bth,bth,bht) \ - then to DPL(bth,bth,bht) - L3: line from DPL(bth,bth,0) to DPL(bth,bwd-bth,0) \ - then to DPL(bdp-bth,bwd-bth,0) \ - then to DPL(bdp-bth,bth,0) \ - then to DPL(bth,bth,0) - L4: line from DPL(bdp,bth,bht-bth) to DPL(bdp,bwd-bth,bht-bth) \ - then to DPL(bdp,bwd-bth,bth) \ - then to DPL(bth+bth,bwd-bth,bth) - L5: line from DPL(bdp-bth,0,bht-bth) to DPL(bth,0,bht-bth) \ - then to DPL(bth,0,bth) \ - then to DPL(bth,bwd-bth-bth,bth) - L6: line from DPL(0,0,bht) to DPL(bdp,0,bht) \ - then to DPL(bdp,bwd,bht) - L7: line from DPL(0,0,0) to DPL(0,bwd,0) \ - then to DPL(bdp,bwd,0) - ISL(L8,L4.start,UPy_,L4.end,UPz_) - ISL(L9,L4.start,UPy_,DPL(0,bwd,0),UPz_) - ISL(L10,L4.start,UPy_,L5.end,UPz_) - ISL(L11,L5.end,UPy_,L4.start,UPz_) - ISL(L12,L5.end,UPy_,DPL(bdp,0,bht),UPz_) - ISL(L13,L5.end,UPy_,L5.start,UPz_) - ISL(L14,DPL(bdp-bth,bth,bht),UPy_,DPL(bth,bwd-bth-bth,bht-bth),UPz_) - ISL(L15,L2.start,UPx_,DPL(bth,bwd-bth-bth,bht-bth),UPy_) - ISL(L16,DPL(bdp-bth,bth,bht),UPy_,DPL(bth,bwd-bth,bht),UPz_) - ISL(L17,DPL(bdp-bth,bth,bht),UPy_,DPL(bth+bth,bwd-bth,bht-bth),UPz_) - ISL(L18,DPL(bdp-bth,bth,bht),UPy_,DPL(bth+bth,bwd-bth,bht-bth),UPx_) - ISL(L19,L3.start,UPy_,L5.start+DPL(0,0,-bht+bth+bth),UPx_) - ISL(L20,L3.start,UPy_,L5.start+DPL(0,0,-bht+bth+bth),UPz_) - ISL(L21,L3.start,UPy_,DPL(bdp-bth,bth,0),UPz_) - ISL(L22,L3.start,UPy_,L4.start+DPL(0,0,-bht+bth+bth),UPz_) - ISL(L23,DPL(bth,bwd-bth,0),UPx_,L4.start+DPL(0,0,-bht+bth+bth),UPy_) - ISL(L24,L5.start,UPx_,DPL(bth,bth,bth),UPz_) - ISL(L25,L4.start,UPy_,DPL(bdp-bth,bwd-bth,bth),UPz_) - -ifelse(0,1,`for i=1 to 7 do { exec sprintf("\"L%g.s\" at L%g.start",i,i) } - for i=8 to 10 do { exec sprintf("\"L%g\" at L%g",i,i) }') -] with .sw at last [].se+(0.2,0) -') -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/EyeSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/EyeSVG.m4 deleted file mode 100644 index 457abb8081e..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/EyeSVG.m4 +++ /dev/null @@ -1,53 +0,0 @@ -.PS -# EyeSVG.m4 -gen_init - -define(`eye',`[ u = $1; v = 0.47*u; w = 0.25*u - shade(1, - arc thick 0 from (u/2,0) to (-u/2,0) with .c at (0,-u/3) - arc thick 0 to (u/2,0) with .c at (0,u/3) ) - circle diam v fill_(0.24) at (0,0) - circle diam w fill_(0) at (0,0) - circle thick 0 diam last circle.diam/2 fill_(1) at last circle.nw - circle diam last circle.diam-lthick at last circle outlined graystring(0.9) - ] ') - - skale = 2/3 - Bx: box wid 11*skale ht 8.5*skale fill_(0) at (0,0) - C[0]: Bx.se; C[1]: Bx.nw - d[5] = 0.92*Bx.ht - d[4] = 0.78*Bx.ht - d[3] = 0.62*Bx.ht - d[2] = 0.40*Bx.ht - d[1] = 0.25*Bx.ht - ane = atan2(Bx.ht,Bx.wid)*rtod_ - dax = 360/64 - da = 1 - for a=-int(ane/dax)*dax to 180-ane by dax do { - T1: intersect_(Bx.ne,C[(a>ane)],Bx,(Rect_(1,a+da))) - T2: intersect_(Bx.ne,C[(a>ane)],Bx,(Rect_(1,a))) - line outlined "white" shaded "white" from Bx to T1 then to T2 then to Bx - line outlined "white" shaded "white" from Bx to T1*(-1) \ - then to T2*(-1) then to Bx - } - for i=5 to 2 by -1 do { - C[i]: circle diam d[i] fill_(0) at Bx - for a=0 to 359 by dax do { - T1: Rect_(d[i]/2,a) - T2: Rect_(d[i]/2,a-da*2) - nx = int(distance(T1,T2)/lthick*1.5+0.5) - for h = 1 to nx-1 do { - spline 0.55 outlined "white" from h/nx between T1 and T2 \ - to 0.8 between Bx and T2 then to (Rect_(d[i]/4,a+31)) } - } - } - C[1]: circle thick 2 diam d[1] at Bx fill_(0.1) - eye(d[1]-4bp__) at (0,0) - for a=0 to 359 by dax do { - T1: (Rect_(d[1]/2-1bp__,a)) - T2: (Rect_(d[1]/2-1bp__,a+dax/2)) - line thick 0.4 from T1 to T2 then to 0.5 between Bx and T2 \ - then to 0.5 between Bx and T1 then to T1 shaded "white" - } - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/FlowSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/FlowSVG.m4 deleted file mode 100644 index 05f411cd6ac..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/FlowSVG.m4 +++ /dev/null @@ -1,144 +0,0 @@ -.PS -# FlowSVG.m4 -gen_init(svg_font(sans-serif,11bp__,2.5bp__)) -ifdef(`FlowchartDefs_',,`include(../FlowchartDefs.m4)') - -define(`Thistle',`rgbstring(0.85,0.75,0.85)')dnl -define(`RubineRed',`rgbstring(0.81,0,0.35)')dnl -define(`YellowGreen',`rgbstring(0.68,1,0.18)')dnl -define(`SeaGreen',`rgbstring(0.13,0.70,0.67)')dnl -define(`Goldenrod',`rgbstring(0.85,0.65,0.13)')dnl -define(`Beaublue',`rgbstring(0.74,0.83,0.9)')dnl -define(`Celadon',`rgbstring(0.67,0.88,0.69)')dnl - -# Accented characters -define(`svg_ccedilla',`svg_symbol(&`#'231;)')dnl -define(`svg_atilde',`svg_symbol(&`#'227;)')dnl - - linethick_(1.0) - arrowwid = 0.05 - arrowht = 0.1 - fillval = 0.9 - maxpsht = 20 - -define(`shad',`shaded rgbstring(0.9,0.8,0.7)') -define(`Below',`with .nw at last [].sw+(0,-0.25)') -TL: Here -Simple: [ - Fbox("svg_tt(`Fbox')",,shad) - Ftest("svg_tt(``Ftest'')",,shad) Below - Fdata("svg_tt(``Fdata'')",,,shad) Below - Fprep("svg_tt(``Fprep'')",) Below - Fkeying("svg_tt(``Fkeying'')") Below - Fkeyboard("svg_tt(``Fkeyboard'')") Below - Fdocument("svg_tt(``Fdocument'')",,shaded rgbstring(0.9,0.8,0.7)) Below - Fdelay("svg_tt(``Fdelay'')",,shaded Beaublue) Below - Fdisplay("svg_tt(``Fdisplay'')",,shaded Celadon) Below - Fstored("svg_tt(``Fstored'')",,shaded Thistle) Below - Fconnect(,,shaded Thistle) Below - Fconnect("45",wid boxwid ht boxht:45,shaded Thistle) \ - with .w at last [].e+(boxht/8,0) - "svg_tt(`Fconnect')" at last [].nw + (0,boxht/6) - ] with .nw at TL+(0.1,0); move from Simple.nw to TL - -#showbox_ -Complex: [ -Case: Fcase(, - "Test 1",[Fbox("Task 1",, shaded Thistle); W:last [].W; N:last [].N - arrow down linewid/3 from last [].S - Fbox("Task 1.5",, shaded Thistle) with .N at Here - E:last [].E; S:last [].S], - "Test 2",Fbox("Task 2" "is bigger", wid fboxwid*1.2 ht fboxht*3/2, \ - shaded SeaGreen), - "Test 3",Fbox("Task 3",, shaded RubineRed)dnl - ) - - "svg_it(.N)" at Case.N rjust above - "svg_it(.S)" at Case.S rjust below - "svg_it(.E)" at Case.E ljust - "svg_it(.W)" at Case.W rjust - "svg_tt(`Fcase')" below at Case.s #+(0,-0.1) - -Whiledo: Fwhiledo("svg_it(i svg_lt n)",,,Fbox("Task"),"T" above ljust at Test.E) \ - with .nw at Case.ne+(0.25,0) - - "svg_it(.N)" at Whiledo.N rjust - "svg_it(.S)" at Whiledo.S rjust below - "svg_it(.E)" at Whiledo.E ljust - "svg_it(.W)" at Whiledo.W rjust - "svg_tt(`Fwhiledo')" below at Whiledo.s - -Repeatuntil: Frepeatuntil("svg_it(n svg_gt 5)",,,Fbox("Task"), - "T" at Test.E above ljust) with .nw at Whiledo.sw + (0.25,-0.5) - - "svg_it(.N)" at Repeatuntil.N rjust above - "svg_it(.S)" at Repeatuntil.S rjust below - "svg_it(.E)" at Repeatuntil.E ljust - "svg_it(.W)" at Repeatuntil.W rjust - "svg_tt(`Frepeatuntil')" below at Repeatuntil.se +(-0.0,0.1) - -Ifthenelse: Fifthenelse("svg_it(A svg_lt B)",,, - Fbox("False"), - Fbox("True",ht fboxht*1.2 wid fboxwid)dnl - ) with .nw at Repeatuntil.sw +(-0.5,-0.3) - - "svg_it(.N)" at Ifthenelse.N rjust above - "svg_it(.S)" at Ifthenelse.S below rjust - "svg_it(.E)" wid 12bp__ at Ifthenelse.E ljust - "svg_it(.W)" at Ifthenelse.W rjust - "svg_tt(`Fifthenelse')" below at Ifthenelse.s+(0,-0.15) - -Compound: [ right - ellipse shaded YellowGreen "Start" - arrow right linewid/2 - - Fbox("First task") with .W at Here - arrow down linewid/2 from last [].S - - Fifthenelse("Test 1",,, - Frepeatuntil("svg_it(i svg_geq 5)",,shaded Goldenrod,Fbox("Task")), - Fifthenelse("svg_it(A svg_lt B)",,shaded Goldenrod, - Fbox("Left"), - Fbox("Right"), - "T" at Test.E above ljust), - "T" at Test.E above ljust) with .N at Here - - A: arrow down 0.25 from last [].S ] with .nw at Case.sw + (-12bp__,-0.3) - - "svg_it(Compound statements)" at last [].A.end+(0.1,0) ljust above - - ] with .nw at Simple.ne+(0.1,0) - -Example: [ fillvalue = 0.8; awid = linewid/2; right_ - Start: ellipse wid boxwid/2 ht boxwid/3 shaded "green" - arrow right_ awid - B1: Fbox("Planejamento") - B2: Fbox("Execu`'svg_ccedilla`'svg_atilde`'o") with .W at B1.E+(awid*3,0) - B3: Fbox("Sele`'svg_ccedilla`'svg_atilde`'o") with .W at B2.E+(awid*3,0) - LT: Ftest("Avalia`'svg_ccedilla`'svg_atilde`'o do" "Planejamento", - wid fboxwid*1.5 ht fboxht*2.0, - shaded YellowGreen, - "Correto" at Box.e above ljust; - "Incompleto" at Box.w above rjust) with .S at 0.5 between B1.ne and B2.nw - arrow from B1.E to (LT.S,B1.E) then to LT.S - arrow from LT.W to (B1.N,LT.W) then to B1.N - arrow from LT.E to (B2.N,LT.E) then to B2.N - RT: Ftest("Avalia`'svg_ccedilla`'svg_atilde`'o da" \ - "Execu`'svg_ccedilla`'svg_atilde`'o", - wid fboxwid*1.5 ht fboxht*2.0, - shaded YellowGreen, - "Correto" at Box.e below ljust; - "Incompleto" at Box.w below rjust) with .N at 0.5 between B2.se and B3.sw - arrow from B2.E to (RT.N,B2.E) then to RT.N - arrow from RT.W to (B2.S,RT.W) then to B2.S - arrow from RT.E to (B3.S,RT.E) then to B3.S - B4: Fbox("Extra`'svg_ccedilla`'svg_atilde`'o") with .S at B3.N+(0,awid) - arrow from B3.N to B4.S - arrow up_ awid from B4.N - B5: Fbox("Conclus`'svg_atilde`'o") - arrow up_ awid from B5.N - ellipse wid boxwid/2 ht boxwid/3 shaded "red" -] with .nw at last [].Compound.sw+(0,2.5*fboxht) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/FontsSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/FontsSVG.m4 deleted file mode 100644 index 57dcd431a57..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/FontsSVG.m4 +++ /dev/null @@ -1,31 +0,0 @@ -.PS -# FontsSVG.m4 -gen_init - textht = 0.2 - -define(`ft',`{ svg_font(`$1',`$2',`$3',"`$1'" ljust) - move to (B.w+(2.5,0),Here) - svg_font(`$1',`$2',`$3',"ABCDEFG abcdefg" ljust)} - move down 0.5; right_') - -B: box wid 5.5 ht 7 - move to B.nw+(0.5,-0.5) - - ft(Arial) - ft(Helvetica) - ft(Times) - ft(Courier) - ft(Cursive) - ft(Verdana) - ft(Georgia) - ft(Palatino) - ft(Garamond) - ft(Bookman) -# ft(Comic Sans MS) - ft(Trebuchet MS) - ft(Arial Black) - ft(Impact) - - textht = 0.12 - "These may be viewer-dependent" above ljust at B.sw -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/FourbarSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/FourbarSVG.m4 deleted file mode 100644 index 376fbe8efeb..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/FourbarSVG.m4 +++ /dev/null @@ -1,59 +0,0 @@ -.PS -# FourbarSVG.m4 -# https://tex.stackexchange.com/questions/563831/how-to-draw-four-bar-linkage-with-center-of-mass -gen_init -scale = 25.4 - - a = 18 - b = 73 - c = 47 - d = 72 - A0: Here - B0: A0+(d,0) - circlerad = 1 - -define(`pivot',`[ - C: circle - line down_ 4 from C+(2,0) - arc from last line.start to C+(-2,0) with .c at C - line down_ 4 - B: line thick 1.6 right 7 with .c at (C,Here) - thinlines_ - sep = 0.9 - nhash = B.len/sep -#for i=0 to nhash do { line down sep left sep from B.start+(i/nhash*B.len,0) } - for i=0 to nhash do { line down sep left sep from B.end-(i/nhash*B.len,0) } - thicklines_ - ]') - - pivot with .C at A0; "svg_it(A`'svg_sub(0))" at A0-(5,0) - circle dashed rad a at A0 - pivot with .C at B0; "svg_it(B`'svg_sub(0))" at B0-(5,0) - "svg_it(d = A`'svg_sub(0)B`'svg_sub(0))" at 0.5 - - B1: Cintersect(A0,a+b,B0,c) - B2: Cintersect(A0,b-a,B0,c) - arc dashed from B1 to B2 with .c at B0 - - A0B1: line thick 1.6 from A0 to B1 chop 2 chop 0 - line thick 1.6 from B0 to B1 chop 2 chop 0 "svg_it(c)" ljust - circle fill_(1) at B1; "svg_it(B`'svg_sub(1))" wid 3 at B1+(5,0) - A1: circle fill_(1) at LCintersect(A0B1,A0,a,R) - "svg_it(A`'svg_sub(1))" at A1+(5,0) - - A2: b/(b-a) between B2 and A0; "svg_it(a)" at 0.4 above rjust - "svg_it(b)" at 0.4 above rjust - A2B2: line thick 1.6 from A2 to B2 - line thick 1.6 from B0 to B2 chop 2 chop 0 - circle fill_(1) at B2; "svg_it(B`'svg_sub(2))" at B2+(5,0) - circle fill_(1) at A2; "svg_it(A`'svg_sub(2))" at A2+(5,0) - - thinlines_ - line from B0+(3,0) right 4 - ArcAngle(Here,B0,B1,5) ->; "svg_psi`'svg_sub(0)" at last arc.ne above ljust - ArcAngle(B1,B0,B2,8) ->; "svg_psi" at last arc.n+(-3,0) above - ArcAngle(A1,A0,B2,b*0.45) ->; "svg_theta" at last arc.start+(0,4) - line from A0+(3,0) right 8 - ArcAngle(Here,A0,B1,9) -> ; "svg_theta`'svg_sub(0)" at last arc.start+(2,2) - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/FusesSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/FusesSVG.m4 deleted file mode 100644 index a421c45b578..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/FusesSVG.m4 +++ /dev/null @@ -1,39 +0,0 @@ -.PS -# `FusesSVG.m4' -cct_init(svg_font(sans-serif,11bp__)) - -movewid = 0.25 - - {fuse ; {"`fuse'" at last line.c+(0,-0.2)} - move - fuse(,D) ; {"`fuse(,D)'" at last line.c+(0,-0.2)} - move - fuse(,B) ; {"`fuse(,B)'" at last line.c+(0,-0.2)} - move - fuse(,C) ; {"`fuse(,C)'" at last line.c+(0,-0.2)} - move - fuse(,S) ; {"`fuse(,S)'" at last line.c+(0,-0.2)} - move - fuse(,SB) ; {"`fuse(,SB)'" at last line.c+(0,-0.2)} - } - move down; right_ - { - cbreaker; {"`cbreaker'" at last line.c+(0,-0.25)} - move - cbreaker(,R); {"`cbreaker(,R)'" at last line.c+(0,-0.25)} - move - cbreaker(,,D); {"`...(,,D)'" at last line.c+(0,-0.25)} - move - cbreaker(,,T); {"`...(,,T)'" at last line.c+(0,-0.25)} - move - cbreaker(,,TS); {"`...(,,TS)'" at last line.c+(0,-0.25)} - } - move down; right_ - { - fuse(,HB) ; {"`fuse(,HB)'" at last line.c+(0,-0.2)} - move - fuse(,HC,0.5,0.3) ; {"`(,HC,0.5,0.3)'" ljust at last line.start+(0,-0.25)} - } - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/GeometrySVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/GeometrySVG.m4 deleted file mode 100644 index 38e748d7e3b..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/GeometrySVG.m4 +++ /dev/null @@ -1,154 +0,0 @@ -.PS -# Geometry.m4 -# Some constructions from https://tex.stackexchange.com/ -gen_init -maxpswid = 9 - -Fig1: [ -# FourbarSVG.m4 -# https://tex.stackexchange.com/questions/563831/how-to-draw-four-bar-linkage-with-center-of-mass -ls = 1/25.4 # local scale - - a = 18*ls - b = 73*ls - c = 47*ls - d = 72*ls - A0: Here - B0: A0+(d,0) - circlerad = 1*ls - -define(`pivot',`[ - C: circle - line down_ 4*ls from C+(2*ls,0) - arc from last line.start to C+(-2*ls,0) with .c at C - line down_ 4*ls - B: line thick 1.6 right 7*ls with .c at (C,Here) - thinlines_ - sep = 0.9*ls - nhash = B.len/sep - for i=0 to nhash do { line down sep left sep from B.end-(i/nhash*B.len,0) } - thicklines_ - ]') - - pivot with .C at A0; "A`'svg_sub(0)" at A0-(5,0)*ls - circle dashed rad a at A0 - pivot with .C at B0; "B`'svg_sub(0)" at B0-(5,0)*ls - "d = A`'svg_sub(0)B`'svg_sub(0)" at 0.5 - - B1: Cintersect(A0,a+b,B0,c) - B2: Cintersect(A0,b-a,B0,c) - arc dashed from B1 to B2 with .c at B0 - - A0B1: line thick 1.6 from A0 to B1 chop 2*ls chop 0 - line thick 1.6 from B0 to B1 chop 2*ls chop 0 "c" ljust - circle fill_(1) at B1; "B`'svg_sub(1)" wid 3*ls at B1+(5,0)*ls - A1: circle fill_(1) at LCintersect(A0B1,A0,a,R) - "A`'svg_sub(1)" at A1+(5,0)*ls - - A2: b/(b-a) between B2 and A0; "a" at 0.4 above rjust - "b" at 0.4 above rjust - A2B2: line thick 1.6 from A2 to B2 - line thick 1.6 from B0 to B2 chop 2*ls chop 0 - circle fill_(1) at B2; "B`'svg_sub(2)" at B2+(5,0)*ls - circle fill_(1) at A2; "A`'svg_sub(2)" at A2+(5,0)*ls - - thinlines_ - line from B0+(3*ls,0) right 4*ls - ArcAngle(Here,B0,B1,5*ls) ->; "svg_psi`'svg_sub(0)" at last arc.ne above ljust - ArcAngle(B1,B0,B2,8*ls) ->; "svg_psi" at last arc.n+(-3*ls,0) above - ArcAngle(A1,A0,B2,b*0.45) ->; "svg_theta" at last arc.start+(0,4*ls) - line from A0+(3*ls,0) right 8*ls - ArcAngle(Here,A0,B1,9*ls) ->; "svg_theta`'svg_sub(0)" \ - at last arc.start+(2,2)*ls - ] - -Fig2: [ -# FourbarSVG.m4 -# https://tex.stackexchange.com/questions/609452/help-drawing-a-more-sophisticated-right-triangle-with-tikz-or-something-else - - textkht = 12/72 - unit = 0.6 - C: Here; { "C" at C rjust below } - B: C+(4*unit,0); { "B" at B ljust below } - A: C+(0,3*unit); { "A" at A rjust above } - H: PerpTo(C,A,B); { "H" at H ljust above } - line from C to H then to B then to C shaded rgbstring(0.5,0.8,0.9) -# line from C to H then to B then to C shaded "CornflowerBlue" - line from C to H then to A then to C shaded rgbstring(0.8,0.9,0.7) -# line from C to H then to A then to C shaded "SpringGreen" - ArcAngle(C,A,B,unit*0.4) - ArcAngle(C,A,B,unit*0.5) - ArcAngle(A,B,C,unit*0.5,,"svg_theta" rjust) - ArcAngle(B,C,H,unit*0.5); {"svg_theta" at C+(unit*0.3,unit*0.17) } - ArcAngle(B,C,A,unit*0.6) - RightAngle(B,C,A,unit*0.17) - RightAngle(C,H,A,unit*0.17) - ] with .nw at Fig1.sw+(0.2,0) - - -Fig3: [ ls = 3/4 # local scale -# https://tex.stackexchange.com/questions/593272/drawing-complex-geometry - P: dot(at Here); "P" at P.s below - N: dot(at P+(3.5*ls,1.5*ls)); "N" at N.se ljust below - O: dot(at (N,P)); "O" at O.s below - R: dot(at 1/3 between O and P);"R" at R.s below - M: dot(at (R,N)); "M" at M.se ljust below - Q: dot(at (M.x,M.y+distance(M,N)/distance(N,O)*distance(P,O)));"Q" at Q.e ljust - line from P to Q then to N then to O - B: line to P chop -0.3 - line from M to N - Pu: line from R to Q chop 0 chop -0.3 - H: line from P to N chop 0 chop -0.3 - X: dot(at Intersect_(Pu,H)); "X" at X.se ljust below - thinlines_ - RightAngle(Q,M,N) - RightAngle(Q,N,H.end) - RightAngle(N,O,B.start) - ArcAngle(N,P,Q,0.4); "svg_beta" at last arc.ne above ljust - ArcAngle(O,P,N,0.5); "svg_alpha" at last arc.start+(5bp__,8bp__) - ArcAngle(R,Q,N,0.5); "svg_alpha" at last arc.start+(8bp__,-5bp__) - ] with .sw at Fig2.e+(-0.2,-0.7) - -Fig4: [ ls = 2/3 # local scale - A: Here; "A" at A above - B: A+(-1*ls,-3.5*ls); "B" at B below rjust - C: B+(4.6*ls,0); "C" at C below ljust - AB: line from A to B - BC: line from B to C - CA: line from C to A - - perpto(A,BC,L); "L" at L below - AL: line from A to L; RightAngle(A,L,C) - - angleLAC = atan2(C.x-L.x,A.y-L.y) - S: move from A to (sin(angleLAC/2),-cos(angleLAC/2)) - AW: line from A to Intersect_(S,BC) - W: Here; "W" at W below rjust - - perpto(C,AB,N); "N" at N above rjust - CN: line from C to N; RightAngle(C,N,B) - - perpto(B,CA,M); "M" at M above - CM: line from B to M; RightAngle(B,M,C) - - H: Intersect_(CN,AL); "H" at H +(4bp__,10bp__) - - thinlines_ - Equidist3(B,L,N,CC1,c1rad); C1: circle rad c1rad at CC1 - Equidist3(B,W,N,CC2,c2rad); C2: circle rad c2rad at CC2 - Equidist3(B,C,N,CC3,c3rad); C3: circle rad c3rad at CC3 - Equidist3(W,C,M,CC4,c4rad); C4: circle rad c4rad at CC4 - thicklines_ - - Z: LCintersect(AW,CC2,C2.rad); "Z" at Z+(-5bp__,-5bp__) - HZ: move from H to Z - Y: LCintersect(HZ,CC4,C4.rad,R); "Y" at Y above - X: LCintersect(HZ,CC2,C2.rad); "X" at X above rjust - - Loopover_(`P',`dot(at P)',X,Y,Z) - - line dashed from X to Y chop -linewid/2 - RightAngle(A,Z,Y) - ] with .sw at (Fig3.e,Fig2.s) - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/GrayCodeSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/GrayCodeSVG.m4 deleted file mode 100644 index b878e63d8ef..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/GrayCodeSVG.m4 +++ /dev/null @@ -1,79 +0,0 @@ -.PS -# Gray_code.m4 -gen_init - -GrayCode: [ - outer = 4 - inner = 0.75 - nbits = 10 - -C: circle diam outer - circle diam inner at C - sectors = 2^nbits - lthk = (outer-inner)/2/nbits - for bit = 1 to nbits do { - for is = 2^(bit-1) to sectors by 2^(bit+1) do { - startang = is/sectors*360 - endang = min(startang+(2^bit)/sectors*360,360) - arcd(C,outer/2-(bit-0.5)*lthk,startang,endang) thick lthk/(1bp__) - } - } - ] -Crossbar: [ -#.PS -# Crossbar switch -#gen_init - svg_font(sans-serif,11bp__) - circlerad = 0.12 - boxwid = 0.18 - boxht = 0.18 - rathick = 1.5 - rawd = rathick*4 bp__ - raht = rawd*2 - boxdist = boxwid*1.8 - -`define bcoord {($2,-($1))*boxdist}' -`define redarrow { arrow ht raht wid rawd thick rathick color "red" }' - -`define cbx {' - thinlines_ - n = $+ - 1 - for i=0 to n do { - line color "blue" from bcoord(i,0) to bcoord(i,n) - line color "blue" from bcoord(0,i) to bcoord(n,i) - C[i]: circle invis at bcoord(i,-1.5) - } - for i=0 to n do { - exec sprintf("col = $%g",i+1) - redarrow from C[i].e right 1.25*boxwid - redarrow from C[i].w+(-boxwid,0) right raht - for j=0 to n do { - B: box color "blue" shaded "yellow" at bcoord(i,j) - if j==col then { - line color "blue" from B.s to B.e - line thick rathick color "red" from C[i].e to B.w \ - then to B.n then to (B.x,C[0].y+(2+j*2/3)*boxht) - continue to (C[j].x-(2+j*2/3)*boxht,Here.y) - continue to (Here,C[j]) then to C[j].w - } \ - else { - line color "blue" from B.n to B.s - line color "blue" from B.w to B.e - } - } - } - thicklines_ - for i=0 to n do { - circle thick 1.5 outlined "blue" shaded "yellow" at C[i] \ - sprintf("ifpostscript(,ifsvg(,\large))%g",i) - } - } - -[ - cbx(3,6,0,5,2,7,1,4) - ] at 4,4 - - command "" # end font -#.PE - ] with .w at last [].e+(0.25,0) -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/GroundsSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/GroundsSVG.m4 deleted file mode 100644 index c1a9589f2d8..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/GroundsSVG.m4 +++ /dev/null @@ -1,46 +0,0 @@ -.PS -# `GroundsSVG.m4' -cct_init(svg_font(sans-serif,11bp__)) - -sep = 0.65 -Ground: ground - move right sep -GT: ground(,T) - move right sep -GF: ground(,,F) -sep = 0.55 - move right sep -GE: ground(,,E) - move right sep - -B: Here+(0,-0.5) -D: B+(0,11bp__) - { "`ground'" wid 36bp__ at (Ground,B) - "`ground'(,T)" at (GT,B)+(0,11bp__) - "(,,F)" at (GF,B) - "(,,E)" at (GE,D)} - - -GS: ground(,,S) - move right sep -GS90: [ground(,,S,90) ] with .n at Here - move right sep from GS90.n -GQ: ground(,,Q) - move right sep -GL: ground(,,L) - move right sep -GP: ground(,,P) - move right sep -GPA: ground(,T,PA) - -C: Here+(0,-0.5) -E: C+(0,11bp__) - "(,,S)" at (GS,C) - "(,,S,90)" at (GS90,E) - "(,,Q)" at (GQ,C) - "(,,L)" at (GL,E) - "(,,P)" at (GP,C) - "(,T,PA)" wid 32bp__ at (GPA,E) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/HeadersSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/HeadersSVG.m4 deleted file mode 100644 index 15e4cda70bc..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/HeadersSVG.m4 +++ /dev/null @@ -1,42 +0,0 @@ -.PS -# HeadersSVG.m4 -log_init(svg_font(sans-serif,10bp__)) - - Header - {"svg_it(P1)" wid 15bp__ at last [].P1 rjust - `"Header"' wid 45bp__ at last [].s+(0,-10pt__) - "svg_it(P2)" at last [].P2 rjust - thinlines_ - arrow <- from last [].Block.ne-(0,0.1) up 0.15 right 0.15 - "svg_it(Block)" ljust - thicklines_ } - - Header(2,3,8mm__,10mm__) with .nw at last [].ne+(0.75,-0.05) - {"svg_it(P1)" at last [].P1 rjust - "`Header(2,3,8mm__,10mm__)'" at last [].s+(0,-10pt__) - "svg_it(P2)" at last [].P2 ljust - "svg_it(P5)" at last [].P5 rjust - "svg_it(P6)" at last [].P6 ljust} - - left_ - Header(2,4,,,fill_(0.9)) with .sw at last [].se+(0.75,0) - {"svg_it(P1)" at last [].P1 rjust_ - "`left_; Header(2,4,,,fill_(0.9))'" at last [].s+(0,-23pt__) - "svg_it(P8)" at last [].P8 ljust_} - - down_ - Header(2,8) with .nw at last [].ne+(0.75,0) - {"svg_it(P1)" at last [].P1 ljust - "svg_it(P2)" at last [].P2 ljust - "`down_; Header'(2,8)" at last [].s+(0,-10pt__) - "svg_it(P15)" at last [].P15 rjust - "svg_it(P16)" at last [].P16 rjust} - {thinlines_ - arrow <- right 0.15 from last [].PinP1.e ; {move right 0.45} - "svg_it(PinP1)" ljust - arrow <- right 0.15 from last [].PinP2.e - "svg_it(PinP2)" ljust - thicklines_ } - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/HeathkitSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/HeathkitSVG.m4 deleted file mode 100644 index fc7ffd21588..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/HeathkitSVG.m4 +++ /dev/null @@ -1,343 +0,0 @@ -.PS -cct_init(svg_font(Helvetica,7pt__)) -# HeathkitSVG.m4 -# Landscape -maxpswid = 11 -maxpsht = 8.5 - -# llabel and rlabel without math mode -define(`Llabel',`llabel( - ifelse(`$1',,,`m4lstring(`$1',"`$1'")'), - ifelse(`$2',,,`m4lstring(`$2',"`$2'")'), - ifelse(`$3',,,`m4lstring(`$3',"`$3'")'))') -define(`Rlabel',`rlabel( - ifelse(`$1',,,`m4lstring(`$1',"`$1'")'), - ifelse(`$2',,,`m4lstring(`$2',"`$2'")'), - ifelse(`$3',,,`m4lstring(`$3',"`$3'")'))') - -# Grid parameters - picwid = 8.5 - picht = 6 - g = 1/12 - -# Element scaling - linewid = 8*g -define(`dimen_',dimen_*4/5) -# Default sizes - boxwid = 2*g - boxht = 2*g - arrowht = arrowht*2/3 - -# Grid - linethick_(0.4) - for i=0 to picwid/g do { line color "lightgray" up picht from (i*g,0) } - for i=0 to picwid/g by 10 do { sprintf("%g",i) at (i*g,0) below } - for i=0 to picht/g do { line color "lightgray" right picwid from (0,i*g) } - for i=0 to picht/g by 10 do { sprintf("%g",i) at (0, i*g) rjust } - move left 2*g from (0,0) - linethick_(0.8) - - spline outlined "white" shaded "white" \ - from (0,picht+g) down g then down picht/5 then right picwid/5 - for i=1 to 4 do { continue down picht/5 then right picwid/5 } - continue right 2*g then up 2*g - continue up picht-2*g then up g then left g - -# Place the bottom inductor on the grid - I1: inductor(down_ 13*g from (80,22)*g,,13,,g) - I2: inductor(down_ 10*g from I1.start+(0,21*g),,10,,g) - I3: inductor(down_ 10*g from I2.start+(0,12)*g,,10,M,g) - line from M4Core1.end to (M4Core1,I1.end) - line from M4Core2.end to (M4Core2,I1.end) - Scrn: 2 between M4Core1.start and M4Core2.start - line dashed from Scrn to (Scrn,I1.end) - ground - I4: inductor(up_ 5*g from (Scrn.x+M4Core1.x-I2.x,I2.start.y-2*g),,5,,g) - I5: inductor(up_ 5*g from (I4,I2.end+(0,g)),,5,,g) - -# Circuit board - Board: box dashed thick 2 wid 58*g ht 55*g with .se at I1.end+(-7,-2)*g - P: box invis wid 12*g ht 4*g with .s at Board.sw+(26*g,0) \ - "POWER SUPPLY" "CIRCUIT BOARD" - line dashed thick 2 from P.sw to P.nw; line dashed thick 2 to P.ne - line dashed thick 2 to P.se - -define Pad { P`$1': box fill_(1) "$1" } -# Board connections on the right - Pad(1) at (Board.e,I1.end) - line from P1.e to I1.end "RED" above - Pad(2) at (Board.e,I1.start) - line from P2.e to I1.start "RED" above - Pad(3) at (Board.e,I2.end) - GRN1: line left 4*g from I2.start "GRN" above ; ground - GRN2: line from P3.e to I2.end "GRN" above - spline <-> from GRN2.end+(-g,0) up 2.5*g right 0.5*g then up 5*g left g \ - then up 2.5*g right 0.5*g - box invis fill_(1) wid 3*g ht g "6 VAC" at I2-(2*g,0) - Pad(4) at P3-(0,3)*g - line right_ 3*g from P4.e "BRN" above - arrow down_ 2*g ht arrowht*2/3 - "TO DIAL" "LAMPS" at Here+(0,-g) - Pad(5) at (Board.e,I3.end) - line from P5.e to I3.end "BLU" above - Pad(7) at (Board.e,I3.start) - line from P7.e to I3.start "BLU" above - Pad(6) at 0.5 between P5 and P7 - line from P6.e to I3 "BLU-YEL" above - -# Power wiring, plug, switch -define(`socket',`[ - Outer: box wid dimen_*2/3 ht dimen_/2*3/4 - L: box wid dimen_/16 ht dimen_/4 at Outer-(dimen_/6,0) - R: box wid dimen_/16 ht dimen_/4 at Outer+(dimen_/6,0) - line from Outer.w to L.w - line from Outer.e to R.e - ] ') - - BLK: line from I4.end to (int(I4.end.x/g+8)*g,I4.end.y) "BLK" below ; dot - b = lin_leng(BLK) - BLKYEL: line from I4.start right_ b "BLK-YEL" above ; dot - BLKGRN: line from I5.end right_ b "BLK-GRN" below ; dot - BLKRED: line from I5.start right_ b "BLK-RED" above ; dot - line right_ g; PL: dot - line from BLKYEL.end right g then to Here+(0,-g) - fuse(down_ 3*g,D) - {"3 A FUSE" "SLOW BLOW" at last line+(-5*g,0) } - line to (Here.x,int(Here.y/g)*g-g); dot - Sckt1: socket at Here+(5,0)*g - line from Sckt1.w to (PL,Sckt1); A: dot; "A" rjust - line from Sckt1.e right_ lin_leng(last line); B: dot; "B" ljust - Sckt2: socket at (Sckt1,P1+(0,6)*g) - line from Sckt2.w to (A,Sckt2); dot - line from Sckt2.e to (B,Sckt2); dot - Sckt3: socket at (Sckt1,P1+(0,2)*g) - line from Sckt3.w to (A,Sckt3); dot - line from Sckt3.e to (B,Sckt3); dot - -define(`plug',`[ w = dimen_*2/3; q = 0.25*w - F: line right_ w - arc cw from F.start to F.end with .c at F - T1: F+(-q,w/2+g/2) - T2: F+( q,w/2+g/2) - line from T1 to (T1,F)-(0,2*g) - line from T2 to (T2,F)-(0,2*g) ]') - - PP: plug with .F at Sckt3+(0,-8)*g - {"120 VAC" ljust "50/60 Hz" ljust at PP.e } - -define(`pwrswitch',`[ right; circlerad = 1.75*g/2 - C1: circle "1" - C4: circle "4" - C2: circle "2" with .n at C1.s+(0,-C1.diam/2) - C5: circle "5" - C3: circle "3" with .n at C2.s+(0,-C1.diam/2) - C6: circle "6" - hatchbox(wid g ht C2.n.y-C3.s.y,0.05) with .w at 0.5 between C5.e and C6.e - ]') - - Psw: pwrswitch with .C4.e at Sckt1+(0,-4*g) - "POWER" at Psw.w+(-2*g,0) rjust - arrow up Psw.ht/2 at Psw.e+(1.5*g,0) - "ON" above; "OFF" at last arrow.start below - line from Psw.C1.w to (A,Psw.C1) then to A - line from Psw.C2.w to (A,Psw.C2); continue to (Here,PP.T1) then to PP.T1 - line from PP.T2 to (B,PP.T2) then to (B,I4.end) then to I4.end - line from BLKGRN.end to (B,BLKGRN); dot - -# Bottom connections - Pad(25) at Board.se+(-3,0)*g - R516: resistor(down_ 6*g from P25.s) - {"R516" "22" at last line+(-2*g,0)} ; ground(,T) - dot(at P25.s+(0,-g)); line right_ 5*g - reversed(`source',down_ 4*g,B) - {"#49" ljust "HI" ljust "TEMP" ljust at last line+(2*g,0) } - line to (P25,Here); dot - t = linethick; linethick_(0.4) - arrow <- from P25.s+(0,-g/2) right_ 2*g up_ g/4; "BRN" ljust; linethick_(t) - - Pad(24) at P25+(-4,0)*g - line from P24.s to (P24,R516.end); ground(,T) - Pad(23) at Board.sw+(12*g,0) - line from P23.s to (P23,R516.end); ground(,T) - - Pad(22) at Board.sw+(0,3)*g - R514: resistor(right_ 8*g from P22.e); Llabel(,R514); Rlabel(,680 K) - dot; { ground } - line to (P23,Here) then to P23.n - -# Diode bridge - BE: dot(at (P24,I1)) - d1h = lin_leng(I1)/2 - diode(left_ d1h up_ d1h); Rlabel(,,D508) - BN: dot - diode(left_ d1h down_ d1h); Rlabel(D506) - BW: dot - diode(from BE left_ d1h down_ d1h); Llabel(,,D509) - BS: dot - diode(left_ d1h up_ d1h); Llabel(D507) - capacitor(down_ from BN to BS,C); Llabel(C507,,.22) - line from BE to P24.n - line from BN to P2.w - line from BS to P1.w - spline <-> from (BE.x+2*g,BS.y) \ - up d1h/2 right g/2 then up d1h left g then up d1h/2 right g/2 - box invis fill_(1) ht 2*g wid 2*g "57" "VAC" at last spline - -# Left board connections - Pad(21) at (Board.w,BW); line from P21.e to BW - Pad(19) at P21+(0,-3*g) - Pad(20) at P21+(0, 3*g) - -# Transistor with circles -define(`hbi_tr',`[ linewid = linewid*4/4.16 - Q: bi_tr(`$1',`$2',`$3',E) - E: circle rad m4_xyU at 5/4 between Q.A1 and Q.E "E" - B: circle rad m4_xyU at 5/4 between Q.A1 and Q.B "B" - C: circle rad m4_xyU at 5/4 between Q.A1 and Q.C "C" - ]') - -# Interior circuits - line from P6.w left 2*g; ground - line from P5.w left 4*g; dot - { C504: capacitor(down_ 4*g,C); Llabel(C504,,.22); ground(,T) } - D504: diode(left_ 5*g); Rlabel(,D504); dot - { C505: capacitor(down_ to (Here,C504.end),C+L) - Rlabel(C505,100,75 V); ground(,T) } - line right_ to (Here,P7); dot - { D503: reversed(`diode',to (D504.start,Here)); Llabel(,D503); line to P7.w } - d3 = lin_leng(I3) - spline <-> from C504.start+(g/2,0) \ - up d3/4 right g/4 then up d3*2/4 left g/2 then up d3/4 right g/4 - box invis fill_(1) ht g wid 4*g "100 VAC" at last spline+(-g,0) - - down_ - Q503: hbi_tr(,R,P) with .E at (C505,P3) - line from Q503.C.e to (P25,Q503.C) then to P25.n - line from Q503.B.s to (Q503.B.x,Q503.E.y-4*g) - R513: resistor(down_ 5*g) - {"R513" ljust "1500" ljust at last [].e}; ground(,T) - line from P19.e to (BW-(2*g,0),P19) then up Q503.E.y-P19.y+2*g - R511: resistor(right_ 5*g); Llabel(,R511); Rlabel(,470); - line to (Q503.E,Here) then to Q503.E.n - line from P20.e to (BW,P20) then up R513.end.y-P20.y - resistor(up_ lin_leng(R513)) - {"R512" ljust "5600" ljust "1 W" ljust at last [].e} - line to (Here,Q503.B) then to Q503.B.w - "Q503" "S2091 HI TEMP" "CONTROL" at Q503.E+(1.5,4)*g - D505: reversed(`diode',right_ from Q503.E.e to (C504,Q503.E)); Llabel(,D505) - line to P3.w - - line from P4.w left_ 2*g then up P3.y-P4.y; dot - line from D503.end to (R513,D503); dot - { Pad(8) at (Here,Board.n) } - { line to P8.s } - R505: resistor(down_ to (Here,P6)); Llabel(,"R505" ljust "12 K"); dot - { C503: capacitor(down_ to (Here,C505.end),C+L) - Rlabel(C503,100,70 V); ground(,T) } - right_ - Q502: hbi_tr(,R) with .B at (R511.start,Here) - line from Q502.C.e to R505.start - line from Q502.B.e to R505.end - R504: resistor(down_ from Q502.B.s to (Q502.B,C505.end)) - {"R504" ljust "51 K" ljust at last [].e}; ground(,T) - "Q502" "TA7311" "REGULATOR" "CONTROL" at Q502.C+(-1,3)*g - - Pad(9) at (Q502.E,Board.n) - line from Q502.E.n to P9.s - Pad(10) at (Q502.B-(9,0)*g,Board.n) - R502: resistor(left_ from Q502.E.w to (P10,Q502.E)) - Rlabel(,R502); Llabel(,150); dot - - Pad(11) at (Board.w,Q502.E) - Pad(14) at P11+(0,2.5)*g - Pad(12) at P11+(0,-2.5)*g - Pad(13) at P12+(0,-2.5)*g - line right 2*g from P13.e then up P11.y-P13.y; dot - line from P12.e to (Here,P12); dot - Pad(15) at P13+(0,-3)*g - - right_ - Q501: hbi_tr(,R) with .B at P9.n+(0,2*g) - line from Q501.B.s to P9.n - line from Q501.C.e to (P8,Q501.C) then to P8.n - line from Q501.E.w to (P10,Q501.E) then to P10.n - "Q501" "2N3055" "REGULATOR" at Q501.n+(0,2)*g - line from P14.e to (P10,P14); dot - - Pad(17) at (Board.w,R511) - Pad(16) at P17+(0,3*g) - Pad(18) at P17+(0,-3*g) - line right 2*g from P18.e then up P17.y-P18.y; dot - - right_ - Q504: hbi_tr(,R) with .C at (P10,P17) - line from P17.e to Q504.E.w - line from Q504.B.s to (Q504.B,R513.start) - R508:resistor(down_ to (Here,R513.end)) - {"R508" ljust "680" ljust at last [].e}; ground(,T) - dot(at (P10,P15)) - { line to P10.s } - { resistor(down_ 5*g); {"225" ljust "10 W" ljust "5 %" ljust at last [].e} - line to Q504.C.n } - R503:resistor(left_ 10*g); Rlabel(,R503); Llabel(,290 10 W 5%); dot - line to (Here,Q504.B) - resistor(right_ to Q504.B.w); Llabel(,R507); Rlabel(,100) - line from P15.e to R503.end - "Q504" "40409" "REGULATOR" at Q504.C+(3.5,3)*g - resistor(left_ from R502.end to (R503.end,P11)) - Rlabel(,R501); Llabel(,390 5W 5%); line to P11.e - - resistor(right_ from P16.e to (R514.end,P16)); Llabel(,R506); Rlabel(,82) - line down P16.y-P17.y; dot - - dot(at (R514.end,P11)) - C501: capacitor(down_ 6*g,C+) - Llabel(C501); {"100" ljust "30 V" ljust at last [].s +(0,-g)} - ground(,T) - dot(at (Here.x+4*g,P11.y)) - ZD501: reversed(`diode',down_ lin_leng(C501),Z); Llabel(ZD501); ground(,T) - - dot(at (R514.end,P15)) - C502: capacitor(down_ 6*g,C+) - Llabel(C502); {"100" ljust "30 V" ljust at last [].s +(0,-g)} - ground(,T) - dot(at (Here.x+4*g,P15.y)) - ZD502: reversed(`diode',down_ lin_leng(C502),Z); Llabel(ZD502); ground(,T) - - line from (C502,P17) to (C502,R508.start+(0,g)) - C506: capacitor(down_ to (Here,R508.end),C+) - Llabel(C506); {"100" ljust "30 V" ljust at last [].s +(0,-g)} - ground(,T) - -# Left-side boxes - boxwid = 10*g - boxht = 5*g - line left 3*g from P22.w "GRY" above - line left 3*g from P19.w "VIOL" above - box with .e at (Here,0.5 between P19 and P22) "TO SIGNAL" "METER CIRCUIT" - - line left 8*g from P21.w "RED TO C508" above - line left 8*g from P20.w "VIOL" above - - line left 3*g from P17.w "RED" above - line left 3*g from P18.w; {"WHT-" ljust "RED" ljust at Here+(0,g) } - box with .e at (Here,0.5 between P17 and P18) "12.7 V SOURCE" "TO MULTIPLEX" - - line left 3*g from P16.w "WHT" above - box with .se at Here+(0,-g) "12 V SOURCE" "TO FM TUNER" "SOURCE SWITCH" - - line left 3*g from P15.w "ORG" above - box ht 3*g with .e at Here "15 V SOURCE" "TO FM TUNER" - - line left 3*g from P13.w "BLU" above - line left 3*g from P12.w; {"WHT-" ljust "RED" ljust at Here+(0,g) } - line left 3*g from P11.w "RED" above - box ht 6*g with .e at (Here,P12) "27 V SOURCE" "TO CONTROL" "PREAMP AND" \ - "PWR AMPLIFIER" - - line left 3*g from P14.w - {"WHT-" ljust "GRY-" ljust "GRN" ljust at Here+(0,1.5*g) } - box with .se at Here+(0,-g) "50 V SOURCE" "TO PHONO" "PREAMP" - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/I2LSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/I2LSVG.m4 deleted file mode 100644 index 835ecaec535..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/I2LSVG.m4 +++ /dev/null @@ -1,78 +0,0 @@ -.PS -# I2L.m4 -log_init(svg_font(sans-serif,11bp__)) - -[ - down_ -T1: bi_trans(,R,BC2uEBU) - dy = T1.C0.y-T1.C1.y - dx = T1.C0.x-T1.Bulk.x - up_ -Q1: bi_trans(,,BC1dEBU) with .C1 at (T1.C2.x+dy+dx+dx,T1.C0.y-dy) -Q2: bi_trans(,,BC1dEBU) with .C1 at Q1.E+(0,-dy*2) -Q3: bi_tr(,,) with .B at Q2.C0+(2*dy,0) - down_ -T2: bi_trans(,R,BC1uEBU) with .C1 at (Q3.C.x+2*dx+2*dy,Q1.C0.y+dy) - up_ -X1: bi_tr(,,) with .B at (T2.C0.x+dy+dx,Q1.C0.y) -X2: bi_tr(,,) with .B at (X1.B,Q3.C) - - line down dx from Q2.E -G: dot - line from T1.B to (T1.B,G) then to (X1.E.x+dy,G.y) then to X1.E+(dy,0) \ - then to X1.E - line from X2.E right dy; dot - - line from Q1.E down dy then to (T1.B.x,Q1.E.y-dy); dot - line from T1.C0 to (Q3.B,T1.C0) then to Q3.B; dot; line to Q2.C0 - -A: dot(at (T1.B,Q1.B)-(dx,0)); { "svg_it(A)" wid 0.15 rjust } - line to Q1.B - line from T1.C2 to (T1.C2,Q1.B); dot - - line from Q2.B to (A,Q2.B); dot; { "svg_it(B)" rjust } - line right dy from T1.C1 then down T1.C1.y-Q2.B.y; dot - -VB: dot(at (T2.E.x+2*dx,T1.E.y+dy)); { "svg_it(V`'svg_sub(B))" ljust } - line to (T1.E,Here) then to T1.E - line from T2.E to (T2.E,VB); dot - - line from Q1.C1 to (Q3.C,Q1.C1) then to Q3.C; dot; line to X2.B - - line from Q1.C0 to X1.B - dot(at Q1.C0+(dy,0)); line to (Here,Q2.C1) then to Q2.C1 - - line from Q3.E to (Q3.E,G); dot; ground - - line from T2.B to (T2.B,G); dot - - line from T2.C1 to (T2.C1,X1.B); dot - "svg_it(~(A+B))" wid textht*1.5 below at Here+(0,-2pt__) - - line from T2.C0 to (X2.B,T2.C0) then to X2.B; dot - "svg_it(~(A+(~B)))" below at (T2.E,Here)+(0pt__,-2pt__) - -] - -[ -right_ - -jog = AND_ht/2*L_unit - - X1: NOR_gate - line right jog from X1.Out; "svg_it(~(A+B))" ljust - X2: NOR_gate at X1+svec_(0,-AND_ht*3/2) - line right jog from X2.Out; "svg_it(~(A+(~B)))" ljust - line left jog from X2.In2 - right_ - NOT: NOT_gate with .Out at Here - line left jog from NOT.In1 then up X1.In2.y-NOT.In1.y; dot - line from X1.In2 to Here chop 0 chop -jog - B: dot; "svg_it(B)" rjust - line from X1.In1 to (B,X1.In1); dot; "svg_it(A)" wid 0.15 rjust - line left jog from X2.In1 then up X1.In1.y-X2.In1.y; dot - -] with .e at last [].w-(1,0) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/Incl.jpg b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/Incl.jpg deleted file mode 100644 index 80632b54e99..00000000000 Binary files a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/Incl.jpg and /dev/null differ diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/InclepsSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/InclepsSVG.m4 deleted file mode 100644 index 501329f9d68..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/InclepsSVG.m4 +++ /dev/null @@ -1,90 +0,0 @@ -.PS -# InclepsSVG.m4 : Illustrating one way to import and overwrite jpg in svg -# A bit messy, but it works. This file has to be processed -# by m4 in the usual way and then twice by dpic, eg -# m4 svg.m4 SVGconfig.m4 InclepsSVG.m4 > InclepsSVG.pic -# dpic -v InclepsSVG.pic > InclepsSVG.svg -# dpic -v InclepsSVG.pic > InclepsSVG.svg - -# The double processing is needed because svg coordinates are to the right -# and down. We have to store the coordinates of the nw corner and use them -# on the second pass. - -divert(-1) -###################################################################### -# Macros to simplify inclusion and positioning of raster image files such -# as png or jpg or files with mime type of "image/svg+xml" - - `svg_init_include([Unique_name]) - Put this (once) before all drawing commands - in the diagram. It opens a [] block for the - total diagram and creates the file - Unique_name.dim (default SVGinsertTemp.dim).' -define(`svg_init_include', -`define(`M4IP_uniq',`ifelse(`$1',,SVGinsertTemp,`$1')')dnl - M4IP_NW: (0,0); m4IP_nw = 0; m4IP_lth = lthick - sh "touch M4IP_uniq.dim" - copy "M4IP_uniq.dim" - [ M4IP_NW: M4IP_NW; { move to M4IP_NW } ') - - `svg_include(filename, wid, ht, [position],[attrib]) - Insert bitmap at specified position; also create - an invis box of the same size and location. - arg1= path to image file - arg2= picture width in drawing units - arg3= picture height in drawing units - arg4= position attribute e.g. - Pic: svg_include(Incl.jpg,2,3, with .sw at (1,4)) - arg5= additional svg image attributes in the sprintf - string, e.g. - clip-path=\"polygon(5%% 0%%, 100%% 0%%, 100%% 100%%, 5%% 100%%)\" (distances - in percent to top-left, top-right, bottom-right, bottom-left clip corners, - or in pixels) ' -define(`svg_include',`box invis wid `$2' ht `$3' `$4' -define(`m4xpx',`(last box.w.x-M4IP_NW.x+m4IP_lth/2)/(1px__)')dnl -define(`m4ypx',`(M4IP_NW.y-last box.n.y+m4IP_lth/2)/(1px__)')dnl -define(`m4wdpx',`(`$2')/(1px__)')dnl -define(`m4htpx',`(`$3')/(1px__)')dnl -if m4IP_nw then { command sprintf(\ - "", m4xpx,m4ypx,m4wdpx,m4htpx) } ') - - `svg_end_include - Put this before .PE after all drawing commands. - It closes the [] block and writes to Unique_name.dim' -define(`svg_end_include',`] with .M4IP_NW at M4IP_NW - print sprintf("m4IP_nw=1; m4IP_lth=%g; M4IP_NW:(%g,%g)",lthick,\ - last [].w.x+3*m4IP_lth/2, last [].n.y+3*m4IP_lth/2) > "M4IP_uniq.dim" - undefine(`M4IP_uniq') ') - -###################################################################### -divert(0)dnl - -darrow_init -svg_init_include - - -# This jpg is 242 px x 321 px - Picture: svg_include(Incl.jpg, 242px__, 321px__, with .w at (1,0)) - - define(`backarrow',`darrow(`$1',,,2pt__,6pt__,6pt__,<-|)') - thinlines_ - backarrow( from boxcoord(Picture,0.4,0.95) up 0.4 right 0.7 ) - "Basket" wid 0.45 with .w at Here+(2bp__,0) - backarrow( from boxcoord(Picture,0.9,0.41) up 0.2 right 0.5 ) - "Ball" wid 0.3 with .w at Here+(2bp__,0) - backarrow( from boxcoord(Picture,0.85,0.32) up 0.2 right 0.5 ) - "Star" wid 0.3 with .w at Here+(2bp__,0) - "Player" wid 0.43 with .w at last "".w+(0,-0.15) - -#for i=3 to 1 by -1 do { -# Picture: svg_include(Incl.jpg, i/4*242px__, i/4*321px__, -# with .nw at last box.nw+(0.125,-0.25)) } - -# P2: svg_include(Incl.jpg, 242px__, 321px__, -# with .w at Picture.e+(1.25,0), -# clip-path=\"polygon(30 0, 100%% 0%%, 100%% 100%%, 30 321)\" ) - -svg_end_include - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/InductorsSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/InductorsSVG.m4 deleted file mode 100644 index 9c9e1476dbf..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/InductorsSVG.m4 +++ /dev/null @@ -1,47 +0,0 @@ -.PS -# `Inductors.m4' -cct_init(svg_font(sans-serif,10pt__)) -textwid = 1.5 -movewid = 2 pt__ -hm = 2.1 -vm = 0.28 - -hm = 2.05 -vm = 0.28 -{ {inductor ; move ; "`inductor '" ljust} - move right_ hm - {inductor(,W); move ; "`inductor(,W) '" ljust} - move right_ hm - {inductor(,L); move ; "`inductor(,L) '" ljust} -} - move down vm; right_ -{ {inductor(,,3,M) ; move ;"`...(,,3,M) '" ljust} - move right_ hm - {inductor(,W,6,P1); variable; move; "`...(,W,6,P1); variable'" ljust} - move right_ hm+5bp__ - {inductor(,L,9,K); move ;"`...(,L,9,K) '" ljust} -} - - move down vm; right_ -{ {I:inductor(,,,M3); addtaps(-,1/2,-dimen_/6); move; `"...(,,,M3)"' ljust - {`"addtaps(-,1/2,-dimen_/6)"' ljust at (I.start,last ""+(0,-textht*3/2)) } - } - move right_ hm - {ebox(,,,0) ; move ;"`ebox(,,,0) '" ljust} - move right_ hm -10bp__ - {TI: tapped(`ebox(,,,0)',-,1/4,-dimen_/6,3/4,-dimen_/6) ; move ; - "`tapped(`ebox(,,,0)','" ljust at Here+(10bp__,-5bp__) \ - "-,1/4,-dimen_/6," ljust "3/4,-dimen_/6)" ljust - "svg_it(Tap1)" at TI.Tap1 rjust below - "svg_it(Tap2)" at TI.Tap2 ljust below } -} - - move down vm*3/2; right_ -{ {shielded(`inductor(,,,M)') ; move - `"shielded(`inductor(,,,M)')"' ljust - move to (3rd last line.start,Here) - shielded(`ebox(,,,0)',R) ; move; `"shielded(`ebox(,,,0)',R)"' ljust } -} - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/JackSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/JackSVG.m4 deleted file mode 100644 index 6af8b6b3017..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/JackSVG.m4 +++ /dev/null @@ -1,75 +0,0 @@ -.PS -# `Jack.m4' -cct_init(svg_font(sans-serif,10bp__)) - -P: [ - P1: plug - "A" wid 0.1 at P1.A rjust - "B" at P1.B rjust - "TB" at P1.TB ljust above - "TA" at P1.TA ljust below - P2: plug(,R) with .B at P1.A+(0.85,0) - "A" wid 0.1 at P2.A rjust - "B" at P2.B rjust - P3: plug(,3) with .A at P2.B+(0.85,0) - "A" at P3.A rjust - "B" at P3.B rjust - "C" at P3.C rjust - P4: plug(L,3R) with .A at P3.A+(1,0) - "A" wid 0.1 at P4.A ljust - "B" at P4.B ljust - "C" at P4.C ljust - `"plug"' below at P1.s+(0,-0.1) - `"plug(,R)"' below at P2.s+(0,-0.1) - `"plug(,3)"' below at P3.s+(-0.1,-0.1) - `"plug(L,3R)"' below at P4.s+(0.1,-0.1) -] - -L: [ - J1: jack - thinlines_ - "L" wid 0.1 rjust at J1.L - arrow <- right 0.1 from J1.F; "F" ljust - arrow <- down 0.1 from J1.G then left 0.1 ; "G" rjust - thicklines_ - J2: jack(,LMBS) with .F at J1.F+(1.2,0) - thinlines_ - "L" rjust at J2.L - arrow <- from J2.LM left 0.25; "LM" rjust - arrow <- from J2.LB left 0.25; "LB" rjust - "S" rjust at J2.S - thicklines_ - J3: jack(L,RLS) with .F at J2.F+(0.4,0) - thinlines_ - "L" ljust at J3.L - "S" ljust at J3.S - thicklines_ - J4: jack(L,RLBLMLMS) with .F at J3.F+(1,0) - thinlines_ - "L1" ljust at J4.L1 - arrow <- right 0.3 from J4.LM1; "LM1" ljust - "L2" ljust at J4.L2 -# arrow <- right 0.3 from J4.LM2; "LM2" ht 11pt__ ljust - arrow <- right 0.3 from J4.LM2; "LM2" ljust - "S" ljust at J4.S - "L" ljust at J4.L - arrow <- right 0.2 from J4.LB ; "LB" ljust - J5: jack(,RSBSMLB) with .F at J4.F+(1.95,0) - thinlines_ - "L" rjust at J5.L - "S" rjust at J5.S - "S1" rjust at J5.S1 - arrow <- left 0.3 from J5.SM1; "SM1" rjust - arrow <- left 0.25 then left 0.1 down 0.05 from J5.LB; "LB" rjust - arrow <- left 0.25 then left 0.1 up 0.05 from J5.SB; "SB" rjust - thicklines_ - - `"jack"' below at J1.s+(0,-0.15) - `"jack(,LMBS)"' at (J2,last "") - `"..(L,RLS)"' at (J3,last "") - `"..(L,RLBLMLMS)"' at (J4,last "") - `"..(,RSBSMLB)"' wid 72bp__ at (J5,last "") -] with .nw at P.sw + (0,0.1) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/LgateSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/LgateSVG.m4 deleted file mode 100644 index 7a8cf06d221..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/LgateSVG.m4 +++ /dev/null @@ -1,153 +0,0 @@ -divert(-1) -# LgateSVG.m4 -########################################################################### - -define(`And',`GenLogGate(AND,$@)') -define(`Nand',`GenLogGate(NAND,$@)') -define(`Or',`GenLogGate(OR,$@)') -define(`Nor',`GenLogGate(NOR,$@)') -define(`Xor',`GenLogGate(XOR,$@)') -define(`Nxor',`GenLogGate(NXOR,$@)') -define(`Not',`GenLogGate(NOT,$@)') - -define(`GenLogGate',`[ pushdef(`m4nargs',0)dnl - # Count the arguments and draw the gate - Loopover_(`a',`define(`m4nargs',incr(m4nargs))',shift($@))dnl - G: ifelse(`$1',NOT,`NOT_gate()',`$1_gate(m4nargs)') - Out: G.Out - T: (G.In1.x-2*L_unit,G.y) - # Sublayer gates with centre at the height of G - SubLayer: [ pushdef(`m4_nct',0) - pushdef(`m4glayer')dnl - Loopover_(`arg', - `define(`m4_nct',incr(m4_nct))dnl - # Stack the input label or draw a sublayer gate - pushdef(`m4InNames')dnl - Gate`'m4_nct: ifelse(patsubst(substr(arg,0,1),`[a-zA-Z]',`&'),&, - `[ In`'arg: ifdef(`MarkLogInputs',`"arg" above',Here) - pushdef(`m4InNames',In`'arg)dnl - Out: Here ] ht 2*L_unit', - `arg') ifelse(m4_nct,1,,`with .ne at last [].se+(0,-L_unit)') - ifdef(`MarkSubLayers', - `{ box wid last [].wid ht last [].ht at last [] }') - # Prepend gate name to labels - m4LogPromote(Gate`'m4_nct)', - shift($@)) dnl - # Promote gate labels to Sublayer block - pushdef(`m4InNames') m4LogLabel() - MidOut: 0.5 between Gate`'eval((m4_nct+1)/2).Out \ - and Gate`'eval((m4_nct+2)/2).Out - popdef(`m4_nct')dnl - ] with .MidOut at T+(-m4nargs*L_unit,0) # end SubLayer - ifdef(`MarkSubLayers', - `{ box wid last [].wid ht last [].ht at last [] }') - # Promote sublayer labels to outer block - pushdef(`m4glayer') m4LogPromote(SubLayer) dnl - pushdef(`m4InNames') m4LogLabel() dnl - # Draw the connecting lines - define(`m4hhv',`(m4nargs-1)/2')dnl - for_(1,m4nargs,1,` - line from G.In`'m4x \ - left G.In`'m4x.x-T.x+(m4hhv-abs(m4x-m4hhv-1))*L_unit \ - then up SubLayer.Gate`'m4x.Out.y-G.In`'m4x.y \ - then to SubLayer.Gate`'m4x.Out') - popdef(`m4nargs') dnl - ]') - -# Manage names of sublayer inputs -define(`m4LogPromote',`ifelse(m4InNames,,`popdef(`m4InNames')', - `pushdef(`m4glayer',m4InNames:$1) - popdef(`m4InNames') m4LogPromote($1)') ')dnl - -define(`m4LogLabel',`ifelse(m4glayer,,`popdef(`m4glayer')', - `define(`m4BaseIn',`substr(m4glayer,0,index(m4glayer,:))')dnl - m4glayer.m4BaseIn - pushdef(`m4InNames',m4BaseIn) popdef(`m4glayer') m4LogLabel()') ')dnl - -# Clear a name stack -define(`stack_del',`ifelse($1,`$1',,`popdef(`$1')$0($@)')') - -########################################################################### -divert(0)dnl -.PS -log_init(svg_font(sans-serif,11bp__)) -#define(`MarkLogInputs') - -define(`bbelow',`with .nw at last [].sw+(0,-0.2)') - - define(`MarkLogInputs') -Ex1:Or(x1,q,`Or(y1,z1)',`Or(z3,u,v,`Or(w,r)',x2,y2,z2,m)') - `"Or(x1,q,`Or(y1,z1)',`Or(z3,u,v,`Or(w,r)',x2,y2,z2,m)')"' \ - at Ex1.se+(-0.4,-0.2) - undefine(`MarkLogInputs') - - line from Ex1.Inx1 to (Ex1.w,Ex1.Inx1)-(L_unit,0) - line from Ex1.Inx2 to (Here,Ex1.Inx2) then to Here; dot - line to Here-(2*L_unit,0); Inx: "x" above - - line from Ex1.Iny1 to (Ex1.w,Ex1.Iny1)-(2*L_unit,0) - line from Ex1.Iny2 to (Here,Ex1.Iny2) then to Here; dot - line to Here-(2*L_unit,0); Iny: "y" above - - line from Ex1.Inz1 to (Ex1.w,Ex1.Inz1)-(3*L_unit,0) - {line from Ex1.Inz3 to (Ex1.Inz3,Ex1.Inz1); dot} - line from Ex1.Inz2 to (Here,Ex1.Inz2) then to Here; dot - line to Here-(2*L_unit,0); Inz: "z" above - -Ex2: And(`Not(A)',B,C,`Nor(A2,D)') with .nw at Ex1.Out+(0.75,0.2) - line right 3*L_unit from Ex2.Out - "svg_it(ABC(A+D))" above ljust at Ex2.G.nw - line right 0.1 at last ""+(0.1,0.16) - line right 0.35 at last ""+(0.55,0.16) - line from Ex2.InA2 to (Ex2.InA2,Ex2.InA); dot - line to Ex2.InA chop -3*L_unit chop 0 - "svg_it(A)" rjust at last line.start - "svg_it(B)" rjust at Ex2.InB - "svg_it(C)" rjust at Ex2.InC - "svg_it(D)" rjust at Ex2.InD - `"And(`Not(A)',B,C,`Nor(A2,D)')"' wid 2.1 with .w at Ex2.sw-(0,0.2) - `"line from Ex2.InA2 to (Ex2.InA2,Ex2.InA); dot"' wid 3.2 \ - with .w at last "".w+(0,-0.2) - `"line to Ex2.InA chop -3*L_unit chop 0"' wid 2.60 \ - with .w at last "".w+(0,-0.2) - `"\"A\" rjust at last line.start"' wid 1.6 with .w at last "".w+(0,-0.2) - `"\"B\" rjust at Ex2.InB; \"C\" rjust at Ex2.InC"' wid 2.7 with .w \ - at last "".w+(0,-0.2) - -Ex3: Or(`And(A1,C1)',`And(B1,`Not(C2)')',`And(`Not(A2)',B2,C3)') \ - with .nw at Ex1.sw+(0,-0.4) - line right 3*L_unit from Ex3.Out - line from Ex3.InB2 to (Ex3.InA2,Ex3.InB2)+(-2*L_unit,0) \ - then up Ex3.InB1.y-Ex3.InB2.y; dot - line from Ex3.InB1 to Here chop 0 chop -2*L_unit; B: "svg_it(B)" rjust - line from Ex3.InA2 to (Ex3.InA2,Ex3.InA1); dot - line from Ex3.InA1 to (B,Here) ; "svg_it(A)" rjust - line from Ex3.InC2 to (Ex3.InC2,Ex3.InC1) then to Ex3.InC1 - dot(at Ex3.InC2); line to (B,Here); "svg_it(C)" rjust - dot(at ((Ex3.InC2)+(-2*L_unit,0),Ex3.InC2)) - line to (Here,Ex3.InC3) then to Ex3.InC3 - "svg_it(AC+BC+ABC)" above ljust at Ex3.G.nw - line right 0.1 at last ""+(0.5,0.16) - line right 0.1 at last ""+(0.73,0.16) - `"Or(`And(A1,C1)',`And(B1,`Not(C2)')',`And(`Not(A2)',B2,C3)')"' \ - at (B,Ex3.s)+(0,-0.2) ljust - -# define(`MarkSubLayers') -Ex4: And(`Or(`Nand(`Or(A,B)',C)',D)',E) with .w at Ex3.e+(1.25,0) - "svg_it(A)" rjust at Ex4.InA - "svg_it(B)" rjust at Ex4.InB - line from Ex4.InC to (Ex4.InA,Ex4.InC); "svg_it(C)" rjust - line from Ex4.InD to (Ex4.InA,Ex4.InD); "svg_it(D)" rjust - line from Ex4.InE to (Ex4.InA,Ex4.InE); "svg_it(E)" rjust - line right 3*L_unit from Ex4.Out - "svg_it((D+(A+B)C)E)" above ljust at Ex4.G.nw - line right 0.5 at last ""+(0.6,0.16) - `"And(`Or(`Nand(`Or(A,B)',C)',D)',E)"' at Ex4.sw+(0,-0.2) ljust -# undefine(`MarkSubLayers') - -stack_del(`m4InNames') # clear the name stack in case other diagrams need it -# extend the bounding box -move from Ex1.nw+(-0.35,0.1) to Ex4.Out+(1,-0.65) - -command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/LogicSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/LogicSVG.m4 deleted file mode 100644 index ec89a62bb02..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/LogicSVG.m4 +++ /dev/null @@ -1,59 +0,0 @@ -.PS -# Logic.m4 -log_init(svg_font(sans-serif,11bp__)) -xgap = 0.5 -[ dmov = 0.4 -{ {AND_gate ; "`AND_gate'" ljust at last [].w + (xgap,0)} - move down dmov; right_ - {OR_gate ; "`OR_gate'" ljust at last [].w + (xgap,0)} - move down dmov; right_ - {BUFFER_gate ; "`BUFFER_gate'" ljust at last [].w + (xgap,0)} - move down dmov; right_ - {XOR_gate ; "`XOR_gate'" ljust at last [].w + (xgap,0)} - } - -xgap = 0.65 - move right_ 2 -{ { NAND_gate ; "`NAND_gate'" ljust at last [].w + (xgap,0) } - move down dmov; right_ - { Gate: NOR_gate(3) - "`NOR_gate(3)'" ljust at last [].w + (xgap,0) - thinlines_ - spline <- from Gate.Out right arrowht*2.0 \ - then up 0.15 then right 0.05 - "`Out'" ljust - spline <- from Gate.N_Out down arrowht*2.0 \ - then right 0.1+arrowht*1.5+NOT_rad down 0.15-arrowht*2.0 - "`N_Out'" ljust - for_(1,3,1, - `arrow <- left 0.2 down 0.05 from Gate.In`'m4x - "In`'m4x" rjust at Here+(0,(2-m4x)*0.02)') - } - thicklines_ - move down dmov; right_ - { NOT_gate ; "`NOT_gate'" ljust at last [].w + (xgap,0) } - move down dmov; right_ - { NXOR_gate ; "`NXOR_gate'" ljust at last [].w + (xgap,0) } -} - move right_ 2 -{ {B: NAND_gate(,B) ; "`NAND_gate(,B)'" ljust at B.w + (xgap,0)} - { line invis right 1.8 from last [].se then down 1} - move down dmov; right_ - move left N_diam*L_unit; right_ - {NOR_gate(3,NB) ; "`NOR_gate(3,NB)'" ljust at (B.w,last []) + (xgap,0) } - move down dmov; right_ - {BOX_gate(PN,N,,,=1) - "`BOX_gate(PN,N,,,=1)'" ljust at (B.w,last []) + (xgap,0) - line left 0.15 from last [].In1 - line left 0.15-NOT_rad*2 from last [].In2 - line right 0.15 from last [].Out } - move down dmov; move right_ N_diam*L_unit - {BOX_gate(PP,N,,,=) - "`BOX_gate(PP,N,,,=)'" ljust at (B.w,last []) + (xgap,0) - line left 0.15 from last [].In1 - line left 0.15 from last [].In2 - line right 0.15 from last [].Out } -} -] - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/LoglogSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/LoglogSVG.m4 deleted file mode 100644 index b010b7bd417..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/LoglogSVG.m4 +++ /dev/null @@ -1,630 +0,0 @@ -.PS -# LoglogSVG.m4 -gen_init(svg_font(sans-serif,11bp__)) -maxpswid = 12 - -LL: [ -define(`rint',`sign(`$1')*int(abs(`$1')+.5)') -S:[ - horiz = 4 - vert = horiz*2/3 - tmax = 10 - tmin = 1 - vmax = 100 - vmin = 0.1 - tic = 0.08 - denv = log(vmax) - log(vmin) - denh = log(tmax) - log(tmin) - - Origin: Here - define(`coord', - `Origin+((log(`$1')-log(tmin))/denh*horiz,(log(`$2')-log(vmin))/denv*vert)') - -thinlines_ -# Left axes and labels - psset_(linecolor=gray) - for i = rint(log(vmin)) to rint(log(vmax)) do { - move to coord(tmin,exp(i)) - line right horiz - sprintf("%g",exp(i)) wid 0.2 rjust at last line.start - if i < rint(log(vmax)) then { - for j = 2 to 9 do { move to coord(tmin,j*exp(i)) - line right horiz - if (j==2) || (j==5) then { - sprintf("%g",j*exp(i)) rjust at last line.start } - } } } - -#Horizontal axis and labels - for t = rint(log(tmin)) to rint(log(tmax)) do { - move to coord(exp(t),vmin) - line up vert - sprintf("%g",exp(t)) wid 0.15 below at last line.start - if t < rint(log(tmax)) then { - for j = 2 to 9 do { move to coord(j*exp(t),vmin) - line up vert - if (j==2) || (j==5) then { - sprintf("%g",j*exp(t)) below at last line.start } - } } } - psset_(linecolor=black) - -# arrow from Origin up vert chop 0 chop -0.1 - line from Origin up vert - "svg_it(y(t))" wid 0.3 at Origin+(-0.1,0.5*vert) rjust - -# arrow from Origin right horiz chop 0 chop -0.1 - line from Origin right horiz - "svg_it(t)" at Origin+(.5*horiz,-0.1) below - -thicklines_ - alpha = 2.5 - beta = 3.0 - tm = max(tmin,(vmin/alpha)^(1/beta)) - tM = min(tmax,(vmax/alpha)^(1/beta)) - line from coord(tm,alpha*tm^beta) to coord(tM,alpha*tM^beta) -P: box invis fill_(1) wid 0.75 ht 0.18 \ - "svg_it(y(t) = 1.5 t)" with .w at coord(2.005,14) - "svg_it(svg_small(3))" with .w at P.ne #ljust - - alpha = 0.05 - beta = 2.0 - tm = max(tmin,(vmin/alpha)^(1/beta)) - tM = min(tmax,(vmax/alpha)^(1/beta)) - line from coord(tm,alpha*tm^beta) to coord(tM,alpha*tM^beta) -Q: box invis fill_(1) wid 0.80 ht 0.18 \ - "svg_it(y(t) = 0.05 t)" with .e at coord(4.6,1.4) - "svg_it(svg_small(2))" with .w at Q.ne #ljust - -] - -# box wid S.wid ht S.ht at S -# print (S.wid,S.ht)/(1 pc__) - command "" # end font -] # LL -#showbox_ - -Cons: [ -#.PS -## Consumption.m4 -#gen_init -svg_font(Helvetica,10pt__) - -#vg_rot_init(test) -svg_rot_init(LoglogSVG) - -divert(-1) - `brace(linespec,depth,arm thickness,attributes) - Curly brace along linespec - default depth is linewid/5 - attributes = eg - thick 0.4 outlined "string" shaded "string" - (default black)' -define(`brace',`rpoint_(ifelse(`$1',,`to rvec_(linewid,0)',`$1')) - M4brS: last line.start; M4brE: last line.end - [ brdepth = ifelse(`$2',,linewid/5,`$2') - brthick = ifelse(`$3',,brdepth/6,`$3') - define(`m4braceattribs', - `ifelse(`$4',,`thick 0.4 shaded rgbstring(0,0,0)',`$4')')dnl - tension = 0.55 - halfwid = distance(M4brS,M4brE) - smallrad = brdepth-brthick - bigrad = brdepth+brthick - for sgn=1 to -1 by -2 do { - S: rvec_(sgn*halfwid/2,0) - A: S+vec_(0,smallrad/2) - B: vec_(0,smallrad/2) - T: vec_(0,brdepth) - C: vec_(0,bigrad/2) - D: vec_(sgn*halfwid/2,bigrad/2) - {spline tension m4braceattribs \ - from S to tension between S and A \ - then to tension between A-vec_(sgn*bigrad/2,0) and A \ - then to A-vec_(sgn*bigrad/2,0) \ - then to B+vec_(sgn*bigrad/2,0) \ - then to tension between B+vec_(sgn*bigrad/2,0) and B \ - then to tension between T and B \ - then to T \ - then to tension between T and C \ - then to tension between C+vec_(sgn*bigrad/2,0) and C \ - then to C+vec_(sgn*bigrad/2,0) \ - then to D-vec_(sgn*bigrad/2,0) \ - then to tension between D-vec_(sgn*bigrad/2,0) and D \ - then to tension between S and D \ - then to S } - } - E: (0,0) -] with .E at 0.5 between M4brS and M4brE') -divert(0)dnl - -#nl raw data ranges - rxmin=1.76665, rxmax=5.87332, rymin=1.49164, rymax=4.00836 - -#nl horiz range - yearmin = 1850 - yearmax = 2040 -#nl data ranges - tonsmin = 0 - tonsmax = 2.0 - popmin = 0 - popmax = 10 -#nl page graph size - minx = 0 - maxx = 4.5 - maxx = 4.566 - miny = 0 - maxy = 3.5 - -define dtop {(minx + ($1-yearmin)/(yearmax-yearmin)*(maxx-minx), \ - miny + ($2-tonsmin)/(tonsmax-tonsmin)*(maxy-miny))} -define ptop {(minx + ($1-yearmin)/(yearmax-yearmin)*(maxx-minx), \ - miny + ($2-popmin)/(popmax-popmin)*(maxy-miny))} - -define(`rtod',`yearmin + (`$1'-rxmin)/(rxmax-rxmin)*(2010-yearmin), \ - tonsmin + (`$2'-rymin)/(rymax-rymin)*1.8') - -[ -nD = 0 -define data { nD+=1 - yr[nD]=$1; pop[nD]=$2/1e9; wood[nD]=$3; other[nD]=$4; hydro[nD]=$5 - coal[nD]=$6; oil[nD]=$7; gas[nD]=$8; nuclear[nD]=$9 } - -data(1850,1241000000,0.238506368,0.238506368,0.238506368,0.274220157,0.274220157,0.276138711,0.276138711) -data(1851,1247847137,0.238701076,0.238701076,0.238701076,0.2788137,0.2788137,0.280785327,0.280785327) -data(1852,1254732053,0.238886465,0.238886465,0.238886465,0.287918165,0.287918165,0.289942225,0.289942225) -data(1853,1261654955,0.239062633,0.239062633,0.239062633,0.290097546,0.290097546,0.292173405,0.292173405) -data(1854,1268616055,0.239229675,0.239229675,0.239229675,0.289984551,0.289984551,0.292111579,0.292111579) -data(1855,1275615561,0.239387687,0.239387687,0.239387687,0.289864062,0.289864062,0.292041635,0.292041635) -data(1856,1282653687,0.239651345,0.239651345,0.239651345,0.301026039,0.301026039,0.303253538,0.303253538) -data(1857,1289730646,0.239904902,0.239904902,0.239904902,0.298720029,0.298720029,0.300996841,0.300996841) -data(1858,1296846651,0.24014846,0.24014846,0.24014846,0.303062054,0.303062054,0.30538757,0.30538757) -data(1859,1304001918,0.240382123,0.240382123,0.240382123,0.309545901,0.309914765,0.312288384,0.312288384) -data(1860,1311196664,0.24060599,0.24060599,0.24060599,0.309390256,0.310123937,0.312545059,0.312545059) -data(1861,1318431107,0.240590657,0.240590657,0.240590657,0.319869525,0.320964008,0.323432041,0.323432041) -data(1862,1325705465,0.240568247,0.240568247,0.240568247,0.308599723,0.310051026,0.312565381,0.312565381) -data(1863,1333019958,0.24053884,0.24053884,0.24053884,0.318950063,0.320754238,0.323314334,0.323314334) -data(1864,1340374810,0.240502511,0.240502511,0.240502511,0.327038715,0.329191844,0.331797103,0.331797103) -data(1865,1347770241,0.240459339,0.240459339,0.240459339,0.328647778,0.331145979,0.333795828,0.333795828) -data(1866,1347770241,0.242191279,0.242191279,0.242191279,0.330379718,0.333234804,0.335943539,0.335943539) -data(1867,1362683739,0.241253672,0.241253672,0.241253672,0.336892133,0.340068952,0.342806283,0.342806283) -data(1868,1370202258,0.24163346,0.24163346,0.24163346,0.336747138,0.340257568,0.3430378,0.3430378) -data(1869,1377762260,0.242001817,0.242001817,0.242001817,0.33659359,0.340433875,0.343256455,0.343256455) -data(1870,1385363974,0.242358855,0.242358855,0.242358855,0.348847699,0.353014113,0.355878493,0.355878493) -data(1871,1393007630,0.24215233,0.24215233,0.24215233,0.358346838,0.362835686,0.365741322,0.365741322) -data(1872,1400693459,0.241940775,0.241940775,0.241940775,0.365684522,0.37049214,0.373438493,0.373438493) -data(1873,1408421694,0.24172425,0.24172425,0.24172425,0.360718048,0.365840803,0.368827338,0.368827338) -data(1874,1416192570,0.241502816,0.241502816,0.241502816,0.363892286,0.369326575,0.372352763,0.372352763) -data(1875,1424006320,0.241276535,0.241276535,0.241276535,0.362994434,0.368736684,0.371802,0.371802) -data(1876,1431863183,0.240604702,0.240604702,0.240604702,0.369663316,0.375709983,0.378813907,0.378813907) -data(1877,1439763395,0.239932976,0.239932976,0.239932976,0.368283426,0.374630997,0.377773011,0.377773011) -data(1878,1447707196,0.239261379,0.239261379,0.239261379,0.366907548,0.373552539,0.376732133,0.376732133) -data(1879,1455694826,0.238589927,0.238589927,0.238589927,0.373413172,0.380352127,0.383568794,0.383568794) -data(1880,1463726528,0.23791864,0.23791864,0.23791864,0.383753486,0.390982979,0.394236217,0.394236217) -data(1881,1471802544,0.237570608,0.237570608,0.237570608,0.392344331,0.399860965,0.403150275,0.403150275) -data(1882,1479923119,0.237219231,0.237219231,0.237227977,0.396963826,0.404764232,0.40808912,0.40808912) -data(1883,1488088499,0.236864558,0.236864558,0.236881953,0.403447314,0.411528151,0.414888128,0.414888128) -data(1884,1496298931,0.236506634,0.236506634,0.236532584,0.406015836,0.414373792,0.417768372,0.417768372) -data(1885,1504554663,0.236145507,0.236145507,0.236179917,0.404733187,0.413364978,0.416793681,0.416793681) -data(1886,1512855946,0.235261191,0.235261191,0.235303968,0.40293236,0.411834727,0.415297076,0.415297076) -data(1887,1521203030,0.23437947,0.23437947,0.23443052,0.406792802,0.415962519,0.419458041,0.419458041) -data(1888,1529596169,0.233500342,0.233500342,0.233559574,0.423718314,0.433152176,0.436680404,0.436680404) -data(1889,1538035617,0.232623805,0.232623805,0.232691127,0.425534315,0.435229149,0.438789617,0.438789617) -data(1890,1546521628,0.231749857,0.231749857,0.231825179,0.431025052,0.44097771,0.444569959,0.444569959) -data(1891,1555054461,0.23057828,0.23057828,0.230661512,0.436142504,0.446349864,0.449973439,0.449973439) -data(1892,1563634373,0.229412583,0.229412583,0.229503635,0.439357394,0.449816361,0.453470809,0.453470809) -data(1893,1572261624,0.228252736,0.228252736,0.228351521,0.431583686,0.442291192,0.445976065,0.445976065) -data(1894,1580936476,0.22709871,0.22709871,0.22720514,0.436575574,0.447528576,0.45124343,0.45124343) -data(1895,1589659190,0.225950477,0.225950477,0.226064464,0.441499685,0.452695166,0.456439562,0.456439562) -data(1896,1598430032,0.225392144,0.225392144,0.225513603,0.450527775,0.461962746,0.465736247,0.465736247) -data(1897,1607249265,0.224833135,0.224833135,0.224961981,0.457659825,0.469331318,0.473133492,0.473133492) -data(1898,1616117159,0.224273475,0.224273475,0.224409622,0.473569462,0.48547454,0.489304958,0.489304958) -data(1899,1625033980,0.223713188,0.223713188,0.223856553,0.494583176,0.506718923,0.510577162,0.510577162) -data(1900,1634000000,0.223152296,0.223152296,0.223302795,0.504825195,0.51718872,0.521074359,0.521074359) -data(1901,1648219401,0.221510378,0.221510378,0.221677629,0.505816316,0.519528083,0.5237969,0.5237969) -data(1902,1662562543,0.219880182,0.219880182,0.220068436,0.508573752,0.523333498,0.527978592,0.527978592) -data(1903,1677030501,0.218261627,0.218261627,0.218478353,0.530583699,0.546223844,0.551238406,0.551238406) -data(1904,1691624363,0.216654634,0.216654634,0.216900192,0.527887731,0.545298807,0.550676116,0.550676116) -data(1905,1706345223,0.215059124,0.215059124,0.215337131,0.547716584,0.564693219,0.570426643,0.570426643) -data(1906,1721194188,0.214836225,0.214836225,0.215148552,0.563118074,0.579880854,0.585963848,0.585963848) -data(1907,1736172371,0.214601167,0.214601167,0.214954035,0.596547339,0.617095414,0.62352152,0.62352152) -data(1908,1751280897,0.214354174,0.214354174,0.214752998,0.574277169,0.596299335,0.60306218,0.60306218) -data(1909,1766520901,0.214095471,0.214095471,0.214542936,0.586977877,0.609919015,0.61701231,0.61701231) -data(1910,1781893526,0.213825278,0.213825278,0.214318488,0.603352348,0.628089516,0.635693908,0.635693908) -data(1911,1797399927,0.212500054,0.212500054,0.213041248,0.605588411,0.631564823,0.639504319,0.639504319) -data(1912,1813041268,0.211181781,0.211181781,0.211751647,0.620130467,0.646297549,0.654565803,0.654565803) -data(1913,1828818723,0.209870438,0.209870438,0.210513435,0.644310839,0.672912362,0.681503109,0.681503109) -data(1914,1844733476,0.208566004,0.208566004,0.209324315,0.595307622,0.624513467,0.633420528,0.633420528) -data(1915,1860786724,0.207268457,0.207268457,0.208098411,0.584702733,0.615780985,0.624998263,0.624998263) -data(1916,1876979669,0.204485426,0.204485975,0.205402589,0.605882504,0.638934007,0.648455487,0.648455487) -data(1917,1893313529,0.201734987,0.201735896,0.202715085,0.616179081,0.652399178,0.662218924,0.662218924) -data(1918,1909789530,0.199016787,0.199017732,0.200115349,0.602687652,0.638337653,0.648449811,0.648449811) -data(1919,1926408908,0.196330472,0.196331097,0.196945715,0.535439366,0.575689906,0.586088699,0.586088699) -data(1920,1943172912,0.193675695,0.193676005,0.195243412,0.579848388,0.630973534,0.641653264,0.641653264) -data(1921,1960082799,0.192957547,0.192958381,0.194440762,0.512833825,0.567705487,0.578660532,0.578660532) -data(1922,1977139839,0.192237376,0.192238246,0.193895625,0.527050727,0.587771773,0.599365431,0.599365431) -data(1923,1994345313,0.19151527,0.191516348,0.193525554,0.578230714,0.649426509,0.662893064,0.662893064) -data(1924,2011700513,0.190791315,0.190792469,0.192986897,0.564368556,0.634750802,0.650057077,0.650057077) -data(1925,2029206742,0.190065598,0.190066911,0.192579912,0.561692328,0.634850472,0.651963721,0.651963721) -data(1926,2046865313,0.189342426,0.18934419,0.192313939,0.556598403,0.631036129,0.649924035,0.649924035) -data(1927,2064677552,0.188617585,0.188619709,0.191901916,0.581066305,0.66532014,0.685950808,0.685950808) -data(1928,2082644798,0.187891159,0.187893595,0.191560967,0.570524051,0.658240401,0.680582356,0.680582356) -data(1929,2082644798,0.188791962,0.188794439,0.19317309,0.596191895,0.694524554,0.718247863,0.718247863) -data(1930,2119049713,0.186433874,0.186436187,0.190385499,0.552331717,0.644491424,0.668934944,0.668934944) -data(1931,2137490116,0.185921585,0.185923717,0.190113868,0.506565457,0.594964462,0.620348577,0.620348577) -data(1932,2156090991,0.185404259,0.185406253,0.189724679,0.468661357,0.552304395,0.578611056,0.578611056) -data(1933,2174853735,0.184882022,0.184885026,0.189466471,0.478973885,0.569521584,0.596732983,0.596732983) -data(1934,2193779755,0.184354996,0.184357857,0.189137885,0.50231919,0.597048389,0.625146959,0.625146959) -data(1935,2212870475,0.183823303,0.183826489,0.189391253,0.513244919,0.615346693,0.6443151,0.6443151) -data(1936,2232127325,0.183422624,0.183426207,0.189292235,0.541976812,0.652213355,0.6820345,0.6820345) -data(1937,2251551752,0.183015177,0.183016132,0.189691455,0.557024422,0.681411525,0.713128315,0.713128315) -data(1938,2271145215,0.182601109,0.182608794,0.189219601,0.528985648,0.649365004,0.682755166,0.682755166) -data(1939,2290909184,0.182180563,0.182198879,0.189050477,0.544855454,0.669193862,0.704673928,0.704673928) -data(1940,2310845143,0.181753683,0.181773628,0.188817984,0.577859192,0.705095325,0.742626751,0.742626751) -data(1941,2330954589,0.180256141,0.180280081,0.187681608,0.587475315,0.717410922,0.756955672,0.756955672) -data(1942,2351239032,0.17877091,0.178803567,0.18636161,0.589499673,0.710751063,0.752271606,0.752271606) -data(1943,2371699993,0.17729789,0.177330845,0.185849103,0.596589637,0.725948747,0.769408049,0.769408049) -data(1944,2392339011,0.17583698,0.175847008,0.183932936,0.574921594,0.722215099,0.767576618,0.767576618) -data(1945,2413157633,0.174388081,0.174391359,0.182283924,0.493293215,0.63914527,0.68637295,0.68637295) -data(1946,2434157423,0.173522919,0.173531361,0.182267965,0.514250229,0.668057865,0.717384008,0.717384008) -data(1947,2455339957,0.172659705,0.172683238,0.181755468,0.551547112,0.719518964,0.773619655,0.773619655) -data(1948,2476706827,0.17179847,0.171828917,0.181742644,0.560535238,0.749010917,0.809647204,0.809647204) -data(1949,2498259635,0.170939245,0.17097559,0.181133719,0.538171636,0.723949765,0.788183962,0.788183962) -data(1950,2557628654,0.167579756,0.167622721,0.178408185,0.559396293,0.762977841,0.834822272,0.834822272) -data(1951,2594938936,0.167032664,0.167085184,0.179115513,0.574723533,0.802272625,0.886283415,0.886283415) -data(1952,2636770386,0.166215588,0.166275557,0.178905263,0.565999791,0.801386992,0.890443027,0.890443027) -data(1953,2682050452,0.165211328,0.165271599,0.178153454,0.56040182,0.805094458,0.897685967,0.897685967) -data(1954,2730224110,0.164066346,0.164125585,0.177552809,0.548214509,0.799870041,0.895277726,0.895277726) -data(1955,2782093851,0.162744571,0.162802026,0.177062242,0.572289721,0.849071541,0.950920777,0.950920777) -data(1956,2835293441,0.161343608,0.161397559,0.176802814,0.586639897,0.882197665,0.990604979,0.990610309) -data(1957,2891342302,0.159836585,0.159890471,0.176313385,0.589494533,0.894932945,1.010584994,1.010622753) -data(1958,2948128605,0.158347259,0.158403549,0.176092897,0.594122165,0.901178987,1.023306716,1.023348608) -data(1959,3000706677,0.157134282,0.157194027,0.175092878,0.60075882,0.926301469,1.060278841,1.060403012) -data(1960,3042990271,0.156490706,0.156555865,0.175795691,0.61309257,0.958977014,1.102738263,1.102971765) -data(1961,3084007286,0.155724141,0.155801371,0.175847845,0.582341401,0.945610971,1.097964839,1.098333034) -data(1962,3140187350,0.154229357,0.154309778,0.175037739,0.583886676,0.970894477,1.134494733,1.135032498) -data(1963,3209978774,0.152139251,0.152229147,0.173552486,0.585699084,0.991892736,1.166953505,1.167858812) -data(1964,3281412257,0.150062967,0.150160837,0.171811855,0.592867755,1.021995792,1.209049525,1.210281169) -data(1965,3350699989,0.14816998,0.148271574,0.171655685,0.592192206,1.043069039,1.239349435,1.241269627) -data(1966,3421015609,0.147131043,0.14723349,0.171776593,0.589397107,1.068586677,1.275452622,1.27813231) -data(1967,3490735455,0.146158896,0.14626543,0.170803075,0.56557596,1.069927556,1.288070014,1.291237119) -data(1968,3562786611,0.145129793,0.1452355,0.170411047,0.568040201,1.107666962,1.34146315,1.345320724) -data(1969,3637707956,0.14402776,0.144141478,0.170254838,0.567570209,1.136409991,1.38786865,1.392325229) -data(1970,3713327898,0.142943308,0.143053274,0.169862261,0.574604634,1.187424472,1.460093809,1.4656198) -data(1971,3790980082,0.141867123,0.1419725,0.169518561,0.562377273,1.199174341,1.484731543,1.492185663) -data(1972,3867242256,0.14088476,0.141006603,0.169241956,0.55299154,1.211873977,1.508449967,1.518429829) -data(1973,3942790520,0.139965732,0.140098019,0.168229646,0.551337808,1.256519325,1.5637256,1.576827076) -data(1974,4017323955,0.139116394,0.139264313,0.169566501,0.548855283,1.243354913,1.55159078,1.568155026) -data(1975,4088810897,0.138401041,0.13856795,0.16866321,0.563492361,1.21131787,1.515162671,1.537578295) -data(1976,4158888836,0.137644673,0.137823056,0.167542119,0.566773642,1.257660106,1.569161684,1.594857237) -data(1977,4229748034,0.136888084,0.137068744,0.166990254,0.571441309,1.275256046,1.610533422,1.641644931) -data(1978,4300631215,0.136155668,0.136323913,0.168223987,0.572181835,1.27205561,1.591706702,1.627562741) -data(1979,4374349678,0.135359212,0.13557451,0.168367796,0.588798681,1.303224877,1.642092677,1.678738222) -data(1980,4445423675,0.13466922,0.135694224,0.169018612,0.535103352,1.264795628,1.575204786,1.612060086) -data(1981,4526817917,0.134213008,0.135336361,0.168515198,0.530410164,1.209074468,1.518426926,1.559512282) -data(1982,4607193353,0.133802494,0.135342954,0.168753641,0.536996737,1.176267133,1.47980709,1.52463367) -data(1983,4688582743,0.133377208,0.135246041,0.169576319,0.532088682,1.158420925,1.46002144,1.510279864) -data(1984,4767669177,0.133030663,0.135364454,0.170242063,0.54694641,1.180279911,1.506703536,1.566412047) -data(1985,4849860549,0.132610473,0.135051242,0.169658748,0.552747513,1.171095757,1.504285752,1.573424331) -data(1986,4934211409,0.131291387,0.133685377,0.168393392,0.554194404,1.186400652,1.520044231,1.593296333) -data(1987,5021085089,0.129951317,0.132539382,0.166722644,0.554231496,1.181208808,1.524791298,1.603295671) -data(1988,5108736553,0.128637242,0.13125772,0.166140318,0.556210491,1.195203161,1.549641815,1.633219996) -data(1989,5195979089,0.127377522,0.13079373,0.164881748,0.553926742,1.193159265,1.553390392,1.638232703) -data(1990,5284252039,0.126134805,0.129737215,0.164632138,0.553384674,1.190735096,1.553386431,1.640350219) -data(1991,5367488662,0.125428663,0.12928236,0.164254982,0.528423389,1.154980396,1.516498613,1.613399159) -data(1992,5452187873,0.124710625,0.128643771,0.163153115,0.518552304,1.13735672,1.494240768,1.590566106) -data(1993,5534418049,0.12406988,0.128046593,0.163990775,0.50470235,1.119339298,1.477198192,1.575200738) -data(1994,5614530098,0.123494469,0.127690239,0.163473418,0.506216459,1.12531413,1.481458633,1.580083078) -data(1995,5695823105,0.122909758,0.127213893,0.164248122,0.510641048,1.135855904,1.49167459,1.592774524) -data(1996,5776327747,0.12216812,0.12649691,0.163557636,0.510522671,1.141850345,1.503121808,1.606488473) -data(1997,5854841500,0.121488167,0.12619452,0.163583023,0.524945344,1.167177534,1.523679854,1.624760285) -data(1998,5932024858,0.120853308,0.125593429,0.162567495,0.521014085,1.167330383,1.52595967,1.627688406) -data(1999,6008646651,0.120245994,0.125081498,0.162173341,0.512693203,1.14325022,1.505666716,1.609442579) -data(2000,6084703879,0.119665076,0.124729832,0.16178992,0.513011266,1.158715327,1.529969497,1.634878653) -data(2001,6160890093,0.119894056,0.125258541,0.161095098,0.524198822,1.1611659,1.535602425,1.642047723) -data(2002,6237154134,0.118903979,0.124921559,0.160784753,0.529942594,1.153921617,1.530689162,1.637033401) -data(2003,6313942570,0.117913902,0.124642773,0.160192176,0.546832827,1.182503339,1.566938847,1.670839416) -data(2004,6390636309,0.116923825,0.12432827,0.161759107,0.565673251,1.221114221,1.610936278,1.717713694) -data(2005,6467431499,0.115933748,0.124259776,0.162887647,0.604148825,1.263290753,1.659620623,1.765386482) -data(2006,6545218993,0.114943672,0.124695239,0.164252513,0.623509498,1.274460793,1.680457898,1.786351327) -data(2007,6623523655,0.113953595,0.125629532,0.165251003,0.637952129,1.279256584,1.68820381,1.790810594) -data(2008,6702159402,0.112963518,0.127142703,0.167940953,0.64989848,1.292105043,1.710278853,1.811269586) -data(2009,6780833881,0.111973441,0.127858368,0.168866486,0.654393109,1.282816573,1.686869485,1.785251313) -data(2010,6858584755,0.110983364,0.12921584,0.172117414,0.680609275,1.328410794,1.756431211,1.856334479) -data(2011,6935999491,0.109993287,0.130385385,0.173636892,0.704216284,1.348176864,1.785673581,1.880255695) -data(2012,7013871313,0.10900321,0.130975574,0.175672274,0.688388925,1.341250864,1.785302272,1.872409847) -data(2013,7092128094,0.108013133,0.132480909,0.177353971,0.688378378,1.336238537,1.781754888,1.868322734) -data(2014,7169968185,0.107023056,0.133567224,0.177755023,0.681107631,1.336758872,1.78693987,1.874787234) -data(2015,7247892788,0,0,0,0,0,0,0) -data(2016,7325996709,0,0,0,0,0,0,0) -data(2017,7405107650,0,0,0,0,0,0,0) -nD0=nD-3 - -define yrdata { nyd +=1; yrd[nyd]=$1; ypop[nyd]=$2/1e9 } - -nyd = 0 -yrdata(1850,1169923623) -yrdata(1851,1177298999) -yrdata(1852,1184724181) -yrdata(1853,1192199527) -yrdata(1854,1199725401) -yrdata(1855,1207302168) -yrdata(1856,1214930197) -yrdata(1857,1222609858) -yrdata(1858,1230341525) -yrdata(1859,1238125576) -yrdata(1860,1245962390) -yrdata(1861,1253852349) -yrdata(1862,1261795840) -yrdata(1863,1269793250) -yrdata(1864,1277844972) -yrdata(1865,1285951399) -yrdata(1866,1294112930) -yrdata(1867,1302329966) -yrdata(1868,1310602910) -yrdata(1869,1318932168) -yrdata(1870,1327318152) -yrdata(1871,1335761275) -yrdata(1872,1344261952) -yrdata(1873,1352820603) -yrdata(1874,1361437653) -yrdata(1875,1370113525) -yrdata(1876,1379548537) -yrdata(1877,1389051752) -yrdata(1878,1398623687) -yrdata(1879,1408264863) -yrdata(1880,1417975804) -yrdata(1881,1427757042) -yrdata(1882,1437609109) -yrdata(1883,1447532543) -yrdata(1884,1457527886) -yrdata(1885,1467595685) -yrdata(1886,1477736490) -yrdata(1887,1487950857) -yrdata(1888,1498239345) -yrdata(1889,1508602518) -yrdata(1890,1519040944) -yrdata(1891,1529555197) -yrdata(1892,1540145854) -yrdata(1893,1550813497) -yrdata(1894,1561558712) -yrdata(1895,1572382092) -yrdata(1896,1583284233) -yrdata(1897,1594265734) -yrdata(1898,1605327202) -yrdata(1899,1616469247) -yrdata(1900,1630171098) -yrdata(1901,1644554295) -yrdata(1902,1659067684) -yrdata(1903,1673712471) -yrdata(1904,1688489874) -yrdata(1905,1703401122) -yrdata(1906,1718447458) -yrdata(1907,1733630134) -yrdata(1908,1748950415) -yrdata(1909,1764409579) -yrdata(1910,1780008913) -yrdata(1911,1795749721) -yrdata(1912,1811633314) -yrdata(1913,1827661021) -yrdata(1914,1843834178) -yrdata(1915,1860154139) -yrdata(1916,1876622267) -yrdata(1917,1893239939) -yrdata(1918,1910008546) -yrdata(1919,1926929491) -yrdata(1920,1944419089) -yrdata(1921,1962566145) -yrdata(1922,1980884876) -yrdata(1923,1999376931) -yrdata(1924,2018043972) -yrdata(1925,2023803913) -yrdata(1926,2043462180) -yrdata(1927,2063406322) -yrdata(1928,2082689730) -yrdata(1929,2103850414) -yrdata(1930,2124167500) -yrdata(1931,2143802732) -yrdata(1932,2164157870) -yrdata(1933,2184604692) -yrdata(1934,2205534997) -yrdata(1935,2226530597) -yrdata(1936,2247993326) -yrdata(1937,2268545035) -yrdata(1938,2290267593) -yrdata(1939,2312702889) -yrdata(1940,2350947590) -yrdata(1941,2373554827) -yrdata(1942,2396382640) -yrdata(1943,2419433211) -yrdata(1944,2442708748) -yrdata(1945,2466211477) -yrdata(1946,2489943650) -yrdata(1947,2513907539) -yrdata(1948,2538105439) -yrdata(1949,2562539670) -yrdata(1950,2579434878) -yrdata(1951,2653954580) -yrdata(1952,2692712961) -yrdata(1953,2732388944) -yrdata(1954,2772909569) -yrdata(1955,2814390135) -yrdata(1956,2856675848) -yrdata(1957,2899864004) -yrdata(1958,2943689748) -yrdata(1959,2987555529) -yrdata(1960,3030709021) -yrdata(1961,3090453463) -yrdata(1962,3137151355) -yrdata(1963,3211786601) -yrdata(1964,3270671214) -yrdata(1965,3330055803) -yrdata(1966,3401169329) -yrdata(1967,3463250974) -yrdata(1968,3526647458) -yrdata(1969,3591511933) -yrdata(1970,3657420066) -yrdata(1971,3724116214) -yrdata(1972,3791497136) -yrdata(1973,3859732004) -yrdata(1974,3928723212) -yrdata(1975,3998320921) -yrdata(1976,4080634693) -yrdata(1977,4156349026) -yrdata(1978,4233151108) -yrdata(1979,4311785729) -yrdata(1980,4391777096) -yrdata(1981,4472736872) -yrdata(1982,4555816222) -yrdata(1983,4640588050) -yrdata(1984,4726272158) -yrdata(1985,4813567478) -yrdata(1986,4902566593) -yrdata(1987,4985904892) -yrdata(1988,5070443631) -yrdata(1989,5156030340) -yrdata(1990,5219191372) -yrdata(1991,5304659362) -yrdata(1992,5390911229) -yrdata(1993,5477320137) -yrdata(1994,5564356643) -yrdata(1995,5652711036) -yrdata(1996,5738516173) -yrdata(1997,5824945702) -yrdata(1998,5912061676) -yrdata(1999,5999735497) -yrdata(2000,6088144560) -yrdata(2001,6173932167) -yrdata(2002,6250016823) -yrdata(2003,6326520742) -yrdata(2004,6403805522) -yrdata(2005,6481944062) -yrdata(2006,6525559210) -yrdata(2007,6602274812) -yrdata(2008,6789771253) -yrdata(2009,6873741054) -yrdata(2010,6958169159) -yrdata(2011,7043008586) -yrdata(2012,7128176935) -yrdata(2013,7213426452) -yrdata(2014,7298453033) -yrdata(2015,7383008820) -yrdata(2016,7466964280) -yrdata(2017,7550262101) - -Left: line from dtop(yearmin,tonsmin) to dtop(yearmin,tonsmax) - htic = 8pt__ -# htic = maxy - vtic = 13pt__/2 -# vtic = maxy - "0" wid 5bp__ at dtop(yearmin,tonsmin) rjust above - for y=0.2 to 2 by 0.2 do { - move to dtop(yearmin,y) - if y<2 then {{ line right htic }} - sprintf("%g",y) wid 5bp__ rjust } - svg_rot(90,"Tonnes of oil equivalent per capita",at Left-(0.3,0)) - -Right: line from dtop(yearmax,tonsmin) to dtop(yearmax,tonsmax) - for p=0 to popmax do { - move to ptop(yearmax,p) - if p>0 && p - - spline <- from dtop(yr[nD0]-1,0.12) left 0.2 up 0.1 then left 0.55 up 0.05 - "Other renewables" wid 100bp__ with .b at Here+(-0.4,2pt__) - -Q: NPopulation.end + (-1.25,-0.1) - spline ctension_ <- \ - from NPopulation.end+(-3pt__,0) left 0.3 down 0.1 then left 0.45 then to Q - sprintf("%g %% of 1850 population",round_(ypop[nyd]/ypop[1]*10)*10) \ - wid 100bp__ rjust -] - - command "" # end font -#.PE - ] with .sw at last [].se+(-40bp__,0) # Cons -#showbox_ - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/MCSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/MCSVG.m4 deleted file mode 100644 index 8fcff10ea18..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/MCSVG.m4 +++ /dev/null @@ -1,99 +0,0 @@ -.PS -#MCSVG.m4 -cct_init(svg_font(Times,11bp__)) -textoffset = 3bp__ - -MC:[ - dv = dimen_*0.6 - dh = dimen_*0.4 - backup = dimen_/6 - - for i=1 to 3 do {{ - if i==2 then { Input: dot } else { line up (2-i)*dv } - source(right_ dimen_,AC) -# The pound sign has to be protected from m4 - llabel(,,sprintf("svg_it(v`'svg_sub(&``#''%g;,66%))",96+i)) - resistor(right_ dimen_ from Here-(backup/2,0)) - if i==1 then { llabel(,R`'svg_sub(i))} - inductor(right_ dimen_ from Here-(backup,0),W) - if i==1 then { llabel(,L`'svg_sub(i))} - line right_ i*dh - b_current(sprintf("svg_it(i`'svg_sub(&``#''%g;,66%))",96+i)); dot - { line down (3-i)*dv; capacitor(down_ dimen_) - if i==1 then { rlabel(,C`'svg_it(i)) } - if i==2 then { dot } else { line right (2-i)*dh }} - line right 3*dh; dot - E: Here+((3-i)*dh+dimen_*2,(4-2*i)*dv) - for j=1 to 3 do {{ - line up (6-j*3)*dv then right (3-i)*dh - switch(right_ E.x-Here.x) - llabel(,,sprintf("svg_it(S`'svg_sub(&``#''%g;&``#''%g;,66%))",96+i,64+j)) - if i==2 then { dot } else { line down (2-i)*dv } - }} - line from E right dh then down E.y-Here.y - arrow right dimen_/2 - { sprintf("svg_it(i`'svg_sub(&`#'%g;,66%))",64+i) above } - resistor(right_ dimen_ from Here-(arrowht/2,0)) - if i==1 then {llabel(,R`'svg_sub(o))} - inductor(right_ dimen_ from Here-(backup,0),W) - if i==1 then {llabel(,L`'svg_sub(o))} - source(right_ dimen_,AC) - llabel(sprintf("svg_it(v`'svg_sub(&``#''%g;,66%))",64+i)) - if i==2 then { Output: dot } else { line down (2-i)*dv } - }} -] - -Three: [ - gapht = 4*dimen_ - dv = dimen_*0.6 - dh = dimen_*5/6 - define(`swfet',`mosfet(`$1',,dMEDSuBQPy)') - define(`swpair',`[ up_ - BS: swfet(up_ dimen_); { "`$1'" at BS.D-(0,2bp__) rjust } - L: line up_ gapht-2*dimen_ from BS.D - TS: swfet(up_ dimen_) with .S at Here; { "`$2'" at TS.S+(0,2bp__) rjust } - T: TS.D - B: BS.S - C: L.c - ]') - - V1: gap(up_ gapht,1,A) - { "svg_it(V)svg_sub(1)" wid 12bp__ at last arrow.c rjust } - line right_ dimen_/2 - { C1: capacitor(down_ to (Here,V1.start)); llabel(svg_it(C)svg_sub(1)) } - for_(1,3,1,` - line right_ dimen_ ifelse(m4x,1,,*5/4) - {SP1`'m4x: swpair(svg_it(S`'svg_sub(1`'eval(m4x+3))), - svg_it(S`'svg_sub(1`'m4x))) with .T at Here - dot(at last [].C + (0,(2-m4x)*dh)) - line right_ (3-m4x)*dimen_*5/4+dimen_/4 - inductor(right_ dimen_,L) - {sprintf("svg_it(L`'svg_sub(1&`#'%g;,70%))",64+m4x) at last [].n+(0,8bp__)} - line down_ (2-m4x)*dh*2/3 - pushdef(`dimen_',dimen_*1.2) inductor(right_ dimen_*3/4) popdef(`dimen_') - line down_ (2-m4x)*dh/3 - M: move right_ dimen_/8 - line up_ (2-m4x)*dh/3 - pushdef(`dimen_',dimen_*1.2) inductor(right_ dimen_*3/4) popdef(`dimen_') - line up_ (2-m4x)*dh*2/3 - inductor(right_ dimen_,L) - {sprintf("svg_it(L`'svg_sub(2&`#'%g;,70%))",64+m4x) at last [].n+(0,8bp__)} - line right_ dimen_/8+(m4x-1)*dh*5/4 + dimen_/4 - dot - SP2`'m4x: swpair(svg_it(S`'svg_sub(2`'eval(m4x+3))), - svg_it(S`'svg_sub(2`'m4x))) \ - with .C at Here+(0,(m4x-2)*dh) } - ') - "svg_it(T)svg_sub(r)" at M.c+(0,dimen_*2/3) - line from V1.start to SP13.B - line from SP21.B to SP23.B+(dh*3/4,0) - { C2: capacitor(up_ to (Here,V1.end)); llabel(,,svg_it(C`'svg_sub(2))) } - line right_ dimen_/2 - gap(up_ gapht,1,A) - { "svg_it(V`'svg_sub(2))" wid 12bp__ at last arrow.c ljust } - line to SP21.T chop dotrad_ chop 0 - -] with .nw at MC.sw+(0,-0.2) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/Makefile b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/Makefile deleted file mode 100644 index 0d68dcac3b8..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/Makefile +++ /dev/null @@ -1,148 +0,0 @@ -LIBDIR = $$HOME/lib -M4LIBS = svg.m4 SVGconfig.m4 -M4LIBS = svg.m4 -M4 = m4 -# PDFCONVERT = pdf2svg -PDFCONVERT = dvisvgm - -# To process a single file, copy it to test.m4 and type "make tst" -# to produce tstSVG.html - -DPIC = dpic -#DPIC = $$HOME/dpic/pascal/p2c/ftp/dpic -#DPIC = ../../../dpic/pascal/p2c/ftp/dpic -#DPIC = ../../../dpic/bison/dpic -#DPIC = ../../../dpic/bi*dev/dpic - -# To test the Windows executable. Change these as needed for the operating -# system. NOTE: cscSVG.m4 and Connectors.m4 use awk and sed which -# do not work at present with the Windows version. -# M4LIBS = svg.m4 windows.m4 -# DPIC = ../../../dpic/bison/distsrc/Windows/dpic - -.SUFFIXES: .pic .svg .m4 .xsvg -.pic.svg: - $(DPIC) -v $*.pic > $*.svg - grep '<\!-- width' $*.svg | sed -e 's%<\!-- *%%' -e 's% *-->%%' > $*.siz -.m4.svg: - m4 $(M4LIBS) $*.m4 | sed -e '/^\%/d' > $*.pic - $(DPIC) -v $*.pic > $*.svg - grep '<\!-- width' $*.svg | sed -e 's%<\!-- *%%' -e 's% *-->%%' > $*.siz -.m4.xsvg: - touch F_$*.dim - $(M4) pgf.m4 F_$*.dim $*.m4 > $*.pic - $(DPIC) -g $*.pic >> $*.tex - echo "\documentclass[crop,tikz,multi=false]{standalone}" > F_$*.tex - echo "\usepackage{boxdims,siunitx,amssymb}" >> F_$*.tex - echo "\begin{document}" >> F_$*.tex - echo "\input $*.tex" >> F_$*.tex - echo "\end{document}" >> F_$*.tex - pdflatex --quiet F_$* - $(M4) pgf.m4 F_$*.dim $*.m4 > $*.pic - $(DPIC) -g $*.pic >> $*.tex - pdflatex --quiet F_$* - if test "$(PDFCONVERT)" = "pdf2svg" ; then \ - pdf2svg F_$*.pdf $*.xsvg && cp $*.xsvg $*.svg ; \ - else \ - dvisvgm --pdf F_$*.pdf && mv F_$**.svg $*.svg ; cp $*.svg $*.xsvg ; \ - fi - rm -f F_$** - -CCTSVG = \ - AdderSVG.svg AlogixSVG.svg ABlogixSVG.svg AmpTableSVG.svg AntennasSVG.svg \ - AudioSVG.svg \ - BipSVG.svg BtreeSVG.svg ByteSVG.svg ButtonsSVG.svg \ - CanLogicSVG.svg CapacitorsSVG.svg ChipsSVG.svg ConnSVG.svg ConnectorsSVG.svg \ - ContactSVG.svg ContactsSVG.svg \ - CrowSVG.svg CsourceSVG.svg \ - DecoderSVG.svg DemultiplexerSVG.svg DiniSVG.svg DiodesSVG.svg DriveSVG.svg \ - EEPSVG.svg EmarrowsSVG.svg EscherSVG.svg EVplugsSVG.svg \ - FlowSVG.svg FontsSVG.svg FusesSVG.svg \ - GeometrySVG.svg GrayCodeSVG.svg GroundsSVG.svg \ - HeadersSVG.svg HeathkitSVG.svg \ - InclepsSVG.svg InductorsSVG.svg I2LSVG.svg JackSVG.svg \ - LogicSVG.svg LoglogSVG.svg \ - MCSVG.svg MixerSVG.svg MoreTableSVG.svg MotorControlSVG.svg \ - MultiplexerSVG.svg \ - NLGSVG.svg NPDTSVG.svg NportSVG.svg OpampSVG.svg OptoisoSVG.svg \ - PconnSVG.svg PlateSVG.svg PushPullSVG.svg QuantumSVG.svg \ - RectifiersSVG.svg RelaySVG.svg ResistorsSVG.svg RotboxSVG.svg\ - SchottkySVG.svg ShiftRSVG.svg SierpinskiSVG.svg \ - SixpoleSVG.svg SourcesSVG.svg SQUIDSVG.svg SwitchesSVG.svg \ - TTLnandSVG.svg TgateSVG.svg ThreeSVG.svg \ - TubediagsSVG.svg VariableSVG.svg WindingsSVG.svg XformSVG.svg \ - controlSVG.svg cscSVG.svg diamondSVG.svg ex00SVG.svg \ - ex01SVG.svg ex02SVG.svg ex03SVG.svg ex04SVG.svg ex05SVG.svg ex06SVG.svg \ - ex08SVG.svg ex09SVG.svg ex10SVG.svg ex11SVG.svg ex12SVG.svg \ - ex15SVG.svg ex16SVG.svg ex17SVG.svg ex18SVG.svg ex21SVG.svg \ - expSVG.svg fetSVG.svg graysurfSVG.svg keyboardSVG.svg lcctSVG.svg \ - pwrsupplySVG.svg quickSVG.svg randomSVG.svg recycleSVG.svg relaycoilSVG.svg \ - roseSVG.svg sfgSVG.svg shapesSVG.svg SmithchartSVG.svg paletteSVG.svg \ - thyristorSVG.svg ujtSVG.svg UNOSVG.svg wormSVG.svg XORSVG.svg Np.svg - -examplesSVG.html: examplesSVG.htmx - cp ../quick.m4 . - make $(CCTSVG) quick.xsvg - Version=`sed -e 's/Version //' $(LIBDIR)/doc/Version.tex` ; \ - sed -e 's/Version XXX/Version '$$Version'/' examplesSVG.htmx \ - | m4 > examplesSVG.html - -SED = sed -e '/^\%/d' -TEST = test -tst: - @if test -f test.pic; then printf "\n\nUsage: make clean tst\n\n"; exit 1;fi - m4 $(M4LIBS) test.m4 | $(SED) > test.pic - $(DPIC) -v $(TEST).pic > $(TEST).svg - m4 $(M4LIBS) $(TEST).m4 | $(SED) > $(TEST).pic - $(DPIC) -v $(TEST).pic > $(TEST).svg - grep '<\!-- width' $(TEST).svg | sed -e 's%<\!-- *%%' -e 's% *-->%%' \ - > $(TEST).siz - make tstSVG.html - -test.pic: - if test -f test.pic ; then echo "Usage: make clean tst" ; fi - m4 $(M4LIBS) test.m4 | $(SED) > test.pic - m4 $(M4LIBS) test.m4 | $(SED) > test.pic - -tstSVG.html: tstSVG.htmx $(TEST).svg - Version=`sed -e 's/Version //' $(LIBDIR)/doc/Version.tex` ; \ - sed -e 's/Version XXX/Version '$$Version'/' \ - -e 's/XXXXX/'$(TEST)'/g' \ - tstSVG.htmx | m4 > tstSVG.html -# cp tstSVG.html $(TEST) $$HOME/public_html/svg - -xst: Incleps.png - -# necessary because of rotated text: -LoglogSVG.svg: - m4 $(M4LIBS) $*.m4 | sed -e '/^\%/d' > $*.pic - $(DPIC) -v $*.pic > $*.svg - m4 $(M4LIBS) $*.m4 | sed -e '/^\%/d' > $*.pic - $(DPIC) -v $*.pic > $*.svg - grep '<\!-- width' $*.svg | sed -e 's%<\!-- *%%' -e 's% *-->%%' > $*.siz - -ConnectorsSVG.svg cscSVG.svg SmithchartSVG.svg test.svg: - m4 $(M4LIBS) $*.m4 | sed -e '/^\%/d' > $*.pic - $(DPIC) -v $*.pic > $*.svg - m4 $(M4LIBS) $*.m4 | sed -e '/^\%/d' > $*.pic - $(DPIC) -v $*.pic > $*.svg - grep '<\!-- width' $*.svg | sed -e 's%<\!-- *%%' -e 's% *-->%%' > $*.siz - -InclepsSVG.svg: InclepsSVG.m4 - m4 $(M4LIBS) $*.m4 | sed -e '/^\%/d' > $*.pic - $(DPIC) -v $*.pic > $*.svg - $(DPIC) -v $*.pic > $*.svg - -Incleps.png: - (cd ..; make Incleps.png); cp ../Incleps.png . - -clean: - @printf "\n svg clean:\n" - rm -f *.svg *.dim *.ps *log *.siz *.pic examplesSVG.html Incleps.png - rm -f tstSVG.html copy_tmp__ quick.m4 quick.xsvg - rm -f *.otf xx* *png *.pdf *.css *.xml quick.tex - @printf "\n" - -clobber: clean - (cd dev; make clobber) - rm -f test.m4 diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/MixerSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/MixerSVG.m4 deleted file mode 100644 index 1712e017ed0..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/MixerSVG.m4 +++ /dev/null @@ -1,98 +0,0 @@ -.PS -#`MixerSVG.m4 -# Showing VMOS mosfet and custom transformer' -cct_init(svg_font(sans-serif,10.5bp__,1bp__)) - -define(`dimen_',0.6) -define(`elen_',0.75) - -define(`Xform21', - `[ L1: inductor(to rvec_(dimen_*0.5,0),L,,M) - Core1E: M4Core1.end; Core2E: M4Core2.end - D: (0.5 between M4Core1 and M4Core2) - L1 - T: line to rvec_(dimen_/3,0); { dot(at T.c) } - L2: inductor(to rvec_(L1.len,0),L,,M) - line from M4Core1.start to Core1E - line from M4Core2.start to Core2E - L3: inductor(to rvec_(-L1.len,0) with .c at T+(D.x*2,D.y*2),L) ]') - - del = dimen_/3 - setdir_(U) -T1: Xform21; "T1" at T1.n above rjust - dot(at T1.L3.start+(0,4bp__)) - dot(at T1.L1.end+(4bp__,0)) - dot(at T1.L2.end+(4bp__,0)) - line from T1.L3.start left_ dimen_*2/3 -RF: dot(,,1); "RF" at RF.w rjust - line from T1.L3.end left_ del; corner; ground(,,F) - - line down_ del/2 from T1.L1.start then right_ del - reversed(`capacitor',right_ dimen_,C); llabel(,0.1 svg_micro`'F) -BT: dot(at Here) - line up_ del/2 from T1.L2.end then right del - reversed(`capacitor',right_ dimen_,C); llabel(,0.1 svg_micro`'F) - t = dimen_*7/8 - line to (BT.x+4*t,Here.y) -TT: dot - line right_ dimen_+del/2; setdir_(U) -Q1: mosfet(,,dMESDQuB,E) with .G at Here - { "Q1" at Q1.Env.ne above ljust } - ground(at Q1.S,,F) - line right_ del*3/2 from Q1.D then down_ Q1.D.y-T1.L2.end.y -T2: Xform21 with .L1.start at (Here,T1.L2.end); "T2" at T2.n above ljust - dot(at T2.L1.start+(-4bp__,0)) - dot(at T2.L3.end+(0,4bp__)) - line from T2.L3.end right_ dimen_*2/3 -IF: dot(,,1); "IF" wid 12bp__ at IF.e ljust - setdir_(U) -Q2: mosfet(,,dMESDQuB,E) at (Q1,T2.s-(0,elen_-del)) - { "Q2" at Q2.Env.ne above ljust } - line from Q2.D to (T2.L2.end,Q2.D) then to T2.L2.end - line from Q2.G left_ del/2 then up_ BT.y-Q2.G.y then to BT - - line right_ del from T1.T then down_ T1.T.y-BT.y+del*3/2 - corner; left_ - capacitor(to (T1.L3.end-(del,0),Here),C) - rlabel(,0.1 svg_micro`'F ) -LOD: dot - { line to (RF,Here) - dot(,,1); move left_ 4bp__; "local" rjust "oscillator" rjust; - move left 50bp__ } - line from T2.T left_ to (Q1.S,T2.T) -T2T: dot - { capacitor(down_ to (Here,BT),C); rlabel(,0.1 svg_micro`'F) - ground(,T,F) } - { line from T2.L3.start right_ del; corner; ground(,,F) } -Vt: dot(at (0.5 between BT and TT,Q1.Env.nw),,1) - { "+V`'svg_sub(CC)" at last [].e ljust } - line to (Here,T2T); dot - { line to (Here,BT); Cv: capacitor(down_ 3/2*dimen_,C) - llabel(10 svg_micro`'F); G: dot; ground(,,F) } - - for s=-1 to 1 by 2 do {{ - line right s*t; corner - resistor(down_ to (Here,BT)) - if s<0 then { llabel(,5 k`'svg_ohm) } \ - else { rlabel(,5 k`'svg_ohm) - { dot(at last line.start); line to (TT,Here) - resistor(right_ to (T2T,Here)) - llabel(,10 svg_ohm) } } - P: potentiometer(down_ Cv.len,,0.5,s*t ) with .Start at Here - if s<0 then { "1 k`'svg_ohm" at P. 1st [].ne ljust } \ - else { "1 k`'svg_ohm" at P. 1st [].sw rjust } - dot(at P.End) - dot(at P.T1) - { L: inductor(up_ to (Here,BT),L); - if s<0 then { "100 svg_micro`'H" at last [].sw rjust } \ - else { line to TT - "100 svg_micro`'H" at last [].ne ljust below } } - capacitor(down_ to (Here,G),C) - if s<0 then { rlabel(,0.1 svg_micro`'F) } \ - else { llabel(,0.1 svg_micro`'F) } - dot }} - - resistor(down_ from LOD to (LOD,G)); llabel(,51 svg_ohm); corner - line to (Q2.S,Here) then to Q2.S - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/MoreTableSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/MoreTableSVG.m4 deleted file mode 100644 index 5966216c593..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/MoreTableSVG.m4 +++ /dev/null @@ -1,43 +0,0 @@ -.PS -# MoreTableSVG.m4 -cct_init(svg_font(sans-serif,11pt__)) -textwid = 1.5 -movewid = 2 pt__ -hm = 2.1 -vm = 0.28 - -hm = 2.05 -vm = 0.28 - -{ {memristor ; move;"`memristor '" ljust} - move right_ hm - {heater; move;"`heater '" ljust} - move right_ hm - {tline ; move;"`tline '" ljust} -} - move down 0.25; right_ -{ {pvcell ; move;"`pvcell '" ljust} - move right_ hm - {reed ; move ;"`reed '" ljust} - move right_ hm - {reed(,,,fill_(0.9),CR) ; move ; "`reed(,,,fill_(0.9),CR) '" ljust} -} - move down 0.25; right_ -{ {gap ; move ;"`gap '" ljust} - move right_ hm - {gap(,,A) ; move ;"`gap(,,A) '" ljust} - move right_ hm - {arrowline ; move;"`arrowline '" ljust} -} - move down 0.25; right_ -{ move down 0.10; right; {lamp ; move;"`lamp '" ljust} - move right_ hm - {thermocouple ; move;"`thermocouple '" ljust } -# move up 0.10 right_ hm -# {arrester ; move ;"`arrester '" ljust} - move right_ hm - {xtal ; move ;"`xtal '" ljust} -} - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/MotorControlSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/MotorControlSVG.m4 deleted file mode 100644 index 7a27d4b4d32..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/MotorControlSVG.m4 +++ /dev/null @@ -1,58 +0,0 @@ -.PS -# MotorControl.m4 -cct_init(svg_font(sans-serif,11bp__)) - - trad = 2.5*dotrad_ -define(`bigterminal',`circle rad trad') - - mrad = linewid*2/3 -Motor: circle rad mrad "Motor" - - linethick = 2 - T2: Motor.n+(0,dimen_/2) - - for i=1 to 3 do { - if i==2 then { line from Motor.n to T2 } \ - else { line from Motor right (i-2)*Motor.diam chop Motor.rad chop 0 \ - then up T2.y-Motor.y } - bigterminal - cbreaker(up_ dimen_*3/4,,T) - bigterminal - line up_ dimen_ - bigterminal - capacitor(up_ dimen_*1.2,,,dimen_/3,dimen_/6) - { circle fill_(1) rad dotrad_*3/2 thick 0.8 \ - at 0.25 between last line.end and last line.start } - if i==1 then { L1: last circle } \ - else { if i==2 then { L2: last circle }} - bigterminal - line up_ dimen_/4 - } - linethick_(0.8) - C2: circle rad mrad/3 at Motor.n+ (0,dimen_*2) - line from C2.e right_ dimen_/3 then up C2.rad*1.5 - line to (L1.x-dimen_/2,Here.y) - {S23: capacitor(up_ dimen_*2/3 from (L1.x-dimen_/2,Here.y),,, - dimen_/3,dimen_/6); dot(,,1) } - dot(,,1) - line to (L1.x-dimen_*2,Here.y) chop dotrad_ chop 0 then up dimen_/3 - S1: [ bswitch(right_ dimen_/2) ] with .Bsw_T1.s at Here - S2: [ bswitch(right_ dimen_/2,,C) ] at S1+(0,-dimen_) - line right dimen_/6 down dimen_/6 from S1.Bsw_T2.se \ - then down S1.Bsw_T2.se.y-S2.Bsw_T2.ne.y-dimen_/3 \ - then to S2.Bsw_T2.ne - box wid S1.wid+dimen_/2 ht S1.n.y-S2.s.y+dimen_/3 \ - at 0.5 between S1.s and S2.n - line left dimen_/2 from S23.end chop dotrad_ chop 0; corner - line to (Here,S1.Bsw_T2) then to S1.Bsw_T2.e - line from S2.Bsw_T1.w left dimen_/2; corner - line to (Here,L1) then to L1 chop 0 chop dotrad_ - - dot(at 0.5 between L1 and L2,,1) - { line to L2 chop dotrad_ } - S45: variable(`capacitor(down_ dimen_*2/3 chop dotrad_ chop 0,,, - dimen_/3,dimen_/6)',L,,dimen_/2); dot(,,1) - line to (Here,C2) then to C2.w chop dotrad_ chop 0 - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/MultiplexerSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/MultiplexerSVG.m4 deleted file mode 100644 index 1cd5605d6ff..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/MultiplexerSVG.m4 +++ /dev/null @@ -1,42 +0,0 @@ -.PS -# MultiplexerSVG.m4 -log_init - -# Font - textht = textht*0.8 - command "" - right_ - - Mux(4,M1) - "`Mux'(4,M1)" at last [].s below - "svg_it(In0)" at last [].In0.end rjust wid 14bp__ - "svg_it(In1)" at last [].In1.end rjust - "svg_it(In2)" at last [].In2.end rjust - "svg_it(In3)" at last [].In3.end rjust - "svg_it(Out)" at last [].Out.end above - "svg_it(Sel)" at last [].Sel.end ljust above - - left_; Mux(4,,LNOE) with .c at last [].c+(0.9,0) - "`left_; Mux'(4,,LNOE)" at last [].s +(0,-20bp__) - "svg_it(In0)" at last [].In0.end above - "svg_it(NOE)" at last [].NOE.end +(4bp__,0) below - "svg_it(Out)" at last [].Out.end below - "svg_it(Sel)" at last [].Sel.end rjust below - - right_; Mux(4,,OEBN2) with .c at last [].c+(1.4,0) - "`Mux'(4,,OEBN2)" at last [].s below - "svg_it(Sel0)" at last [].Sel0.end rjust - "svg_it(Sel1)" at last [].Sel1.end ljust - "svg_it(In0)" at last [].In0.end rjust - "svg_it(In3)" at last [].In3.end rjust - "svg_it(OE)" at last [].OE.end rjust - - down_; Mux(8,,L3,,28*L_unit) with .c at last [].c+(1.7,0) - "`down_; Mux'(8,,L3,,28*L_unit)" at last [].s below wid 162bp__ - "svg_it(Sel0)" at last [].Sel0.end rjust - "svg_it(Sel2)" at last [].Sel2.end rjust below - "svg_it(In0)" at last [].In0.end rjust - "svg_it(In7)" at last [].In7.end ljust wid 14bp__ - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/NLGSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/NLGSVG.m4 deleted file mode 100644 index 987e2911fb1..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/NLGSVG.m4 +++ /dev/null @@ -1,21 +0,0 @@ -.PS -# NLG.m4 -cct_init(svg_font(sans-serif,11bp__)) - - define(`nullor',`nport(`$1' - {`"0"' at Box.w ljust - `"oo"' at Box.e rjust},shift($@))') - -N: nullor -`"nullor"' at last [].s+(0,-3pt__) below -G: gyrator with .sw at N.se+(0.5,0) -`"gyrator"' at G.s+(0,-3pt__) below -I: gyrator(invis,,0,N) with .w at G.e+(0.5,0) -`"gyrator(invis,,0,N)"' at I.s -V: gyrator(invis wid boxht,,0,NV) with .w at I.e+(1,0) -`"gyrator(invis wid boxht,,0,NV)"' wid 2 at V.s+(0,-3pt__) below - - move right 0.9 - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/NPDTSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/NPDTSVG.m4 deleted file mode 100644 index 3702d025501..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/NPDTSVG.m4 +++ /dev/null @@ -1,41 +0,0 @@ -.PS -# `NPDT.m4' -cct_init(svg_font(sans-serif,11bp__)) - - movewid = 1.0 - - NPDT - {move left 0.1 from last [].w} - { "svg_it(R)" at last [].R.s below - "svg_it(T)" at last [].T.s below - "svg_it(L)" at last [].L.s below } - { `"NPDT"' at last [].s +(0,-0.22) } - - up_; NPDT with .sw at last[].se+(0.5,0) - { "svg_it(R)" wid 8pt__ at last [].R.e ljust - "svg_it(T)" at last [].T.e ljust - "svg_it(L)" at last [].L.e ljust } - { `"up_; NPDT"' at last [].s +(0.1,-0.15) } - right_ - - NPDT(2) with .w at last [].e+(0.75,0) - { for_(1,2,1, - `"svg_it(R`'m4x)" at last [].R`'m4x.e ljust - "svg_it(L`'m4x)" wid 11pt__ at last [].L`'m4x.w rjust') } - { `"NPDT(2)"' at last [].s +(0,-0.15) } - move - - NPDT(3,R) - { for_(1,3,1, - `"svg_it(R`'m4x)" at last [].R`'m4x.e ljust - "svg_it(L`'m4x)" wid 11pt__ at last [].L`'m4x.w rjust') } - { `"NPDT(3,R)"' at last [].s below } - - left_; NPDT(2,R) with .w at last [].e+(1.0,0) - { for_(1,2,1, - `"svg_it(R`'m4x)" at last [].R`'m4x.w rjust - "svg_it(L`'m4x)" wid 11pt__ at last [].L`'m4x.e ljust') } - { `"left_; NPDT(2,R)"' wid 90bp__ at last [].s +(0,-0.15) } - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/Np.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/Np.m4 deleted file mode 100644 index e0ae4fb6bbf..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/Np.m4 +++ /dev/null @@ -1,20 +0,0 @@ -.PS -svg_font(sans-serif,9bp__) - -B: box invis wid 6 ht 2 -"`nport(box specs; other commands,nw,nn,ne,ns,space ratio,pin lgth,style,other commands)" \ - ljust at B.w \ -"" ljust \ -"Default is a twoport the size of a normal box." ljust \ -"Args 2 to 5 are the number of ports to be drawn on w, n, e, s sides." ljust \ -"" ljust \ -"The port pins are named by side, number, and by a or b pin," ljust \ -"e.g. W1a, W1b, W2a, ... . Arg 6 specifies the ratio of" ljust \ -"port width to interport space, and arg 7 is the pin length." ljust \ -"" ljust \ -"Set arg 8 to N to omit the dots on the port pins" ljust \ -"Arguments 1 and 9 allow customizations'" ljust - -svgLink(NportSVG.svg,"<- back" ljust at last box.sw above ljust,B) -command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/NportSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/NportSVG.m4 deleted file mode 100644 index be0aab19c0c..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/NportSVG.m4 +++ /dev/null @@ -1,47 +0,0 @@ -.PS -# `NportSVG.m4' -cct_init(svg_font(sans-serif,11bp__)) - -textoffset = 2bp__ -Twoport: nport - - "W1a" wid 0.35 above rjust at Twoport.W1a - "W1b" below rjust at Twoport.W1b - "E1a" above ljust at Twoport.E1a - "E1b" below ljust at Twoport.E1b - -#Nport: nport(wid 1 ht 1.5 fill_(0.9) svgLinkString(Np.svg,n-port,B),1,2,3,4) \ -# with .Box.w at Twoport.Box.e+(1.0,0) -Nport: nport(wid 1.75 ht 1 fill_(0.9),1,2,3,4) \ - with .Box.w at Twoport.Box.e+(1.25,0) - svgLink(Np.svg,"n-port" at Nport,B) - - "W1a" rjust at Nport.W1a - "W1b" rjust at Nport.W1b - - "E1a" ljust at Nport.E1a - "E3b" ljust at Nport.E3b - - "N1a" above at Nport.N1a.n - "N1b " above at Nport.N1b.n - " N2a" above at Nport.N2a.n - "N2b" above at Nport.N2b.n - - "S1a" below at Nport.S1a.s - "S4b" below at Nport.S4b.s - - "..." at 0.5+(0,-0.10) - "..." at 0.5+(0.15,0.05) - -Nterm: nterm with .Box.w at Nport.Box.e+(1.0,0) - "W1" rjust at Nterm.W1 - "E1" wid 0.2 ljust at Nterm.E1 - "S1" below at Nterm.S1.s - - `"nport"' at Twoport.s+(0,-0.3) - `"nport(wid 1.5 ht 1.75 fill_(0.9),1,2,3,4)"' ljust at Nport.sw+(0,-0.3) - `"svgLink(Np.svg,\"n-port\" at Nport,B)"' ljust at Nport.sw+(0,-0.5) - `"nterm"' at Nterm.s+(0,-0.3) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/OpampSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/OpampSVG.m4 deleted file mode 100644 index 7137e428cef..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/OpampSVG.m4 +++ /dev/null @@ -1,35 +0,0 @@ -.PS -# Opamp.m4 -cct_init(svg_font(sans-serif,11bp__)) - - A: opamp - thinlines_ - "`opamp'" at A.s-(0,0.25) - "Out" below at A.Out - spline <- from A.In1 left 0.1 then up 0.1 left 0.1 - "In1" wid 0.25 rjust above - spline <- from A.In2 left 0.1 then down 0.1 left 0.1 - "In2" rjust below - arrow <- up 0.1 right 0.1 from A.E1 - "E1" ljust above - arrow <- down 0.1 right 0.1 from A.E2 - "E2" ljust below - thicklines_ - Point_(15) - B: opamp(,,,,PR) with .sw at A.se+(0.65,0) - thinlines_ - "`Point_(15); opamp(,,,,PR)'" at B.s-(0,0.25) - spline <- right arrowht up arrowht from B.V1 then right 0.1 - "V1" ljust - spline <- right arrowht down arrowht from B.V2 then right 0.1 - "V2" ljust - thicklines_ - Point_(90) - C: opamp with .sw at B.se+(1.05,0) - "`Point_(90); opamp'" at C.s-(0,0.25) - right_ - D: opamp(,,,,T) with .sw at C.se+(0.65,0) - "`opamp(,,,,T)'" wid 0.85 at D.s-(0,0.25) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/OptoisoSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/OptoisoSVG.m4 deleted file mode 100644 index b99e096c5a7..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/OptoisoSVG.m4 +++ /dev/null @@ -1,64 +0,0 @@ -.PS -# OptoisoSVG.m4 -cct_init(svg_font(sans-serif,11bp__,3bp__)) -movewid = 0.25 - -# `optoiso([L|R][A|B|C])' -define(`optoiso',`ifinstr(`$1',C, -`[{ u = dimen_ - hd = u/5 - Q: bi_tr(up hd*4,ifinstr(`$1',R,R)) - line from Q.E ifinstr(`$1',R,left,right)(hd+u/3); Pin4: dot(,,1) - line from Q.C to (Pin4,Q.C); Pin5: dot(,,1) - T: (Q.B,Pin5)+(0,4*hd) - line from Q.B to T then to (Pin5,T); Pin6: dot(,,1) - D: diode(from Pin6 +(ifinstr(`$1',R,+,-)(u/3+hd*8),0) down hd*4) - line from D.start ifinstr(`$1',R,right,left) (hd*2+u/3); Pin1: dot(,,1) - line from D.end to (Pin1,D.end); Pin2: dot(,,1) - line from (D.end,Pin4) to (Pin1,Pin4) chop hd chop 0; Pin3: dot(,,1) - B: box wid hd*10 ht hd*10 with .c at 0.5 between Pin4 and Pin1 - arrow from B.c+(ifinstr(`$1',R,,-)hd*1.5,hd*1.5) to B.c chop 0 chop -0.7*hd - F: (ifinstr(`$1',R,,-)hd*0.5,-hd*0.5) - arrow from last arrow.start+(F.x,F.y) to last arrow.end+(F.x,F.y) - `$2' }]', -`[{u = dimen_/2 - Q: bi_trans(up u*2,ifinstr(`$1',R,R),ifinstr(`$1',B,B)CBUdE) - E: Q.E; C: Q.C; A:ifinstr(`$1',R,Q.e+(u*3/2,u),Q.w+(-u*3/2,u)); K: A-(0,u*2) - ifinstr(`$1',B,line from Q.B to (Q.B,E); B: Here) - D: diode(from A to K) - arrow from D.c+(0,u/6) to Q.ifinstr(`$1',R,e,w)+(0,u/6) chop u/3 chop u/4 - arrow from last arrow.start-(0,u/3) to last arrow.end-(0,u/3) - Enc: box rad u wid abs(C.x-A.x)+u*2 ht u*2 with .c at 0.5 between C and K - `$2' }]')') - -define(`optlabels', - `{"svg_it(C)" ht 0.1 at last [].C above - "svg_it(E)" at last [].E below - ifinstr(`$1',B,`"svg_it(B)" at last [].B below') - "svg_it(A)" at last [].A above - "svg_it(K)" at last [].K below}') - -Q: optoiso; optlabels; move - {`"optoiso"' at last [].s+(0,-0.22)} - optoiso(Rightorientation); optlabels; move - {`"optoiso(R)"' at last [].s+(0,-0.22)} - optoiso(B); optlabels(B); move - {`"optoiso(B)"' at last [].s+(0,-0.22)} - optoiso(RB); optlabels(B) - {`"optoiso(RB)"' at last [].s+(0,-0.22)} - -R: optoiso(C) with .nw at Q.sw+(0.33,-0.75); move 1 -{"svg_it(1)" at R.Pin1 rjust; "svg_it(2)" at R.Pin2 rjust - "svg_it(3)" wid 0.3 at R.Pin3 rjust} -{"svg_it(4)" at R.Pin4 ljust; "svg_it(5)" at R.Pin5 ljust - "svg_it(6)" at R.Pin6 ljust } -{`"optoiso(C)"' at R.s below } -S: optoiso(RC) -{"svg_it(1)" at S.Pin1 ljust; "svg_it(2)" at S.Pin2 ljust - "svg_it(3)" at S.Pin3 ljust } -{"svg_it(4)" at S.Pin4 rjust; "svg_it(5)" at S.Pin5 rjust - "svg_it(6)" wid 0.3 at S.Pin6 rjust } -{`"optoiso(RC)"' at S.s below } - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/PconnSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/PconnSVG.m4 deleted file mode 100644 index 7cef1f56195..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/PconnSVG.m4 +++ /dev/null @@ -1,56 +0,0 @@ -.PS -# `PconnSVG.m4' -cct_init(svg_font(sans-serif,11bp__)) - -P1: [ - C1: pconnex(,A) - thinlines_ - arrow <- left 0.2 from C1.H.w; "svg_it(H)" wid 10bp__ rjust - thicklines_ - `"pconnex(,A)"' at last [].s below - C2: pconnex(,AF) with .w at C1.e+(0.3,0) - thinlines_ - arrow <- right 0.2 up 0.1 from C2.H.e; "svg_it(H)" ljust - N: box invis wid (C2.w.x-C1.e.x)/2 ht C1.N.ht \ - with .n at 0.5 between C1.ne and C2.nw "svg_it(N)" - arrow from N.w to C1.N.e - arrow from N.e to C2.N.w - G: box invis wid N.wid ht N.ht with .n at (N,C1.N.s) "svg_it(G)" - arrow from G.w to C1.G.e - arrow from G.e to C2.G.w - `"(,AF)"' at last [].s below - C03: pconnex(,AC) with .w at C2.e+(0.25,0) - `"(,AC)"' at last [].s below - C3: pconnex(,ACF) with .w at last [].e+(0.2,0) - `"(,ACF)"' at last [].s below - - C5: pconnex(U,D) with .w at last [].e+(0.25,0) - `"(U,D)"' at last [].s below - C6: pconnex(U,DF) with .w at last [].e+(0.25,0) - `"(U,DF)"' at last [].s below - C7: pconnex(U,J) with .w at last [].e+(0.25,0) - `"(U,J)"' at last [].s below - C8: pconnex(U,JF) with .w at last [].e+(0.25,0) - `"(U,JF)"' wid 28bp__ at last [].s below - ] - -P2: [ - C9: pconnex(,G) - `"(,G)"' at last [].s below - C91: pconnex(,GF) with .w at last [].e+(0.2,0) - `"(,GF)"' at last [].s below - C92: pconnex(L,GF) with .w at last [].e+(0.2,0) - `"(L,GF)"' at last [].s below - C10: pconnex(,GC) with .w at last [].e + (0.2,0) - `"(,GC)"' at last [].s below - C12: pconnex(,GCF) with .w at last [].e + (0.2,0) - `"(,GCF)"' at last [].s below - C4: pconnex(,P) with .w at last [].e + (0.2,0) - `"(,P)"' at last [].s below - C11: pconnex(,PF) with .w at last [].e+(0.2,0) - `"(,PF)"' at C11.s below -] with .nw at P1.C1.sw + (0,-0.35) - - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/PlateSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/PlateSVG.m4 deleted file mode 100644 index e54235ebc5a..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/PlateSVG.m4 +++ /dev/null @@ -1,173 +0,0 @@ -.PS -# ASME_Y14-5.m4 -# https://en.wikipedia.org/wiki/Geometric_dimensioning_and_tolerancing -# See the ASME Y14.5 standard, Figure 6-30. -scale = 100/3 -cct_init -include(../ASME_Y14-5.m4) -ifsvg(`svg_font(sans-serif,9.5bp__)', -`textht = 10bp__*2/3 - iflatex(`command "{\sf"')') -# ASME Y14.5 specs: - arrowht = textht*0.8 - arrowwid = textht*0.6 - maxpswid = 12 - -# Diameters - d1 = (20.13+20.00)/2 - d2 = 31.7 - d3 = 36 - d4 = (40.60+40.45)/2 - d5 = 57 - d6 = 86 - d7 = 100 - d8 = 8.0 - adj = 1.5 - -Section: [ - Orig: (0,0) - T0: (0,-d7/2) - T1: (6,-d5/2) - T2: (15.5,-d3/2) - T3: (22,-d3/2-adj) - T4: (32,-d2/2) - T5: (41.3,0) - T6: (9.5,-d4/2) -# for_(0,5,1,`"m4x" at T`'m4x') -# Hatching - H: hatchbox(invis ht d7 wid 41.3,2,thick 0.4,-45) with .w at Orig - box invis fill_(1) wid T5.x-T1.x ht T1.y-H.s.y with .se at H.se - box same with .ne at H.ne - box invis fill_(1) wid T3.x-T2.x ht T2.y-T1.y with .nw at T2 - box same with .sw at (T2.x,-T2.y) - box invis fill_(1) wid T4.x-T3.x ht T3.y-T1.y with .nw at T3 - box same with .sw at (T3.x,-T3.y) - box invis fill_(1) wid T5.x-T4.x ht T4.y-T1.y with .nw at T4 - box same with .sw at (T4.x,-T4.y) -# Section outline lower - line from (0,-d4/2) to T0 then right T1.x-T0.x then up 1 - arcto(T1,(T2,T1),1) - line to (T2,T1) then up 1 - arcto(T2,(T3,T2),1) - arcto((T3,T2),T3,0.5) - arcto(T3,(T4,T3),0.5) - arcto((T4,T3),T4,1) - arcto(T4,(T5,T4),1) - line to (T5,T4) then to (T5.x,-T4.y) then left 1 -# Section outline upper - line from (0,d4/2) to (0,-T0.y) then right T1.x-T0.x then down 1 - arcto((T1.x,-T1.y),(T2.x,-T1.y),1) - line to (T2.x,-T1.y) then down 1 - arcto((T2.x,-T2.y),(T3.x,-T2.y),1) - arcto((T3.x,-T2.y),(T3.x,-T3.y),0.5) - arcto((T3.x,-T3.y),(T4.x,-T3.y),0.5) - arcto((T4.x,-T3.y),(T4.x,-T4.y),1) - arcto((T4.x,-T4.y),(T5.x,-T4.y),1) - line to (T5.x,-T4.y) - - box wid 6 ht d8 fill_(1) with .w at (0,d6/2) - box wid 6 ht d8 fill_(1) with .w at (0,-d6/2) - box invis wid T6.x ht d4 fill_(1) with .w at Orig - box wid T5.x-T6.x ht d1 fill_(1) with .e at T5 - - line from (Orig.x,-T6.y) to (Orig.x,T6.y) - arcto(T6,(T6,Orig),1) - arcto((T6.x,-T6.y),(0,-T6.y),1) - line to (0,-T6.y) - -define(`dialabel', -`[tmpthick = linethick; linethick_(1) - [Y14_dia_]; [$1 wid ifelse(`$2',,textht,`$2')] with .w at last [].e+(0.5,0) - linethick_(tmpthick)]') - -thinlines_ - dimension_(from (0,T6.y) to (0,-T6.y),40,dialabel("40.60" "40.45",12),textht*3) - line up 4 from AE_dimen_.end - Y14_frame(Y14_per_,Y14_dia_;"0";"(M)","A") with .sw at Here - Y14_frame("B") with .s at last [].n+(0,6) -thicklines_(1) - datumarrow(from last [].s to 2nd last [].n) -thinlines_ - dimension_(from T2 to (T2.x,-T2.y),30, - dialabel("35.5" "36.0",12),textht*3) - dimension_(from T0 to T0+(T1.x,0),-8," 6.1 " " 5.9 ",textht) - dimension_(from S_dimen_.end to S_dimen_.end+(T2.x,0),-9, - "15.4" "15.6",textht*4) - line from E_dimen_.start to (T2,T1) chop 0 chop 1 - dimension_(from S_dimen_.end to S_dimen_.end+(T3.x,0),-9, - "21.9" "22.1",textht*4) - line from E_dimen_.start to T3 chop 0 chop 1 - dimension_(from S_dimen_.end to S_dimen_.end+(T4.x,0),-9, - "31.9" "32.1",textht*4) - line from E_dimen_.start to (T4,T3) chop 0 chop 1 - dimension_(from S_dimen_.end to S_dimen_.end+(T5.x,0),-9, - "41.2" "41.4",textht*4) - line from E_dimen_.start to (T5,T4) chop 0 chop 1 - line from S_dimen_.start to T0 chop 0 chop 1 - dimension_(from (0,d7/2) right T6.x,8,"9.6" "9.4",3*textht) - line from E_dimen_.start to (T6.x,d4/2) chop 0 chop 1 - ctrline(from (-3,0) to T5+(3,0),T5.x/2) - ctrline(from (-3,d6/2) right T1.x+6) - ctrline(from (-3,-d6/2) right T1.x+6) - dimension_(from T5-(0,d1/2) to T5+(0,d1/2),-14, - dialabel("20.13" "20.00",4*textht),textht*3) - dimension_(from T5-(0,d2/2) to T5+(0,d2/2),-35, - dialabel("31.8" "31.6",3*textht),textht*3) - arrow <- from (T5.x+6,d1/2) by (Rect_(20,75)) then right 6 - Y14_frame(Y14_cir_,"0.06" wid 3*textht,"A","B") with .w at Here - Y14_frame("C") with .n at last [].se+(-6,-8) -thicklines_(1) - datumarrow(from last [].n up 8) -thinlines_ - arrow <- from (T5.x+6,-d2/2) by (Rect_(10,-75)) then right 4 - Y14_frame(Y14_cir_,"0.1" wid textht*2,"C") with .w at Here - arrow <- from ((T3.x+T4.x)/2,d3/2+adj) by (Rect_(30,75)) then right 4 - "M42 X 1.5 - 6g" wid 9*textht ljust - Y14_frame(Y14_pos_,Y14_dia_;"0.1" wid textht*2;"(M)","C";"(M)") \ - with .nw at last "".sw+(0,-2) - line from (T2.x,-T1.y) up 25 chop 1 chop 0 - Y14_frame(Y14_par_,"0.06" wid 3*textht,"A") with .sw at Here - Y14_frame(Y14_sur_," 0.1 " wid 3*textht,"A") with .sw at last [].nw - arrow <- from (0,-d6/2+10) left 13 - Y14_frame(Y14_fla_,"0.02" wid 4*textht) with .e at Here - Y14_frame("A") with .n at last [].s+(0,-6) - datumarrow(from last [].n up 6) - ] - -Topview:[ - C: circle diam d7 - for i=0 to 7 do { circle diam d8 at C+(Rect_(d6/2,i/8*360)) } - C5: circle diam d5 at C - C4: circle diam d3+2*adj at C - C3: circle dashed diam d3 at C - C2: circle diam d2 at C - C1: circle diam d1 at C - -thinlines_ - dimension_(from C.w-(0,10) to C.e-(0,10),-C.rad-15, - dialabel("100" "99",textht*3),textht*5) - dimension_(from C5.w-(0,5) to C5.e-(0,5),-C.rad-5, - dialabel("57.2" "56.8",textht*4),textht*5) - arrow <-> from C+(Rect_(d6/2,-120)) to C+(Rect_(d6/2,60)) - line from last arrow.end to C+(Rect_(d7/2+6,60)) then right 4 - dialabel("86.2" "85.8",textht*4) with .w at Here+(1,0) - ctrline(from (C.x-(d6-d7/2),C.y) to (C.x+(d6-d7/2),C.y)) - ctrline(from (C.x,C.y-d6/2+d8/2) to (C.x,C.y+d6/2-d8/2)) - for_(0,315,45,`ctrarcr(C,d6/2,(m4x-22.5)*dtor_,(m4x+22.5)*dtor_) - ctrline(from C+(Rect_(d6-d7/2,m4x)) to C+(Rect_(d7/2,m4x))) ') - arcdimension_(from C+(0,d7/2) to C+(Rect_(d7/2,135)) with .c at C, - 8,"8X 45`'iflatex($^\circ$)" wid textht*3.5,15,1) - ifsvg("svg_deg" wid textht*2/3 with .w at last "".e) - move to C+(0,d6/2) - arrow <- from Here+(Rect_(8/2,75)) to Here+(Rect_(25,75)) then right_ 3 - "8X" wid 2*textht ljust - linethick_(1); [Y14_dia_] with .w at last "".e+(1,0) - "7.9 - 8.1" wid 8*textht ljust - Y14_frame(Y14_pos_,Y14_dia_;"0.14" wid 3*textht;"(M)","A","C") \ - with .nw at 2nd last "".sw+(0,-2) - - ] with .C at Section.Orig+(4.5*scale,0) - - -command iflatex(`"}"',ifsvg(`""')) -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/PushPullSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/PushPullSVG.m4 deleted file mode 100644 index c3610fdaf67..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/PushPullSVG.m4 +++ /dev/null @@ -1,108 +0,0 @@ -.PS -# `PushPullSVG.m4' -cct_init(svg_font(sans-serif,9bp__,1bp__)) - -linewid = 1.2*linewid - -# Transformer as for Mixer.m4 -define(`Xform21', - `[ L1: inductor(to rvec_(dimen_*0.5,0),,,M) - Core1E: M4Core1.end; Core2E: M4Core2.end - D: (0.5 between M4Core1 and M4Core2) - L1 - T: line to rvec_(dimen_/3,0); { dot(at T.c) } - L2: inductor(to rvec_(L1.len,0),,,M) - line from M4Core1.start to Core1E - line from M4Core2.start to Core2E - L3: inductor(to rvec_(-L1.len,0) with .c at T+(D.x*2,D.y*2),) ]') - - del = dimen_/3 - up_ - T1: Xform21 - line left_ del from T1.L3.end; corner; ground(,,F) - line left_ 2*del from T1.L3.start - In: dot(,,1); { "RF" wid 12bp__ at In.n above } - up_ - Q1: mosfet(,,dBSDFQM1,E) with .G0 at T1.T+(2*dimen_+del/2,dimen_) - { "3N200" at last [].n above } - line from T1.L2.end to (T1.L2.end,Q1.G0) then to Q1.G0 - Q2: mosfet(,,dBSDFQM1,E) with .G0 at (Q1.G0.x,T1.T.y-dimen_) - { "3N200" at last [].n above } - line from T1.L1.start to (T1.L1.start,Q2.G0) then to Q2.G0 - - resistor(right_ dimen_ from T1.T); llabel(,330`'svg_ohm); Tx:dot - { line right_ del*3/2; corner; ground(,,F) } - dot(at (Tx,Q1.G0)) - capacitor(down_ to Tx,C); llabel(5.6pF) - dot(at (Tx,Q2.G0)) - capacitor(up_ to Tx,C); rlabel(5.6pF) - - for_(1,2,1, - `dot(at Q`'m4x.S+(dimen_+del/2,0)) - { resistor(down_ dimen_); G1:Here; - { "120" at last [].w rjust "svg_ohm" rjust } - dot; ground(,,F) } - line from Q`'m4x.S to (Here.x+dimen_*3/4,Q`'m4x.S.y); corner - capacitor(down_ to (Here,G1),C) - { "1000" at last [].w rjust "pF" rjust } - corner - line left_ 2*dimen_*3/4; corner - TG: dot(at (Here,Q`'m4x.S)) - capacitor(down_ to (Here,G1),C); rlabel(,0.01 svg_micro(F)) - ') - - R: dot(at (Here.x+dimen_*2,(Q1.D.y+Q2.D.y)/2)) - dot(at (R,Q1.D)); capacitor(down_ to R,C); llabel(20pF) - dot(at (R,Q2.D)); capacitor(up_ to R,C); llabel(20pF) - line right_ del*3/2 from R then down_ R.y-(Q1.S.y-dimen_); ground(,,F) - - Vc: dot(at (R+(dimen_,0),Q1.ne),,1); { "+Vc" rjust at Vc.w } - dot(at (Vc,R)) - inductor(right_ dimen_,); llabel(,1 svg_micro(H)) - down_ - T2: Xform21 with .T at Here - arrow from T2.L2 to T2.L3 chop -dimen_/4 - line right_ del from T2.L3.start; corner - capacitor(down_ dimen_,C); llabel(1000 pF); ground(,T,F) - line right_ 2*del from T2.L3.end - Out: dot(,,1); { "IF" wid 12bp__ at Out.n above }; move right_ 0.3 - - line from T2.L1.start to (T2.L1,Q1.D) then to Q1.D - line from T2.L2.end to (T2.L2.end,Q2.D) then to Q2.D - - line from Vc to (Vc,Q2.S) chop dotrad_/2 chop 0; dot - { line right_ del*2; corner - capacitor(down_ dimen_,C); llabel(,1000 pF); ground(,,F) } - reversed(`inductor',down_ dimen_,); rlabel(,1 svg_micro(H)) - line down_ dimen_/2 - - TL: dot(at (Q1.G1.x-del/2,Here.y)) - up_ - Q3: bi_tr(,R,,E) with .C at (TG.x,TL.y-dimen_*2/3) - resistor(right_ from TL to (Q3.C,TL)); llabel(,82 k`'svg_ohm) - line to (Vc,Here); dot - resistor(down_ to (Here,Q3.B)); rlabel(,8.2 k`'svg_ohm); dot - dot(at Q3.B+(del,0)) - line up_ (TL.y+Q3.C.y)/2 - Here.y+del/4 then left_ Here.x-TL.x - reversed(`capacitor',left_ dimen_,C); llabel(,1500 pF) - Osc: dot(,,1); { "Osc" above at Osc.n } - - line from Q3.B to (Vc,Q3.B) - line from Q3.C to (Q3.C,TL); dot - dot(at Q3.C+(0,del/2)) - capacitor(left_ to (TL,Here),C); llabel(,1500 pF); dot - line down_ del/2 from Q3.E; dot - { resistor(down_ dimen_*3/4); rlabel(,820`'svg_ohm) - G: Here; ground(,T,F) } - line right_ dimen_; corner - capacitor(down_ to (Here,G),C); llabel(,1000 pF) - ground(,T,F) - ground(at (TL,G),T,F) - resistor(up_ dimen_); llabel(,12 k`'svg_ohm) - line to (Here,Q1.G1) then to Q1.G1 - line from Q2.G1 to (TL,Q2.G1); dot - - ground(at (Vc,G),T,F) - resistor(up_ dimen_); rlabel(,5.6 k`'svg_ohm); line to (Here,Q3.B) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/QuantumSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/QuantumSVG.m4 deleted file mode 100644 index 863c3ac857a..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/QuantumSVG.m4 +++ /dev/null @@ -1,31 +0,0 @@ -.PS -# QuantumSVG.m4 -gen_init - - boxht = 0.35 - boxwid = boxht - define(`dotrad_',boxht/5) - -define(`Bus',`line right_ 10*boxwid `$1' - circle diam boxht `$2' at last line.start - box fill_(1) "H" at last line.start+(boxwid*3/2,0) - box fill_(1) "H" at last line.end-(boxwid*2.5,0) ') - -define(`Meter',`[ Box: box wid boxwid*3/2 fill_(1) - r = Box.wid/3 - C: 0.3 between Box.s and Box.n - arc cw from C+(-r,0) to C+(r,0) with .c at C - arrow from C+(-r/4,0) to C+(0.9*r,0.9*r) ]') - -X: Bus(,shaded rgbstring(0.5,0.5,1) "X") -A1: Bus(from X.start+(0,-boxht*3/2), shaded "red" "A") -A2: Bus(from 2 between X.start and A1.start, shaded "red" "A") - dot(at X.start+(3*boxwid,0)) - line to (Here,A2); dot - circle rad dotrad_ at A1.start+(4*boxwid,0) - line from last circle.s to (last circle,X); dot - Meter with .e at X.end - box wid boxwid*1.2 ht boxht*1.2 fill_(1) at A2.end-(4.5*boxwid,0) \ - "svg_it(R)svg_sub(svg_psi)svg_sup(svg_pi/2,,,-1.2ex)" - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/RectifiersSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/RectifiersSVG.m4 deleted file mode 100644 index c6473744eb4..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/RectifiersSVG.m4 +++ /dev/null @@ -1,190 +0,0 @@ -.PS -# RectifiersSVG.m4 -cct_init(svg_font(Times,11bp__)) - - tmax = 3.5 - period = tmax/1.75 - eamp = 0.5 - omega = twopi_/period - ed = eamp/6 - r = 0.95 - -# For DC voltages - ted = asin(ed/eamp)/twopi_*period - npts = 40; sum = 0 - for i=0 to npts do { - t = ted+(period/2-2*ted)*i/npts - sum += (eamp*cos(omega*t-pi_/2) - ed)*r } - -define(`Sine',`Cosine(eamp,omega,`$1',-pi_/2)') -define(`axis',`line thick 0.4 right tmax chop -tmax*0.04 chop 0') - -Threephase: [ linethick_(1) - Ai: axis ; "N`'svg_sub(o)" ljust - move right 0.3 from Ai.end - EOrig: Ai.start+(tmax*0.04,0) - E1: sinusoid(eamp,omega,-pi_/2,-ted,tmax) with .Origin at EOrig - E2: sinusoid(eamp,omega,-pi_/2-twopi_/3,-ted,tmax) with .Origin at EOrig - E3: sinusoid(eamp,omega,-pi_/2+twopi_/3,-ted,tmax) with .Origin at EOrig - "e`'svg_sub(1)" at EOrig+(period/3,eamp*0.8) ljust above - "e`'svg_sub(2)" at EOrig+(2*period/3,eamp*0.8) ljust above - "e`'svg_sub(3)" at EOrig+(period,eamp*0.8) ljust above - - Ad: axis with .end at Ai.end+(0,-eamp*2.1); "N`'svg_sub(o)" ljust - DOrig: Ad.start+(tmax*0.04,0) - Id: axis with .end at Ad.end+(0,-eamp*1.2); "0" ljust - IOrig: Id.start+(tmax*0.04,0) - - for i=1 to 11 by 2 do { - tl = max(0,period/2-i*period/6) - tr = min(period/2,tmax-(i*period/6-period/2)) - sinusoid(eamp,omega,-pi_/2,tl,tr,thick 0.4 dashed) \ - with .Origin at DOrig+(i*period/6-period/2,0) - tl = max(period/12,-(i*period/6-period/2+period/12) ) - tr = period/2-period/12 - S1: sinusoid(eamp*r,omega,-pi_/2,tl,tr) \ - with .Origin at DOrig+(i*period/6-period/2,0)+(0,-ed*r); round(at S1.End) - S2: sinusoid(eamp*r,omega,-pi_/2,tl,tr) \ - with .Origin at IOrig+(i*period/6-period/2,0)+(0,-ed*r); round(at S2.End) - } - "e`'svg_sub(1)" at DOrig+(period/3,eamp*0.8) ljust above - "e`'svg_sub(2)" at DOrig+(2*period/3,eamp*0.8) ljust above - "e`'svg_sub(3)" at DOrig+(period,eamp*0.8) ljust above - - "e`'svg_sub(L)" at DOrig+(period/4,eamp*0.8) below - "i`'svg_sub(L)" at IOrig+(period/6,eamp*0.6) rjust above - - vEd = r*eamp*cos(pi_/12)/(5*pi_/12) - r*ed - VEd: axis with .end at Ad.end+(0,vEd); "E`'svg_sub(D)" ljust - IEd: axis with .end at Id.end+(0,vEd); "I`'svg_sub(D)" ljust - ] - -Cct3:[ - No: dot; {"N`'svg_sub(o)" at last [].s below rjust } - { inductor(to Here+(Rect_(dimen_,60)),W); E2: Here; "e`'svg_sub(2)" ljust } - { inductor(to Here+(Rect_(dimen_,-60)),W); E3: Here; "e`'svg_sub(3)" ljust } - { inductor(from No-(dimen_,0) to No,W); E1: last line.start - "e`'svg_sub(1)" at E1 above } - D3: diode(down_ from E3); b_current(i`'svg_sub(3),rjust) - llabel(,,D`'svg_sub(3)) - line from E1 to (E1.x,D3.start.y+dimen_/3) then right_ (E3.x+E1.x)/2-E1.x \ - then down_ dimen_/3 - D1: diode(down_); b_current(i`'svg_sub(1),rjust); llabel(,,D`'svg_sub(1)) - line from E2 left E2.x-E1.x+dimen_/3 then down E2.y-E3.y \ - then to 2 between D3.start and D1.start - D2: diode(down_); b_current(i`'svg_sub(2),rjust); llabel(,,D`'svg_sub(2)) - { line from D2.end to D3.end } - dot(at D1.end) - arrowline(down elen_/2); rlabel(,i`'svg_sub(L)) - resistor(right_ elen_); rlabel(+,e`'svg_sub(L),-); llabel(,R) - line to (Here,No) then to No - ] with .e at Threephase.w-(0.5,0) - move left 0.2 from Cct3.w - -Fullwave: [ - linethick_(1) - Ai: axis ; "N`'svg_sub(o)" ljust - EOrig: Ai.start+(tmax*0.05,0) - E1: sinusoid(eamp,omega,-pi_/2,-ted,tmax) with .Origin at EOrig - "e`'svg_sub(1)" at EOrig+(period/3,eamp*0.8) ljust above - E2: sinusoid(eamp,omega, pi_/2,-ted,tmax) with .Origin at EOrig - "e`'svg_sub(2)" at EOrig+(period*5/6,eamp*0.8) ljust above - - Ad: axis with .end at Ai.end+(0,-eamp*2.1); "N`'svg_sub(o)" ljust - DOrig: Ad.start+(tmax*0.05,0) - Id: axis with .end at Ad.end+(0,-eamp*1.2); "0" ljust - IOrig: Id.start+(tmax*0.05,0) - - for i=0 to 3 do { - if i<3 then { tf = period/2 } else { tf = Ad.end.x-(DOrig.x+3*period/2) } - sinusoid(eamp,omega,-pi_/2,0,tf,thick 0.4 dashed) \ - with .Origin at DOrig+(i*period/2,0) - line from DOrig+(i*period/2-ted,0) right 2*ted - line from IOrig+(i*period/2-ted,0) right 2*ted - if i<3 then {tf = period/2-ted } else {tf = Ad.end.x-(DOrig.x+3*period/2) } - Ed: sinusoid(eamp*r,omega,-pi_/2,ted,tf) \ - with .Origin at DOrig+(i*period/2,-ed*r) - Ed: sinusoid(eamp*r,omega,-pi_/2,ted,tf) \ - with .Origin at IOrig+(i*period/2,-ed*r) - } - "e`'svg_sub(1)" at DOrig+(period/6,eamp*0.9) rjust above - "e`'svg_sub(2)" at DOrig+(period/6+period/2,eamp*0.9) rjust above - "e`'svg_sub(L)" at DOrig+(period/4,eamp*0.8) below - "i`'svg_sub(L)" at IOrig+(period/6,eamp*0.6) rjust above - - vEd = sum/(period/2/(period/2-2*ted)*npts) - VEd: axis with .end at Ad.end+(0,vEd); "E`'svg_sub(D)" ljust - IEd: axis with .end at Id.end+(0,vEd); "I`'svg_sub(D)" ljust - ] with .sw at Threephase.nw+(0,0.5) - -Cct2:[ - T: transformer(right_ elen_,R,8,AW,8) - line up elen_/2 from T.P1 - gap(right_ elen_) - { sinusoid(0.08,omega*8,-pi_/2,0,twopi_/(omega*8)) with .c at last [] } - line to T.P2 - line from T.S1 to (T.P1,T.S1) then down elen_/2 - D1: diode(down_ elen_*3/4); rlabel(,D`'svg_sub(1)) - line from T.S2 to (T.P2,T.S2) then to (T.P2,D1.start) - D2: diode(down_ elen_*3/4); rlabel(,D`'svg_sub(2)) - corner; line to D1.end; corner - dot(at 0.5 between D1.end and D2.end) - arrowline(down elen_/2); rlabel(,i`'svg_sub(L)) - resistor(right_ elen_); rlabel(+,e`'svg_sub(L),-); llabel(,R) - line to (Here,T.TS)-(0,elen_/2) then left Here.x-T.TS.x then to T.TS - {"N`'svg_sub(o)" at T.TS-(0,elen_/2) below } - thinlines_ - move to T.TS-(0,0.1) - { arrow to (T.P1,Here) chop 0.05 "e`'svg_sub(1)" below } - { arrow to (T.P2,Here) chop 0.05 "e`'svg_sub(2)" below } - linethick_(1) - ] at (Cct3,Fullwave) - -Halfwave: [ - linethick = 1 - Ai: axis ; "N`'svg_sub(o)" ljust - EOrig: Ai.start+(tmax*0.05,0) - Ei: sinusoid(eamp,omega,-pi_/2,0,tmax) with .Origin at EOrig - "e`'svg_sub(i)" at EOrig+(period/3,eamp*0.8) ljust above - - Ad: axis with .end at Ai.end+(0,-eamp*1.75); "N`'svg_sub(o)" ljust - DOrig: Ad.start+(tmax*0.05,0) - sinusoid(eamp,omega,-pi_/2,0,period/2,thick 0.4 dashed) with .Origin at DOrig - sinusoid(eamp,omega,-pi_/2,0,period/2,thick 0.4 dashed) \ - with .Origin at DOrig+(period,0) - "e`'svg_sub(i)" at DOrig+(period/5,eamp*0.9) rjust above - - line from Ad.start to DOrig+(ted,0) - Ed: sinusoid(eamp*r,omega,-pi_/2,ted,period/2-ted) \ - with .Origin at DOrig+(0,-ed*r) - "e`'svg_sub(L)" at DOrig+(period/3,eamp*0.6) below - line from Ed.End right period/2+2*ted - Ed2: sinusoid(eamp*r,omega,-pi_/2,ted,period/2-ted) \ - with .Origin at DOrig+(period,-ed*r) - line from Ed2.End to Ad.end - - vEd = sum/(period/(period/2-2*ted)*npts) - VEd: axis with .end at Ad.end+(0,vEd); "E`'svg_sub(D)" ljust above - - Id: axis with .end at Ad.end+(0,-eamp*1.0); "0" ljust - IOrig: Id.start+(tmax*0.05,0) - line from Id.start to IOrig+(ted,0) - Sd: sinusoid(eamp*r,omega,-pi_/2,ted,period/2-ted) \ - with .Origin at IOrig+(0,-ed*r) - "i`'svg_sub(L)" at IOrig+(period/3,eamp*0.7) above - line from Sd.End right period/2+2*ted - Sd2: sinusoid(eamp*r,omega,-pi_/2,ted,period/2-ted) \ - with .Origin at IOrig+(period,-ed*r) - line from Sd2.End to Id.end - IEd: axis with .end at Id.end+(0,vEd); "I`'svg_sub(D)" ljust above - ] with .sw at Fullwave.nw+(0,0.5) - -Cct1:[ diode(down_ elen_); b_current(i`'svg_sub(L),rjust,O,E); rlabel(D) - resistor(right_ elen_); rlabel(+,e`'svg_sub(L),-); llabel(,R) - line up elen_ - { "N`'svg_sub(o)" ljust below } - gap(left_ elen_); rlabel(-,e`'svg_sub(i),+) - ] at (Cct3,Halfwave) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/RelaySVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/RelaySVG.m4 deleted file mode 100644 index f4b8152a50c..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/RelaySVG.m4 +++ /dev/null @@ -1,47 +0,0 @@ -.PS -# RelaySVG -cct_init -svg_font(sans-serif,10bp__) - -skip = 1.1 - -R1:relay - {"svg_it(V1)" wid 0.16 rjust at last [].V1 - "svg_it(V2)" ljust at last [].V2 - "svg_it(P1)" rjust at last [].P1-(dotrad_,0) - "svg_it(O1)" ljust at last [].O1 - "svg_it(C1)" ljust at last [].C1 } - S: "svg_tt(`relay')" at last [].s+(0,-0.2) - -R5:relay(2,CTh) with .sw at last [].sw+(skip,0) - { for_(1,2,1,` - "svg_it(P`'m4x)" rjust at last [].P`'m4x-(dotrad_,0) - "svg_it(C`'m4x)" ljust at last [].C`'m4x ') } - "svg_tt((2,CTh))" at (last [],S) - -R4:relay(2,O) with .sw at last [].sw+(skip,0) - {for_(1,2,1,` - "svg_it(P1)" rjust at last [].P1-(dotrad_,0) - "svg_it(O`'m4x)" ljust at last [].O`'m4x ')} - "svg_tt((2,O))" at (last [],S) - -R3:relay(2,PIAX) with .sw at last [].sw+(skip,0) - {"svg_it(V1)" rjust at last [].V1 - "svg_it(V2)" rjust at last [].V2 - for_(1,2,1,` - "svg_it(P`'m4x)" rjust at last [].P`'m4x-(dotrad_,0) - "svg_it(O`'m4x)" ljust at last [].O`'m4x+(dotrad_,0) - "svg_it(C`'m4x)" ljust at last [].C`'m4x+(dotrad_,-2pt__) ') } - "svg_tt((2,PIAX))" at (last [],S) - -R2:relay(2,R) with .sw at last [].sw+(skip,0) - {"svg_it(V1)" rjust at last [].V1 - "svg_it(V2)" wid 0.2 ljust at last [].V2 - for_(1,2,1,` - "svg_it(P`'m4x)" rjust at last [].P`'m4x-(dotrad_,0) - "svg_it(O`'m4x)" ljust at last [].O`'m4x - "svg_it(C`'m4x)" ljust at last [].C`'m4x ') } - "svg_tt(`relay(2,R)')" at (last [],S) - - command ")" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ResistorsSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ResistorsSVG.m4 deleted file mode 100644 index fe88a79ad3e..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ResistorsSVG.m4 +++ /dev/null @@ -1,48 +0,0 @@ -.PS -# `ResistorsSVG.m4' -cct_init(svg_font(sans-serif,11pt__)) -textwid = 1.5 -movewid = 2 pt__ -hm = 2.1 -vm = 0.28 - -hm = 2.05 -vm = 0.28 -{ - {resistor ; move ; svgLink(NportSVG.svg,"`resistor'" ljust)} - move right_ hm - {resistor(,,Q) ; move ; "`resistor(,,Q) '" ljust} - move right_ hm - {resistor(,,V) ; move ; "`resistor(,,V) '" ljust} -} - move down vm; right_ -{ - {resistor(,,ES) ; move ; "`resistor(,,ES) '" ljust} - move right_ hm - {resistor(,,H) ; move ; "`resistor(,,H) '" ljust} - move right_ hm - {resistor(,,AC) ; move ; "`resistor(,,AC) '" ljust} -} - move down vm; right_ -{ - {resistor(,,B) ; move ; "`resistor(,,B) '" ljust} - move right_ hm - {resistor(,,E) ; move - "`resistor(,,E)'" ljust " svg_equiv `ebox'" ljust} - move right_ hm - {ebox(,0.5,0.3) ; move ;"`ebox(,0.5,0.3) '" ljust} -} - move down vm; right_ -{ - {ebox(,,,0.6) ; move ; "`ebox(,,,0.6) '" ljust} - move right_ hm - {ebox(,,,,shaded "yellow") ; move ;"`ebox(,,,,shaded \"yellow\") '" ljust} -} - move down vm; right_ -{ - {ebox(,wdth=0.2;box=dashed shaded "green";text="X") ; move - "`ebox(,wdth=0.2;box=dashed shaded \"green\";text=\"X\")'" ljust} -} - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/RotboxSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/RotboxSVG.m4 deleted file mode 100644 index cb65d317fc2..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/RotboxSVG.m4 +++ /dev/null @@ -1,21 +0,0 @@ -.PS -# RotboxSVG.m4 -gen_init -#nclude(dpictools.pic) - -[ - Point_(-10) - rotbox(boxwid/2,,thick 2) - Point_(30) - rotbox(,,shaded "yellow" outlined "blue" thick 3,r=0.1) \ - at last []+vec_(boxwid,0) - "r=0.1" at last [] - move to last [].ne - Point_(0) - [[]; for_(2,8,2, `rotbox(,,dashed,t=m4x/10) at last []+vec_(boxwid*1.1,0) - sprintf("t=%g",m4x/10) at last [] ') ] with .nw at last [].ne+(0.1,0) - [[]; for_(10,16,2, `rotbox(,,dashed,t=m4x/10) at last []+vec_(boxwid*1.1,0) - sprintf("t=%g",m4x/10) at last [] ') ] with .nw at last [].sw+(0,-0.1) -] - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SQUIDSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SQUIDSVG.m4 deleted file mode 100644 index 391587e177b..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SQUIDSVG.m4 +++ /dev/null @@ -1,19 +0,0 @@ -.PS -# SQUIDSVG.m4 -cct_init(svg_font(sans-serif,11bp__)) - -down_ -S1: SQUID - "J1" at S1.J1 above rjust wid 15bp__ - "J2" at S1.J2 above ljust - -S2: SQUID(3,dimen_*1.5,-120) at S1.e+(elen_,0) - "J1" at S2.J1 above rjust - "J2" at S2.J2 below ljust - "J3" at S2.J3 above ljust - arcrad = S2.C.rad*0.7 - arc from S2.c+(Rect_(arcrad,-135)) to S2.c+(Rect_(arcrad,-45)) \ - with .c at S2.C -> - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SVGconfig.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SVGconfig.m4 deleted file mode 100644 index e8aa1fa3ec1..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SVGconfig.m4 +++ /dev/null @@ -1,58 +0,0 @@ -divert(-1) -#nclude(svg.m4)dnl -#ivert(-1) - -#Adjust scale and default lengths -define(`scaledefaults',` - scale = 1/($1) - arcrad = arcrad*($1) - arrowht = arrowht*($1) - arrowwid = arrowwid*($1) - boxht = boxht*($1) - boxrad = boxrad*($1) - boxwid = boxwid*($1) - circlerad = circlerad*($1) - dashwid = dashwid*($1) - ellipseht = ellipseht*($1) - ellipsewid = ellipsewid*($1) - lineht = lineht*($1) - linewid = linewid*($1) - moveht = moveht*($1) - movewid = movewid*($1) - textht = textht*($1) - textoffset = textoffset*($1) - textwid = textwid*($1) - linethick = linethick*($1) - maxpsht = maxpsht*($1) - maxpswid = maxpswid*($1) -') - -# Possible defaults for diagrams in mm -define(`SIdefaults',` - scale = scale*25.4 - arcrad = 5 - arrowht = 2.5 - arrowwid = arrowht/2 - boxht = 12 - boxrad = 0 - boxwid = 18 - circlerad = 5 - dashwid = 1.5 - ellipseht = 12 - ellipsewid = 18 - lineht = 12 - linewid = 12 - moveht = 12 - movewid = 12 - textht = ifsvg(4,0) - textoffset = 3 - textwid = 0 -') - -define(`local_init',` -`#' local init begin - scaledefaults(1.1) -`#' local init end -') - -divert(0)dnl diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SchottkySVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SchottkySVG.m4 deleted file mode 100644 index 51e21bc2915..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SchottkySVG.m4 +++ /dev/null @@ -1,54 +0,0 @@ -.PS -# SchottkySVG.m4 -# 4-input positive NAND: the Schottky option for transistors (TI TTL data book) -cct_init(svg_font(sans-serif,11bp__,1bp__)) - - tic = dimen_/4 - rlen = dimen_*3/4 - -E1: dot; line up_ tic -Q1: bi_trans(,,dEBCBUS) with .E at Here; line left tic from Q1.B; B1: Here - resistor(up_ rlen from Q1.C); llabel(,3 k`'svg_ohm); B2: dot; line right_ tic -Q2: bi_trans(up_ dimen_,,dEBCBUS) with .B at Here - line from Q2.E to (Q2.E,E1); dot -Gnd: "GND" ljust at Here+(dimen_/2,0) - dot(at Q2.C) - { line to (Gnd,Here); "Y" wid 0.3 ljust } - line to (Q1.C,Here); dot - resistor(up_ rlen); llabel(,4 k`'svg_ohm); B4: dot; line right_ tic; up_ -Q4: bi_tr with .B at Here - line from Q4.E to Q2.C - line up_ tic from B4 -Q5: bi_trans(,,dEBCBUS) with .E at Here; line left_ tic from Q5.B; B5: dot - line from Q5.C to (Q4.C,Q5.C); dot - { line to Q4.C } - resistor(up_ rlen); llabel(,120 svg_ohm); dot -Vcc: "Vcc" ljust at (Gnd,Here) - dot(at (B5,Vcc)) - resistor(to (Here,Q5.C)); llabel(,8 k`'svg_ohm) - diode(from (B4,Q2.C) to (B5,Q2.C),Z) - line to (Here,Q5.C) - diode(from B4 to (Here,B4),Z); dot - line left_ tic; up_ -Q3: bi_trans(,,dEBCBUS) with .C at Here; line left_ tic from Q3.B; B3: Here - line from Q3.E to (Q3.E,B2); dot - dot(at (B1,Here)); resistor(down_ to (Here,Q1.C)); rlabel(,1.5 k`'svg_ohm) - line to B1 - resistor(down_ from B3 to (B3,B2)); rlabel(,12 k`'svg_ohm); line to B2 - line from Vcc to (B3,Vcc); resistor(down_ to (Here,Q5.C)) - rlabel(,20 k`'svg_ohm) - line to B3 - ground(at (Q3.C,Gnd),,F); dot - - for_(0,3,1, - `dot(at (B3+(0,tic*m4x))) - line left_ tic*m4x; diode(left_ dimen_,Z); dot - {line down_ dimen_; reversed(`diode',down_ dimen_,Z); line to (Here,Gnd) \ - ifelse(m4x,3,`then to Gnd',`; dot') } - line left_ tic*eval(4-m4x) - "ifelse(m4x,3,D,m4x,2,C,m4x,1,B,m4x,0,A)" wid 0.15 rjust - ') - - command "" # end font -.PE - diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ShiftRSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ShiftRSVG.m4 deleted file mode 100644 index de8e13843e5..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ShiftRSVG.m4 +++ /dev/null @@ -1,49 +0,0 @@ -.PS -# ShiftR.m4 -log_init(svg_font(sans-serif,11*0.9bp__)) -textoffset = textht/6 - -define(`lg_plen',3) - -define(`customFF',`FlipFlopX(wid 10*L_unit ht FF_ht*L_unit,, - :S;NE:CK;:R, N:PR, :Q;;ifelse(`$1',1,:svg_ol(Q)), N:CLR,,)') - - F0: customFF(1) - - BUFFER_gate(,N) with .Out at F0.W1.end - line left 2*L_unit from last [].In1 - T: dot - reversed(`NOT_gate',left 10*L_unit) - {move left textht*8} - Serial: "SERIAL" rjust "INPUT" rjust - line from T to (T,F0.W3) then to F0.W3.end - - NCLR: NOT_gate(right T.x-Serial.x from (Serial,F0.S1.end),N) - "svg_ol(CLEAR)" wid 33bp__ at NCLR.start rjust - - CLK: NOT_gate(right T.x-Serial.x from NCLR.start+(0,-BUF_ht*3/2*L_unit)) - "CLOCK" at CLK.start rjust - -for_(1,4,1,` - F`'m4x: customFF(eval(m4x!=4)) with .W3.end at F`'eval(m4x-1).E3.end - ') - - "OUTPUT" wid 0.7 at F4.E1.end ljust - line from NCLR.end to F4.S1.end - - down_ -for_(0,4,1,` - line from F`'m4x.W2.end down F0.W2.y-CLK.y - ifelse(eval(m4x!=4),1,`dot',`line to CLK.end') - N`'m4x: NAND_gate with .Out at F`'m4x.N1.end - line up 2*L_unit from N`'m4x.In2 - { line up 6*L_unit from N`'m4x.In1 - "PR`'eval(4-m4x)" rjust } - ifelse(eval(m4x!=4),1, - `dot; dot(at F`'m4x.S1.end)', - `line to (Serial,Here) - "PRESET" rjust "ENABLE" rjust ') - ') - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SierpinskiSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SierpinskiSVG.m4 deleted file mode 100644 index 08d7fab1117..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SierpinskiSVG.m4 +++ /dev/null @@ -1,54 +0,0 @@ -.PS -# Sierpinski.m4 -gen_init -[ - define Sierpinski { - if $1 > 0.04 then { - d = $1/2-lh - shade(1,line from $2+(d/2,d/2*s3+lw*2) right d/2 up d/2*s3 then left d*2 \ - then right d down d*s3 then right d/2 up d/2*s3 ) - Sierpinski($1/2,$2-($1/2,0)) - Sierpinski($1/2,$2+($1/2,0)) - Sierpinski($1/2,$2+(0,$1*s3/2)) - } - } - - r = 3 - linethick = 0.2 - #linethick = 1/2 /(1pt__) - lw = linethick pt__ /2 - s3 = sqrt(3) - lh = lw*s3 - A: 3,3 - d = r/2-lh - shade(0,line from A+(0,lw) right d then up d*s3 left d then down d*s3 left d\ - then right d ) - ifpstricks(`psset_(linecolor=white)') - Sierpinski(r/2,A) - - ifpstricks(`psset_(linecolor=black)') - thicklines_ - ] - -# CayleyGraph.m4 -[ -define CayleyGraph { - if $3 > 0 then { - { line to Here+(cosd($2),sind($2))*($1) - exec sprintf("CayleyGraph(%g,%g,%g);", ($1)/2, $2, $3-1); } - { line to Here+(cosd($2+90),sind($2+90))*($1) - exec sprintf("CayleyGraph(%g,%g,%g);", ($1)/2, $2+90, $3-1); } - { line to Here+(cosd($2-90),sind($2-90))*($1) - exec sprintf("CayleyGraph(%g,%g,%g);", ($1)/2, $2-90, $3-1); } - } - } - - size = 2 - depth = 6 - for t=0 to 270 by 90 do { - line from (0,0) to (cosd(t),sind(t))*size/2; - { exec sprintf("CayleyGraph(%g,%g,%g);",size/4,t,depth); } - } - ] scaled 3/4 with .sw at last [].se+(-0.25,0) - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SixpoleSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SixpoleSVG.m4 deleted file mode 100644 index 430c0450697..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SixpoleSVG.m4 +++ /dev/null @@ -1,25 +0,0 @@ -.PS -# sixpole.m4 -define(`biquad',`[ -In: Here - resistor(right_) -E: dot - resistor - dot - {capacitor(down_,C); ground(,T)} - line right_ elen_/3 - { dot - line up_ elen_ - amp(to (E,Here),elen_/2) - capacitor(from E to Here,C) } - amp(right_,elen_/2) - Out: Here - ]') - -cct_init -define(`elen_',linewid) - - biquad - biquad with .In at last [].Out+(-linewid/4,0) - biquad with .In at last [].Out+(-linewid/4,0) -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SmithchartSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SmithchartSVG.m4 deleted file mode 100644 index 7d80e3e01e2..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SmithchartSVG.m4 +++ /dev/null @@ -1,222 +0,0 @@ -.PS -# Smithchart.m4 -gen_init -#https://utah.instructure.com/courses/684846 -#https://www.youtube.com/watch?v=RptPsP8hS4g -#https://www.youtube.com/watch?v=UUk1R01uEoE -##https://www.youtube.com/watch?v=TsXd6GktlYQ - -scalefactor = 6.5/2 # to vary the final chart diameter -scalefactor = 6.5/2*3/4 # 3/4 scale for svg examples -# Basic definitions -define Rac {($1/($1+1),0)*scalefactor} # centre of const ra circle -define rar {1/abs($1+1)*scalefactor} # radius -define Xac {(1,1/($1))*scalefactor} # centre of const xa circle -define xar {1/abs($1)*scalefactor} # radius -define Rc {CRc[$1*100]} # Rc circle indexed by value -define Xc {CXc[$1*100]} # Xc circle indexed by value -define grayline {outlined graystring($1)} -define arct {arc thick $1} - -# `SGamma(ra,xa) chart location of complex value' -define(`SGamma',`(ifelse(`$2',0,`Rc($1).w', - `Cintersect(Rac(`$1'),rar(`$1'),Xac(`$2'),xar(`$2'), dnl - ifelse(substr(`$2',0,1),-,R))'))') -# 1-piece Ra arc -define(`RaArc1',`ifinstr(`$1',to,for ix=`$1' do,ix=`$1';) { - Rc(ix): arct(`$2') grayline(`$2'g) dnl - from SGamma(ix,`$3') to SGamma(ix,-(`$3')) with .c at Rac(ix)}') -# 2-piece Ra arc -define(`RaArc2',`ifinstr(`$1',to,for ix=`$1' do,ix=`$1';) { - Rc(ix): arct(`$2') grayline(`$2'g) dnl - from SGamma(ix,`$3') to SGamma(ix,`$4') with .c at Rac(ix) - arct(`$2') grayline(`$2'g) dnl - from SGamma(ix,-(`$4')) to SGamma(ix,-(`$3')) with .c at Rac(ix)}') -# Positive and negative Xa arcs -define(`XaArc2',`ifinstr(`$1',to,for ix=`$1' do,ix=`$1';) { - Xc(ix): arct(`$2') grayline(`$2'g) dnl - from SGamma(`$3',ix) to SGamma(`$4',ix) with .c at Xac(ix) - Xc(-ix): arct(`$2') grayline(`$2'g) dnl - cw from SGamma(`$3',-ix) to SGamma(`$4',-ix) with .c at Xac(-ix)}') - -define(`Smithchart',`[ -iflatex(s_init(tst) - command "{\tiny") -ifsvg(svg_font(sans-serif,10bp__) - svg_rot_init(SmithchartSVG)) - - thk = 1.2 # wicth of thick lines (pt) - thn = 0.4 # thin lines - thkg = 0.33 # weight of thick lines - thkg =0.5 - thng = 0.4 # weight of thin lines - thng = 0.6 - -C: circle thick thk rad rar(0) at (0,0) - line thick thk grayline(thkg) from C.w to C.e - -Rc(50): circle thick thk grayline(thkg) rad rar(50) at Rac(50) -Loopover_(`term',`RaArc1(patsubst(term,:,`,'))', - 20:thn:50, - 30 to 40 by 10:thn:50, - 20:thk:20, - 12 to 18 by 2:thn:20, - 10:thn:50, - 10:thk:20, - 6 to 9:thn:10, - 5:thk:10, - 2.2 to 4.81 by 0.2:thn:5, - 4:thn:20, - 4:thk:5, - 3:thn:10, - 3:thk:5, - 2:thn:20, - 2:thk:5, - 1.1 to 1.91 by 0.2:thn:2, - 1.2 to 2.01 by 0.2:thk:2, - 1:thn:10, - 1:thk:5, - 0.2 to 1.81 by 0.2:thn:5, - 0.2 to 0.81 by 0.2:thk:2, - 0.6 to 0.91 by 0.1:thk:1, - 0.55 to 0.951 by 0.1:thn:1, - 0.1 to 0.91 by 0.2:thn:2, - 0.1 to 0.91 by 0.2:thk:1, - 0.22 to 0.481 by 0.02:thn:0.5, - 0.01 to 0.191 by 0.01:thn:0.2, - 0.05 to 0.151 by 0.1:thk:0.2) - -Loopover_(`term',`RaArc2(patsubst(term,:,`,'))', - 0.05 to 0.451 by 0.1:thn:1:0.5, - 0.02 to 0.181 by 0.02:thn:0.5:0.1) - -Xc(50): arct(thk) cw grayline(thkg) from C.e \ - to SGamma(0,50) with .c at Xac(50) -Xc(-50): arct(thk) grayline(thkg) from C.e \ - to SGamma(0,-50) with .c at Xac(-50) - -Loopover_(`term',`XaArc2(patsubst(term,:,`,'))', - 10 to 20 by 10:thn:0:50, - 7 to 9 by 2:thn:0:10, - 2 to 18 by 2:thn:0:20, - 0.2 to 4.81 by 0.2:thn:0:5, - 1.1 to 1.91 by 0.2:thn:0:2, - 1 to 4:thn:0:10, - 0.1 to 0.91 by 0.2:thn:0:2, - 0.22 to 0.481 by 0.02:thn:0:0.5, - 0.55 to 0.951 by 0.1:thn:0:1, - 10 to 20 by 10:thk:0:20, - 5:thk:0:10, - 1.2 to 1.81 by 0.2:thk:0:2, - 1 to 4:thk:0:5, - 0.2 to 0.81 by 0.2:thk:0:2, - 0.1 to 0.91 by 0.2:thk:0:1) - -Loopover_(`term',`XaArc2(patsubst(term,:,`,'))', - 0.05 to 0.451 by 0.1:thn:0.5:1, - 0.02 to 0.181 by 0.02:thn:0:0.5, - 0.02 to 0.191 by 0.01:thn:0:0.2, dnl 0.02 should be 0.01 - 0.05 to 0.151 by 0.1:thk:0:0.2) -dnl these avoid TeX arithmetic overflow: - line thick thn grayline(thng) from SGamma(0,0.01) to SGamma(0.2,0.01) - line thick thn grayline(thng) from SGamma(0,-0.01) to SGamma(0.2,-0.01) - dot(at C,,1,grayline(thkg)) - -dnl Internal labels start here - textht = C.wid/120 -# Horizontal axis -Loopover_(`t',`box wid textht ht textht*1.5 colored "white" \ - with .se at Rc(t).w+(-2bp__,2bp__) - r_text(90,"t",at Rc(t).w+(-textht/3,textht*1.5))', - 0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9, 1,1.2,1.4,1.6,1.8, 2,3,4,5,10,20,50) -# Xc=1 labels -Loopover_(`tt', - `define(`m4ta',patsubst(tt,:.*))define(`m4vl',patsubst(tt,.*:))dnl - X: SGamma(m4vl,1) - M: move from Rc(m4vl) to X; ax = lin_ang(M)*rtod_-90 #; print ax - r_text(m4ta,m4vl,at X+(Rect_(textht*2,ax+30))) - Y: X-Rc(m4vl); X: Rc(m4vl)+(Y.x,-Y.y) - r_text(-m4ta,m4vl,at X+(Rect_(textht*1.7,-(ax+30)))) ', - 10:0.2, 19:0.4, 26:0.6, 32:0.8, 37:1) -# right-side circumference -Loopover_(`tt', - `define(`m4ta',patsubst(tt,:.*))define(`m4vl',patsubst(tt,.*:))dnl - X: Xc(m4vl).start; ax = atan2(X.y,X.x)*rtod_ ; # print round_(ax) - r_text(m4ta,m4vl,at X+(Rect_(textht*2,ax-120))) - if m4vl>=2 then { - r_text(-m4ta,m4vl,at (X.x,-X.y)+(Rect_(textht*1.5,-ax+135))) }\ - else { r_text(-m4ta,m4vl,at (X.x,-X.y)+(Rect_(textht*2,-ax+150))) } ', - 6:20, 11:10, 23:5, 28:4, 37:3, 53:2, 58:1.8, 64:1.6, 71:1.4, 80:1.2, 90:1) -# left-side circumference -Loopover_(`tt', - `X: Xc(m4Lx*0.1).start; # print round_(atan2(X.y,X.x)*rtod_-180) - r_text(-patsubst(tt,:,`,'),at X+(Rect_(textht*1.7,-m4Lx*11+40))) - r_text( patsubst(tt,:,`,'),at (X.x,-X.y)+(Rect_(textht*2.1,m4Lx*11-30))) ', - 11:0.1, 23:0.2, 33:0.3, 44:0.4, 53:0.5, 62:0.6, 70:0.7, 77:0.8, 84:0.9) -# Ra=1 labels -Loopover_(`tt',`X: SGamma(1,m4Lx*0.2) - M: move from Rac(1) to X; # print round_(lin_ang(M)*rtod_-180) - r_text(-eval(m4Lx*11),ifelse(m4Lx,5,1,0.eval(m4Lx*2)), - at X+(Rect_(textht*1.5,-m4Lx*11+40))) - r_text( eval(m4Lx*11),ifelse(m4Lx,5,1,0.eval(m4Lx*2)), - at (X.x,-X.y)+(Rect_(textht*2,m4Lx*11-30))) ', - 11:0.2, 23:0.4, 33:0.6, 44:0.8, 53:1) - - textht *=0.9 -# Wavelength circle and tics - wvsep = textht*3/2 - wltic = C.wid/120 - circle thick thn grayline(thkg) diam C.diam+wltic/2+wvsep*11 at C -W: circle thick thn grayline(thkg) diam C.diam+wvsep*8 at C - for tc=0 to 249 do {ax = 180-tc/250*360; line thick thn grayline(thkg) \ - from W+(Rect_(W.rad+wltic/2,ax)) to W+(Rect_(W.rad-wltic/2,ax)) } -# Wavelength circle labels -for_(0,49,1, - `ifelse(eval(m4x<5),1,, - `r_text(eval(90-m4x*180/25),ifelse(m4x,0,0,eval(m4x<10),1,0.0`'m4x,0.`'m4x), - at W+(Rect_(W.rad+wltic/2+textht*0.5,180-m4x*180/25)))') - ifelse(eval(m4x<47),1, - `r_text(eval(90-m4x*180/25),ifelse(m4x,0,0,eval(m4x>40),1,0.0`'eval(50-m4x), - 0.`'eval(50-m4x)), at W+(Rect_(W.rad-wltic/2-textht*1.0,180-m4x*180/25)))')') - - circle thick thn grayline(thkg) diam C.diam+wvsep*5 at C -A: circle thick thn grayline(thkg) diam C.diam+wvsep*2.5 at C - for tc=0 to 359 by 2 do {line thick thn grayline(thkg) \ - from A+(Rect_(A.rad+wltic/2,tc)) to A+(Rect_(A.rad,tc)) } -for_(20,170,10, - `r_text(eval(-90+m4x),m4x,at A+(Rect_(A.rad+textht*0.5,m4x))) - r_text(eval( 90-m4x),-m4x,at A+(Rect_(A.rad+textht*1.2,-m4x))) - ') - r_text(90,180,at A-(A.rad+textht/2,0)) -Loopover_(`rca', - `r_text(eval(90-(180-rca/10)),eval(m4Lx*5+5), - at A+(Rect_(A.rad-textht*0.7,rca/10))) - r_text(eval(-90+(180-rca/10)),eval(-m4Lx*5-5), - at A+(Rect_(A.rad-textht*0.7,-rca/10))) ', - 195,295,392,490,588,685,782,880,967,1072, - 1165,1260,1352,1438,1518,1598,1645) - -# Internal labels - setrgb(thng,thng,thkg) - "RESISTANCE R/Zo OR CONDUCTANCE G/Yo" at C+SGamma(0.5,0)-(0,C.rad/40) - Loopover_(`Lttr',`ifelse(Lttr,*,,`r_text(eval(87-m4Lx*86/100),Lttr, - at W+(Rect_(W.rad+wltic/2+textht*0.5, 177-m4Lx*0.86))) ')', - W,A,V,E,L,E,N,G,T,H,S,*,T,O,W,A,R,D,*,G,E,N,E,R,A,T,O,R) - Loopover_(`Lttr',`ifelse(Lttr,*,,`r_text(eval(115-m4Lx*86/100),Lttr, - at W+(Rect_(W.rad-wltic/2-textht*1.0, 204-m4Lx*0.86))) ')', - W,A,V,E,L,E,N,G,T,H,S,*,T,O,W,A,R,D,*,L,O,A,D) - Loopover_(`Lttr',`ifelse(Lttr,*,,`define(`xa','13-m4Lx*86/100`) - r_text(eval(xa-90),Lttr,at A+(Rect_(A.rad+textht*0.7, xa))) ')', - R,E,F,L,E,C,T,I,O,N,*,C,O,E,F,F,I,C,I,E,N,T,*,A,N,G,L,E) - Loopover_(`Lttr',`ifelse(Lttr,*,,`define(`xa','14-m4Lx*86/100`) - r_text(eval(xa-90),Lttr,at A+(Rect_(A.rad-textht*0.7, xa))) ')', - T,R,A,N,S,M,I,S,S,I,O,N,*,C,O,E,F,F,I,C,I,E,N,T,*,A,N,G,L,E) - resetrgb - -iflatex(command "}%", -ifsvg(command "")) -] ') - -Smithchart at (0,0) - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SourcesSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SourcesSVG.m4 deleted file mode 100644 index 2a611fe681c..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SourcesSVG.m4 +++ /dev/null @@ -1,48 +0,0 @@ -.PS -# `SourcesSVG.m4' -cct_init(svg_font(sans-serif,11bp__)) -textwid = 0.7 -movewid = 2pt__ -moveht = 0.275 -define(`NL',`; move down $1; right_') -{ - {source ; move ; "`source'" ljust} NL - {source(,I) ; move ; "`source(,I)'" ljust} NL - {source(,i) ; move ; "`source(,i)'" ljust} NL - {source(,V) ; move ; "`source(,V)'" ljust} NL - {source(,v) ; move ; "`source(,v)'" ljust} NL - {source(,AC); move ; "`source(,AC)'" ljust} NL - {source(,X) ; move ; "`source(,X)'" ljust} NL - {source(,F) ; move ; "`source(,F)'" ljust} NL - {source(,G) ; move ; "`source(,G)'" ljust} NL - {source(,Q) ; move ; "`source(,Q)'" ljust} NL(0.3) - {proximity ; move ; "`proximity" ljust "= consource(,P)'" ljust} -} - move right_ 2.0 -{ - {source(,,0.4) ; move ; "`source(,,0.4)'" ljust} NL(0.35) - {source(,P) ; move ; "`source(,P)'" ljust} NL - {source(,U) ; move ; "`source(,U)'" ljust} NL - {source(,H) ; move ; "`source(,H)'" ljust} NL - {source(,R) ; move ; "`source(,R)'" ljust} NL - {source(,S) ; move ; "`source(,S)'" ljust} NL - {source(,T) ; move ; "`source(,T)'" ljust} NL - {source(,L) ; move ; "`source(,L)'" ljust} NL - {source(,B) ; move ; "`source(,B)'" ljust} NL - {nullator ; move ; "`nullator'" ljust} NL(moveht*0.8) - {norator ; move ; "`norator'" ljust} -} - move right_ 2.0 - {source(,N) ; move ; "`source(,N)'" ljust} NL - {source(,"svg_micro(A)"); move; "`source(,\"svg_micro(A)\")'" \ - wid 1.7 at Here ljust}NL(0.31) - {consource ; move ; "`consource'" ljust } NL(0.32) - {consource(,I) ; move ; "`consource(,I)'" ljust} NL(0.32) - {consource(,i) ; move ; "`consource(,i)'" ljust} NL(0.32) - {consource(,V) ; move ; "`consource(,V)'" ljust} NL(0.32) - {consource(,v) ; move ; "`consource(,v)'" ljust} NL(0.3) - {battery ; move ; "`battery'" ljust} NL - {battery(,3,R) ; move ; "`battery(,3,R)'" ljust} - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SwitchesSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SwitchesSVG.m4 deleted file mode 100644 index 2bccc8cd8f7..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/SwitchesSVG.m4 +++ /dev/null @@ -1,149 +0,0 @@ -.PS -# SwitchesSVG.m4 -cct_init(svg_font(sans-serif,11bp__,2bp__)) -textoffset = 3bp__ - -movewid = 0.25 - -define(`Below',`at last [].s+(0,-(8 ifelse(`$1',,,+10*(`$1')))bp__)') -movewid = 0.25 - -# Row 1 - right_; { - lswitch; {"svg_tt(`lswitch')" at last [].s Below} - move right_ - lswitch(,,O); {"svg_tt(`(,,O)')" at last [].s Below} - move right_ - lswitch(,,C); {"svg_tt(`(,,C)')" at last [].s Below} - move right_ - lswitch(,,DA); {"svg_tt(`(,,DA)')" at last [].s Below} - move right_ - lswitch(,,dDO); {"svg_tt(`(,,dDO)')" at last [].s Below} - move right_ - lswitch(,,uDC); {"svg_tt(`(,,uDC)')" at last [].s Below} - } -# Row 2 - move down 0.4; right_; { - lswitch(,,K); {"svg_tt(`(,,K)')" at last [].s Below} - move right_ - lswitch(,,KD); {"svg_tt(`(,,KD)')" at last [].s Below} - move right_ - lswitch(,,KOD); {"svg_tt(`(,,KOD)')" at last [].s Below} - move right_ - lswitch(,,KCD); {"svg_tt(`(,,KCD)')" at last [].s Below} - move right_ - bswitch; {"svg_tt(``bswitch'')" at last [].s Below} - move right_ - bswitch(,,C); {"svg_tt(`(,,C)')" at last [].s Below} - } -# Row 3 - move down 0.45; right_; { - D: dswitch; {"svg_tt(`dswitch')" at D.start below ljust} - thinlines_ - {spline <- from last [].B.c up 0.1 then up 0.05 left 0.1 - "svg_tt(`B')" rjust} - thicklines_ - move right_ - dswitch(,,WdBK); {"svg_tt(`(,,WdBK)')" at last [].s Below} - thinlines_ - { spline <- from 0.5 along_(last [].B) up 0.1 then up 0.10 left 0.1 - {"svg_tt(`B')" rjust} } - { spline <- from last [].K right 0.1 then right 0.05 up 0.15 - {"svg_tt(`K')" above }} - thicklines_ - move right_ - dswitch(,,WBmdDK); {"svg_tt(`(,,WBmdDK)')" at last [].s Below} - move right_ - dswitch(,,WBKTr); {"svg_tt(`(,,WBKTr)')" at last [].s Below} - move right_ - dswitch(,,WdBL); {"svg_tt(`(,,WdBL)')" at last [].s Below} - move right_ - dswitch(,,WBSd); {"svg_tt(`(,,WBSd)')" at last [].s Below} - } -# Row 4 - move down 0.4; right_; { - dswitch(,,WBCb); {"svg_tt(`(,,WBCb)')" at last [].s Below} - move right_ - dswitch(,,WBcCb); {"svg_tt(`(,,WBcCb)')" at last [].s Below} - move right_ - dswitch(,,WBcDI); {"svg_tt(`(,,WBcDI)')" at last [].s Below} - thinlines_ - {arrow <- from last [].DI.start up_ 0.1 right_ 0.15; "svg_tt(`DI')" ljust} - thicklines_ - move right_ -# dswitch(,,WBDI); {"svg_tt(`(,,WBDI)')" at last [].s Below} - dswitch(,,WBKCo); {"svg_tt(`(,,WBKCo)')" at last [].s Below} - move right_ - dswitch(,,WBFDI); {"svg_tt(`(,,WBFDI)')" at last [].s Below} - move right_ - dswitch(,,WBFSd); {"svg_tt(`(,,WBFSd)')" at last [].s Below} - } -# Row 5 - move down 0.4; right_; { - dswitch(,,WBMMR); {"svg_tt(`(,,WBMMR)')" at last [].s Below} - move right_ - dswitch(,,WBMM); {"svg_tt(`(,,WBMM)')" at last [].s Below} - move right_ - dswitch(,,WBMR); {"svg_tt(`(,,WBMR)')" at last [].s Below} - move right_ - dswitch(,,WBEL); {"svg_tt(`(,,WBEL)')" at last [].s Below} - move right_ - dswitch(,,WBLE); {"svg_tt(`(,,WBLE)')" at last [].s Below} - move right_ - dswitch(,,WBoKEL); {"svg_tt(`(,,WBoKEL)')" at last [].s Below} - } -# Row 6 - move down moveht+2bp__; right_; { - dswitch(,,WBTh); {"svg_tt(`(,,WBTh)')" at last [].s Below} - move right_ - dswitch(,,WBKC); {"svg_tt(`(,,WBKC)')" at last [].s Below} - thinlines_ - { arrow <- from last [].C.c left 0.2; "svg_tt(`C')" rjust } - thicklines_ - move right_ - dswitch(,,WBM); {"svg_tt(`(,,WBM)')" at last [].s Below} - move right_ - dswitch(,,WBCO); {"svg_tt(`(,,WBCO)')" at last [].s Below} - move right_ - dswitch(,,WBMP); {"svg_tt(`(,,WBMP)')" at last [].s Below} - move down_ 2bp__ then right_ - dswitch(,,WBoKCP); {"svg_tt(`(,,WBoKCP)')" at last [].s Below} - } -# Row 7 - move down moveht*7/6; right_; { - dswitch(,,WBCY); {"svg_tt(`(,,WBCY)')" at last [].s Below} - move right_ - dswitch(,,WBCZ); {"svg_tt(`(,,WBCZ)')" at last [].s Below} - move right_ - dswitch(,,WBCE); {"svg_tt(`(,,WBCE)')" at last [].s Below} - move right_ - dswitch(,,WBRH); {"svg_tt(`(,,WBRH)')" at last [].s Below} - move right_ - dswitch(,,WBRdH); {"svg_tt(`(,,WBRdH)')" at last [].s Below} - move right_ - dswitch(,,WBRHH); {"svg_tt(`(,,WBRHH)')" at last [].s Below} - } -# Row 8 - move down moveht; right_; { - move down_ 2bp__; right_ - dswitch(,,WBPr); {"svg_tt(`(,,WBPr)')" at last [].s Below} - move right_ - dswitch(,,WBPrT); {"svg_tt(`(,,WBPrT)')" at last [].s Below} - move down_ 6bp__ then right_ - dswitch(,,WBPrM); {"svg_tt(`(,,WBPrM)')" at last [].s Below} - move right_ - dswitch(,,WBDIGX,text=W); #{"svg_tt(`(,,WBDIGX,W)')" at last [].s Below} - {"svg_tt(`(,,WBDIGX,')" ljust at last line.start+(0,-15bp__) \ - "svg_tt(`text=W)')" ljust} - move right_ - dswitch(,,WBDIGC,text=M) - {"svg_tt(`(,,WBDIGC,')" ljust at last line.start+(0,-15bp__) \ - "svg_tt(`text=M)')" ljust} - move right_ - dswitch(,,WBcDIGC,text=M) # - {"svg_tt(`(,,WBcDIGC,')" ljust at last line.start+(0,-15bp__) \ - "svg_tt(`text=M)')" ljust} - } - - command "')" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/TTLnandSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/TTLnandSVG.m4 deleted file mode 100644 index 7b270778665..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/TTLnandSVG.m4 +++ /dev/null @@ -1,54 +0,0 @@ -.PS -# TTLnand.m4 -cct_init(svg_font(sans-serif,11bp__,1bp__)) - - up_ -Q3: bi_tr - "Q3" at Q3.E above ljust - dot(at Q3.C); reversed(`diode',up_ dimen_/2) -Q4: bi_tr with .E at Here - "Q4" at Q4.E above ljust - resistor(up_ dimen_ from Q4.C); rlabel(,`svg_norm(130 svg_ohm)') -V: dot - line left_ dimen_*0.75 from Q4.B; dot - line left_ dimen_*0.75 from Q3.B; dot -Q2: bi_tr(up_ Q4.B.y-Q3.B.y) with .E at Here - "Q2" at 1/2 between Q2.E and Q2.C ljust - resistor(from Q2.C to (Q2.C,V)); rlabel(,`svg_norm(1.6 k`'svg_ohm)'); dot - resistor(from Q2.E down_ dimen_); llabel(,`svg_norm(1 k`'svg_ohm)') - line to (Q4.E,Here) -G: dot - line to Q3.E - line left_ dimen_/4 from Q2.B - right_ -Q1: bi_trans(,,BCdE2BU) with .C at Here - "Q1" at Q1.Bulk above rjust - resistor(up_ from Q1.B to (Q1.B,V)); rlabel(,svg_norm(4 k`'svg_ohm)) - line to V - - line left dimen_ from Q1.E2 -X1: dot; "X1" wid 0.2 rjust above at last [].w -X2: dot(at (X1,Q3.C)); "X2" rjust at last [].w - AA: line invis right dimen_ from X2 - line from X2 to Intersect_(AA,Q1.Em1) then to Q1.E1 -X3: dot(at 2 between X1 and X2); "X3" rjust below at last [].w - AA: line invis right dimen_ from X3 - line from X3 to Intersect_(AA,Q1.Em0) then to Q1.E0 - -W: X2+(dimen_/2,0) -N: V+(0,dimen_/4) -S: (N.x,N.y-2*(N.y-W.y)) - line from V to 2 between V and N -Vcc:dot; "+5 svg_norm(V)" ljust at last [].e - line from G to (G,S) - ground - line from N to (W,N) then to (W,S) then to S - arc rad N.y-W.y ccw to N with .c at 1/2 between N and S - - line right (N.y-S.y)/2+dimen_/2 from Q3.C -Z: dot - lw = 1.05 - "svg_it(Z = svg_ol(X1 . X2 . X3))" wid lw ljust - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/TgateSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/TgateSVG.m4 deleted file mode 100644 index 35054606391..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/TgateSVG.m4 +++ /dev/null @@ -1,53 +0,0 @@ -.PS -# Tgate.m4 -cct_init(svg_font(sans-serif,11bp__)) - -right_ - -[ { Q: tgate - "A" at Q.A rjust - "B" at Q.B ljust - "G" at Q.G ljust below - "Gb" at Q.Gb ljust above - `"tgate"' wid 0.5 at Q.A-(0.25,0) rjust - } - - move down_ linewid; right_ - { Q: tgate(,L) - "A" at Q.A rjust - "B" at Q.B ljust - "G" at Q.G rjust above - "Gb" at Q.Gb ljust below - `"tgate(,L)"' at Q.A-(0.25,0) rjust - move left 0.75; right - } - ] - -[ { Q: tgate(,B) - "A" at Q.A rjust - "B" at Q.B ljust - "G" at Q.G ljust - `"tgate(,B)"' at Q.G-(0,10bp__) below - } - ] with .Q.A at last [].Q.B+(0.5,linewid/2) - -[ { Q: ptrans - "A" at Q.A rjust - "B" at Q.B ljust - "G" at Q.G rjust below - "Gb" at Q.Gb rjust - `"ptrans"' at Q.B+(0.25,0) ljust - } - - move down_ linewid; right_ - { Q: ptrans(,L) - "A" at Q.A rjust - "B" at Q.B ljust - "G" at Q.G ljust above - "Gb" at Q.Gb ljust below - `"ptrans(,L)"' wid 0.75 at Q.B+(0.25,0) ljust - } - ] with .Q.Gb at (last [].e.x+elen_/2+0.5,1st [].Q.Gb.y) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ThreeSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ThreeSVG.m4 deleted file mode 100644 index 29a784eead2..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ThreeSVG.m4 +++ /dev/null @@ -1,47 +0,0 @@ -.PS -# ThreeSVG.m4: three-phase oscillator -cct_init(svg_font(sans-serif,11bp__)) - -define(`section',`[ I: Here - resistor(right elen_*0.75); llabel(,R/2) -T: dot - line down dimen_/2 then right_ dimen_/4 - Amp: opamp(,,,,,{ - rgbfill(0.9*255,0.6*255,0.1*255,line to N then to E then to S then to Here) - "-" at In1 ljust - "+" at In2 ljust } - ) with .In1 at Here - line left dimen_/4 from Amp.In2 then down dimen_/4; G: ground(,,) - resistor(from T to (Amp.Out,T)); llabel(,R) -O: dot - { arrow up dimen_*0.5 then right dimen_/4 up dimen_/4 - "`$1'" above } - line to Amp.Out - dot(at T+(dimen_/4,0)); line up dimen_*0.6 - capacitor(right_ Amp.Out.x-Here.x-dimen_/4,C); llabel(,2C) - line to (Here,T); dot - ]') - -A: section(svg_symbol(0&`#'176;)) -B: section(svg_symbol(120&`#'176;)) with .I at A.O -C: section(svg_symbol(-120&`#'176;)) with .I at B.O - move right 22pt__ from C.O - - ground(at (A.I,A.G)+(dimen_/3,0),,) -P:potentiometer(down_ dimen_/2,,0.75,dimen_/2) with .End at Here - line from P.Start to (A.I,P.Start); dot - resistor(up_ dimen_*0.75 from P.T1) - line to A.T - - dot(at B.Amp.Out+(dimen_/3,0)); { "svg_it(V`'svg_sub(c))" at last [].n above } - resistor(down_ dimen_*0.75) - { dot; line right (C.T.x-Here.x)/2 - reversed(`diode',up_ dimen_) - line to C.T } - resistor(down_ dimen_*0.75) - dot - line from C.O right dimen_/4 then down C.O.y-Here.y then to (A.I,Here) \ - then to A.I - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/TimerSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/TimerSVG.m4 deleted file mode 100644 index d1a0c2ffa14..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/TimerSVG.m4 +++ /dev/null @@ -1,51 +0,0 @@ -.PS -# TimerSVG.m4 -cct_init(svg_font(sans-serif,10.5bp__)) - -define(`ic555',`[Chip: box ht boxwid wid boxwid "555" - P7: "7" ljust at 1/6 - P6: "6" ljust at 1/2 - P2: "2" ljust at 5/6 - P4: "4" below at 1/3 - P8: "8" below at 2/3 - P3: "3" rjust at Chip.e - P1: "1" above at Chip.s - ]') - - define(`elen_',`linewid') -Vs: dot - down_ - variable(`resistor(,E); llabel(,svg_norm(1 M`'svg_ohm))'); - resistor(,E); llabel(,svg_norm(100 k`'svg_ohm)) - capacitor(,E); llabel(svg_norm(220 svg_micro`'F)) -Zero: dot - - dot(at Vs+(elen_*4/3,0)) - resistor(,E); llabel(,svg_norm(33 k`'svg_ohm)) - line to (Here,Zero) chop 0 chop elen_ -C2: capacitor; llabel(svg_norm(0.1 svg_micro`'F)) - dot - -IC1: ic555 with .P7 at C2.start + (elen_,0) - line from IC1.P4 to (IC1.P4,Vs); dot - line from IC1.P8 to (IC1.P8,Vs); dot - line from IC1.P1 to (IC1.P1,Zero); dot - line from IC1.P2 to (C2,IC1.P2); dot - crossover(from IC1.P7 to (Zero,IC1.P7),R,C2); dot - line from IC1.P6 left elen_/2 then down IC1.P6.y-IC1.P7.y; dot - line from IC1.P3 right elen_*2/3 -R: dot - line right_ elen_/3 -B: buzzer(,,C) with .In3 at Here - line from B.In1 to (R,B.In1) - reversed(`diode',to (Here,Vs),LE); "red" at last line.c+(elen_/2,0) - resistor(down_ elen_ from R,E); llabel(,svg_norm(470 svg_ohm)) - diode(to (Here,Zero),LE); {"green" wid 0.4 at last line.c+(elen_*2/3,0)} - line to Zero chop 0 chop -elen_ - line up_ (Vs.y-Here.y)/3 - battery(up_ (Vs.y-Here.y)/3); rlabel(,,svg_norm(9 V)) - switch(to (Here,Vs),,D) - line to (R,Vs) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/TtreeSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/TtreeSVG.m4 deleted file mode 100644 index 2b779191b72..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/TtreeSVG.m4 +++ /dev/null @@ -1,70 +0,0 @@ -.PS -# Ttree.m4 -# A binary tree using m4 -gen_init -sinclude(tst.dim) -s_init(Ttree) - -# `Node(no in row, head [location], -# displacement of top of body (.n) wrt head, -# body Node 1, body Node 2, ...) ' -define(`Node',` - Head`$1': `$2' - ifelse(`$3',,,` Body`$1': [ - Loopover_(`v',`v; define(`m4ct',m4Lx)',shift(shift(shift($@)))) - ] with .n at Head`$1' + `$3' - connect(`$1',m4ct)')') - -define(`connect',`Bot: move from Head$1.sw-(0,5bp__) to Head$1.se-(0,5bp__) -for_(1,`$2',1, - `Top: move from Body$1.Head`'m4x.nw+(0,2bp__) \ - to Body$1.Head`'m4x.ne+(0,2bp__) - Mov: move from Head$1 to Body$1.Head`'m4x - if Bot.len*Top.len*Mov.len > 0 then { - line from Intersect_(Mov,Top) to Intersect_(Mov,Bot)}')') - - vsep = 0.75 -define(`txw',`wid `$1'mm__')dnl scaled by 14/12 for 14 pt type - - Node(1,"svg_it(h(h(h(x`'svg_sub(1),x`'svg_sub(2))," \ - + "h(x`'svg_sub(3),x`'svg_sub(4))),h(h(x`'svg_sub(5),x`'svg_sub(6))," \ - + "h(x`'svg_sub(7),x`'svg_sub(8)))))" txw(70) , - (0,-vsep), - Node(1,"svg_it(h(h(x`'svg_sub(1),x`'svg_sub(2)),h(x`'svg_sub(3)," \ - + "x`'svg_sub(4))))" txw(32) , - (0,-vsep), - Node(1,"svg_it(h(x`'svg_sub(1),x`'svg_sub(2)))" txw(14) , - (0,-vsep), - Node(1,"svg_it(x`'svg_sub(1):=((A,pk`'svg_sub(A)),h`'svg_sub(1)))" \ - txw(29) ), - Node(2,"svg_it(x`'svg_sub(2):=((B,pk`'svg_sub(B)),h`'svg_sub(2)))" \ - txw(29) with .n at last "".ne+(0.2,-vsep*2/3))), - Node(2,"svg_it(h(x`'svg_sub(3),x`'svg_sub(4)))" txw(14) \ - with .nw at Head1.ne+(Body1.wid/2+0.1,0), - (0,-vsep), - Node(1,"svg_it(x`'svg_sub(3):=" \ - + "((A,pk`'svg_prime`'svg_sub(A,,,-0.5ex)),h`'svg_sub(3)))" \ - txw(29)), - Node(2,"svg_it(x`'svg_sub(4):=((D,pk`'svg_sub(D)),h`'svg_sub(4)))" \ - txw(29) with .n at last "".ne+(0.2,-vsep*2/3)))), - Node(2,"svg_it(h(h(x`'svg_sub(5),x`'svg_sub(6)),h(x`'svg_sub(7)," \ - + "x`'svg_sub(8))))" txw(29) with .nw at Head1.ne+(Body1.wid/2,0), - (0,-vsep), - Node(1, "svg_it(h(x`'svg_sub(5),x`'svg_sub(6)))" txw(14) , - (0,-vsep*5/4), - Node(1,"svg_it(x`'svg_sub(5):=((E,pk`'svg_sub(E)),h`'svg_sub(5)))" \ - txw(29) ), - Node(2,"svg_it(x`'svg_sub(6):=((H,pk`'svg_sub(H)),h`'svg_sub(6)))" \ - txw(29) with .n at last "".ne+(0.2,-vsep*2/3))), - Node(2,"svg_it(h(x`'svg_sub(7),x`'svg_sub(8)))" txw(14) \ - with .nw at Head1.ne+(Body1.wid/2+0.1,0), - (0,-vsep*5/4), - Node(1,"svg_it(x`'svg_sub(7):=" \ - + "((D,pk`'svg_prime`'svg_sub(D,,,-0.5ex)),h`'svg_sub(7)))" \ - txw(29) ), - Node(2,"svg_it(x`'svg_sub(8):=((K,pk`'svg_sub(K)),h`'svg_sub(8)))" \ - txw(29) with .n at last "".ne+(0.2,-vsep*2/3))), - Node(3,"svg_it(h(x`'svg_sub(9)))" txw(8) \ - at 0.5 between Head1 and Head2))) - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/TubediagsSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/TubediagsSVG.m4 deleted file mode 100644 index 6409325558b..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/TubediagsSVG.m4 +++ /dev/null @@ -1,361 +0,0 @@ -.PS -# TubediagsSVG.m4 - -cct_init(svg_font(sans-serif,10bp__,2bp__)) -include(../tubedefs.m4) - -# Some base diagrams -[ Loopover_(`xv',` - V_`'xv: m4xpand(B_`'xv) ifelse(m4Lx,1,, - `with .Base at last [].Base+(dimen_*3,0)') - "xv" at V_`'xv.Base.s+(0,-dimen_/3) below', - 2AG,2D,4BB,9K) ] - -# Test circuit -[ -Ld: dot - battery(up dimen_,2) - line right_ dimen_ -Pot1: potentiometer(down_ dimen_*2,5) with .Start at Here - line from Pot1.End left_ dimen_ - battery(up_ to Ld,2) -Tg: dot(at Pot1.T1) - source(right_ dimen_ from Pot1.T1,"svg_mu`'A") - line right_ dimen_/3 -Tr: triode with .G1.w at Here - line from Tr.K1.sw to (Tr.K1.sw,Pot1.End); dot - { line down dimen_/2 -B: dot } - source(to (Tg,Here),"V"); corner; line to Tg - line from Tr.P1.c to (Tr.P1.c,Pot1.Start) - source(right_ elen_,"mA"); llabel(-,,+); rlabel(,I`'svg_sub(b)) -Tp: dot - { source(down_ to (Here,B),"V") - llabel(+,,-); rlabel(,E`'svg_sub(b)); dot } - line right_ dimen_/2 then down_ (Here.y-B.y)/2 then right_ dimen_/2 -P2: potentiometer(down_ Tp.y-B.y,5,0.5,-dimen_/6) with .T1 at Here - dot(at P2.End) - line right_ dimen_ from P2.Start; corner - battery(down_ dimen_*3/4,2,R) -T: Here - battery(up_ dimen_*3/4 from (Here,B),2) - line dashed up_ to T "B" ljust - line from (T,B) left T.x-Ld.x+dimen_/2 then up Ld.y-B.y then to Ld - ] with .nw at last [].sw + (0,-dimen_/2) - -define(`OutputXformer',`[ pushdef(`dimen_',dimen_*1.5) - S1: inductor(up_ dimen_*.4,L,3,M) - { line right_ dimen_/4 from last [].e; S2T: dot(,,1) - line from S1.end right_ S2T.x-S1.end.x; S21: dot(,,1) - line from S1.start right_ S2T.x-S1.end.x; S22: dot(,,1) } - move up_ dimen_/8 - S2: inductor(up_ dimen_*.4,L,3,M) - { line right_ dimen_/4 from last [].e; S1T: dot(,,1) - line from S2.end right_ S2T.x-S2.end.x; S11: dot(,,1) - line from S2.start right_ S2T.x-S2.end.x; S12: dot(,,1) } - line down_ dimen_/8 from M4Core1.start - line down_ dimen_/8 from M4Core2.start - P: inductor(down_ dimen_*0.6 with .c at 0.5 between S1.end and S2.start \ - -(dimen_*0.8,0),L,5,) - P1: P.start - P2: P.end - PT: last [].w - popdef(`dimen_')]') - -define(`PowerXformer',`[ pushdef(`dimen_',dimen_*1.5) - S3: inductor(up_ dimen_*.2,L,1,M) - ST3: last [].e - { line up_ dimen_/10 from M4Core1.end; line up_ dimen_/10 from M4Core2.end } - S2: inductor(up_ dimen_*.2 from S3.end+(0,dimen_/10),L,1,M) - { line up_ dimen_/10 from M4Core1.end; line up_ dimen_/10 from M4Core2.end } - S1: inductor(up_ dimen_*.4 from S2.end+(0,dimen_/10),L,3,M) - ST1: last [].e - P: inductor(down_ dimen_*0.6 with .c at 0.5 between S1.end and S3.start \ - -(dimen_*0.8,0),L,5,) - popdef(`dimen_')]') - -# Circuit of 25 W amplifier (adapted from F. Langford-Smith, "Radiotron -# Designer's Handbook," fourth edition, Harrison, NJ, Radio Corporation -# of America, 1952) - -[ Toprail: Here -#{"Toprail"} - resistor(down_ dimen_); rlabel(,100 k) -V1P: dot -#{"V1P" rjust} - line down_ dimen_*3/4 -V1: triode(,W) with .P1 at Here - {"6SL7" at V1.nw above } - resistor(down_ dimen_*3/2 from V1.K1.sw); llabel(,2.2 k) -Rail1: dot -#{"Rail1"} - ground - arrow left_ from V1.G1.w -RP: Here - arrow <- right from (Here,Rail1) to Rail1 - dot(at last arrow) - resistor(up_ 2nd last arrow.y-Here.y); llabel(,22 k); dot - { move left_ dimen_ }; "Pickup" at RP below - capacitor(right_ dimen_ from V1P,C,R); llabel(,0.05 svg_mu) - resistor(down_ dimen_); rlabel(,470 k) -V1o: dot -#{ "V1o" at V1o rjust } - resistor(down_ (Here.y-Rail1.y)/2); rlabel(,22 k) - dot - { capacitor(down_ Here.y-Rail1.y,C); rlabel(,0.01 svg_mu); dot } - line right_ dimen_/2 -R47: resistor(down_ to (Here,Rail1)); llabel(,4.7 M) - line to Rail1 - -Pot1: potentiometer(down_ dimen_,,0.5,dimen_*2/3) \ - with .T1 at (V1o+(elen_+dimen_*2/3,0),V1.G1) - { line from Pot1.Start left_ (Pot1.Start.x-V1o.x)/2 - continue to (Here,V1o) then to V1o } - line from Pot1.End down_ dimen_/3 -Rail2: dot - ground -V2: triode(,E) with .G1.w at Pot1.T1; "6SL7" at V2.ne above - resistor(from Rail2 right_ V2.K1.e.x-Rail2.x); rlabel(,22 k); dot - { capacitor(right_ dimen_,C,R); rlabel(,2 n) -V2k: dot } -#{ "V2k" at V2k above } - { line down_ to (Here,Rail1) - variable(`resistor(right_ dimen_); rlabel(,1 M);') - line up_ to V2k } - line to V2.K1.se - - line from Toprail to (R47,Toprail); dot - { capacitor(down_ dimen_,C); rlabel(10 svg_mu); ground(,T) } - R51k: resistor(right_ dimen_); rlabel(,51 k); dot - { capacitor(down_ dimen_,C); llabel(10 svg_mu); ground(,T) } - dot(at (V2.P1.c,Here)) - resistor(down_ dimen_); llabel(,100 k) -V2p: dot - line to V2.P1 - -V3: triode(,W) with .G1.w at (V2k+(dimen_,0),V2.G1) - " 6SL7" at V3.n below ljust - resistor(from V3.K1.sw to (V3.K1.sw,Rail1)); llabel(,1.5 k); dot; ground - line left_ dimen_/2 - resistor(up_ to (Here,V3.G1)); llabel(,,2.2); rlabel(,,M); dot - { line to V3.G1.w } - line to (Here,V2p); capacitor(left_ to V2p,C,R); rlabel(,3 n) - - dot(at (V3.P1.c,Toprail)); { line to R51k.end } - resistor(down_ dimen_); llabel(,51 k) -V3p: dot -#{"V3p"} - line down_ (Here.y-V3.n.y)/2 -V3q: dot; { line to V3.P1.c } - capacitor(left_ dimen_*2/3,C); rlabel(,.1 svg_mu) - line to (V2k,Here) - resistor(down_ to V2k); rlabel(0.1); llabel( M) -#{"V2k" at V2k} - -V4: triode(,E) with .G1.w at (V3.G1.e+(dimen_*2,0),V3.G1) - "6SL7" at V4.n above rjust - resistor(from V4.K1.se to (V4.K1.se,Rail1)); rlabel(,,1.5 k) -V4k: dot -#{"V4k"} - line left dimen_*3/4 -V4k1: dot - { resistor(up_ V4.G1.y-Here.y); llabel(,,2.2 M) -V4G: dot } - line from V3p right_ dimen_ - variable(`resistor(down_ to (Here,V4.G1)); llabel(100 k)') -V3o: dot - capacitor(right_ to V4G,C); llabel(,3 n) - line to V4.G1.w - resistor(left_ from V4k1 to (V3o,V4k)); rlabel(,51 k); dot - ground - capacitor(down_ from V3o to Here,C); llabel(,,500 p) - - line from V4.P1.c to (V4.P1.c,V3p); - resistor(up_ dimen_); llabel(,51 k); dot - resistor(left_ to (V3p,Here)); llabel(,10 k) - -V5: triode(,N) with .G1.w at V4.G1.e+(2.25*dimen_,0) - "6SL7" at V5.n above rjust -V6: triode(,SR) with .G1.w at V5.G1.w-(0,dimen_*2.5) - "6SL7" at (V6.w,V6.P1) below rjust - -V4p: dot(at (V4.P1.c,V3p)) -#{"V4p"} - line right_ dimen_*2/3; capacitor(right_ dimen_,C); llabel(,3 p) - line down_ to (Here,V5.G1) -V5G: dot; { line to V5.G1.w } -#{"V5G"} - resistor(down_ dimen_); rlabel(,2.2 M); dot; - resistor(right_ to (V5.K1.sw,Here)); llabel(,1 k) -V5K: dot -#{"V5K"} - line to V5.K1.sw - line from V4k down_ V4k.y-V6.G1.y then right_ V5G.x-V4k.x - dimen_ - capacitor(right_ dimen_,C); rlabel(,3 p) -V6G: dot; { line to V6.G1.w } -#{"V6G"} - resistor(up_ dimen_); llabel(,2.2 M); dot - resistor(right_ to (V6.K1.nw,Here)); llabel(,1 k) -V6K: dot -#{"V6K"} - line to V6.K1.nw - resistor(left_ dimen_*2/3 from (V6G,V6K)); rlabel(,1 k) dot; ground - line to (Here,V5K); resistor(right_ dimen_*2/3); llabel(,1 k) - -PV: dot(at (V4.e.x+dimen_/5,Toprail.y)) -#{"PV"} - line from V6.P1.c down_ V4p.y-V4.P1.c.y -Rail2: dot -#{"Rail2" below} - line from PV to (PV,Rail2); corner - { resistor(right_ to Rail2); llabel(,220 k) } - move up_ dimen_*2/3; dot; line left_ dimen_/2 -V6sw: dot -#{"V6sw"} - capacitor(down_ dimen_*2/3,C); rlabel(,10 svg_mu); ground(,T) - -V5P: dot(at (V6.P1.c,V4p)); { line to V5.P1.c } -#{"V5P"} - resistor(to (Here,Toprail)); rlabel(,220 k) - line to (V4p,Here) - - V7: V_6L6G at (V3,Rail2+(0,-2*dimen_)); "6L6G" at V7.n above ljust - V8: V_6L6G(,R) at V7+(0,-2*dimen_); "6L6G" at V8.s below ljust - line right dimen_/4 from V7.G2.e; resistor(right_ dimen_); llabel(,100); -V9G: dot -#{"V9G"} - line right dimen_/4 from V8.G2.e; resistor(right_ dimen_); llabel(,100); - V9: V_6L6G(,,G2) with .G2.w at V9G+(dimen_/2,0); "6L6G" at V9.n above rjust - V10: V_6L6G(,R,G2) at V9+(0,-2*dimen_); "6L6G" at V10.s below rjust - line from V9G to V9.G2.w - line from V10.G2.w left_ dimen_/2 -L910: line from V9G to (V9G,V10.G2); dot - line left_ dimen_/2 from V7.G1.w -V7G: dot -#{"V7G"} - resistor(down_ to 0.5 between Here and (Here,V10.G1)); rlabel(,220 k) -V7T: dot -#{"V7T"} - { line left_ dimen_/3; corner; ground } - line from V8.G1.w to (V7G,V8.G1); dot - resistor(up_ to V7T); llabel(,220 k) - - line from V9.K1.sw to V10.K1.nw - line from V7.K1.sw to V8.K1.nw -V7K: dot(at last line.c+(0,dimen_/8)) -#{"V7K"} - line left_ dimen_*2; dot - { capacitor(down_ dimen_/2,C); llabel(,50 svg_mu); ground(,T) } -PP: potentiometer(left_ dimen_,,0.5,dimen_/2) with .Start at Here - rlabel(,50 10 W) - corner(,at PP.T1); line left_ dimen_ then up_ dimen_/4 - round(,tubethick) - line thick tubethick up tubeplatelen/3 left tubeplatelen*2/9 - round(,tubethick) - line thick tubethick down tubeplatelen/3 left tubeplatelen*2/9 - line down_ dimen_/4 then left_ dimen_ then up_ dimen_/4 - round(,tubethick) - line thick tubethick up tubeplatelen/3 left tubeplatelen*2/9 - round(,tubethick) - line thick tubethick down tubeplatelen/3 left tubeplatelen*2/9 - line down_ dimen_/4; ground - "1st two 6SL7" at Here+(dimen_*3/4,dimen_/2) above - -V9T: dot(at (L910,V7K)-(0,dimen_/4)) -#{"V9T"} - - line right_ dimen_/2 from V9.G1.e; continue to (Here,V9.P1)+(0,dimen_*2/3) - resistor(left_ to (V7G,Here)); llabel(,100) -V7nw: dot; { line to (Here,V7.G1) } - line right_ dimen_/2 from V10.G1.e; continue to (Here,V10.P1)-(0,dimen_*2/3) - resistor(left_ to (V7G,Here)); rlabel(,100) -V8sw: dot; { line to (Here,V8.G1) } - - line from V9.P1.c up_ dimen_ -V9P: dot - line from V10.P1.c down_ dimen_ -V10P: dot -#{"V10P"} - - line from V7.P1.c up_ V9P.y-V7.P1.y then to V9P - resistor(right_ to (V5.e+(dimen_/4,0),Here)) - rlabel(,"100 k" "2 W") -Rt1: Here - line to (Here,V6.e)+(0,dimen_/6); resistor(up_ dimen_) - llabel(,"100 k" rjust "2 W") - line to (Here,V5K) then to V5K - line from V8.P1.c down_ V8.P1.y-V10P.y then to V10P - resistor(right_ to (V6.e+(dimen_/2,0),Here)) - llabel(,"100 k" "2 W") - resistor(up_ dimen_*3/2) - llabel(,"100 k" rjust "2 W") - line to (Here,V6K) then to V6K - - line from V9T to (V9.e+(dimen_*3/4,0),V9T) -Xout: OutputXformer with .PT at Here - line from Xout.P1 to (Xout.P1,V9P); dot - line from Xout.P2 to (Xout.P1,V10P); dot - line from Xout.PT left_ dimen_/4 -XT: dot - - resistor(from V6sw left_ dimen_); rlabel(,10 k) -XP: dot - { line down_ dimen_; continue to (XT,Here) then to XT } - - capacitor(right_ dimen_*5/4 from V5P,C); llabel(,0.1 svg_mu) - corner; line to (Here,Rail2)-(0,dimen_/2) - continue to (V7nw,Here) then to V7nw - line from V8sw down_ dimen_*5/8 - continue to (Rail2,Here) then to (Rail2,V9.n) - capacitor(up_ dimen_/2,C,R); rlabel(,0.1 svg_mu) - line to Rail2 - - line from XP left_ dimen_*2; dot - { dot(at Here+(dimen_,0)) - { "290 V" at last [].n above } -R100: resistor(down_ dimen_*2/3) - llabel(,"100 k" ljust "2 W"); dot; ground } - { capacitor(down_ dimen_*2/3,C); llabel(,40 svg_mu); dot } - reversed(`inductor',left_ dimen_,L,,M); rlabel(,4 H 300 mA) -Filt: dot - { capacitor(down_ dimen_*2/3,C); llabel(,40 svg_mu) - line to R100.end } - -Pwr: [ - PXform: PowerXformer - line left_ dimen_/4 from PXform.P.start; fuse(left_ dimen_/2,D) - AC1: arrow left_ dimen_/2 - AC2: arrow from PXform.P.end to (AC1.end,PXform.P.end) - "AC" at 0.5 between AC1.end and AC2.end ljust - dot(at PXform.ST3); line right_ dimen_/4; dot - dot(at PXform.ST1); line right_ dimen_/4 then down_ dimen_*3/2; ground(,T) - line from PXform.S2.end right_ dimen_*2.5 then up_ dimen_/4 - Rect2: V_5V4G with .F1.sw at Here; "5V4G" at Rect2.n+(0,dimen_/2) - Rect1: V_5V4G with .e at Rect2.w-(dimen_/2,0); "5V4G" at Rect1.n+(0,dimen_/2) - move to Rect1.F1.sw; line to (Here,PXform.S2.end); dot - move to Rect1.F1.se; line to (Here,PXform.S2.start); dot - move to Rect2.F1.se; line to (Here,PXform.S2.start) -PO: dot - line from Rect1.P1 left_ dimen_/2; dot - { line to (Here,PXform.S1.start) then to PXform.S1.start } - line to (Here,Rect1.n)+(0,dimen_/8) - continue to (Rect1.P2+(dimen_/2,0),Here) - continue to (Here,Rect1.P2) then to Rect1.P2 - line from Rect2.P1 left_ dimen_/2 then up_ Rect2.ht/2+dimen_/4; dot - { line to (Rect2.P2+(dimen_/2,0),Here) - continue to (Here,Rect2.P2) then to Rect2.P2 } - move to PXform.S1.end - line right_ dimen_/8 then up last [].y - Here.y then to last [].w - arrow from PXform.S3.start right_ dimen_ - arrow from PXform.S3.end right_ dimen_ - "5 V" at PXform.S2 + (dimen_*3/4,0) - "6.3 V" at 0.5 between last arrow.end and 2nd last arrow.end ljust - ] with .nw at (RP,Filt)+(0,dimen_/4) - line from Pwr.PXform.S2.start to Pwr.PO + (dimen_*3/4,0); corner - resistor(up_ to (Here,Filt)); rlabel(,"V" ljust "adj"); corner - line to Filt - - ] with .nw at last [].sw+(0,-0.5) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/UNOSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/UNOSVG.m4 deleted file mode 100644 index 8c1ba332487..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/UNOSVG.m4 +++ /dev/null @@ -1,577 +0,0 @@ -.PS -# UNOSVG.m4 -log_init -include(../icsSVG.m4) -textoffset = 1.5bp__ -svg_font(sans-serif,8.5bp__,textoffset) - -divert(-1) - - `Header([A][1|2], rows, wid, ht, - boxspec, pinlen;pinsize) - arg1: A= type A; number of columns - arg2: pins per column - arg3,4: custom wid, ht - arg5: eg fill_(0.9)' -define(`Header', -`[ define(`m4tp',ifinstr(`$1',A,A))define(`m4Hq',patsubst(`$1',A))dnl - define(`m4Hn',`ifelse(m4Hq,,1,m4Hq)')dnl - define(`m4Hm',`ifelse(`$2',,2,`$2')')dnl - define(`m4Hw',`ifelse(`$3',,`m4Hn*L_unit*3',`($3)')')dnl - define(`m4Hh',`ifelse(`$4',,`m4Hm*L_unit*3',`($4)')')dnl - ifinstr(`$6',;, - `stacksplit_(`m4Jdr',`$6',;)dnl - define(`m4Jps',ifelse(m4Jdr,,`L_unit',m4Jdr))popdef(`m4Jdr')dnl - define(`m4Jpl',ifelse(m4Jdr,,`lg_plen*L_unit',m4Jdr))popdef(`m4Jdr') ', - `define(`m4Jps',L_unit)dnl - define(`m4Jpl',`ifelse(`$6',,lg_plen*L_unit,`$6')')')dnl - Block: rotbox(m4Hw,m4Hh,`$5') - ifelse(`m4tp',A,`pushdef(`L_unit',(linewid/6))') - define(`m4Hct',1)dnl - for_(1,m4Hm,1, - `HeaderPin(Block.NW+vec_(m4Jps*3/2,-(m4x-1/2)*m4Hh/m4Hm), - ifinstr(m4tp,A,1,eval(m4Hct-1)), - P`'m4Hct, w, (m4Jpl+m4Jps);m4Jps) define(`m4Hct',incr(m4Hct)) - ifelse(m4Hn, 2, `HeaderPin(Block.NE+vec_(-m4Jps*3/2,-(m4x-1/2)*m4Hh/m4Hm), - 1, P`'m4Hct, e, (m4Jpl+m4Jps);m4Hps) define(`m4Hct',incr(m4Hct))') ') - ifelse(`m4Hq',A,`popdef(`L_unit')') - `$7' ]') - `HeaderPin(location, type, Picname, n|e|s|w, - [length][;pinsize]) - arg2: 0= square' -define(`HeaderPin',` - ifinstr(`$5',;, - `stacksplit_(`m4Hdr',`$5',;)dnl - define(`m4Hps',ifelse(m4Hdr,,`L_unit',m4Hdr))popdef(`m4Hdr')dnl - define(`m4Hpl',ifelse(m4Hdr,,`lg_plen*L_unit',m4Hdr))popdef(`m4Hdr') ', - `define(`m4Hps',L_unit)dnl - define(`m4Hpl',`ifelse(`$5',,lg_plen*L_unit,`$5')')')dnl - ifelse(`$1',,,`move to `$1';') - ifelse(`$3',,,`$3':) line to ifelse( - `$4',n,`rvec_(0,m4Hpl)', `$4',e,`rvec_(m4Hpl,0)', - `$4',s,`rvec_(0,-m4Hpl)', `rvec_(-m4Hpl,0)') - ifelse(`$3',,,Pin`$3':) ifelse(ifelse(`$2',,0,`$2'),0, - `rotbox(m4Hps,m4Hps,fill_(1))', - `circle diam m4Hps fill_(1)') at last line.start ') - -define(`brdge',`eleminit_(`$1') - define(`m4h',ifelse(`$2',,`sourcerad_',`($2)/2'))dnl - { line to rvec_(rp_len/2-m4h/2,0) - move to rvec_(m4h/2,0) - for m4ng=75 to 255 by 180 do {{ - m4fshade(0, arc cw from rvec_(Rect_(m4h/2,m4ng)) \ - to rvec_(Rect_(m4h/2,-m4ng)) \ - with .c at Here ) }} - line from rvec_(m4h/2,0) to rvec_(rp_len/2,0) } - { [box invis ht_ m4h wid_ m4h] at rvec_(rp_len/2,0) } - line to rvec_(rp_len,0) invis ') - -define(`ATMEGA16U2',`[ - Chip: box wid 10*lg_pinsep ht 25*lg_pinsep - Loopover_(`x', - `Arightpin(patsubst(x,;,`,'))', - 6;PD0, 7;PD1, 8;PD2, 9;PD3, 10;PD4, 11;PD5, 12;PD6, 13;PD7, - 131;nul, - 5;PC2, 26;PC4, 25;PC5, 23;PC6, 22;PC7, - 132;nul, - 133;nul, - 14;PB0, 15;PB1, 16;PB2, 17;PB3, 18;PB4, 19;PB5, 20;PB6, 21;PB7) - Loopover_(`x', - `Aleftpin(patsubst(x,;,`,'))', - 33;PAD, - 100;nul, - 28;UGND, 29;D`'svg_it(+), 30;D`'svg_it(-), 31;UVCC, 27;UCAP, - 101;nul, 102;nul, - 3;GND, 4;VCC, 103;nul, - 104;nul, - 32;AVCC, - 105;nul, 106;nul, - 1;XTAL1, - 107;nul, - 2;XTAL2(PC0), - 108;nul, 109;nul) - lg_pin(Pin109+(0,lg_pinsep),RESET,Pin24,wN,24,pinlen) - ]') -define(`Aleftpin',`move to Chip.sw+(0,m4Lx*lg_pinsep) - Pin`$1': ifelse(`$2',nul,Here,dnl - `line left pinlen "`$1'" above - "`$2'" ljust at last line.start')') -define(`Arightpin',`move to Chip.se+(0,m4Lx*lg_pinsep) - Pin`$1': ifelse(`$2',nul,Here,dnl - `line right pinlen "`$1'" above - "`$2'" rjust at last line.start')') - -define(`ATMEGA328P',`[ - Chip: box wid 10*lg_pinsep ht 23*lg_pinsep - Loopover_(`x', - `Arightpin(patsubst(x,;,`,'))', - 2;PD0, 3;PD1, 4;PD2, 5;PD3, 6;PD4, 11;PD5, 12;PD6, 13;PD7, - 100;nul, - 23;PC0, 24;PC1, 25;PC2, 26;PC3, 27;PC4, 28;PC5, - 101;nul, - 14;PB0, 15;PB1, 16;PB2, 17;PB3, 18;PB4, 19;PB5) - Loopover_(`x', - `Aleftpin(patsubst(x,;,`,'))', - 201;nul, 202;nul, 203;nul, 204;nul, 205;nul, 206;nul, 207;nul, 208;nul, - 209;nul, - 8;GND, 7;VCC, - 301;nul, - 22;AGND, 20;AVCC, 21;AREF, - 302;nul, - 9;XTAL1, - 303;nul, - 10;XTAL2, - 304;nul, 305;nul) - lg_pin(Pin305+(0,lg_pinsep),RESET,Pin1,wN,1,pinlen) - ]') - -define(`rswitch',`dswitch(`$1',,WBoDCP) - DS: last line.start; DC: last line.c; DE: last line.end - DL: DC-vec_(dimen_/6,0); DR: DC+vec_(dimen_/6,0) - {{"1" at DL above rjust}; {"3" at DR above ljust} - { line from DL to DL-vec_(0,dimen_/6) chop dotrad_ chop 0 - {"2" below rjust} - continue to DS-vec_(0,dimen_/6) then to DS; dot } - { line from DR to DR+vec_(0,-dimen_/6) chop dotrad_ chop 0 - {"4" below ljust} - continue to DE+vec_(0,-dimen_/6) then to DE; dot } - line from DC+vec_(dimen_/10,-dimen_/6) to DC+vec_(-dimen_/10,-dimen_/6) - move to last line.c; line to rvec_(0,-dimen_/3) \ - then to rvec_(-dimen_/3,-dimen_/3) - {"5" below}} ') - -divert(0)dnl - - maxpswid = 20 - maxpsht = 20 - - define(`pinlen',`30bp__') - define(`lg_pinsep',(1.2*lg_pinsep)) - del = lg_pinsep - define(`pindiam',0.1) - - define(`egnd',`ground(,,E); "GND" at last line.c below') - - U3: ATMEGA16U2 - `"ATMEGA16U2-MU(R)"' at U3.Chip.s below - `"U3"' at U3.Chip.nw ljust above - ZU4: ATMEGA328P with .Chip.nw at U3.Chip.sw+(-2.5,-10*del) - `"ATMEGA328P-PU"' at ZU4.Chip.s below - `"ZU4"' at ZU4.Chip.nw ljust above - - dot(at U3.Pin2.end) - R1: resistor(down_ 2*lg_pinsep,,E) - rlabel(,"R1" rjust "1M" rjust) - dot - dot(at R1.start-(2*del,0)) - xtal(down_ 2*lg_pinsep) - rlabel(16,,MHz); dot - XT2: dot(at last line.start-(2*del,0)); { "XT2" at last [].n above } - - Br1: brdge(left_ from U3.Pin33.end to (XT2,U3.Pin33)) - rlabel(1,,2); llabel(,GROUND) - BRE: dot - line to (Here,U3.Pin28) then to U3.Pin28.end - {"UGND" at (Br1,Here) above} - - XT1: dot(at XT2-(del,R1.len)); { "XT1" at last [].n above } - line from XT1 to U3.Pin1.end - line from U3.Pin2.end to (XT1,XT2) - C11: capacitor(left_ 3*del); rlabel(,C11); llabel(,22`'pF) - C9: capacitor(from XT1 to (Here,XT1)); {"C9" "22`'pF" at last [].s+(0,-11bp__)} - { line to C11.end } - dot - G1: egnd - line from XT1 down_ 3*del; continue to (G1,Here); dot(,,1) - {"XT3" at last [].n above} - dot(at Here+(0,-3/2*del),,1); {"XT4" at last [].n above} - { line to (XT2,Here) then to XT2 chop dotrad_ chop 0 } - USBVCC: dot(at Here+(0,-7/2*del),,1) - {"USBVCC" at last [].n-(3/2*del,0) above ljust} - { line to (Here,U3.Pin31) chop dotrad_ chop 0; continue to U3.Pin31.end } - dot(at Here+(2*del,0),,1); {"VUCAP" at last [].e+(0,-5bp__) ljust} - line to (Here,U3.Pin27) chop dotrad_ chop 0; dot - line from U3.Pin27.end to (G1.x-4.5*del,U3.Pin27.y) - C8: capacitor(down_ to (Here,Br1)); llabel(C8,,1`'svg_micro) - Bus1: dot - - dot(at U3.Pin33.end) - move to U3.Pin3.end; line to (Here,U3.Chip.s) - G2: ground(,T,E); {"GND" at last line.c below } - - dot(at U3.Pin32.end) - {line to U3.Pin4.end; dot} - line left del; ground(,,E,U); {"svg_it(+)5 V" at last line.c above} - - line from U3.Pin4.end left_ 2*del - capacitor(down_ 3*del); { llabel(C7,,100n) } - G3: ground(,T,E); {"GND" at last line.c below } - - line from U3.Pin30.end to (G1.x-2*del,U3.Pin30.y); TD: Here - continue to (Here,U3.Pin32) - { "RD`'svg_it(-)" above rjust }; continue left_ 1.5*del - RN3A: resistor(left_ 3/2*dimen_,,E); rlabel(,22R RN3A) - Dm: line left_ 7*del - -USB: [ K: box invis wid dimen_/2 ht 5*lg_pinsep - "USB" rjust at K.e - line thick 1.5 from K.nw to K.ne then to K.se then to K.sw - Loopover_(`x', - `Pin`'m4Lx: K.ne-(0,m4Lx/5*K.ht) - "x" at Pin`'m4Lx ljust above', - 1 XUSB, 2 D`'svg_it(-), 3 D`'svg_it(+), 4 UGND) - P_1: K.sw; {"P$`1'" at P_1 below rjust} - P_2: K.s; {"P$`2'" at P_2 below ljust} - ] with .Pin2 at Here; "X2" at USB.ne above rjust - - move to U3.Pin29.end - line to (TD.x-del,Here.y); continue to (Here,Dm-(0,lg_pinsep)) - { "RD`'svg_it(+)" above rjust} - continue to (RN3A.start,Here) - RN3D: resistor(left_ 3/2*dimen_,,E); llabel(,22R RN3D) - line to USB.Pin3 - - dot(at RN3A.end); line to (Here,RN3D) - Z2: variable(`resistor(down_ to (Here,U3.Pin27),,E); rlabel(Z2)',NN) - dot(at RN3D.end-(2*del,0)) - Z1: variable(`resistor(to (Here,U3.Pin27),,E); rlabel(Z1)',NN) - dot; line to (Z2,Here) - move up Z1.len/4 from last line.c; "CG0603MLC-05E" "X 2" - - line down_ del from USB.P_1; continue to (USB.P_2,Here); dot - line from USB.P_2 to (USB.P_2,Z1.end) then to Z1.end - dot(at (USB.P_2,Here)+(3/2*del,0)); line to (Here,USBVCC) - dot(,,1); {"USHIELD" at last [].n+(4bp__,0) above} - - L1: reversed(`inductor',down_ from Z1.end to (Z1,C8.end),W,,) - rlabel(,L1); llabel("svg_thinsp`'BLM21" ljust); dot - { dot(at (Z2,Here)); line to (Here,U3.Pin28); dot(,,1) - "UGND" at last [].n above } - line from USB.Pin1 to (Z2,USB.Pin1) then up 2*del - XUSB: dot(,,1); {"XUSB" at last [].n above} - line from (Z1,USB.Pin3) to (Z1,XUSB); - DP: dot(,,1); {"D`'svg_it(+)" at last [].n above} - dot(at (DP,USB.Pin2)-(2*del,0)); line to (Here,XUSB) - DM: dot(,,1); "D`'svg_it(-)" at last [].n above - line from USB.Pin4 to (DM,USB.Pin4) then to (DM,BRE) then to BRE - - line from U3.Pin18.end right_ 3.5*del - JP2: Header(A2,2,4*del,2*lg_pinsep,,0.2;pindiam) with .P3.end at Here - "JP2" at JP2.Block.nw above ljust - "2X2M - NM" at JP2.s below - "1" at JP2.P3.end above ljust; "3" at JP2.P1.end above ljust - "2" at JP2.P4.end above rjust; "4" at JP2.P2.end above rjust - line from JP2.P1.end to (JP2.P1.end,U3.Pin19) then to U3.Pin19.end - dot(at JP2.P1.end); line up 3.5*del - TPPB5: dot(,,1); {"PB5" at last [].e ljust} - TPPB4: dot(at TPPB5-(del*3/2,0),,1); {"PB4" at last [].w rjust} - line to (Here,JP2.P3); dot - line from JP2.P2.end to (JP2.P2.end,TPPB4) - TPPB7: dot(,,1); {"PB7" at last [].w rjust} - line from JP2.P4.end right del*3/2; continue to (Here,TPPB4) - TPPB6: dot(,,1); {"PB6" at last [].n above} - line from U3.Pin20.end right del then up del; continue to (TPPB6,Here); dot - line from U3.Pin21.end up del; continue to (TPPB7,Here); dot - - ICSP1: Header(A2,3,4*del,2.5*lg_pinsep,,0.2;pindiam) \ - with .P1.end at (JP2.P1.end,U3.Pin14) - "ICSP1" at last [].Block.nw above ljust - "3X2 M" at last [].Block.sw below ljust - for_(1,5,2,`"m4x" at ICSP1.P`'m4x.end above ljust') - for_(2,6,2,`"m4x" at ICSP1.P`'m4x.end above rjust') - line from ICSP1.P1.end to (ICSP1.P1.end,U3.Pin17) then to U3.Pin17.end - line from ICSP1.P3.end left del; continue to (Here,U3.Pin15) \ - then to U3.Pin15.end - - dot(at U3.Pin24.end); - RN1C: resistor(up_ 5*lg_pinsep,,E); rlabel(,10K,RN1C); llabel(5,,3) dot -# D3: diode(up_ 5*lg_pinsep); rlabel(,,D3); dot - line up_ 2*del; ground(,T,E,U); {"+5 V" at last line.w rjust} - dot(at U3.Pin24.end-(del,0)); -# RN1C: resistor(up_ D3.len,,E); llabel(,10K,RN1C) - D3: diode(up_ RN1C.len); llabel(,,D3) - line to (TPPB6.x+del,Here.y) - continue to (Here,ICSP1.P2.end) then to ICSP1.P2.end - line from ICSP1.P5.end down 2*del; continue to (TPPB6.x+2*del,Here.y) - TRESET2: Here - continue to (Here.x,D3.end.y+del) then to (RN1C.end.x-2.5*del,D3.end.y+del) - continue to (Here,U3.Pin24) then to U3.Pin24.end - G4: ground(at ICSP1.P6.end,,E); {"GND" at last line.c below } - line from ICSP1.P4.end right del then up U3.Pin16.y-ICSP1.P4.y \ - then to U3.Pin16.end - dot(at ICSP1.P1.end); line left_ 2.5*del then down_ 5*del - MISO2: dot(,,1); {"MISO2" at last [].s below } - dot(at ICSP1.P3.end-(del,0)); line to (Here,MISO2) - SCK2: dot(,,1); {"SCK2" at last [].s below ljust } - dot(at TRESET2); line to (Here,SCK2) - RESET2: dot(,,1); {"RESET2" wid 36bp__ at last [].s below } - dot(at ICSP1.P4.end+(del,0)); line to (Here,RESET2) - MOSI2: dot(,,1); {"MOSI2" at last [].s-(del,0) below } - - line right_ del from U3.Pin11.end then up_ del*3/2 - TXLED: reversed(`diode',right_ elen_,LER) - rlabel(,YELLOW); llabel(TX); dot - {line up_ del; TPTXL: dot(,,1); "TXL" at last [].n above} - RN2C: resistor(right_ elen_,,E); llabel(,1 K RN2C); rlabel(6,,3); dot - line from U3.Pin10.end to (TXLED.start,U3.Pin10) - RXLED: reversed(`diode',to (TXLED.end,Here),LER) - rlabel(,YELLOW); llabel(RX); dot - {line up_ del; dot(,,1); "RXL" at last [].n above} - RN2B: resistor(right_ elen_,,E); llabel(,1 K RN2B); rlabel(7,,2) - line to (Here,TPTXL); ground(,T,E,U); "+5 V" at last line.c above - -# ZU4 connections - line left_ del*3/2 from ZU4.Pin7.end; dot - {line up_ del; G4: ground(,T,E,U); "+5 V" at last line.c above } - C6: capacitor(down dimen_); llabel(100n,,C6); dot - { dot(at ZU4.Pin8.end) }; dot(at (ZU4.Pin8.end,Here)) - { G4: ground(at Here+(0,-del),,E); {"GND" at last line.c below } - line to ZU4.Pin22.end } - line left_ Here.x-C6.x + dimen_*5/4 - C10: capacitor(up_ C6.len); llabel(100n,,C10); dot - { line to (Here,ZU4.Pin20) then to ZU4.Pin20.end } -# L2: ebox(right_ to C6.start,,,0.2); rlabel(,L2); llabel(,100`'svg_micro`'H) - L2: inductor(right_ to C6.start,W); rlabel(,L2); llabel(,100`'svg_micro`'H) - - line left 2*del from ZU4.Pin9.end; PE: dot - R2: resistor(up_ to (Here,ZU4.Pin10),,E); llabel(,R2); rlabel(,1 M); dot - dot(at Here-(del*4.0,0)); { "XTAL2" above ljust } - XTAL: xtal(down_ R2.len); llabel(16 MHz); dot; { "XTAL1" below ljust } - pushdef(`dimen_',dimen_/2) - capacitor(left_ del from 0.25 between XTAL.start and XTAL.end) - capacitor(left_ del from 0.75 between XTAL.start and XTAL.end) - popdef(`dimen_') - line up XTAL.len/2 - line left del from last line.c then down del - G5: ground(,T,E); "GND" at last line.c below - line down_ del from XTAL.end; dot(,,1); "XT1" at last [].s below - line up del from XTAL.start; dot(,,1); "XT2" at last [].n above - line from XTAL.start to ZU4.Pin10.end - line from XTAL.end to ZU4.Pin9.end - line left 2*del from ZU4.Pin1.end; dot -# dot(at ZU4.Pin1.end) - D2: diode(up_ dimen_); rlabel(,D2) - dot(at D2.start-(2.5*del,0)) - RN1D: resistor(up_ D2.len,,E); rlabel(10 K,,RN1D); dot - { line to D2.end } - line up_ del; ground(,T,E,U); "+5 V" at last line.c above - - line from ZU4.Pin1.end to (RN1D-(1.5*del,0),ZU4.Pin1) then up 7*del - continue to (ZU4.Chip.w,Here)+(del,0); BRB: dot - { line down_ 2*del; Br2: brdge(right_ dimen_) - llabel(1,,2); rlabel(,RESET_EN); line up_ 2*del; dot } - line right_ dimen_+del - C5: capacitor(right_ dimen_); llabel(,C5); rlabel(100n); dot - { RN2D: resistor(down_ dimen_,,E); rlabel(,1 K); llabel(,RN2D) - G6: ground(,T,E); "GND" at last line below } - { line up_ del; DTR: dot(,,1); "DTR" at last [].e ljust } - line from U3.Pin13.end right del/2; continue to (Here,U3.Chip.s) \ - then left+2*del; continue to (Here,BRB) then to C5.end - TP2: Here; continue to C5.end - - line up 3*del from BRB - TP1: dot #; line left BRB.x-RN1D.x - RESET: rswitch( right_ dimen_ from (USB.e,Here)+(del/2,0)) - { "RESET" at RESET+(-del*1.7,1.0*del) above } - line left del from RESET.start then down del - G7: ground(,T,E); "GND" at last line.c below - - ICSP: Header(A2,3,4*del,2.5*lg_pinsep,,0.2;pindiam) \ - with .Block.sw at ZU4.Pin19.end+(2*del,del*3) - "ICSP" at ICSP.Block.nw above ljust - "3X2 M" at ICSP.Block.sw below ljust - for_(1,5,2,`"m4x" at ICSP.P`'m4x.end above ljust') - for_(2,6,2,`"m4x" at ICSP.P`'m4x.end above rjust') - dot(at ZU4.Pin19.end); line to (Here,ICSP.P3) then to ICSP.P3.end - line from ZU4.Pin18.end right del; dot - line to (Here,ICSP.P1) then to ICSP.P1.end - move to ICSP.P5.end; line to (ZU4.Pin19.end,Here)-(del,0); - continue to (Here,TP1); dot - line from ICSP.P2.end up_ del; ground(,T,E,U); "+5 V" at last line.c above - line from ICSP.P6.end down_ del; G9: ground(,T,E); "GND" at last line.c below - move to ICSP.P4.end; line right_ del then down Here.y - ZU4.Pin17.y; dot -# move to ICSP.P4.end; line right_ del then down Here.y - G9.y + del -# continue to (ICSP.P1.end.x+del,Here.y) then down_ Here.y-ZU4.Pin17.y; dot - - line right_ from RESET.end to (U3.Chip.e+(12*del,0),TP1) - POWER: Header(A1,8,1.5*del,7*lg_pinsep,,0.2;pindiam) with .P3.end at Here - "POWER" wid 36bp__ at POWER.Block.nw above ljust - "8X1F-H8.5" at POWER.Block.sw below ljust - for_(1,8,1,`"m4x" at POWER.P`'m4x.end above ljust') - line from POWER.P2.end left del/2 then down POWER.P2.y-POWER.P5.y ; dot - line from POWER.P4.end left 2.5*del; "+3V3" above ljust - dot(at POWER.P3.end-(del*1.5,0)); line up 2*del - dot(,,1); "RESET" at last [].n above - line from POWER.P5.end left 3.5*del then up 4*del; ground(,T,E,U) - "+5 V" at last line.c above - line left del*2 from POWER.P8.end; "VIN" above ljust - line left del/2 from POWER.P7.end; dot - line from POWER.P6.end to (Here,POWER.P6.end) then to Here+(0,-2.5*del) - G10: ground(,T,E); "GND" at last line.c below - - right_ - - IOH: Header(A1,10,1.5*del,10*lg_pinsep,,0.2;pindiam) \ - with .P10.end at ZU4.Pin14.end + (del*15,0) - "IOH" at IOH.Block.nw above ljust - "10X1F-H8.5" at IOH.Block.se below ljust - for_(0,9,1,` - { "incr(m4x)" above ljust at IOH.P`'eval(10-m4x).end } - move to IOH.P`'eval(10-m4x).start-(pindiam/2+dotrad_/2,0) - ifelse(m4x,6,,`dot') - move to IOH.P`'eval(10-m4x).end - ifelse(eval(m4x<6),1,`line from ZU4.Pin`'eval(14+m4x).end to Here ') - ifelse(m4x,6,,` line right del*4; dot(,pindiam/2,1) ') - ifelse(eval(m4x<6),1,`"eval(8+m4x)" at last [].e ljust ')') - "SCL" at last [].e ljust - "SDA" at 3rd last [].e ljust - "AREF" at 5th last [].e ljust - - AD: Header(A1,6,1.5*del,6*lg_pinsep,,0.2;pindiam) \ - with .P6.end at (IOH.P10.end,ZU4.Pin23) #.end + (del*6,0) -# with .P6.end at ZU4.Pin23.end + (del*6,0) - "AD" at AD.Block.nw above ljust - "6X1F-H8.5" at AD.Block.se below ljust - for_(0,5,1,` - dot(at AD.P`'eval(6-m4x).start-(pindiam/2+dotrad_/2,0)) - line from ZU4.Pin`'eval(23+m4x).end \ - to AD.P`'eval(6-m4x).end; {"incr(m4x)" above ljust} - line right del*4; dot(,pindiam/2,1) - "A`'m4x" at last [].e ljust ') - - IOL: Header(A1,8,1.5*del,8*lg_pinsep,,0.2;pindiam) \ - with .P8.end at (AD.P1.end,ZU4.Pin2) - "IOL" at IOL.Block.nw above ljust - "8X1F-H8.5" at IOL.Block.sw ljust below - for_(0,7,1,` - dot(at IOL.P`'eval(8-m4x).start-(pindiam/2+dotrad_/2,0)) - line from ZU4.Pin`'eval(ifelse(eval(m4x<5),1,2,6)+m4x).end \ - to IOL.P`'eval(8-m4x).end; {"incr(m4x)" above ljust} - line right del*4; dot(,pindiam/2,1) - "m4x" at last [].e ljust ') - - line from ZU4.Pin21.end up RESET.y-ZU4.Pin21.y-del \ - then right ICSP.P4.end.x-ZU4.Pin21.end.x + 2*del - continue to (Here,IOH.P3)+(0,del*3/2); dot - { C4: capacitor(down_ 3.0*del); llabel(C4,,100n) - { ground(,T,E); "GND" at last line.e ljust} - line from IOH.P4.end to (Here,IOH.P4); dot } - line right del*3/2; continue to (Here,IOH.P3) then to IOH.P3.end - - line left del/2 from IOH.P2.end; continue to (Here,AD.P2); dot - line left del*3/2 from IOH.P1.end; continue to (Here,AD.P1); dot - -# line right_ del*2 from U3.Pin9.end then down_ 5.5*lg_pinsep; dot - line right_ del*2 from U3.Pin9.end then down_ 3.5*lg_pinsep; dot - { line right_ 2*del; dot(,,1); "RX" at last [].e ljust } - line to (Here,RESET)-(0,del) - RN4B: resistor(down_ dimen_,,E); llabel(7,"RN4B" ljust "1 K" ljust,2) - line down_ del then left_ Here.x - IOH.P9.end.x + del*2.5 - continue to (Here,ZU4.Pin2); dot - - line right_ del from U3.Pin8.end; dot - { line right_ 3*del; dot(,,1); "TX" at last [].e ljust } - line to (Here,RN4B.start) - RN4A: resistor(down_ dimen_,,E); rlabel(8,"RN4A" rjust "1 K" rjust,1) - line to (IOH.P9.end,Here)-(del*3.5,0); continue to (Here,ZU4.Pin3); dot - -Pwr: [ - Vin: line right 2*del "VIN" above - RN1A: resistor(down_ dimen_*5/4,,E); rlabel(8, "RN1A" rjust "10 K" rjust ,1) - CMP: dot - RN1B: resistor(down_ dimen_*5/4,,E); rlabel(2, "RN1B" rjust "10 K" rjust ,7) - B12: ground(,T,E); "GND" at last line below - - line right_ 2*del from CMP; dot - { line up_ 2*del; dot(,,1); "CMP" at last [].n above } - line right_ del - POA: opamp(,"+" ljust,"-" ljust) with .In1 at Here - "U5A" at last [].n; "1" at POA.Out above rjust - "3" at POA.In1 rjust above; "2" at POA.In2 rjust above - line left_ del from POA.In2 then down_ del; "+3V3" below - dot(at POA.Out); {line up_ 2*del; dot(,,1); "GATE" at last [].n above } - T1: mosfet(down_ dimen_*1.5,R,dMdPyEDSQdB,) with .G at Here - "T1" at T1 + (-dimen_/4,del*5/4) - "FDN340P" at T1 + (0,-del*5/4) rjust -# "USBVCC" at T1.D rjust - dot(at T1.S); { line up_ 2*del; ground(,T,E,U); "+5 V" at last line above } - ] with .RN1B at (USB.e.x+del,RN1C.y-2*del) - dot(at XUSB+(0,-del/2)) - F1: fuse(right_ to (Pwr.T1.D,Here)); { "500 mA" ljust } - { "MF-MSMF050-2" at last [].sw below ljust } - line to Pwr.T1.D - - line from Pwr.T1.S right_ 2.5*lg_pinsep - { U2:box ht 3*lg_pinsep wid 5*lg_pinsep with .nw at Here+(0,lg_pinsep/2) } - {"1" above rjust}; {"IN" ljust} - "LP2985-33DBVR" at U2.s below - "U2" above ljust at U2.nw - "3" above rjust at U2.w; line left del from U2.w then up_ lg_pinsep; dot - "ON/svg_ol(OFF)" at U2.w ljust -# line right_ textht*0.66*3 from U2.w+(textht*0.66*5,textht) - U2P2: U2.w+(0,-lg_pinsep); "2" at U2P2 above rjust; "GND" at U2P2 ljust - line from U2P2 left del then down_ del - G15: ground(,T,E); "GND" at last line.c below - U2P5: (U2.e.x,U2.e.y+lg_pinsep) - "OUT" at U2P5 rjust; "5" at U2P5 above ljust - line from U2P5 right 2*del "+3V3" below; dot - { line up_ del; dot(,,1); "3V3" at last [].n above } - C3: capacitor(down_ to(Here,G15)); rlabel(,"C3" rjust "1`'svg_micro" rjust) - ground(,T,E); "GND" at last line.c below - "NC/FB" at (U2.e.x,U2P2.y) rjust - - "SCK" above ljust at Pwr.Vin + (0,4*del) - line right_ 3*del - U5B: opamp(,"+" ljust, "-" ljust) with .In1 at Here - "5" at U5B.In1 above rjust; "6" at U5B.In2 above rjust - "U5B" at last [].n; "7" at U5B.Out above rjust - line from U5B.In2 left del then down del then right U5B.Out.x-U5B.In1.x+del - TD2: dot - dot(at U5B.Out); dot(at Here+(0,2*del),,1); "LCMD" at last [].e ljust - line down_ from last [].s to TD2 - RN2A: resistor(right_ dimen_*5/4,,E); llabel(8,"1K",1); rlabel(,RN2A) - dot; {line up_ 2*del; dot(,,1); "LL" at last [].n above } - diode(right_ dimen_*5/4,LE); rlabel(,YELLOW) - line down_ dimen_/4; egnd - - X1:box ht 3*lg_pinsep wid 5*lg_pinsep with .w at (U2.x,U5B.y+del) - "X1 DC21MMX" at X1.nw above ljust; "PWR SUPPLY" at X1.nw below ljust - X1P1: 1/3 between X1.sw and X1.se; "1" at X1P1 rjust below - X1P2: 2/3 between X1.sw and X1.se; "2" at X1P2 rjust below - line down_ del from X1P1; dot; { egnd } - line right X1.e.x+del - Here.x then up_ X1.e.y-Here.y then to X1.e - "3" above ljust at X1.e - line from X1P2 down del/2 then right X1.e.x+del*2 - X1P2.x \ - then up X1.n.y - X1P2.y + del/2; dot - { line up_ 2*del; PWRIN: dot(,,1); "PWRIN" at last [].w rjust } - D1: diode(right_ dimen_); llabel(,D1); rlabel(,M7); dot - { PC1: capacitor(down_ dimen_,C); llabel(,"PC1" ljust "47`'svg_micro" ljust) - G16: egnd } - { line to (Here,PWRIN); dot(,,1); "VIN" at last [].e ljust } - line right 3*del; { "3" above rjust } - U1P1: Here - U1: box ht 3*lg_pinsep wid 4*lg_pinsep with .nw at Here+(0,lg_pinsep/2) - "IN" at U1P1 ljust; "OUT" at (U1.e,U1P1) rjust - "1" below rjust at U1.s - "U1" at U1.nw + (0,textht/dptextratio) above ljust \ - "NCP1117ST50T3G" ljust - line from U1.s to (U1.s,G16); egnd - U1P4: (U1.e,U1P1); U1P2: U1P4+(0,-del) - { "4" at U1P4 above ljust }; { "2" at U1P2 above ljust }; - line right_ 2*del from U1P4; dot; - line from U1P2 to (Here,U1P2); dot; { line to (Here,U1P4) } - { PC2: capacitor(down_ to (Here,G16),C) - llabel(,"PC2" ljust "47`'svg_micro" ljust); egnd } - line right_ del*3/2 from (Here,U1P4); dot - { line to (Here,PWRIN); ground(,T,E,U); "+5V" at last line.c above } - line right_ del*3/2; dot; { line to (Here,PC2.start) - C2: capacitor(down_ to (Here,G16),C) - llabel(,"C2" ljust "100`'svg_micro" ljust); egnd } - { line to (Here,PWRIN); dot(,,1); "5V" at last [].n above } - line right_ del*3/2 then to (Here.x+del*3/2,PWRIN.y); dot(,,1) - "5V1" at last [].n above - - - - command "" -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/VariableSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/VariableSVG.m4 deleted file mode 100644 index ccab6539363..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/VariableSVG.m4 +++ /dev/null @@ -1,29 +0,0 @@ -.PS -# `VariableSVG.m4' -cct_init - -define(`elen_',dimen_); down_ -[ { variable(`resistor',A) }; {"svg_tt(A)" at last line.end below}; move right - { variable(`resistor',N) }; {"svg_tt(N)" at last line.end below}; move right - { variable(`resistor',uN) }; {"svg_tt(uN)" at last line.end below}; move right - { variable(`resistor',NN) }; {"svg_tt(uN)" at last line.end below}; move right - { variable(`resistor',uNN) }; {"svg_tt(uNN)" at last line.end below} - ] -[ - skp = 0.4 - hskip = linewid*0.5 - cskip = hskip -Orig: Here - { move right cskip+elen_+hskip - line invis right_ elen_ "svg_tt(C)"; move right_ hskip - { move up_ 0.25 } - line invis right_ elen_ "svg_tt(S)" } - Loopover_(`char', - `move down skp ifelse(char,A,*0.5) - { line invis right_ cskip "svg_tt(char)" - variable(`capacitor(,C)',char); move right_ hskip - variable(`capacitor(,C)',char`'C); move right_ hskip - variable(`capacitor(,C)',char`'S) }', - A,P,L,N) - ] with .w at last [].e+(0.4,0) -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/WindingsSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/WindingsSVG.m4 deleted file mode 100644 index e4faa89b5c1..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/WindingsSVG.m4 +++ /dev/null @@ -1,102 +0,0 @@ -.PS -# Windings.m4 -cct_init(svg_font(sans-serif,10bp__)) -textoffset = 3bp__ - -define(`vlight',`rgbstring(0.9,0.9,0.9)') -define(`lightgray',`rgbstring(0.7,0.7,0.7)') - -[ winding ] - `"winding"' at last [].s below - -[ winding(R) ] with .n at last "".s+(0,-0.1) - `"winding(R)"' wid 1 at last [].s below - -[ sk = 0.75 - d = 1.5*sk - p = 0.4*sk - w = 1*sk - -W: winding(L,d,p,4,w,vlight) - -thinlines_ - dimension_(from W.nw+(p/4,0) right p,0.1,"pitch" above,0.3) - dimension_(from W.sw to W.nw,0.2,diam,0.3) - dimension_(from W.e+(-p/2,-w/2) up w,-0.3,,0.2) - "core wid" wid 0.75 at W.e ljust - arrow <- up d-w+0.1 left d/10 from W.ne+(-p/2,-(d-w)) - "core color" at Here+(-0.2,0) ljust above -thicklines_ -] with .sw at last [].se+(0.25,0) - "T1" at last [].W.T1 below - "T2" at last [].W.T2 below - -[ -#`winding(L|R, diam, pitch, nturns, core wid, core color )' -boxwid = 0.3 -boxht = 0.4 - down_ -B1: box - winding(,boxwid*1.3,boxht/5,3,boxwid) at B1 - "Left pins" "cw" at B1.s+(0,-0.15) - for_(1,2,1,`"svg_small(T`'m4x)" at last [].T`'m4x rjust') -B2: box at B1.e + (0.5,0) - winding(R,boxwid*1.3,boxht/5,3,boxwid) at B2 - "Left pins" "ccw" at B2.s+(0,-0.15) - for_(1,2,1,`"svg_small(T`'m4x)" at last [].T`'m4x rjust') - up_ -B3: box at B1.s + (0,-0.55) - winding(,boxwid*1.3,boxht/5,3,boxwid) at B3 - "Right pins" "cw" at B3.s+(0,-0.15) - for_(1,2,1,`"svg_small(T`'m4x)" at last [].T`'m4x ljust') -B4: box at (B2,B3) - winding(R,boxwid*1.3,boxht/5,3,boxwid) at B4 - "Right pins" "ccw" at B4.s+(0.07,-0.15) - for_(1,2,1,`"svg_small(T`'m4x)" at last [].T`'m4x ljust') -] with .sw at last [].se+(0,-0.15) - -[ - Q: box invis ht 1 wid 5/4 - g = Q.wid/12 - ironwid = Q.wid/4.5 - - line thick ironwid/(1bp__)+linethick from Q.n+(g/2-linethick/2 bp__,0) \ - to Q.ne then to Q.se then to Q.sw then to Q.nw \ - then to Q.n+(-g/2+linethick/2 bp__,0) - line thick ironwid/(1bp__)-linethick outlined lightgray \ - from Q.n+(g/2+linethick/2 bp__,0) \ - to Q.ne then to Q.se then to Q.sw then to Q.nw \ - then to Q.n+(-g/2-linethick/2 bp__,0) - -thinlines_ - dimension_(from Q.n+(-g/2,-ironwid/2) right g,-ironwid/4, - "svg_it(g)" below,1,2pt__) -thicklines_ - - down_ - P: winding(R,ironwid*5/4,ironwid/2,4,ironwid,lightgray) at Q.w - line left ironwid*2/3 from P.T1 - arrow right to P.T1 "svg_it(i`'svg_sub(1))" above - line left ironwid*2/3 from P.T2 - gap(up_ to 2nd last line.end) - llabel(-,svg_it(v`'svg_sub(1)),+) - "svg_it(N`'svg_sub(1))" at P.e ljust - - up_ - S: winding(L,ironwid*5/4,ironwid/2,4,ironwid,lightgray) at Q.e - line right ironwid*2/3 from S.T2 - arrow left to S.T2 "svg_it(i`'svg_sub(2))" above - line right ironwid*2/3 from S.T1 - gap(up_ to 2nd last line.end) - rlabel(-,"svg_it(v`'svg_sub(2))" wid 0.2,+) - "svg_it(N`'svg_sub(2))" at S.w rjust - - box dashed rad ironwid/4 wid Q.wid ht Q.ht at Q - arrow right arrowht from 0.5 between Q.n and Q.ne - - move up ironwid/2 from Q.n - move down ironwid/2 from Q.s -] with .sw at last [].se+(0.25,0) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/XORSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/XORSVG.m4 deleted file mode 100644 index c0f5613dbdb..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/XORSVG.m4 +++ /dev/null @@ -1,67 +0,0 @@ -.PS -# `XORSVG.m4' -# Realizations of the XOR function -log_init -scale = 2.54 - -define(`gatelineth',1.6) # gate line thickness -define(`lineth',0.8) # connection thickness - -define(`labels',` - "svg_it(A)" at last [].InA above wid 0.25 - "svg_it(B)" at last [].InB above wid 0.25 - "svg_it(A) O`'svg_sup(+,100,0,-1.4ex) svg_it(B)" at last [].Out ljust wid 1.2 -#"svg_it(A) svg_font(Latin,,,"O")`'svg_sup(+,100,0,-1.4ex) svg_it(B)" at last [].Out ljust -') - -# single gate - XOR: Autologix(Xor(A,B)) - labels - -# canonical form - Autologix(Or(And(A,Not(B)),And(Not(A),B))) \ - with .nw at last [].sw+(0,-1) - labels - -# mixed gates - Autologix(And(Nand(A,B),Or(A,B))) \ - with .nw at last [].nw+(8,0) - labels - -# nand realization - Autologix(Nand(Nand(Nand(A,A),B),Nand(Nand(B,B),A))) \ - with .nw at 2nd last [].sw+(0,-1) - labels - -# nor realization - Autologix(Nor(Nor(Nor(A,A),Nor(B,B)),Nor(A,B))) \ - with .nw at last [].nw+(8,0) - labels - -# These functions contain topologies in common so write a macro -define(`customAB', - `S: Autologix(N`$1'(N`$1'(A,B1),N`$1'(B1,B)),N) with .Out at Here - line thick lineth from S.In2 to S.In3; InAB: dot(at last line.c) - line thick lineth from InAB left 2*L_unit - TN: Autologix(N`$1'(A,B)) with .Out at Here - line thick lineth from TN.InA up 3*L_unit; InA: Here - line thick lineth from TN.InB up 3*L_unit; InB: Here - line thick lineth from S.In4 to (InB,S.In4) then to (InB,TN.In2); dot - line thick lineth from S.In1 to (InA,S.In1); dot') - - [ customAB(and) - Out: S.Out - ] with .nw at 2nd last [].sw+(0,-1) - labels - - [ linethick = gatelineth - H: NOR_gate(2); linethick = lineth - L:dot(at H.w-(2*L_unit,0)) - line from H.In1 to (L,H.In1) then to (L,H.In2) then to H.In2 - line from L left 2*L_unit - customAB(or) - Out: H.Out - ] with .nw at last [].nw+(8,0) - labels - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/XformSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/XformSVG.m4 deleted file mode 100644 index 8d8805f59b7..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/XformSVG.m4 +++ /dev/null @@ -1,41 +0,0 @@ -divert(-1) -# `XformSVG.m4' -define(`trlabels', - `{ thinlines_ - ifelse(`$1',R, - `arrow from `$3'.P1 <- right 0.12 up 0.072 chop 1pt__ ; "P1" ljust - arrow from `$3'.P2 <- right 0.12 down 0.072 chop 1pt__ ; "P2" ljust - arrow from `$3'.TP <- right 0.12 chop 1pt__ ; "TP" ljust - arrow from `$3'.S1 <- left 0.12 up 0.072 chop 1pt__ ; "S1" rjust - arrow from `$3'.S2 <- left 0.12 down 0.072 chop 1pt__ ; "S2" rjust - arrow from `$3'.TS <- left 0.12 chop 1pt__ ; "TS" rjust - ',` - arrow from `$3'.P1 <- left 0.12 up 0.072 chop 1pt__ ; "P1" rjust - arrow from `$3'.P2 <- left 0.12 down 0.072 chop 1pt__ ; "P2" rjust - arrow from `$3'.TP <- left 0.12 chop 1pt__ ; "TP" rjust - arrow from `$3'.S1 <- right 0.12 up 0.072 chop 1pt__ ; "S1" ljust - arrow from `$3'.S2 <- right 0.12 down 0.072 chop 1pt__ ; "S2" ljust - arrow from `$3'.TS <- right 0.12 chop 1pt__ ; "TS" ljust - ') - `"'`$2'`"' at `$3'.s+(0,-(`$4')) - thicklines_ } ') -divert(0)dnl -.PS -cct_init(svg_font(sans-serif,11bp__)) - -move right 0.5 - down_ - T1: transformer - trlabels(,`transformer',T1,0.3) - T2: transformer(down_ 0.6,,2,P,8) with .w at T1.e+(1,0) - trlabels(,`...(down_ 0.6,,2,P,8)',T2,0.3) - T3: transformer(,,8,WD12,4) with .w at T2.e+(1,0) - trlabels(,`...(,,8,WD12,4)',T3,0.23) - T4: transformer(,,9,AL) with .sw at T3.se+(1,0) - trlabels(,`...(,,9,AL)',T4,0.3) - T5: transformer(,R,8,AW) with .sw at T4.se+(1,0) - trlabels(R,`...(,R,8,AW)',T5,0.3) -move right 0.4 from last [].e - -command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/Xtest.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/Xtest.m4 deleted file mode 100644 index 67580438164..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/Xtest.m4 +++ /dev/null @@ -1,58 +0,0 @@ -.PS -# test.m4 -gen_init - -divert(-1) - -divert(0)dnl - -gs = 0.1 -gw = 3 -gh = 3 -define grid {($1*gs,$2*gs)} -B: box invis wid gw+2 ht gh+2 with .c at (0,0) -bix = gw/gs/2 -G:[ -C: 0,0 -for i=-bix to bix do { line wid 0.4 outlined "gray" from grid(-bix,i) right gw } -for i=-bix to bix by 5 do { sprintf("%g",i) at grid(-bix,i) rjust } -for j=-bix to bix do { line wid 0.4 outlined "gray" from grid(j,-bix) up gh } -for j=-bix to bix by 5 do { sprintf("%g",j) at grid(j,-bix) below } - - line from grid(-bix,0) right gw - line from grid(0,-bix) up gh -] with .C at B - -textoffset = 0 -xwid = 0.71; svg_font(Times,72bp__) -#xwid = 0.65; svg_font(sans-serif,72bp__) -#xwid = 0.64; svg_font(Arial,1) -#xwid = 0.64; svg_font(Helvetica,1) -#xwid = 0.54; svg_font(Courier,1) -#xwid = 0.67; svg_font(Cursive,1) -#xwid = 0.64; svg_font(Verdana,1) -#xwid = 0.70; svg_font(Georgia,1) -#xwid = 0.70; svg_font(Palatino,1) -#xwid = 0.70; svg_font(Garamond,1) -#xwid = 0.70; svg_font(Bookman,1) -##xwid = 0.70; svg_font(Comic Sans MS,1) -#xwid = 0.55; svg_font(Trebuchet MS,1) -#xwid = 0.78; svg_font(Arial Black,1) -#xwid = 0.49; svg_font(Impact,1) -[ -C: 0,0 - "X" wid xwid at grid(0,0) above ljust ; showbox_(last "") - "X" wid xwid at grid(0,0) below ljust ; showbox_(last "") - "X" wid xwid at grid(0,0) above rjust ; showbox_(last "") - "X" wid xwid at grid(0,0) below rjust ; showbox_(last "") -] with .C at G.C -[ - Q: box wid gw ht gh "X" ljust "Y" rjust "Z" - line from Q.n to Q.s; line from Q.w to Q.e -] with .w at B.e - - "X" wid xwid at G.n above; showbox_(last "") - - - command "" -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/controlSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/controlSVG.m4 deleted file mode 100644 index 29f80df2214..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/controlSVG.m4 +++ /dev/null @@ -1,224 +0,0 @@ -.PS -# controlSVG.m4 -gen_init(svg_font(Times,11bp__)) - linewid = linewid*0.8 - circlerad = 0.25/2 - bw = boxwid/2 - bh = boxht/2 - maxpsht = 15 - -# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . # - -PID: [ - {"svg_it(r(s))" above ljust} - arrow -S1: circle - line right "svg_it(e(s))" above - { arrow right ; box ht bh wid bw "svg_it(K)svg_sub(P)" - arrow right linewid-circlerad ; S2: circle } - { line up linewid ; arrow right ; box ht bh wid bw "svg_it(K)svg_sub(D)s" - line to (S2,Here) ; arrow to S2.n } - { line down linewid ; arrow right ; box ht bh wid bw "svg_it(K)svg_sub(I)/s" - line to (S2,Here) ; arrow to S2.s } - arrow right from S2.e "svg_it(u(s))" above - box "svg_it(G(s))" - arrow right ; "svg_it(y(s))" above rjust at Here+(0,2pt__) - line down boxht*3/2 from last arrow.c then left last arrow.c.x-S1.x - arrow to S1.s - "svg_it(-)" rjust at Here+(-2bp__,-2bp__) -] - "(a) svg_it(PID) control" below ljust at PID.sw+(0,-5pt__) - -# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . # - -# https://tex.stackexchange.com/questions/575592/how-to-create-a-controls-system-diagram -Observer: [ - define(`thickarrow',`arrow thick 3 wid 7bp__') - define(`thickline',`line thick 3') - fillval = 0.6 - boxwid = 0.3 - boxht = 0.4 - circlerad = 0.1 - {"svg_it(r)" above ljust} -R: arrow -S: circle fill - {"svg_thinsp`'svg_it(-)" below ljust at S.s - "svg_it(+)" above rjust at S.w+(2bp__,0)} -{ PLT: box invis fill 0.9 wid 3.1 ht 1.2 with .nw at Here+(0.3,boxht*3/4) - "svg_it(Plant)" at PLT.sw above ljust } -U: arrow right 0.4 - {"svg_it(u)" at last arrow+(2bp__,0) above } -Bp: box fill "svg_it(B)" - thickarrow right 0.4 -Sp: circle fill - {"svg_thinsp`'svg_it(+)" below ljust at Sp.s - "+" above rjust at Sp.w+(2bp__,2bp__)} - thickarrow right 0.4 - {"svg_bf(x)" at last arrow + (0,7bp__); "." at last "".n +(0,textoffset)} -Ip: box fill "svg_it(I/s)" - thickarrow right 1 - {"svg_bf(x)" at last arrow + (0,7bp__) } -Cp: box fill "svg_it(C)" -# print Cp.e.x - Bp.w.x + 0.2 - thickline right 0.4 -Yp: thickarrow - {"svg_bf(y)" at last arrow + (0,7bp__) } -Ap: box fill "svg_it(A)" with .n at Ip.s+(0,-boxht/2) - thickarrow <- from Ap.e right 0.4 then up Ip.y-Ap.y - thickarrow from Ap.w to (Sp,Ap) then to Sp.s -# print PLT.n.y-Ap.s.y+0.1 -# -K: box fill "svg_it(K)" at Ap + (0,-boxht*3/2) - arrow from K.w to (S,K) then to S.s - {OBS: box invis fill 0.9 wid 4.3 ht 1.8 with .nw at (S.w,K.s)-(0.1,0.1) - "svg_it(Observer)" at OBS.sw ljust above } -Io: box fill "svg_it(I/s)" at K + (0,-boxht*3/2) - thickarrow <- from Io.w left 0.4 - {"svg_bf(x)" at last arrow + (0,7bp__); "svg_circ" at last "" - "." at last "".n above} -Sxo: circle fill - {"svg_thinsp`'svg_it(+)" below ljust at Sxo.s - "svg_it(+)" above rjust at Sxo.w+(2bp__,2bp__)} - thickarrow <- left 0.4 -SLo: circle fill - {"svg_thinsp`'svg_it(+)" below ljust at SLo.s - "svg_it(+)" above rjust at SLo.w+(2bp__,2bp__)} - thickarrow <- left 0.4 -Bo: box fill "svg_it(B)" - arrow from 1/4 between U.start and U.end up boxht*3/4 \ - then left 2*boxht then down Bp.y-Bo.y+boxht*3/4 then to Bo.w -Ao: box fill "svg_it(A)" with .n at Io.s+(0,-boxht/2) - thickline from Io.e right 0.4 - {thickarrow <-> from K.e to (Here,K.e) then to (Here,Ao) then to Ao.e - thickarrow from Ao.w to (Sxo,Ao.w) then to Sxo.s } -Xhat: Here -Co: box fill "svg_it(C)" at (Cp,Here) - thickarrow right 0.4 - {"svg_bf(y)" at last arrow + (0,7bp__); "svg_circ" at last ""} - { thickarrow from Xhat to Co.w } - {"svg_it(x)" at last arrow + (0,7bp__); "svg_circ" at last "" } -Syo: circle fill - {"svg_it(+)" above ljust at Syo.n - "svg_it(-)" above rjust at Syo.w+(2bp__,2bp__)} - thickarrow <- from Syo.n to (Syo,Cp) -Lo: box fill "svg_it(L)" with .n at Ao.s+(0,-boxht/2) -# print Io.n.y+0.1 - (Lo.s.y-0.1) - thickarrow from Syo.s down Syo.s.y-Lo.y then to Lo.e - thickarrow from Lo.w to (SLo,Lo.w) then to SLo.s - ] with .nw at last [].sw+(0,-0.5) - -Eqns: [ {"svg_it(r)" above ljust} - ex = textht*2/3 - define(`DDt',`svg_frac(svg_it(d):1*ex,svg_it(dt):2*ex)') - arrow -S: circle - "svg_it(-)" below rjust at S.s - arrow <- down linewid/2 from S.s - box ht bh wid bw "svg_it(K)" - arrow <- down linewid/2 - line right linewid - {"svg_hat(svg_bf(x))" at last line.c above } -Obs:box wid linewid*5 ht boxht*5/4 - [ DDt; "svg_hat(svg_bf(x)) svg_it(= (A-LC)) svg_hat(svg_bf(x)) - svg_it(+ Bu + L)svg_bf(y)" wid 1.5 ljust ] at Obs - "svg_it(Observer)" above ljust at Obs.sw - arrow <- right linewid/2 from 3/4 - line to (Here,S) - {"svg_it(u)" above at Here+(linewid/2,0)} - arrow from S.e to Here+(linewid,0) -Plant: box wid boxwid*3/2 ht boxht*5/4 - [ DDt; "svg_bf(x) svg_it(= A) svg_bf(x) svg_it(+ Bu)" wid 0.8 ljust - "svg_bf(y) svg_it( = C) svg_bf(x)" wid 0.6 ljust \ - at last "".w + (0,-textht*2) ] at Plant+(0,0.05) - "svg_it(Plant)" above ljust at Plant.sw - arrow right from Plant.e - "svg_it(y)" above rjust at Here+(0,2pt__) - move to last arrow.c - line to (Here, 1/4) - arrow to (Obs.e,Here) - ] with .nw at last [].sw+(0,-0.1) - "(b) Plant with feedback from a full-order observer" \ - below ljust at Eqns.sw+(0,-5pt__) - -# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . # - -Multiblock: [ -boxht = 0.4 -boxwid = boxht - -define summer { circle - {line from last circle.nw to last circle.se - line from last circle.sw to last circle.ne - "svg_it($1)" at 0.6 between last circle and last circle.n - "svg_it($2)" at 0.6 between last circle and last circle.s - "svg_it($3)" at 0.6 between last circle and last circle.e - "svg_it($4)" at 0.6 between last circle and last circle.w } -} - - arrow "svg_it(E`'svg_sub(1))" above -S1: summer(,-,,+) - linewid = boxwid/2 - arrow "svg_epsilon" above - [box "svg_it(H)svg_sub(1)"; arrow; box "svg_it(H)svg_sub(2)"] - arrow -S2: summer(-,,,+) - arrow -T: [box "svg_it(H)svg_sub(3)"; arrow; box "svg_it(H)svg_sub(4)"] - line -Y: Here - arrow - "svg_it(S)svg_sub(1)" above -R1: box "svg_it(R)svg_sub(1)" at (T.x,T.y+boxht*3/2) - arrow from Y to (Y,R1) then to R1.e - arrow from R1.w to (S2,R1) then to S2.n - "svg_it(n)svg_sub(1)" ljust at S2.n+(0,boxht/2) - left -Rf: [box "svg_it(R)svg_sub(2)"; arrow; box "svg_it(R)svg_sub(3)"] \ - at ((S1.x+T.x)/2,T.y-boxht*3/2) - arrow from T to (T,Rf) then to Rf.e - arrow from Rf.w to (S1,Rf) then to S1.s - "svg_it(n)svg_sub(2)" at S1.s+(0,-boxht/2) ljust -] with .nw at Eqns.sw + (0,-0.3) - "(c) A multiblock example" below ljust at Multiblock.sw+(0,-5pt__) - -# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . # - -Nonlinear: [boxwid = boxwid*3/2; boxht = boxht*3/2 - thicklines_ - boxwid = boxwid*0.6 - boxht = boxht/2 -R: box "reference" "svg_it(R)" - arrow right linewid*4/3 - {"svg_it(y)svg_sub(c)[ref]" at last arrow+(0,textht/3) above } -Gh: box "\"i`'nverse\"" "of svg_it(G)" - arrow from Gh.s down "svg_it(y)svg_sub(m)[ref]" ljust -E: circle - arrow from E.e right "svg_it(e)" above - box "stabilizer" "svg_it(K)" - arrow "svg_delta`'u" above -D: circle - line from Gh.e to (D,Gh.e) "svg_it(u)[ref]" above - arrow to D.n - arrow from D.e right "svg_it(u)" above -G: box "plant" "svg_it(G)" - arrow <- from G.n up boxht/2; "disturbance svg_it(z)" above - arrow right from G.e + (0,boxht/4); "svg_it(y)svg_sub(c)" wid 0.2 ljust - arrow right from G.e + (0,-boxht/4); "svg_it(y)svg_sub(m)" ljust - move to last arrow.c - arrow down Here.y-G.s.y+boxht*2/3 then left Here.x-E.x then to E.s - "svg_it(-)" rjust below - arrow <- down from R.s - "svg_it(W) control input" at Here - (0,0.1) -UL:R.nw +(-boxht/2,boxht/2) -UR:(D.e,UL) + (0.1,0) - line dashed from UL to UR then to (UR,G.s+(0,-boxht*3/2)) - line dashed to (Gh.w,Here) "Controller" above - line dashed to (Here,Gh.s+(0,-boxht/2)) - line dashed to (UL,Here) then to UL -] with .nw at last [].sw + (0,-0.3) - "(d) Nonlinear feedforward (for performance) and small-signal feedback - (for stability)" below ljust at Nonlinear.sw+(0,-5pt__) - -#print PID.n.y - Nonlinear.s.y -command "" -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/cscSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/cscSVG.m4 deleted file mode 100644 index 05cf0c70d44..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/cscSVG.m4 +++ /dev/null @@ -1,249 +0,0 @@ -.PS -#.PS 3.5 -# csc.m4 -# This file includes AntiqueClock and works for PSTricks, Tikz, and SVG -gen_init -NeedDpicTools - -skale = 0.878 -circlerad=1.91*skale -hubrad=0.10*skale -s=0.5*skale - -define(`midnight',`0.1, 0.1, 0.44') -define(`white',`1, 1, 1') -define(`spokewidth',0.1) -define(`spoke',`dnl - {line from rvec_(0,hubrad-spokewidth/2) to rvec_(circlerad-0.05,0)} - {line from rvec_(0,-(hubrad-spokewidth/2)) to rvec_(circlerad-0.05,0)}') -define(`lwid',1) -define(`coord',`(s*(`$1'),s*(`$2'))') - -# Circle and spokes -CSC: [ -rgbdraw(midnight, - linethick=`0.'eval(lwid*15)/(1pt__) - {circle with .c at Here - circle invis diam last circle.diam + linethick pt__ at last circle } - linethick=spokewidth/(1pt__) - for angle = 0 to 330 by 30 do { - Point_(angle) - {spoke} - } - ) - -# Whiten where the hull will be - linethick=`0.'eval(lwid*20)/(1pt__) - rgbdraw(white, - Point_(-60){line to rvec_(circlerad*0.72,0)} - Point_(-90){line to rvec_(circlerad*0.72,0)} - Point_(-120){line to rvec_(circlerad*0.72,0)} - - linethick=`0.'eval(lwid*15)/(1pt__) - {move to coord(1.8,-2.3)+(0,0.025) - spline to Here+coord(-0.8,-0.3) then to Here+coord(-1.8,-0.3) \ - then to Here+coord(-2.18,-0.27) \ - then to Here+coord(-3.93,-0.1)} - ) - -# Sail - thinlines_ - rgbfill(midnight, - line from coord(0.44,3.38) to coord(0.44,2.6) \ - then to coord(2.1,-1.75) \ - then to coord(1.22,-1.53) \ - then to coord(0.62,-1.4) \ - then to coord(0.55,-1.6) \ - then to coord(-2.2,-1.6) \ - then to coord(-2.35,-1.5) - spline to coord(-2.14,-0.78) \ - then to coord(-1.74,0.22) \ - then to coord(-1.42,0.89) \ - then to coord(-0.92,1.73) \ - then to coord(0,2.9) \ - then to coord(0.44,3.38) - ) - -# Hull - rgbfill(midnight, - spline from coord(2.1,-1.75) to coord(1.9,-2.2) \ - then to coord(1.85,-2.3) then to coord(1.8,-2.33) \ - then to coord(1,-2.5) then to coord(0,-2.6) then to coord(-0.38,-2.57) \ - then to coord(-2.13,-2.4) - line to coord(-2.2,-2.05) then to coord(2.1,-1.75) - spline to coord(-1,-2.08) then to coord(0.55,-1.77) - ) - ] - -Clock: [ -# PSTricks, tikz, or svg only: -ifelse(ifpstricks(T)`'ifpgf(T)`'ifsvg(T),T,` -#.PS -# AntiqueClock.m4 -#gen_init -#NeedDpicTools - -iflatex(`latexcommand({\sf)') -ifsvg(svg_font(font-family="sans-serif" font-stretch="condensed") -# svg_rot_init(test)) - svg_rot_init(cscSVG)) - -# https://tex.stackexchange.com/questions/236923/generate-analog-clock-with-numbered-face-add-seconds-roman-numerals - -# `hms2deg(hr,min,sec) hr:min:sec to degrees -# blank arg1: degrees for minute hand -# blank arg1 and arg2: degrees for second hand' -define(`hms2deg',`ifelse(`$1',, - `ifelse(`$2',, - `(90-pmod(ifelse(`$3',,0,`$3'),60)/60*360)', - `(90-(pmod(`$2',60)/60 + pmod(ifelse(`$3',,0,`$3'),60)/60/60)*360)')', - `(90-(pmod(`$1',12) + pmod(ifelse(`$2',,0,`$2'),60)/60 + dnl - pmod(ifelse(`$3',,0,`$3'),60)/3600)/12*360)')') - -# `SecondHand(length,hr,min,sec)' -define(`SecondHand',`[ shsf = (`$1')/3.2 - C: Here - { L: rpoint_(to (Rect_(`$1',hms2deg(,,`$4')))) } - line thick 8*shsf to rvec_(`$1',0) - ]') - -# `AntiqueMinuteHand(length,hr,min,sec)' -define(`AntiqueMinuteHand',`[ mhsf = (`$1')/2.84 - L: rpoint_(to (Rect_(`$1',hms2deg(,`$3',`$4')))) - C: circle fill_(0) diam 0.47*mhsf at L.start - move to C - spline from rvec_(0,0.047*mhsf) \ - to rvec_(1.65*mhsf,0.11*mhsf) \ - then to rvec_(`$1',0.018*mhsf) \ - then to rvec_(`$1',-0.018*mhsf) \ - then to rvec_(1.65*mhsf,-0.11*mhsf) \ - then to rvec_(0,-0.047*mhsf) \ - shaded rgbstring(0,0,0) - ]') - -# `AntiqueHourHand(length,hr,min,sec)' -define(`AntiqueHourHand',`[ hhsf = (`$1')/2.2 - L: rpoint_(to (Rect_(`$1',hms2deg(`$2',`$3',`$4')))) - C: circle fill_(0) diam 0.6*hhsf at L.start - move to C - v = 0.25*hhsf - { line to rvec_(1.1*hhsf,0) thick 0.15/(1bp__)*hhsf } - C1: rvec_(1.25*hhsf,0) - d = `$1'-1.25*hhsf - q = 1bp__*hhsf - r1 = (d^2 + q^2 - v^2)/(v-q)/2 - tang = atan2((r1+q),d) - for i=0 to 3 do { - X[i]: C1+vec_(rect_(v, pi_+i/3*( tang-pi_))) - Y[i]: C1+vec_(rect_(v,-pi_+i/3*(-tang+pi_))) - } - n = 3 - for i=1 to 4 do { aa = -pi_+tang + i/4*(pi_/2-tang) - XX: (d,r1+q)+(rect_(r1,aa)) - n+=1; - X[n]: C1+vec_(XX.x, XX.y) - Y[n]: C1+vec_(XX.x,-XX.y) - } - m = n - for i= 0 to m do { n+=1; X[n]: Y[m-i] } - fitcurve(X,n,shaded rgbstring(0,0,0)) - ]') - - -define(`AntiqueClock',`[ # h,m,s,diam -# Clock size parameters: - hour = ifelse(`$1',,3,`$1') - minute = ifelse(`$2',,41,`$2') - second = ifelse(`$3',,51,`$3') - # outer radius - ifelse(`$4',,`skale=0.5; r1=2',`r1=(`$4')/2; skale=r1/4') - r2 = r1-0.5*skale - r3 = r2-0.14*skale - r4 = r3 - 0.35*skale - r5 = r4 - 0.17*skale - r6 = r5 - 0.63*skale - r7 = r6 - 0.17*skale - shadelinethick = 1.0 - -C: circle thick 0.2 rad r1 - -define shadeline { - s = 1-($`'1)*2 - v = r*s - h = sqrt(r^2-v^2) - t = 1-abs(s) - line from (vrot_(-h,v,cost,sint)) to (vrot_(h,v,cost,sint)) \ - thick shadelinethick outlined rgbstring(t,t,t) - } - - r = r1 # Bezel outer - nlines = int(2*r/(shadelinethick pt__)*1.1) - cost = cosd(10); sint = sind(10); - ShadeObject(shadeline,nlines, 0, 0,0,0, 0.5, 1,1,1, 1, 0,0,0 ) at C - - r = r2 # Bezel inner - nlines = int(2*r/(shadelinethick pt__)*1.1) - cost = cosd(-10); sint = sind(-10); - ShadeObject(shadeline,nlines, 0, 0,0,0, 0.25, 0.8,0.8,0.8, 0.5, 1,1,1, - 0.75, 0.8,0.8,0.8, 1, 0,0,0 ) at C - -# Clock face -Face: circle thick 0 fill_(1) rad r3 at C - circle rad r4 at C - circle rad r5 at C - circle rad r6 at C - circle rad r7 at C - -# Ad hoc shift of rotated SVG text - ifsvg(`define adj {+(-cosd($`'1)*textht*0.5*sign(180-($`'1)),\ - (0.25+0.25*cosd(2*($`'1)))*textht) }', - `define adj {}') - define adj {} - -# Outer numbers - iflatex(`command sprintf("\font\outerfont=cmss12 at %4.2fin",r3-r4)') - ifsvg(`textht = (r3-r4)*0.6') - for_(-15,15,5,`aa=90-(m4x)*6 - r_text(eval(-(m4x)*6),eval((m4x+60)%60), - at C+(Rect_((r3+r4)/2,aa)) adj(aa))') - for_(20,40,5,`aa=450-(m4x)*6 - r_text(eval(180-m4x*6),m4x,at C+(Rect_((r3+r4)/2,aa)) adj(aa))') -# Outer tics - for mn = 1 to 60 do { t = 90-mn/60*360 - line from C+(Rect_(r5,t)) to C+(Rect_(r4,t)) } - -# Inner numbers - iflatex(`command sprintf("\font\innerfont=cmss12 at %4.2fin",r5-r6)') - ifsvg(`textht = (r5-r6)*0.6') - Loopover_(`mx',`aa=180-(m4Lx-1)*30 - r_text(eval(120-m4Lx*30),iflatex({\innerfont mx},mx), - at C+(Rect_((r5+r6)/2,aa)) adj(aa))', - IX,X,XI,XII,I,II,III) - Loopover_(`mx',`aa=360-m4Lx*30 - r_text(eval(90-m4Lx*30), iflatex({\innerfont mx},mx), - at C+(Rect_((r5+r6)/2,aa)) adj(aa))', - IV,V,VI,VII,VIII) - -# Inner tics - for mn = 5 to 60 by 5 do { t = 90-mn/60*360 - line from C+(Rect_(r7,t)) to C+(Rect_(r6,t)) } - -# Hands - AntiqueHourHand(r6,hour,minute,second) with .C at C - AntiqueMinuteHand(r5,hour,minute,second) with .C at C - SecondHand((r3+r4)/2,hour,minute,second) with .C at C - -# Center - dot(at C,0.1/4*r1,1) - ]') `# AntiqueClock' - - Clock1: AntiqueClock(,,,3.5) -# Clock2: AntiqueClock(4,50,07,2) at Clock1.e+(1.5,0) - - iflatex(`latexcommand(}%)') - ifsvg(`command ""') - -#.PE -',` "AntiqueClock.m4 requires PSTricks, Tikz-pgf, or SVG" ') - ] with .sw at last [].se+(0.25,0) -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/diamondSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/diamondSVG.m4 deleted file mode 100644 index 3c5e0f5bfea..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/diamondSVG.m4 +++ /dev/null @@ -1,34 +0,0 @@ -.PS -# diamond.m4 -# See LaTeX Graphics Companion pp 57-58 -gen_init -dimen = 1.5*scale -ratio = 0.9 -n = 30 - -North: (0,dimen) -East: (dimen,0) -South: (0,-dimen) -West: (-dimen,0) - -define(`square', - `shade(`$1', - line from North to East then to South then to West then to North) - ') - -define(`diamond',`[ -for i = 2 to n do { - square(`$1') - Tmp: North - North: ratio between East and North - East: ratio between South and East - South: ratio between West and South - West: ratio between Tmp and West - }]') - -linethick = 0 -diamond( i % 2 ) -linethick = 0.4 -diamond( (n-i)/(n-2) ) with .w at last [].e+(0.25,0) - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex00SVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex00SVG.m4 deleted file mode 100644 index 97c52687257..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex00SVG.m4 +++ /dev/null @@ -1,94 +0,0 @@ -.PS -# ex00.m4 -gen_init(svg_font(sans-serif,11bp__)) - -[ -thicklines_ -ewid = 2 -eht = 0.5 -E: ellipse wid ewid ht eht - - [ narrows = 5 - de = ewid/narrows - for i=0 to narrows do { - arrow down from i*de,0 } - ] with .s at E.n+(0,0.25) - - "svg_bf(B)svg_it((t))" at last [].c - -thinlines_ - arrow from E.c to E.ne - box invis fill_(1) ht 0.12 wid 0.12 with .c at last arrow.c "svg_it(r)" - - command "" # end font -] -[ -# ex07.m4 -#gen_init - -Barrel: box invis ht 0.4 wid 1.5 - up -Face: arc rad 2.6 from Barrel.e+(2.4,-1.7/2) to Barrel.e+(2.4,1.7/2) - - eps = 0.03 - arc ccw rad 2.6 from Face.start-(eps,0) to Face.end-(eps,0) \ - with .c at Face.c-(eps,0) - line from Barrel.nw to Barrel.ne then to Face.end - line from Barrel.sw to Barrel.se then to Face.start - arc cw from Barrel.sw to Barrel.nw rad Barrel.ht*1.2 - -Cathode: Barrel.w+(0.3,0) -Term: Barrel.w+(-0.25,0) - dcath = 0.13 - dan = 0.12 - - line from Cathode up dcath/2 left dcath/2 then to Term.x,Cathode.y+dcath/2 - dot - line from Cathode down dcath/2 left dcath/2 then to Term.x,Cathode.y-dcath/2 - dot - - hole = 0.06 -Hole: line invis up hole from Cathode+(0.5,-hole/2) - line from Hole.end up dan-hole/2 then to Term.x,Cathode.y+dan; dot - line from Hole.start down dan-hole/2 then to Term.x,Cathode.y-dan; dot - - platewid = 0.25 - platesep = 0.15 -Plates: box invis wid platewid ht platesep at Barrel.e+(-platewid/2,0) - line right platewid from Plates.nw - line right platewid from Plates.sw - line up 0.3 from Plates.n - line down 0.3 from Plates.s - -linethick_(1.4) - - move to Cathode+(0.03,0) -Spot: 0.9 - arcto(Plates.c,Spot,(Plates.c.x-Cathode.x)*0.90,outlined "lightgrey" thick 2) - line to Spot chop 0 chop -0.02 outlined "lightgrey" thick 2 - -thinlines_ - - arrow <- from Cathode+(0.2,0.06) up 0.5 left 0.3 - "electron" above "gun" above - - arrow <- from Plates.nw+(0,0.06) up 0.5 left 0.3 - "deflection" above "plates" above - - arrow <- from 0.5+(0,0.06) up 0.5 left 0.3 - "electron beam" at Here+(-0.3,0) above - - spline <- from 1.015 right 0.1 up 0.1 then up 0.1 \ - then up 0.1 left 0.1 - "spot of light" rjust - - "vacuum" at 0.5+(-0.4,0) rjust - - arrow <- from Face.start+(0.1,0.5) left 0.6*1.4 down 0.3*1.4 - "phosphor coating" rjust - - arrow <- from 0.2 left 0.6 down 0.3 - "glass enclosure (tube)" rjust - -] with .sw at last [].se+(0.5,0) -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex01SVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex01SVG.m4 deleted file mode 100644 index dd22dd84941..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex01SVG.m4 +++ /dev/null @@ -1,80 +0,0 @@ -.PS -# TimerSVG.m4 -cct_init(svg_font(sans-serif,10.5bp__)) - -define(`ic555',`[Chip: box ht boxwid wid boxwid "555" - P7: "7" ljust at 1/6 - P6: "6" ljust at 1/2 - P2: "2" ljust at 5/6 - P4: "4" below at 1/3 - P8: "8" below at 2/3 - P3: "3" rjust at Chip.e - P1: "1" above at Chip.s - ]') - -Timer: [ - define(`elen_',`linewid') -Vs: dot - down_ - variable(`resistor(,,E); llabel(,svg_norm(1 M`'svg_ohm))'); - resistor(,,E); llabel(,svg_norm(100 k`'svg_ohm)) - capacitor(,E); llabel(svg_norm(220 svg_micro`'F)) -Zero: dot - - dot(at Vs+(elen_*4/3,0)) - resistor(,,E); llabel(,svg_norm(33 k`'svg_ohm)) - line to (Here,Zero) chop 0 chop elen_ -C2: capacitor; llabel(svg_norm(0.1 svg_micro`'F)) - dot - -IC1: ic555 with .P7 at C2.start + (elen_,0) - line from IC1.P4 to (IC1.P4,Vs); dot - line from IC1.P8 to (IC1.P8,Vs); dot - line from IC1.P1 to (IC1.P1,Zero); dot - line from IC1.P2 to (C2,IC1.P2); dot - crossover(from IC1.P7 to (Zero,IC1.P7),R,C2); dot - line from IC1.P6 left elen_/2 then down IC1.P6.y-IC1.P7.y; dot - line from IC1.P3 right elen_*2/3 -R: dot - line right_ elen_/3 -B: buzzer(,,C) with .In3 at Here - line from B.In1 to (R,B.In1) - reversed(`diode',to (Here,Vs),LE); "red" at last line.c+(elen_/2,0) - resistor(down_ elen_ from R,,E); llabel(,svg_norm(470 svg_ohm)) - diode(to (Here,Zero),LE); {"green" wid 0.4 at last line.c+(elen_*2/3,0)} - line to Zero chop 0 chop -elen_ - line up_ (Vs.y-Here.y)/3 - battery(up_ (Vs.y-Here.y)/3); rlabel(,,svg_norm(9 V)) - switch(to (Here,Vs),,D) - line to (R,Vs) -] -Ex01: [ -# ex01.m4 - -linewid = linewid*1.5 # let's make the circuit elements bigger than usual -define(`elen_',linewid) # but not longer - - del = elen_/4 # a spacing parameter - move right 0.4 -Vin: source(up_ elen_ + 2*del, V); llabel(,v`'svg_sub(s),) - - switch(right_ elen_,,C); rlabel(,t = svg_norm(0),) - resistor; llabel(,svg_norm(47 ohm),); b_current() - { "svg_it(i`'svg_sub(R))" at last arrow.end+(0,3bp__) above rjust } - - line right_ elen_/2 then down_ del - P:parallel_(`L:inductor(,W); llabel(,"L" wid 0.15,); b_current()', - `capacitor(,C); rlabel(+,v`'svg_sub(C),-); llabel(,,C)') - { "svg_it(i`'svg_sub(L))" at P.E1.L.start+(2bp__,0) ljust below } - line to (Here,Vin.start) then to Vin.start - - define(`meshcurrent',`[arc -> cw with .c at (0,0) \ - from (Rect_(`$1',-30)) to (Rect_(`$1',30)) "svg_it(`$2')"]') - - right_ - meshcurrent(del,i`'svg_sub(2)) at last[].C - meshcurrent(2*del,i`'svg_sub(1)) at Vin.start + (4*del,3*del) - ] with .sw at Timer.se+(0.5,0) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex02SVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex02SVG.m4 deleted file mode 100644 index ad2f7324fb7..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex02SVG.m4 +++ /dev/null @@ -1,52 +0,0 @@ -.PS -# ex02.m4 -cct_init -linewid = linewid*4/5 - -[ - [ for angle = 0 to 315 by 45 do { Point_(angle) - opamp(to rvec_(linewid*3/2,0)) with .Out at 0,0 } ] - resistor(down_ dimen_ from last [].s) - diode(down_ dimen_*2/3,LE) - diode(down_ dimen_*2/3,LER) - ground(,T) -] - -[ - define(`elen_',`dimen_*3/2') # restore defaults - define(`sourcerad_',`dimen_*0.25') - leng = elen_ - define(`fromcentre',`move to C+(-elen_/2,-elen_*cosd(15)/(2*sind(15)))') - C: dot - { fromcentre() - for i = 0 to 359 by 30 do { - Point_(i); inductor - } - } - define(`elen_',leng*0.8) - { fromcentre() - for i=0 to 359 by 30 do { - Point_(i); inductor(,W) - } - } - define(`elen_',leng*0.6) - { fromcentre() - for i=0 to 359 by 30 do { - Point_(i); resistor - } - } - define(`elen_',leng*0.4) - { fromcentre() - for i=0 to 359 by 30 do { - Point_(i); capacitor(,C) - } - } - define(`elen_',leng*0.2) - { fromcentre() - for i=0 to 359 by 30 do { - Point_(i); diode - } - } - ] with .sw at last [].se+(linewid,0) - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex03SVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex03SVG.m4 deleted file mode 100644 index ef1e6126d2b..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex03SVG.m4 +++ /dev/null @@ -1,37 +0,0 @@ -.PS -# ex03.m4 -cct_init(svg_font(sans-serif,11bp__)) - -circlerad = 0.35/2 -define(`elen_',`dimen_') -del = linewid*0.6 - - "svg_it(u`'svg_sub(k))" wid 0.15 above - line -{ - arrow right_ del -B0: circle "svg_it(b`'svg_sub(0))" - arrow right linewid/2 -S: circle - line right 2*circlerad + del + S.w.x-B0.e.x - {arrow ; "svg_it(y`'svg_sub(k))" wid 0.2 above } - down_ - delay - {line left_ del - circle "svg_it(-a`'svg_sub(1))" ; arrow from last circle to S chop} - line dashed down_ del - delay - {line left_ del - circle "svg_it(-a`'svg_sub(n))" ; arrow from last circle to S chop} -} - down_ - delay - {line right_ del - circle "svg_it(b`'svg_sub(1))" ; arrow from last circle to S chop} - line dashed down_ del - delay - {line right_ del - circle "svg_it(b`'svg_sub(n))" ; arrow from last circle to S chop} - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex04SVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex04SVG.m4 deleted file mode 100644 index 366cf24c05e..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex04SVG.m4 +++ /dev/null @@ -1,61 +0,0 @@ -.PS -# ex04.m4 -cct_init(svg_font(sans-serif,10bp__)) - -[ -pushdef(`elen_',`dimen_') # short elements -pushdef(`sourcerad_',`dimen_*0.2') -#linewid = 0.85 -linewid = 0.6 - -Ct:dot - Point_(-60); capacitor(,C); dlabel(0.14,0.14,,,C`'svg_sub(3)) -Cr:dot - left_; capacitor(,C); dlabel(0.14,0.14,C`'svg_sub(2),,) -Cl:dot - down_; capacitor(from Ct to Cl,C); dlabel(0.14,-0.10,C`'svg_sub(1),,) - -T:dot(at Ct+(0,elen_)) - inductor(from T to Ct); dlabel(0.12,-0.1,,,L`'svg_sub(1)) - - Point_(-30); inductor(from Cr to Cr+vec_(elen_,0)) - dlabel(0,-0.07,,L`'svg_sub(3),) -R:dot -L:dot( at (Cl-(Cos(30)*(elen_),0),R) ) - - inductor(from L to Cl); dlabel(-0.1,-0.1,L`'svg_sub(2),,,X) - - right_; resistor(from L to R); rlabel(,R`'svg_sub(2),) - move down 0.3 - - resistor(from T to R); dlabel(0,0.15,,R`'svg_sub(3),) - b_current(y,ljust above) - - line from L to 0.2 - source(to 0.5 between L and T); dlabel(sourcerad_+0.07,0.1,-,,+) - dlabel(0,sourcerad_+0.07,,u,) - resistor(to 0.8 between L and T); dlabel(0,0.15,,R`'svg_sub(1),) - line to T - ] -popdef(`elen_') -popdef(`sourcerad_') - -[ - Point_(225) -{B1: ebox ; b_current; dlabel(dimen_*0.4,-0.1,i`'svg_sub(1)) - dot - B4: ebox(to rvec_(rp_len,0)); b_current(,,,E); dlabel(dimen_*0.4,-0.1,,,i`'svg_sub(4)) } - Point_(-45) - B2: ebox ; b_current; dlabel(dimen_*0.4, 0.1,i`'svg_sub(2)) - dot - B7: ebox ; b_current; dlabel(dimen_*0.4, 0.1,i`'svg_sub(7)) - B3: ebox(from B1.end to B2.end); b_current; dlabel(dimen_*0.4,0.1,i`'svg_sub(3)) - dot(at (B1.start,B7.end)) -{B5: ebox(to B1.end); b_current; dlabel(dimen_*0.4,-0.09,i`'svg_sub(5))} -{B6: ebox(to B2.end); b_current; dlabel(dimen_*0.4, 0.09,i`'svg_sub(6))} -{B8: ebox(right_ to B4.end); b_current; dlabel(dimen_*0.4, 0.1,i`'svg_sub(8))} - B9: ebox(left_ to B7.end); b_current; dlabel(dimen_*0.4,-0.1,i`'svg_sub(9)) - ] with .w at last [].e+(0.5,0) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex05SVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex05SVG.m4 deleted file mode 100644 index 52284a3e334..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex05SVG.m4 +++ /dev/null @@ -1,115 +0,0 @@ -.PS -# ex05SVG.m4 -darrow_init - -Kalman: [ - fillval = 0.8 - - boxht = 0.35 - boxwid = 1.5*boxht - dx = boxht/5 - circlerad = boxht*3/8 - extlen=4*dx - indel = boxht/3 - define(`dlthick',dlthick*3/4) - -define(`overbar',`line right textht*0.8 \ - with .c at last box.c + ((`$1')*textht,0.7*textht)') - -COb: box fill_ "CO"; overbar(0.5) -CO:box fill_ with .nw at last box.se+(dx,-dx) "CO" -CbOb: box fill_ with .nw at last box.se+(dx,-dx) "CO" - overbar(-0.5); overbar(0.5) -CbO: box fill_ with .nw at last box.se+(dx,-dx) "CO"; overbar(-0.5) - - dline(from CbO.s down_ dx,,t,,!-) - dright -{Sum: circle invis at (CO,Here)} - darrow(to Sum.e) - -SW: (COb.w,Sum.s)+(-3*dx-extlen/2,-dx) -NE: (CbO.e,COb.n)+(dx,dx) - right_; -SB: shadebox(box wid NE.x-SW.x ht NE.y-SW.y with .sw at SW) - -U: COb.w-(3*dx+extlen,0) - {"svg_it(U)" wid 0.1 rjust at U} - dline(from U right_ extlen+dx,,t,,|-) -TU: dtee(R) - {darrow(to COb.w,t)} - dline(to (Here,CO),t,t) -{Dum: circle invis at (Here,Sum)} - dtee(L) - {darrow(to CO.w,t)} -{D: box "D" wid boxwid/2 ht boxwid/2 at 0.5} - darrow(to D.n,t) - darrow(from D.s to Dum.n,,,,,,!-) - - dline(up_ from CO.n to (CO,COb)-(0,indel),,t,,!-) - dleft; darrow(to (COb.e,Here)) - - dline(up_ from CbOb.n to (CbOb,COb),,t,,!-) - dleft; darrow(to COb.e) - - dline(from CbO.n-(indel,0) up_ CbOb.y-CbO.n.y,,t,,!-) - dleft; darrow(to CbOb.e) - - dline(up_ from CbO.n to (CbO,CO),,t,,!-) - dleft - dline(to (CbOb.w,Here)); darrow(to CO.e) - - dline(up_ from CbO.n+(indel,0) to (CbO,COb)+(indel,indel),,t,,!-) - dleft; darrow(to (COb.e,Here)) - - darrow(from CO.s to Sum.n,,,,,,!-) - - darrow(left_ from Sum.w to Dum.e) - dline(from Dum.w to (SB.w-(0.1,0),Dum)); darrow(to (U,Here)) - {"svg_it(Y)" rjust} - move left 0.23 - - circle at Sum - circle at Dum - ] -Coxeter: [ -# Coxeter.m4 - - customlinethick = 1.5 - - linethick = customlinethick - define(`dotrad_',`(3/2*linethick pt__)') - - Orig: (0,0) - for i=0 to 4 do { P[i]: dot(at (i*linewid,0)) } - line from Orig to P[4] - P[-1]: dot(at (Rect_(linewid, 120))); line to Orig - P[-2]: dot(at (Rect_(linewid,-120))); line to Orig - - Pa: dot(at P[4]+(linewid,0)); "svg_it(a)" at last [].n above - arrow from P[4] to Pa chop linewid/4 - Pd: dot(at Pa+(linewid,0)); "svg_it(d)" at last [].w rjust - Pe: dot(at Pd+(linewid,0)); "svg_it(e)" at last [].n above - Pf: dot(at Pe+(linewid,0)); "svg_it(f)" at last [].n above - Pb: dot(at Pd+(Rect_(linewid,120))); "svg_it(b)" at last [].w rjust - Pc: dot(at Pd+(Rect_(linewid,-120))); "svg_it(c)" at last [].w rjust - line from Pb to Pd then to Pc - line from Pd to Pf - - define(`customarc', - `pushdef(`dfillcolor',`0.7,0.7,0.7') linethick_(0.4); dnl - Darc(`$1',linewid, (`$2')*dtor_, (`$3')*dtor_, - thick=linewid/6; wid=linewid*0.3; ht=linewid/6; ends=<->)dnl - linethick_(customlinethick); popdef(`dfillcolor')') - - customarc((linewid,-linewid/3), 25,155) - "svg_it(d)" at (linewid,linewid*2/3) - customarc((2*linewid,-linewid/3), 25,155) - "svg_it(e)" at (2*linewid,linewid*2/3) - customarc((3*linewid,-linewid/3), 25,155) - "svg_it(f)" at (3*linewid,linewid*2/3) - customarc(Orig,130,230); "svg_it(a)" at (Rect_(linewid,180)) - customarc(Orig, 10,110); "svg_it(b)" at (Rect_(linewid, 60)) - customarc(Orig,-110,-10); "svg_it(c)" at (Rect_(linewid,-60)) - - ] with .sw at Kalman.se+(15bp__,0) -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex06SVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex06SVG.m4 deleted file mode 100644 index 9d3df657452..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex06SVG.m4 +++ /dev/null @@ -1,64 +0,0 @@ -.PS -# ex06SVG.m4 -gen_init(svg_font(font-family="Times" font-style="italic",11bp__)) - -F: box invis wid 1.6i ht 1.8i -E: box invis wid F.wid ht F.ht -G: box invis wid 1i ht F.ht - - ell = F.ht-0.6i - r = 0.3i - offset = 8bp__ - hatch = 0.1i - dhs = hatch * sqrt(2) - qmell = F.ht - ell - kwid = F.wid-qmell-r - - box wid G.e.x-F.w.x ht F.ht with .sw at F.sw thick linethick*3/2 - Loopover_(`B', - `line from B.ne to B.se thick linethick*3/2 - B`'T: B.se + (-qmell,qmell) - line from (B.w,B`'T) to B`'T chop 0 chop -offset - line from B`'T up ell chop -offset chop 0 - line from B`'T + (-r,0) up ell - line dashed from B`'T to B.se - "svg_fsize(0,110)" at B`'T + (-r/2,ell/2) - "svg_fsize(0,110)" at B`'T + (qmell/2,ell/2) - "t" at (B`'T,B.n) + (-offset/2,offset) - thinlines_ - arrow <-> from B.nw+(0,offset*2/3) right B.wid-qmell-r "k" above - for x = hatch to B`'T.x-B.w.x-r by hatch do {line down ell from B.nw+(x,0)} - for y = dhs to qmell by dhs do {line up y right y from (B.w,B`'T)+(0,-y)} - for x = y-qmell to B.wid-qmell*2 by dhs do { - line up qmell right qmell from B.sw+(x,0) } - for x = last line.start.x-B.w.x+dhs to B.wid by dhs do { - line up (B.wid-x)/2 right (B.wid-x)/2 from B.sw+(x,0) } - thicklines_ - ',F,E) - - line from (G.w,ET) right G.wid - line from ET + (0,r) left ET.x-E.w.x - - thinlines_ - for y = hatch to r by hatch do { line left r from ET+(0,r-y) } - for x = dhs to G.wid by dhs do { - line left x down x from G.nw+(x,0) } - for y=x-G.wid to G.ht-G.wid by dhs do { - line left G.wid down G.wid from G.ne+(0,-y) } - for x = y-(G.ht-G.wid) to G.wid by dhs do { - line right G.wid-x up G.wid-x from G.sw+(x,0) } - arrow <-> up r with .c at ET+(offset*2/3,r/2) "r" ljust - thicklines_ - - "q" at F.sw + (-offset,offset/3) - "l" at (F.w,FT) + (-offset,offset/3) - - "n+p+m" at G.ne + (0,offset) - - Loopover_(`B',`"B" ht 0.12 below at B.s+(0,-2bp__)',F,E,G) - -# Adjust the bounding box without using s_box: - move from F.nw+(-12bp__,21bp__) to G.se+(20bp__,-15bp__) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex08SVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex08SVG.m4 deleted file mode 100644 index aca3f41069a..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex08SVG.m4 +++ /dev/null @@ -1,83 +0,0 @@ -.PS -# ex08.m4 -log_init(svg_font(sans-serif,11bp__)) - -define(`del',`L_unit*5/2') - -# Input labels -C: "C" rjust at grid_(0,0) -DE: grid_(0,AND_ht*7/4) -A0: DE+grid_(0,BUF_ht*3/2); "A0" rjust at A0 -A1: A0+grid_(0,BUF_ht*3/2); "A1" rjust at A1 -A2: A1+grid_(0,BUF_ht*3/2); "A2" wid 0.2 rjust at A2 - move to (-0.2,0) # Lettering within the global object - -# Buffer strings -for_(1,3,1, - `line right 3*del from A`'eval(3-m4x) - B`'eval(2*m4x-1): NOT_gate; line right 2*del - T`'m4x: last line.c - B`'eval(2*m4x): BUFFER_gate(,N) ') - -B7: BUFFER_gate at (B1,C) - -G1: NOR_gate with .Out at (B1.Out,DE) -G2: NOR_gate at (B2+grid_(N_rad,0),G1-grid_(0,AND_ht)) -G3: AND_gate(4) with .In1 at (G2.Out+(9*del,0),A2) -G5: AND_gate(4) with .In4 at (G3.In1,G2.Out) -G6: AND_gate at G5+grid_(AND_wd,AND_ht*3/4)+(del*2,0) -G4: NOR_gate with .In1 at (G6.Out,G3)+(2*del,0) -G7: NOR_gate with .In2 at (G4.In2,G5.Out) - -# Output to other latches -TOL: (G2.Out,C)+(4*del,-4*L_unit) - move to TOL+(3*del,-del/3) ; {move down 0.15} - "To other latches" below - -# Remaining input lines - line from G1.In1 to (DE,G1.In1); "D" rjust - line from G1.In2 to (DE,G1.In2); "E" rjust - dot(at G1.In2-(del,0)); line to (Here,G2.In2) then to G2.In2 - line from C to B7.In1 - -# Connect Bi, and connect to output bus -for_(1,3,1, - `dot(at T`'m4x.c) ; line down (A2.y-A1.y)/2 - line to (TOL-(m4x*del,0),Here) ; arrow to (Here,TOL) ') - -# G1 to G2 - dot(at (T1.c,G1)); line to (Here,G2.In1) then to G2.In1 - -# Upper And inputs to output bus -for_(1,4,1, - `line left eval(5-m4x)*del from G3.In`'m4x - arrow to (Here,TOL) ') - - line from B2.Out to (G3.In1,B2)-(4*del,0) ; dot - line from B4.Out to (G3.In2,B4)-(3*del,0) ; dot - line from B6.Out to (G3.In3,B6)-(2*del,0) ; dot - line from G1.Out to (G3.In4,G1)-(del,0) ; dot - -# Lower And inputs - line left 4*del from G5.In1 ; dot - line left 3*del from G5.In2 ; dot - line left 2*del from G5.In3 ; dot - line from G2.Out to G5.In4 ; dot(at (TOL,Here)) ; arrow to (Here,TOL) - -# Fix up G4, G6, G7 - line from G3.Out to G4.In1 - line right del from G4.Out - {dot; line right del - "Q7" wid 0.2 ljust; move right 0.2 } # letters in object - line down 2*del then to G6.In1+(-del,del) - line to (Here,G6.In1) then to G6.In1 - line from G4.In2 to (G6.In1+(-del,0),G4.In2) - line down del then to G7.Out+(del,2*del) - line to (Here,G7) then to G7.Out - line from G6.Out right del ; line to (Here,G7.In1) then to G7.In1 - line from G5.Out to G7.In2 - line left del from G6.In2 ; arrow to (Here,TOL) - dot(at (Here,C)) ; line to B7.Out - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex09SVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex09SVG.m4 deleted file mode 100644 index b267c68ea09..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex09SVG.m4 +++ /dev/null @@ -1,131 +0,0 @@ -.PS -# ex09.m4 -# Illustrating the arguments of the `dimension_' and `arcdimension_' macros. -gen_init(svg_font(sans-serif,10bp__,3bp__)) -scale = 25 - -define(`spacer',` -[ -linethick_(1.0) - - WC: circle diameter 4.22 at 0,0 - EC: circle same at 30.15,0 - NC: circle diameter 2.36 at 13.28, 10.92/2 - SC: circle same at 13.28,-10.92/2 - - C: 0.5 # spacer centre - h = 27.26 # spacer height - s = 4.22/2 # small arc radius - r = h/2*0.80 # large arc radius - Cr: C+(0,h/2-r) # upper arc centre - e = s # small arc centre offset from small circle - Cs: EC+(e,0) # right arc centre - -# Tangent points Tr and Ts to circles at Cr and Cs - dx = Cr.x-Cs.x; dy = Cr.y-Cs.y; dsq = dx*dx+dy*dy - Tr: (r*(r-s)/dsq) + (vscal_(r*sqrt(dsq-(r-s)^2)/dsq,dy,-dx)) - Ts: (s/r)-(dx,dy) - - line from Tr to Ts - arc cw to (Ts.x,-Ts.y) with .c at Cs -E: last arc.e - line to (Tr.x,-Tr.y) - arc cw to (C.x-(Here.x-C.x),Here.y) with .c at (Cr.x,-Cr.y) -S: last arc.s - line to (Cs.x-Ts.x-s,Cs.y-Ts.y) - arc cw to (Here.x,-Here.y) with .c at (-e,0) -W: last arc.w - line to (C.x-(Tr.x-C.x),Tr.y) - arc cw to Tr with .c at Cr -N: last arc.n - -thinlines_ - dimension_(from S+(2,0) to N+(2,0),-(E.x-C.x+4),27.76, 5) - dimension_(from SC.n+(0,2) left SC.x-WC.x, (SC.n.y-S.y+3), 13.28, 10) - dimension_(from WC.n+(0,2) right EC.x-WC.x,-(WC.n.y-S.y+7), 30.15, 10) - dimension_(from W+(0,-1.5) to E+(0,-1.5), -(C.y-S.y+8), 41.28, 10) - dimension_(from SC.e+(2,0) up NC.y-SC.y, (SC.e.x-W.x+8),"10.92" wid 10, 5) - - arrow <- from EC left 6 up 16 chop EC.rad chop 0 - line left 4 "4.22 (2) PL" above - arrow <- from NC up last line.y-NC.y+7/8 left 8 chop NC.rad chop 0 - {"2.36" above} - arrow to SC chop 0 chop SC.rad - -] ') - -define(`sk',`scale*0.7') - -define(`bdot', - `dot(`$1',,0.5) - "svg_it($2)" $1 $3 ') - - thinlines_ - - move right 0.8 - -# Upper left diagram - spacer - -# Lower left diagram -[ define(`lwid',`29bp__') -A: bdot(at (0,0),A,below) -B: bdot(at (2*sk,0),B,below) -Ctr: 0.5 between A and B - move up 1*sk from A -L: move left 0.85*sk from A - - linethick_(1) - dimension_(from A to B,0.5*sk,svg_it(label),lwid,0.1*sk) - "`dimension_(from A to B,0.5,label,29bp__,0.1)'" wid 70 \ - with .w at (L.end.x+2,A.y-10) - move down_ 4 from last "" - - thinlines_ - arrow from A to B chop 0.05*sk "svg_it(linespec)" below - dimension_(up_ 0.5*sk from A,0.2*sk,"svg_it(offset)" rjust,,,->) - dimension_(up_ 0.1*sk from B,-0.2*sk," svg_it(tic offset)" ljust) - dimension_(up_ 0.1*sk from B+(0,0.5*sk),-0.2*sk, - " svg_it(tic offset)" ljust) - dimension_(from Ctr+(-lwid/2,0.5*sk) right lwid,0.2*sk, - "svg_it(blank width)" above) -] with .nw at last [].sw+(0,-0.4*sk) -#showbox_ - -# Upper right diagram -[ A: bdot(at (0,0),A, above rjust) - B: bdot(at (2*sk,0),B, above ljust) - C: bdot(at (0,-1.5*sk),C, above rjust) - D: bdot(at (2*sk,-1.5*sk),D, above ljust) - -T: C+(-1*sk,-0.5*sk) -T: C+(-0.45*sk,-0.5*sk) - dimension_(from A to B,0.3*sk,svg_it(AB),20bp__) - dimension_(from C to B chop dotrad_,,svg_it(X),16bp__) - dimension_(from C to A,0.3*sk,svg_it(CA),14bp__,,->) - dimension_(from D to B,-0.3*sk,"svg_it(DB)" ljust) - dimension_(from C to D chop dotrad_,,svg_it(T`'svg_sub(15)),15bp__) - arcdimension_(from C to D with .c at 0.5 between A and B,12bp__, - svg_it(C) to svg_it(D),34bp__) -Q: C+(-9,-15) - -`define' leftparagraph { [ baselineskip = textht*1.5; { move right $1 } - for i = 2 to $+ do { - move to Here+(0,-baselineskip) - exec sprintf("{ `\"$%g \"' wid 4.5*scale ljust }; ",i) } ] } - -leftparagraph(1.7*scale; baselineskip = 1.5*textht, - `dimension_(from A to B,0.3,AB,20bp__)', - `dimension_(from C to B,,X,16bp__)', - `dimension_(from C to A,0.3,CA,14bp__,,->)', - `dimension_(from D to B,-0.3,"DB" ljust)', - `dimension_(from C to D chop dotrad_,,T`'svg_sub(15),15bp__)', - `arcdimension_'svg_symbol(&`#'40;)`from C to D with .c at 0.5 \ - between A and B'svg_comma`12bp__'svg_comma, - svg_ensp `C to D'svg_comma`34bp__'svg_symbol(&`#'41;) - ) with .nw at Q - -] with .nw at 1st [].ne+(1.7*sk,0) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex10SVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex10SVG.m4 deleted file mode 100644 index 0c707781b35..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex10SVG.m4 +++ /dev/null @@ -1,62 +0,0 @@ -.PS -# ex10.m4 -cct_init(svg_font(sans-serif,11bp__)) - -[ - dt = 360/5 - r = 0.75 - - N0: dot(at (Rect_(r,90))) - N1: dot(at (Rect_(r,(90-dt)))) - N2: dot(at (Rect_(r,(90-2*dt)))) - N3: dot(at (Rect_(r,(90-3*dt)))) - N4: dot(at (Rect_(r,(90-4*dt)))) - - line from N0 to N1 then to N2 then to N3 then to N4 then to N0 - L14: line from N1 to N4 - L24: line from N2 to N4 - C02: crossover(from N0 to N2,,L14) - C13: crossover(from N1 to N3,,C02,L24) - C03: crossover(from N0 to N3,,L14,L24) - ] - -[ -move right 0.5 - up_ -setrgb(255,0,0) -Q1: bi_tr(,R) # Q1 upward with base to the right - llabel(,Q`'svg_sub(1)) - resetrgb # Label to left of last [] -setrgb(0,0,255) -Q2: bi_tr with .C at Q1.C+(elen_*7/4,0) # Q2 with base to left - rlabel(,Q`'svg_sub(2)) - resetrgb - move right 0.5 - - ground(at Q1.E) - ground(at Q2.E) - - line right_ dimen_/3 from Q1.B # Extend the base conductors -B1: Here - line left_ dimen_/3 from Q2.B -B2: Here - - resistor(up_ elen_*0.75 from Q1.C); llabel(,R`'svg_sub(L)) # Load resistors - line to (Q2.C,Here) "svg_it(V`'svg_sub(svg_norm(cc)))" below - resistor(down_ to Q2.C); llabel(,R`'svg_sub(L)) - - move to Q1.C+(0,dimen_/5) - { resistor(right_ to (B1,Here)); llabel(,R`'svg_sub(1)) -X: line to B2 } # Label the line to be jumped - resistor(from (Q2.C,Here) left_ to (B2,Here)); rlabel(,R`'svg_sub(1)) - crossover(to B1,R,X) - - resistor(down_ elen_*0.75); rlabel(,R`'svg_sub(2)) # Bias resistors - {"svg_it(-V`'svg_sub(svg_norm(cc)))" rjust} - line to (B2,Here) - resistor(up_ to B2); rlabel(,R`'svg_sub(2)) - ] with .sw at last [].se+(0.75,0) - - command "" # end font - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex11SVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex11SVG.m4 deleted file mode 100644 index cca63ef176c..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex11SVG.m4 +++ /dev/null @@ -1,75 +0,0 @@ -.PS -# ex11.m4 -cct_init(svg_font(sans-serif,11bp__,1bp__)) - - "audio" ljust - { arrow down_ elen_/4} - resistor(down_ 2*elen_) ; llabel(R`'svg_sub(17)) -G: ground - capacitor(right_ dimen_ from last [].c) ; rlabel(,C`'svg_sub(19)) - {arrow <- right_ arrowht from last line.start} - { resistor(down_ to (Here,G)); rlabel(,R`'svg_sub(19)) } -{R18: resistor(up_ elen_*1.2); llabel(,R`'svg_sub(18)) } - - line right_ elen_/4 ; up_ -Q4: bi_tr(,,,E) with .B at Here; llabel(,,Q`'svg_sub(4)) - resistor(down_ from Q4.E to (Q4.E,G)); rlabel(,R`'svg_sub(21)) - resistor(up_ from Q4.C to (Q4.C,R18.end)); llabel(,R`'svg_sub(20)) - line up_ elen_/4; dot; "svg_it(V`'svg_sub(CC))" ljust - -T1: Q4.C+(0,elen_/8) - - capacitor(right_ dimen_ from T1); llabel(,C`'svg_sub(20)) - { capacitor(down_ 0.5*(Here.y-G.y)); rlabel(,C`'svg_sub(21)) - resistor(right_ elen_); llabel(,R`'svg_sub(23)) - arrow <- from last [] to (last [],G) - } - resistor(right_ elen_); llabel(,R`'svg_sub(22)) - { resistor(down_ 0.5*(Here.y-G.y)); llabel(,R`'svg_sub(24)) - capacitor(down_ to (Here,G)); llabel(,C`'svg_sub(22)) } - - capacitor(right_ dimen_); llabel(,C`'svg_sub(23)) - { capacitor(down_ to (Here,G)); rlabel(,C`'svg_sub(24)) } - line right_ elen_/2 -Q5I: Here - line right_ elen_/4 ; up_ -Q5: bi_tr(,,,E) with .B at Here; rlabel(,Q`'svg_sub(5)) -R27: resistor(down_ dimen_ from Q5.E); rlabel(,R`'svg_sub(27)) - line to (Here,G) - resistor(from Q5I down_ Q5I.y-R27.end.y-elen_/12); rlabel(,R`'svg_sub(25)) - { capacitor(to (Here,G)); llabel(,C`'svg_sub(25)) } - - crossover(to (R27,Here)+(hoprad_,0),,R27) -R28: resistor(right_ elen_-hoprad_); llabel(,R`'svg_sub(28)) - resistor(down_ to (Here,G)); rlabel(,R`'svg_sub(30)) - line to G - - resistor(up_ from Q5.C to (Q5.C,R18.end)); llabel(,R`'svg_sub(26)) - line to R18.end - - up_ -Q6: bi_tr(,,,E) with .E at (R28.end.x,Q5.E.y+(T1.y-Q4.B.y)); llabel(,,Q`'svg_sub(6)) - - line from Q6.B to (Q5.C,Q6.B) - resistor(down_ from Q6.E to R28.end); rlabel(,R`'svg_sub(29)) - - line right_ dimen_*3/4 from Q6.C - - { R31: resistor(down_ elen_); circle diam dimen_*0.8 with .c at last line.c - "svg_it(R`'svg_sub(31))" below at last circle.sw - "svg_it(V)" below at last line.c+(dimen_/4,0) } - line right_ dimen_ - { capacitor(down_ elen_); rlabel(,,C`'svg_sub(26)) - line down_ elen_/4; dot; "svg_it(V`'svg_sub(SS))" ljust } - line right_ dimen_/2 -T6: transformer(down_ elen_) with .P1 at Here - line from T6.P2 to R31.end - {"svg_it(T`'svg_sub(6))" at T6.n above } - line right_ elen_/3 from T6.S1 - inductor(down_ elen_,W) - line to T6.S2 - - speaker(R) with .Box.w at last [].e+(dimen_/8,0) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex12SVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex12SVG.m4 deleted file mode 100644 index 1dfa749b7a4..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex12SVG.m4 +++ /dev/null @@ -1,136 +0,0 @@ -.PS -# ex12.m4 -cct_init(svg_font(sans-serif,11bp__)) - -[ - fetht = dimen_*0.9 - -G: ground -Q4: e_fet(up_ fetht) with .S at G -Q3: e_fet(up_ fetht) with .S at Q4.D - -Q2: e_fet(down_ fetht,R,P) with .G at Q3.Channel+( dimen_*0.25,dimen_*1.8) -Q1: e_fet(down_ fetht,R,P) with .G at Q2.G + (-dimen_*1.25,0) - - line left_ dimen_ from Q3.G -A: dot; "svg_it(A)" wid 0.15 rjust - line left_ dimen_ from Q4.G -B: dot; "svg_it(B)" rjust - - line from Q1.G to (Q1.G,Q3.D) then to (Q1.Channel,Q3.D) \ - then to (Q1.Channel,B);dot - line from Q2.G to (Q3.Channel,Q2.G) then to (Q3.Channel,Q3.D) \ - then to (Q3.G,Q3.D) then to Q3.G;dot - line from Q1.D to Q2.D - line from Q1.S to Q2.S - dot(at (G,Q1.S)) ; line up dimen_/3 ; "+5 V" rjust - line from Q3.D to (Q3.D,Q2.D);dot - dot(at Q3.D) - line right_ dimen_ ; dot ; "svg_it(~(AB))" above -] - -[ - del = dimen_/3 - -define(`pair',`[ -Q1: c_fet(up_ dimen_,,P) - line right dimen_*2/3 from Q1.D - {dot(at last line.c); reversed(`source',up_ dimen_,I); Rail: Here - line right dimen_/2 with .c at Here} -Q2: c_fet(up_ dimen_,R,P) with .D at Here - line down del*2 from Q2.S - resistor(down_ dimen_) -Gnd: ground(,T,S) - ]') - -P1: pair -Rail: P1.Rail -Vc: dot(at P1.Q2.S+(0,-del)); "svg_it(V`'svg_sub(c))" rjust - line from P1.Q1.G to (P1.Q1.G,Rail)+(0,del/2); "svg_it(S+)" ljust - - line right_ del from P1.Q2.G - {dot(at last line.c); line up del; "svg_it(V`'svg_sub(ref))" above} - pht = P1.Rail.y-P1.Gnd.y - -P2: pair with .Q1.G at Here -Vcp: dot(at P2.Q2.S+(0,-del*2)); {"svg_it(V`'svg_sub(c'))" above rjust} - {line to (P1.Q1.S,Here) then to P1.Q1.S} - line from P2.Q2.G to (P2.Q2.G,Rail)+(0,del/2); "svg_it(S-)" rjust - - line from Vc to (P2.Q1.S,Vc) then to P2.Q1.S - -define(`cpair',`[ -Rail: line right dimen_/2 -Q1: c_fet(up_ dimen_,,P) with .D at last line.c -Q2: c_fet(up_ dimen_) with .S at Rail+(0,-pht) - ground(at Q2.S,T,S) - line from Q1.G to Q2.G - line from Q1.S to Q2.D - ]') - -S1: cpair with .Rail at P2.Rail+(P2.Q2.G.x-P2.Rail.x+P2.Q2.G.x-P2.Q2.D.x+del,0) -S2: cpair with .Q1.G at (S1.Q1.D.x+del,S1.Q1.G.y) -S3: cpair with .Rail at 2 between S1.Rail and S2.Rail - - line from Vcp to (S2.Q2.G,Vcp); dot - dot(at (S2.Q2.D,Here)); line to (S3.Q2.G,Here); dot - dot(at (S3.Q2.D,Here)); arrow right del - "svg_it(e`'svg_sub(2))" ljust - dot(at P2.Q1.S); line to (S1.Q1.G,Here); dot - dot(at (S1.Q2.D,Here)); arrow to (last arrow.end,Here) - "svg_it(e`'svg_sub(1))" ljust - - -] with .sw at last [].se+(0.25,0) - -[ - elen=0.2 - -VDD: dot; llabel(,V`'svg_sub(DD),) - line down_ elen/2 -P1: mosfet(up_,,ZSDFdTX,) with .D at Here - -MIDDLE: line from P1.S down_ elen/2 - -N1: mosfet(up_,,ZSDFTX,) with .D at Here -N2: mosfet(up_,,ZSDFTX,) with .D at N1.S - ground(at N2.S) - -ING: P1.G+(-elen/2,0) - - line from P1.B right_ elen * 2/5 then down_ elen * 4/5 - line to (ING, Here) - dot - - line from N1.B right_ elen * 2/5 then up_ elen * 4/5 - line to (ING, Here) - dot - - line from N1.G to (ING,N1.G) - dot - - line from N2.G to (ING,N2.G) then to ING then to P1.G - - dot(at (ING,MIDDLE)) - line left_ elen*2 - "svg_it(V`'svg_sub(in))" above - - dot(at MIDDLE) - line right_ elen*2 - { "svg_it(V`'svg_sub(out))" wid 0.25 above } - - line from N2.B to (Here,N2.B) - "svg_it(V`'svg_sub(BB))" above - -PUNT:dot(at 0.5 between N1.S and N2.D) - - "svg_it(V`'svg_sub(x))" ljust - - "svg_it(P`'svg_sub(1))" at P1.Channel.end above rjust - "svg_it(N`'svg_sub(1))" at N1.Channel.start below rjust - "svg_it(N`'svg_sub(2))" at N2.Channel.start below rjust - -] with .sw at last [].se - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex15SVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex15SVG.m4 deleted file mode 100644 index ca15109fa98..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex15SVG.m4 +++ /dev/null @@ -1,40 +0,0 @@ -.PS -# ex15.m4 -gen_init - -[ -n = 10; r = 1 -for i = 1 to n-1 do { - for j = i+1 to n do { - line from rect_(r,i*twopi_/n) to rect_(r,j*twopi_/n) - } - } - ] -[ - linethick = 2.5 - lt = linethick bp__ - crad = 1.0 - C: circle rad crad - g = 0.65 - D: C+(Rect_(crad*g,110)) - rm = crad+distance(C,D) - for r=lt to rm by 2*lt do { - if r < (1-g)*crad then { circle rad r at D thick r/rm*linethick } \ - else { arc cw from Cintersect(D,r,C,crad) \ - to Cintersect(D,r,C,crad,R) with .c at D thick r/rm*linethick } - } - linethick = 1.5 - lt = linethick bp__ - C: circle invis rad crad with .w at C.e+(0.1,0) - D: C+(Rect_(crad*g,110)) - rm = crad+distance(C,D) - for r=lt to rm by lt do { - u = (1-r/rm) - if r < (1-g)*crad then { rgbdraw(u,u,u,circle rad r at D) } \ - else { rgbdraw(u,u,u,arc cw from Cintersect(D,r,C,crad) \ - to Cintersect(D,r,C,crad,R) with .c at D) } - } - circle rad C.rad at C - ] with .w at last [].e+(0.1,0) - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex16SVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex16SVG.m4 deleted file mode 100644 index 70a7d00e28a..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex16SVG.m4 +++ /dev/null @@ -1,70 +0,0 @@ -.PS -# ex16.m4 -cct_init(svg_font(sans-serif,11bp__)) - -[ -define(`elen_',linewid*1.2) - circlerad = delay_rad_ - {"input" above ljust} - line right_ -J: Here - delay -K: Here - delay -L: Here -S1: circle "+" at (K.x,K.y+linewid) -S2: circle "+" at (L,S1) - arrow up_ S1.y-J.y from J then to S1.w - arrow from K to S1.s - arrow from S1.e to S2.w - arrow from L to S2.s -S3: circle "+" at (L.x,L.y-linewid) - arrow down_ J.y-S3.y from J then to S3.w - arrow from L to S3.n - arrow from S2.e right_ linewid/2 then down_ (S2.y-S3.y)/2-circlerad \ - then right_ linewid/2 - arrow from S3.e right_ linewid/2 then up_ (S2.y-S3.y)/2-circlerad \ - then right_ linewid/2 - "output" at 0.5 - ] -[ - circlerad = 0.35/2 - d = linewid*1.75 - S00: circle "00" - S10: circle "10" at S00+(d,d) - S01: circle "01" at S00+(d,-d) - S11: circle "11" at S01+(d,d) - dx = circlerad*cosd(60) - dy = circlerad*sind(60) - brad = circlerad*1.3 - qrad = circlerad*6 - - arc -> cw from S00+(-dx,-dy) to S00+(-dx,dy) rad brad \ - with .c at S00-(dx+sqrt(brad^2-dy^2),0) - "0/00" at last arc.w rjust - right - arc -> cw from S00+(dx,dy) to S10+(-dy,-dx) rad qrad - "1/11" at last arc.nw rjust above - right - arc -> cw from S10+(dy,-dx) to S11+(-dx,dy) rad qrad - "1/01" at last arc.ne ljust above - up_ - arc -> cw from S11+(dx,dy) to S11+(dx,-dy) rad brad \ - with .c at S11+(dx+sqrt(brad^2-dy^2),0) - "1/10" wid 0.3 at last arc.e ljust - down_ - arc -> cw from S11+(-dx,-dy) to S01+(dy,dx) rad qrad - "0/01" at last arc.se ljust below - left_ - arc -> cw from S01+(-dy,dx) to S00+(dx,-dy) rad qrad - "0/11" at last arc.sw rjust below - up_ - arc -> cw from S01+(-dx,dy) to S10+(-dx,-dy) rad qrad*2 - "1/00" at last arc.w rjust - down_ - arc -> cw from S10+(dx,-dy) to S01+(dx,dy) rad qrad*2 - "0/10" at last arc.e ljust - ] with .sw at last [].se+(0.4,0) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex17SVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex17SVG.m4 deleted file mode 100644 index fbe892f1477..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex17SVG.m4 +++ /dev/null @@ -1,44 +0,0 @@ -.PS -# ex17SVG.m4 -cct_init(svg_font(sans-serif,11bp__,0bp__)) - -[ -nrows = 4 -ncols = 9 -linewid = linewid*0.6 # everything smaller -define(`elen_',linewid) # shorter default length - - for j = 1 to nrows do { - { for i = 1 to ncols do { - Point_(-120) resistor - Point_( 0) inductor - Point_( 120) capacitor - if i < ncols then {Point_(0) diode} } - } - Point_(-120) move to rvec_(elen_,0) - { for i = 1 to ncols do { - Point_(-60) capacitor - Point_( 60) resistor } - } - Point_(-60) move to rvec_(elen_,0) - } - Point_(0) for i = 1 to ncols-1 do { inductor } -] - -[ - down_ - Point_(-80) - - parallel_(Sep=1.75*dimen_; - parallel_(`capacitor(,C); rlabel(,,C`'svg_sub(2))', - `resistor; llabel(,R`'svg_sub(2))' ), - parallel_(`resistor; rlabel(,R`'svg_sub(1)); move to rvec_(-dimen_/5,0) - inductor(,W); rlabel(,L`'svg_sub(1))', - `reversed(`source',to rvec_(elen_,0),V,sourcerad_*2.5) - rlabel(,v`'svg_sub(s))' ) - ) - move left 0.2 from last [].w -] with .sw at last [].se+(elen_,0) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex18SVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex18SVG.m4 deleted file mode 100644 index c14e7c46163..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex18SVG.m4 +++ /dev/null @@ -1,40 +0,0 @@ -.PS -# ex18.m4 -cct_init(svg_font(Times,11bp__)) - -[ - "svg_it(v`'svg_sub(i))" wid 0.1 rjust; dot - resistor(right_ dimen_) ; llabel(,svg_it(R`'svg_sub(i))) -T: dot - line right_ linewid/4 -A: opamp with .In1 at Here - - line from A.In2 to (T,A.In2) - resistor(down_ dimen_) ; rlabel(,svg_it(R`'svg_sub(g))) - ground(,T) - - line right_ dimen_ from A.Out - diode(up_ dimen_); dot - {line right_ linewid/2; dot; "svg_it(v`'svg_sub(o))" wid 0.2 ljust } - resistor(left_ to (A.Out,Here)) ; rlabel(,svg_it(R`'svg_sub(o))); dot - { diode(down_ to A.Out); dot } - line to (T,Here) then to T - ] -[ -# ex19.m4 -define(`dimen_',dimen_*1.25) - -B: battery(up_ dimen_*2/3); rlabel(,V) - move down dimen_/4 - resistor(up_ dimen_); rlabel(,R,) - {move up textht*1.5 } - inductor(right_ elen_); b_current(i); rlabel(,L) - { capacitor(down_ to (Here,B.start)); rlabel(,C); llabel(+,v,-) } - line right_ dimen_ - diode(down_ to (Here,B.start),T); b_current(h(v)) - { move right 0.3} - line to B.start - ] with .nw at last [].ne+(20bp__,0) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex21SVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex21SVG.m4 deleted file mode 100644 index b9aa8ac18d7..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ex21SVG.m4 +++ /dev/null @@ -1,66 +0,0 @@ -.PS -# ex21SVG.m4 -log_init(svg_font(sans-serif,11bp__)) - -dy = 0.2 -ddy = 1.8*dy -textht = textht*0.9 - -D: FlipFlop(D) -T: FlipFlop(T) with .Chip.sw at last [].se + (0.4,0) -RS: FlipFlop(RS) with .Chip.sw at last [].se + (0.4,0) -JK: FlipFlop(JK) with .Chip.sw at last [].se + (0.4,0) - `"FlipFlop(JK)"' at JK.s below - `"FlipFlop(RS)"' at (RS.s,JK.s) below - `"FlipFlop(T)"' at (T.s,JK.s) below - `"FlipFlop(D)"' at (D.s,JK.s) below - -# Test 3: synchronous 3-bit counter -define(`counterFF',``$1':FlipFlop(JK) `$2' - "`$1'" at `$1'.Chip.sw-(3bp__,0) below ljust - "1" at `$1'.PinCLR.end above - "1" at `$1'.PinPR.end below') - -[ -right_ - counterFF(FF0) - counterFF(FF1,with .Chip at FF0.Chip+(-28*L_unit,0)) - counterFF(FF2,with .Chip at FF1.Chip+(-28*L_unit,0)) - "1" at FF0.PinJ.end rjust - "1" at FF0.PinK.end rjust -Dc: FF2.Chip.sw+(-9*L_unit,-7.5*L_unit) -Bot: Dc+(0,-3*L_unit) - -left_ -GAnd: AND_gate at FF1.Chip.nw+(4*L_unit,12*L_unit) -right_ - - line from FF2.PinCK.end left 3*L_unit - line to (Here,Dc); dot - line from FF1.PinCK.end left 3*L_unit - line to (Here,Dc); dot - line from FF0.PinCK.end left 3*L_unit - line to (Here,Dc) then to Dc - "svg_it(D`'svg_sub(C))" rjust - - line from FF2.PinK.end to FF2.PinJ.end; dot - line to (Here,GAnd.Out) then to GAnd.Out - - line from FF1.PinK.end to FF1.PinJ.end; dot - line to (Here,FF1.PinCLR.end+(0,3*L_unit)) - line to (GAnd.In2+(6*L_unit,0),Here) then to GAnd.In2+(6*L_unit,0); dot - - line from FF0.PinQ.end right 0.1; dot - line from GAnd.In2 to (Here,GAnd.In2) then to (Here,Bot) - "svg_it(D`'svg_sub(00))" below - - line right 0.1 from FF1.PinQ.end; dot - line from GAnd.In1 to (Here,GAnd.In1) then to (Here,Bot) - "svg_it(D`'svg_sub(01))" below - - line right 0.1 from FF2.PinQ.end - line to (Here,Bot); "svg_it(D`'svg_sub(02))" below - ] with .n at 0.5<2nd[].s,3rd[].s> - (0,0.4) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/examplesSVG.htmx b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/examplesSVG.htmx deleted file mode 100644 index af8a15f8402..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/examplesSVG.htmx +++ /dev/null @@ -1,731 +0,0 @@ - - - - - - -SVG Examples: Circuit_macros Version XXX - - - - - - - - - - - - - - -

-ifelse(`$2',,,` -$1.m4: -`$2' changecom(,)&`#'8194;changecom(`#')') - -

-ifinstr(`$3',y,,`
')') - ---------------------------------------------------------------------- --> - - - - -
- -

SVG Circuit_macros examples, Version XXX

- -Home -> -Examples -> -SVG - -
- -

- This file shows diagrams in .svg format; - png - versions are also available. - The PDF equivalent can be found in examples.pdf of the distribution. -

- -

-The diagrams shown below have been adapted from the Circuit_macros -examples in order to test the svg output of dpic. Generating svg line -art is straightforward, but TeX, LaTeX, and related word -processors do not produce svg. Either less-sophisticated text formatting -must be employed or an - - intermediate format -such as pdf can be -produced, followed by an additional processing step to convert to svg. -Two possibilities for the latter are - dvisvgm -and - pdf2svg. -Many circuit and similar diagrams intended for the web do not -require sophisticated labels, however; the examples shown below might -be representative. -

-

- Click on the link to view the source of each diagram. -

-
-

-There are other issues: -

    -
  • Embedding .svg files in html documents with the <embed> or - <object> tag seems to be a perennial issue. -
  • This file has been tested mainly by using Firefox. -
  • The Adobe reader apparently requires a line of the form -
    <embed src="figure.svg" width="x" height="y" type="image/svg+xml" - /> - This means that the html file has to contain dimension - information for each figure, whereas Firefox can - determine the figure size - from the <svg ... object. Currently, dpic includes a comment line - giving reasonable dimensions in pixels but this has to be insterted into - the <embed or <object line. A makefile does it easily but - otherwise this could be tedious. -
  • The default font face is not specified in all of these diagrams but is - inherited from the enclosing document, so the appearance of labels can - differ depending on the browser. Some of these diagrams set the font at - the beginning of the diagram source. -
  • The <svg tag may require modification - from the default used for this test. Dpic might be modified to - allow the generation of custom headers but that has not been done. -
  • Diagrams such as these contain text labels - that have to be treated differently from the LaTeX-compatible versions. - Apparently there is no direct way to know the bounding box of arbitrary svg - text. - - Consequently, text placement is approximate and may require - manual adjustment. - Rather than patch the original source files for svg production, edited copies - have been used. The configuration file svg.m4 read by m4 - prior to libcct.m4 contains the following macros defined for svg. - Others could be defined to exercise some of the media capabilties of svg. - They are subject to change: -
      -
    • - m4tt`'svg_font(font-face,nominal size[:dptextratio],textoffset, - dpic commands`'m4tt): - Change font face, size, textratio and dpic textoffset parameters. - Change font face and dpic m4tt`'textht, m4tt`'dptextratio, - and m4tt`'textoffset parameters. - If arg4 is blank, the font is changed and - requires m4tt`'command "</g>" to cancel the font change. -
      - Note: - Nominal height = text height in drawing units; actual height = - nominal ht x m4tt`'dptextratio. -
      - Examples:
      - m4tt`'svg_font(Times)
      - m4tt`'svg_font(Times,14bp__)
      - m4tt`'svg_font(sans-serif,14bp__:0.71)
      - m4tt`'svg_font(Times,11bp__,1bp__,"text" at A)
      - m4tt`'svg_font(font-family="Times")
      - m4tt`'svg_font(font-family="Times" font-style="italic")
      - m4tt`'svg_font(style="font-family:Times; font-style:italic") -
    • m4tt svgfontratio(font name`'m4tt); - Reasonable m4tt`'dptextratio value for common fonts, used - by m4tt`'svg_font. -
    • m4tt svg_tspan(text attributes, text`'m4tt); - e.g. m4tt`'svg_tspan(font-style="italic" font-size="75%",XYZ) -
    • m4tt svg_it(text`'m4tt): for italics -
    • m4tt svg_tt(text`'m4tt): for monospace (courier) -
    • m4tt svg_sf(text`'m4tt): sans-serif (Helvetica) -
    • m4tt svg_norm(text`'m4tt): for normal text -
    • m4tt svg_bf(text`'m4tt): for bold face -
    • m4tt svg_small(text, percent`'m4tt): - to set a smaller text size, default 66 -
    • m4tt svg_fsize(text, percent`'m4tt): - for setting larger or smaller text size, default 100 -
    • m4tt svg_sub(text, size percent, y displ, x displ`'m4tt): - subscript -
    • m4tt svg_ul(text`'m4tt): underlined text -
    • m4tt svg_ol(text`'m4tt): overlined text -
    • m4tt svg_sup(text, size percent, y displ, x displ`'m4tt): - superscript -
    • m4tt svg_hat(character`'m4tt): circumflex-accented character -
    • m4tt svg_frac(numerator[:wid], denominator[:wid]`'m4tt): - basic fraction, wid in drawing units -
    • m4tt svg_rot(degrees, "text" [at position]`'m4tt): - Rotate text degrees (default 90) ccw. - Requires m4tt`'svg_rot_init(filename`'m4tt) and the source - must be processed twice. -
    • m4tt svg_rot_init(filename`'m4tt): - filename is the basename of the output of - m4tt`'dpic -v filename.pic > filename.svg`'m4tt -
    • m4tt svg_symbol(text`'m4tt): allow quoted pound sign in text, - e.g., m4tt`'svg_symbol(10&`#'176;) produces 10° -
    • m4tt svgLink(URL, drawing object, m4tt[B]): - link to external file using - <a xlink:href=...>...</a> (default is - m4tt`'target="_blank" unless - arg 3 = B) -
    • m4tt svgLinkString as above but for strings attached to objects -
    • Greek and other symbols: - - - - - - - - - - - - - - - -
      m4tt svg_alpha changecom(,)&`#'945;changecom(`#') - m4tt svg_beta changecom(,)&`#'946;changecom(`#') - m4tt svg_Gamma changecom(,)&`#'915;changecom(`#') - m4tt svg_gamma changecom(,)&`#'947;changecom(`#') - m4tt svg_Delta changecom(,)&`#'916;changecom(`#') - m4tt svg_delta changecom(,)&`#'948;changecom(`#') - m4tt svg_epsilon changecom(,)&`#'949;changecom(`#') - m4tt svg_zeta changecom(,)&`#'950;changecom(`#') -
      m4tt svg_eta changecom(,)&`#'951;changecom(`#') - m4tt svg_Theta changecom(,)&`#'920;changecom(`#') - m4tt svg_theta changecom(,)&`#'952;changecom(`#') - m4tt svg_iota changecom(,)&`#'953;changecom(`#') - m4tt svg_kappa changecom(,)&`#'954;changecom(`#') - m4tt svg_Lambda changecom(,)&`#'923;changecom(`#') - m4tt svg_lambda changecom(,)&`#'955;changecom(`#') - m4tt svg_mu changecom(,)&`#'956;changecom(`#') -
      m4tt svg_nu changecom(,)&`#'957;changecom(`#') - m4tt svg_Xi changecom(,)&`#'926;changecom(`#') - m4tt svg_xi changecom(,)&`#'958;changecom(`#') - m4tt svg_Pi changecom(,)&`#'928;changecom(`#') - m4tt svg_pi changecom(,)&`#'960;changecom(`#') - m4tt svg_rho changecom(,)&`#'961;changecom(`#') - m4tt svg_Sigma changecom(,)&`#'931;changecom(`#') - m4tt svg_sigma changecom(,)&`#'963;changecom(`#') -
      m4tt svg_tau changecom(,)&`#'964;changecom(`#') - m4tt svg_upsilon changecom(,)&`#'965;changecom(`#') - m4tt svg_Phi changecom(,)&`#'934;changecom(`#') - m4tt svg_phi changecom(,)&`#'966;changecom(`#') - m4tt svg_chi changecom(,)&`#'967;changecom(`#') - m4tt svg_Psi changecom(,)&`#'936;changecom(`#') - m4tt svg_psi changecom(,)&`#'968;changecom(`#') - m4tt svg_Omega changecom(,)&`#'937;changecom(`#') -
      m4tt svg_omega changecom(,)&`#'969;changecom(`#') - m4tt svg_micro changecom(,)&`#'956;changecom(`#') - m4tt svg_ohm changecom(,)&`#'937;changecom(`#') - m4tt svg_lt changecom(,)&`#'60;changecom(`#') - m4tt svg_gt changecom(,)&`#'62;changecom(`#') - m4tt svg_leq changecom(,)&`#'8804;changecom(`#') - m4tt svg_geq changecom(,)&`#'8805;changecom(`#') - m4tt svg_prime changecom(,)&`#'8242;changecom(`#') -
      m4tt svg_backsl changecom(,)&`#'92;changecom(`#') - m4tt svg_pound changecom(,)&`#'35;changecom(`#') - m4tt svg_comma changecom(,)&`#'44;changecom(`#') - m4tt svg_lparen changecom(,)&`#'40;changecom(`#') - m4tt svg_rparen changecom(,)&`#'41;changecom(`#') - m4tt svg_circ changecom(,)&`#'710;changecom(`#') - m4tt svg_deg changecom(,)&`#'176;changecom(`#') - m4tt svg_grave changecom(,)&`#'96;changecom(`#') -
      - - - -
      m4tt svg_emsp |changecom(,)&`#'8195;changecom(`#')| - m4tt svg_ensp |changecom(,)&`#'8194;changecom(`#')| - m4tt svg_thinsp |changecom(,)&`#'8201;changecom(`#')| -
      - -
    -
  • Inkscape: It may be efficient to define elements by macro and to - place them using a wysiwyg graphics editor. A draft page intended - for Inkscape is included. A reasonable variety of elements is defined - but many more could be added and they should be customized for - particular applications. Adjustments may also have to be made to - obtain the proper snap-to actions. -
  • Link experiments: Click on the resistor or source of quickSVG - to go to external - files in new windows. Click on "n-port" in NportSVG to replace the diagram - and then "back" to return. -
  • Some of the assumptions used to create this draft may be - na&`#'239;ve. - Comments are welcome. -
- - - -
- - - -
-cfig(quickSVG, - SVG produced by dpic,y) -
-
-cfig(quick, - SVG produced from quick.pdf by dvisvgm,y) -
-
- -
- -cfig(ResistorsSVG, - Resistors, showing some variations and the ebox) - -cfig(CapacitorsSVG, - Capacitors) - -cfig(InductorsSVG, - Inductors) - -cfig(DiodesSVG, - Diodes: appending a m4tt`'K to the second argument draws an open - arrowhead) - -cfig(EmarrowsSVG, - Radiation arrows) - -cfig(VariableSVG, - Arrows and marks for showing variability) - -cfig(SourcesSVG, - Sources and source-like elements) - -cfig(AmpTableSVG, - Macros m4tt`'amp`,' delay`,' and m4tt`'integrator) - -cfig(FusesSVG, - Macros m4tt`'fuse and m4tt`'cbreaker) - -cfig(MoreTableSVG, - Additional two-terminal elements) - -cfig(GroundsSVG, - Ground symbols) - -cfig(SwitchesSVG, - The switch macros; m4tt`'switch(`,'`,'`,'L|B|D,attribs) - is a wrapper for m4tt`'lswitch`,' m4tt`'bswitch`,' - and m4tt`'dswitch) - -cfig(AntennasSVG, - Antenna symbols) - -cfig(OpampSVG, - The opamp) - -cfig(AudioSVG, - Audio elements) - -cfig(XformSVG, - Some variations of the transformer element`,' drawing direction down) - -cfig(NPDTSVG, - Double throw with the m4tt`'NPDT macro) - -cfig(ContactSVG, - A non-exhaustive sampling of m4tt`'contact macro variations) - -cfig(ContactsSVG, - The m4tt`'contacts macro) - -cfig(relaycoilSVG, - The m4tt`'relaycoil macro) - -cfig(RelaySVG, - Some variants of m4tt`'relay) - -cfig(JackSVG, - The m4tt`'jack and m4tt`'plug macros) - -cfig(ConnSVG, - The m4tt`'tstrip`,' ccoax`,' tconn`,' and m4tt`'tbox macros) - -cfig(PconnSVG, - The m4tt`'pconnex macro) - -cfig(EVplugsSVG, - Electric vehicle charging plug patterns make extensive - use of key=value pairs to set options) - -cfig(HeadersSVG, - The m4tt`'Header macro) - -cfig(ConnectorsSVG, - Some integrated circuits and connectors with simple geometry - and lists of labels) - -cfig(ChipsSVG, - IC outlines) - -cfig(fetSVG, - FETs`,' showing programmable components and example customizations) - -cfig(ujtSVG, - UJT examples) - -cfig(thyristorSVG, - Thyristor examples. The thyristor is a 3- or 4-terminal - composite element) - -cfig(BipSVG, - Bipolar transistors (drawing direction: up)) - -cfig(TgateSVG, - The m4tt`'tgate and m4tt`'ptrans elements) - -cfig(NportSVG, - The m4tt`'nport and m4tt`'nterm macros) - -cfig(NLGSVG, - Some customizations of m4tt`'nport) - -cfig(WindingsSVG, - The macro - m4tt`'winding(L|R`,'diam`,'pitch`,'turns`,'core wid`,'core color)) - -cfig(ex01SVG, - Two simple labeled circuits) - -cfig(ex02SVG, - Elements at obtuse angles) - -cfig(OptoisoSVG, - Optical isolator: a circuit with right or left orientation) - -cfig(MixerSVG, - A balanced mixer`,' using m4tt`'mosfet and a custom transformer) - -cfig(PushPullSVG, - A push-pull mixer`,' showing FETs with multiple gates) - -cfig(QuantumSVG, - A quantum circuit) - -cfig(SQUIDSVG, - Superconducting quantum interface device (drawing direction down)) - -cfig(SixpoleSVG, - A six-pole filter) - -cfig(ex18SVG, - Precision half-wave rectifier and a tunnel diode circuit - (illustrating m4tt`'opamp`,' diode`,' resistor`,' ground`,' - and labels)) - -cfig(ex10SVG, - Non-planar graph and bistable circuit - (illustrating the m4tt`'crossover macro and colored elements)) - -cfig(ThreeSVG, - Three-phase oscillator) - -cfig(MCSVG, - A three-phase switched AC-AC converter and a DC-DC converter) - -cfig(ex17SVG, - A repetitive network created by Pic looping and - a skewed circuit used to test the macro m4tt`'parallel_) - -cfig(ex12SVG, - A CMOS NAND gate`,' a test circuit`,' and an XMOSFET example) - -cfig(pwrsupplySVG, - An elementary power supply circuit with colored elements`,' - and a multiple-winding transformer with 3-phase rectifier) - -cfig(TTLnandSVG, - TTL NAND gate illustrating a transistor with multiple emitters) - -cfig(I2LSVG, - Gate circuit and equivalent embedded components - illustrating multiple collectors) - -cfig(SchottkySVG, - A 4-input NAND circuit illustrating the m4tt`'S (Schottky) - option of m4tt`'bi_trans) - -cfig(ex11SVG, - Transistor radio audio chain) - -cfig(ex04SVG, - Labels on non-manhattan elements) - -cfig(CsourceSVG, - Realization of a controlled source - (illustrating stacked element labels)) - -cfig(DriveSVG, - Synchronous machine driven by variable-speed drive and rectifier) - -cfig(ex16SVG, - A rate 1/2 binary convolutional coder and its state diagram) - -cfig(ex03SVG, - Digital filter) - -cfig(MotorControlSVG, - Motor control connections) - -cfig(RectifiersSVG, - Rectifier circuits and waveforms) - -cfig(HeathkitSVG, - The power supply of a Heathkit AR-15 (Now`,' that - was a receiver!) with custom transformer and other elements`,' - drawn on a grid (partially shown) to aid in placement) - -cfig(lcctSVG, - A digital circuit of moderate size`,' - redrawn from M. P. Maclenan and G. M. Burns`,' - "An Approach to Drawing Circuit Diagrams for Text Books`,'" - Tugboat (12)1`,' March 1991`,' pp. 66-69) - -cfig(TubediagsSVG, - Electron-tube diagrams: a few bottom-view base diagrams`,' - a generic triode test circuit`,' and a 25-watt audio amplifier adapted - from F. Langford-Smith`,' Radiotron Designers Handbook`,' fourth - edition`,' Harrison`,' NJ: Radio Corporation of America`,' 1952) - -cfig(UNOSVG, - An Arduino UNO circuit adapted and redrawn) - -cfig(sfgSVG, - Signal-flow graphs) - -cfig(LogicSVG, - Basic logic gates) - -cfig(ex08SVG, - General-purpose latch: a small logic circuit) - -cfig(DecoderSVG, - Decoder logic`,' constructed using the m4tt`'for_ macro) - -cfig(ex21SVG, - Some flip-flops) - -cfig(MultiplexerSVG, - Multiplexer) - -cfig(DemultiplexerSVG, - Demultiplexer) - -cfig(ShiftRSVG, - A 5-bit shift register drawn using a custom flip-flop) - -cfig(AdderSVG, - A full adder and a cascade of n-bit adders) - -cfig(CanLogicSVG, - A way of automatically drawing two-layer logic diagrams) - -cfig(AlogixSVG, - The m4tt`'Autologix(`'Boolean expression; - Boolean expression... `,' options) - macro automatically draws Boolean expressions in function notation. - The function tree is drawn`,' then a row or column of inputs`,' then - the connections. The default result is on the left`,' - a custom element at the top`,' and a tree of gates only is shown - on the right.) - -cfig(ABlogixSVG, - The m4tt`'Autologix macro can draw inputs on the left but - the added drawing complexity may require hand tuning with - second-argument options: m4tt`'L puts the inputs on the left`,' - m4tt`'R reverses their order`,' m4tt`'V scans the input arguments - in reverse order`,' and m4tt`'offset=`'value displaces - the array of inputs) - -cfig(XORSVG, - Realizations of the XOR function using m4tt`'Autologix) - -cfig(EEPSVG, - Part of a single-line diagram of a power distribution system - using draft elements) - -cfig(paletteSVG, - A draft palette of a few elements for Inkscape using - a 1 mm grid) - -cfig(ex00SVG, - Line diagrams) - -cfig(controlSVG, - Control-system block diagrams) - -cfig(GrayCodeSVG, - Gray code 10-bit encoder disk pattern`,' - and a crossbar switch) - -cfig(ByteSVG, - Elementary splines) - -cfig(RotboxSVG, - The macro - m4tt`'rotbox(wid,ht,type,[r|t=val]) - draws a box in the current direction) - -cfig(ex06SVG, - Crosshatching) - -cfig(ex09SVG, - Illustrating the macro - m4tt`'dimension_(linespec`,' offset`,' label`,' - H|W|D|blank width`,' tic offset`,' <-|->). - A negative second argument implies an offset to the right of the - linespec direction. A label starting with - m4tt`'" or - m4tt`'sprintf is copied literally. If label is an - m4tt`'s_box(...) then setting argument 4 to m4tt`'H`,' - m4tt`'W`,' - or m4tt`'D tailors the blank width to the m4tt`'s_box height`,' - width`,' or diagonal respectively; i.e.`,' m4tt`'W is equivalent to - m4tt`'s_wd+textoffset*2. - The macro m4tt`'arcdimension_ is similar but the first argument - specifies the arc to be dimensioned and the second argument is - the outward radial offset of the dimension arrow arc.) - -cfig(PlateSVG, - Dimensioning with tolerances according to ASME Y14.5) - Use of m4tt`'darrow and m4tt`'Darc) - -cfig(ex05SVG, - Use of m4tt`'darrow and m4tt`'Darc) - -cfig(LoglogSVG, - Graphs drawn using the pic language) - -cfig(GeometrySVG, - Plane geometry examples) - -cfig(randomSVG, - Testing random number generation - using dpic macro - m4tt`'randn(array name`,' mean`,' std devm4tt`') - which calls dpic built-in m4tt`'rand()) - -cfig(expSVG, - Test of m4tt`'project and other m4tt`'lib3D - macros`,' showing the projection of a solid onto - the y1`,'z1 plane by sighting along the x1 axis.) - -cfig(graysurfSVG, - Plotting surfaces using gray scales) - -cfig(shapesSVG, - Basic shapes) - -cfig(keyboardSVG, - More objects drawn in relief) - -cfig(cscSVG, - Conestoga Sailing Club (illustrating the filling of arbitrary shapes)`,' - and an antique clock face with shading and rotated text) - -cfig(roseSVG, - A window redrawn from a detail of the set design for the musical - Dracula`,' used for testing m4tt`'dpic`,' - and an experimental halftone. This diagram - consumes much LaTeX main memory but can be produced - directly as pdf using m4tt`'dpic -d`,' - as svg using m4tt`'dpic -g`,' - or as postscript using m4tt`'dpic -r - since no text formatting is required. The right object - adjusts the size of dots to produce a halftone effect) - -cfig(diamondSVG, - Variations on M. Goossens`,' S. Rahtz`,' and F. Mittelbach`,' - The LaTeX Graphics Companion`,' Addison-Wesley 1997`,' pp. 57-58) - -cfig(wormSVG, - An exercise in calculating RGB colours) - -cfig(ButtonsSVG, - Shading in color) - -cfig(DiniSVG, - Dini surface and an icosahedron) - -cfig(SierpinskiSVG, - The Sierpinski triangle and a Cayley graph: - tests of pic macro recursion) - -cfig(EscherSVG, - Penrose stairs and an Escher-like object) - -cfig(recycleSVG, - Modest repetition and partial fill) - -cfig(ex15SVG, - Simple diagrams that are easily drawn by looping) - -cfig(SmithchartSVG, - A Smith chart at 3/4 scale) - - - -cfig(CrowSVG, - Illustrating m4tt`'shadebox and a custom crowfoot line - termination) - -cfig(FlowSVG, - A flowchart sampler) - - -cfig(BtreeSVG, - Trees) - -cfig(InclepsSVG, - Overlaying a figure with line graphics) - -cfig(FontsSVG) - -
- - diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/expSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/expSVG.m4 deleted file mode 100644 index 4d12688f975..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/expSVG.m4 +++ /dev/null @@ -1,258 +0,0 @@ -.PS -# expSVG.m4 -threeD_init -NeedDpicTools - -# Graduated shading is probably best done using the built-in functions -# of PSTricks or the somewhat equivalent tikz capabilities. Other -# postprocessors do not have the same functionality so the following -# demonstrates how it can be done in the pic language with m4 macros. - -# Projected box object: -[ -g = 1.2 -define(`axlen',1.2*g) -define(`O3',`0,0,0') -define(`X0',`axlen,0,0') -define(`Y0',`0,axlen,0') -define(`Z0',`0,0,axlen') - -# diagram viewing angle -dazim = 54 -delev = 15 -setview(dazim,delev) - -# projection azimuth, elevation -pazim = 20*dtor_ -pelev = 35*dtor_ -arad = 0.6*g - -# object displacement -define(`D3',`0.3*g,0.6*g,0.9*g') - -# fixed coordinate frame -O: Project(O3) -X: Project(X0) -Y: Project(Y0) - Fector(X0,Z0) with .Origin at O ; "svg_it(x`'svg_sub(0))" at X rjust - Fector(Y0,Z0) with .Origin at O ; "svg_it(y`'svg_sub(0))" at Y ljust below - Fector(Z0,Y0) with .Origin at O ; "svg_it(z`'svg_sub(0))" at Project(Z0) above - -define(`R01',`rot3Dz(pazim,rot3Dy(-pelev,$1,$2,$3))') -define(`R10',`rot3Dy(pelev,rot3Dz(-pazim,$1,$2,$3))') - -thinlines_ ; psset_(linecolor=gray) - line from O to Project(rot3Dz(pazim,axlen,0,0)) -psset_(linecolor=black) - arc -> ccw from Project(arad,0,0) to Project(rot3Dz(pazim,arad,0,0)) rad arad - "svg_theta" below - up_ - arc -> cw from Project(rot3Dz(pazim,arad,0,0)) \ - to Project(R01(arad,0,0)) rad arad - "svg_phi" rjust at Project(rot3Dz(pazim,rot3Dy(-pelev/2,arad,0,0))) - arc -> from Project(0,arad,0) to Project(R01(0,arad,0)) rad arad - "svg_theta" above - right_ - arc -> cw from Project(0,0,arad/2) to Project(R01(0,0,arad/2)) rad arad/2 - "svg_phi" ljust at Here+(-1pt__,-3pt__) - - Fector(R01(X0),R01(Z0)) with .Origin at O ; - "svg_it(x`'svg_sub(1))" above rjust at Project(R01(X0)) - Fector(R01(Y0),R01(Z0)) with .Origin at O ; - "svg_it(y`'svg_sub(1))" ljust at Project(R01(Y0)) - Fector(R01(Z0),R01(Y0)) with .Origin at O ; - "svg_it(z`'svg_sub(1))" above at Project(R01(Z0)) -thicklines_ - -# box object dimension -b = 0.6*g -d = 0.4*g -h = 0.20*g - -# box object corners -define(`B0',`D3') -define(`B1',`sum3D(D3,d,0,0)') PB1: Project(B1) -define(`B2',`sum3D(D3,d,b,0)') PB2: Project(B2) -define(`B3',`sum3D(D3,0,b,0)') PB3: Project(B3) -define(`B4',`sum3D(D3,0,0,h)') PB4: Project(B4) -define(`B5',`sum3D(D3,d,0,h)') PB5: Project(B5) -define(`B6',`sum3D(D3,d,b,h)') PB6: Project(B6) -define(`B7',`sum3D(D3,0,b,h)') PB7: Project(B7) - -# projected corners -P0:Project(R01(0,dcosine3D(2,R10(B0)),dcosine3D(3,R10(B0)))) -P1:Project(R01(0,dcosine3D(2,R10(B1)),dcosine3D(3,R10(B1)))) -P2:Project(R01(0,dcosine3D(2,R10(B2)),dcosine3D(3,R10(B2)))) -P3:Project(R01(0,dcosine3D(2,R10(B3)),dcosine3D(3,R10(B3)))) -P4:Project(R01(0,dcosine3D(2,R10(B4)),dcosine3D(3,R10(B4)))) -P5:Project(R01(0,dcosine3D(2,R10(B5)),dcosine3D(3,R10(B5)))) -P6:Project(R01(0,dcosine3D(2,R10(B6)),dcosine3D(3,R10(B6)))) -P7:Project(R01(0,dcosine3D(2,R10(B7)),dcosine3D(3,R10(B7)))) -thinlines_ - line from PB1 to P1 - line from PB2 to P2 - line from PB7 to P7 - line from PB4 to P4 -thicklines_ - -# draw the object - ifdpic(`line invis fill_(1) from PB4 to PB7 to PB6 to PB5 - line from PB4 to PB7; line to PB6; line to PB5 ; line to PB4 - line invis fill_(0.5) from PB5 to PB6 to PB2 to PB1 - line from PB5 to PB6; line to PB2; line to PB1 ; line to PB5 - line invis fill_(0.85) from PB6 to PB7 to PB3 to PB2 - line from PB6 to PB7; line to PB3; line to PB2 ; line to PB6', - `gshade(1,PB4,PB7,PB6,PB5,PB4,PB7) - gshade(0.5,PB5,PB6,PB2,PB1,PB5,PB6) - gshade(0.85,PB6,PB7,PB3,PB2,PB6,PB7)') - line from PB4 to PB5 to PB1 to PB2 to PB3 to PB7 to PB4 - line from PB5 to PB6 to PB7 - line from PB6 to PB2 - - arrow from O to PB1 chop linethick pt__; "svg_it(X)" rjust - - line from P4 to P5 to P1 to P2 to P3 to P7 to P4 - line from P5 to P6 to P7 - line from P6 to P2 - line dashed from P4 to P0 to P3 - line dashed from P0 to P1 - ] - -# Globe: -[ - # Set small text size - iflatex(`textoffset = 1bp__; ifpsfrag(`textht = 9.5bp__', - `latexcommand({\small)') ') - - azimuth = 15 # View angles in degrees - elevation = 35 - setview(azimuth,elevation) - - rectwid = 3.5 # Basic dimensions - rectht = 2.4 - alpha = rectht/3 - -# # Rectangle - NW: Project(-rectht/2,-rectwid*0.25,0) - SW: Project( rectht/2,-rectwid*0.25,0) - SE: Project( rectht/2, rectwid*0.75,0) - NE: Project(-rectht/2, rectwid*0.75,0) - - ShadedPolygon(NW:NE:SE:SW,,-90, - 0,0.25,0.25,0.25, - 1,1,1,1) with .Start at NW - - define(`C3D',`0,0,alpha') # Centre of the sphere - C: Project(C3D) - -# # Shaded sphere using PSTricks or tikz: -# # this is black magic but PSTricks -# # seems to give more control -# ifpstricks( -# `Highlight: \ -# Project(sum3D(C3D,rot3Dz(-15*dtor_,rot3Dy(-60*dtor_,alpha,0,0)))) -# command "\pscustom[fillstyle=gradient,gradmidpoint=0.0,%" -# command sprintf("gradbegin=gray,gradend=white,gradlines=%g,%%",alpha*200) -# command "GradientCircle=true,GradientScale=1.5,%" -# command sprintf("GradientPos={(%g,%g)}]{",Highlight.x,Highlight.y) -# circle rad alpha at C -# command "}%"', -# -# `ifpgf( # A little too dark with tikz-pgf, maybe: -# `command sprintf(\ -# "\dpicdraw[ball color=white](%g,%g) circle (%gin)\dpicstop",\ -# C.x,C.y,alpha/2.54)', -# -# `circle rad alpha at C fill_(1) ')') - - # Shaded sphere with pic shading: - shadedball(alpha) at C - - S: 0,0 # The sphere bottom touch point - "svg_it(S)" at S+(0,-2pt__) rjust - "svg_alpha" at 0.5 ljust - - define(`N3D',`0,0,2*alpha') # North pole - N: Project(N3D) - "svg_it(N)" at N+(0,3pt__) ljust - - phi = 65*dtor_ - define(`Phat3D',`rot3Dz(phi,alpha*3,0,0)') - Phat: "svg_it(P)" at Project(Phat3D) ljust - "svg_symbol(&`#'94;)" at last "".n ljust - - X: Project(rectht/2*0.8,0,0) - Y: Project(0,rectwid/2*0.8,0) - -`define' linevis { # ratio # Visibility function for lines fom S to Tmp - Tlv: $1 between S and Tmp - $2 = distance(Tlv,C)-alpha } - -`define' invisline { # name # Draw dashed invisible part of line in - Tmp: $1 # the plane - findroot(linevis, 0, 1, 1e-8, x) - line dashed from S to x between S and Tmp chop 0 chop 0.05 } - -thinlines_ # axes - invisline(X) - arrow to X chop 0.05 chop 0; "svg_it(x)" below - invisline(Y) - arrow to Y chop 0.05 chop 0; "svg_it(y)" ljust - line dashed from S to N chop 0 chop 0.05 - arrow up alpha*0.5 chop 0.05 chop 0 ; "svg_it(z)" above - invisline(Phat) - line to Phat chop 0.05 chop 0 - arc ccw -> rad alpha from Project(alpha/2,0,0) to \ - Project(rot3Dz(phi,alpha/2,0,0)) - "svg_phi" below at 0.5 between last arc.start and last arc.end - - # vector (ratio along (N to Phat)) -define(`ray',`sum3D(N3D,sprod3D($1,diff3D(Phat3D,N3D)))') -`define' rayvis { # ratio - $2 = length3D(diff3D(ray($1),C3D))-alpha } - - findroot(rayvis, 1e-3, 1, 1e-8, p) # Find P - P: "svg_it(P)" at Project(ray(p)) ljust above - -thicklines_ - line dashed from N to P chop 0 chop 0.05 - line to Phat chop 0.05 chop 0 - -define(`meridian',`rot3Dz(phi,rot3Dy(-($1),alpha,0,0))') -`define' meridianvis { # angle # Visibility function on the meridian - $2 = dot3D(meridian($1),View3D) } - -thinlines_ # Draw the meridian - findroot(meridianvis, 0, pi_, 1e-8, y) - n = 0 - for ang = y-pi_ to y by pi_/20 do { - Q[n]: Project(sum3D(C3D,meridian(ang))); n+=1 } - fitcurve(Q,n-1) - n = 0 - for ang = y to y+pi_ by pi_/20 do { - Q[n]: Project(sum3D(C3D,meridian(ang))); n+=1 } - fitcurve(Q,n-1,dashed) - -define(`equator',`rot3Dz($1,alpha,0,0)') -`define' equatorvis { # angle # Visibility function on the equator - $2 = dot3D(View3D,equator($1)) } - - findroot(equatorvis, 0, pi_, 1e-8, y) - n = 0 - for ang = y-pi_ to y by pi_/20 do { - Q[n]: Project(sum3D(C3D,equator(ang))); n+=1 } - fitcurve(Q,n-1) - n = 0 - for ang = y to y+pi_ by pi_/20 do { - Q[n]: Project(sum3D(C3D,equator(ang))); n+=1 } - fitcurve(Q,n-1,dashed) - - line dashed from C to P # beta - line dashed from C to Project(sum3D(C3D,equator(phi))) - arc ccw -> from 0.6 along_(last line) to 0.6 between C and P - "svg_beta" ljust at last arc.e+(0,2pt__) - - iflatex(ifpsfrag(,`latexcommand(})')) - ] with .w at last [].e+(0.5,0) - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/fetSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/fetSVG.m4 deleted file mode 100644 index 8495eb9e947..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/fetSVG.m4 +++ /dev/null @@ -1,168 +0,0 @@ -.PS -# `fetSVG.m4' -cct_init(svg_font(Times,11bp__)) - -textht = 0.1 -define(`rmove',0.75) - -dnl `IRF4905(linespec,R)' -define(`IRF4905', - `[ ifelse(`$1',,,`eleminit_(`$1')') - Q: mosfet(,`$2',dMdPzEDSQdB,) ifelse(`$1',,` - S: Q.tr_xy(-4,-2); line from Q.tr_xy(-2,-2) to S - D: Q.tr_xy( 4,-2); line from Q.tr_xy(2,-2) to D', - `with .Diode.c at last line.c - S: last line.start; D: last line.end; line from S to D ') - G: Q.G - circle rad 5*dimen_/10 at Q.tr_xy(0,1) ]') - -{move left 20bp__} -Row1: [ J: j_fet - { "svg_tt(`j_fet')" at J.s+(0,-0.05) below - "svg_it(G)" at J.G rjust - "svg_it(S)" at J.S rjust - "svg_it(D)" at J.D ljust } - J: j_fet(right_ dimen_,,P,E) with .w at J.e+(0.5,0) - { "svg_tt(`j_fet(right_')" at J.s+(0,-4bp__) below "svg_tt(`dimen_,,P,E)')" - "svg_it(G)" at J.G rjust above - "svg_it(S)" at J.S rjust - "svg_it(D)" at J.D ljust } - J: e_fet with .w at J.e+(0.5,0) - { "svg_tt(` e_fet')" at J.s+(0,-0.05) below - "svg_it(G)" at J.G rjust - "svg_it(S)" at J.S rjust - "svg_it(D)" at J.D ljust } - J: e_fet(,,P) with .w at J.e+(0.6,0) - { "svg_tt(` e_fet(,,P)')" at J.s+(0,-0.05) below - "svg_it(G)" at J.G rjust - "svg_it(S)" at J.S rjust - "svg_it(D)" at J.D ljust } - J: e_fet(,,P,S) with .w at J.e+(0.8,0) - { "svg_tt(` e_fet(,,P,S)')" at J.s+(0,-0.05) below - "svg_it(G)" at J.G rjust - "svg_it(S)" at J.S rjust - "svg_it(D)" at J.D ljust } - J: c_fet with .w at J.e+(0.7,0) - { "svg_tt(` c_fet')" at J.s+(0,-0.05) below - "svg_it(G)" at J.G rjust - "svg_it(S)" at J.S rjust - "svg_it(D)" at J.D ljust } - J: c_fet(,,P) with .w at J.e+(0.7,0) - { "svg_tt(` c_fet(,,P)')" wid 72bp__ at J.s+(0,-0.05) below - "svg_it(G)" at J.G rjust - "svg_it(S)" at J.S rjust - "svg_it(D)" at J.D ljust } - ] - -Row2: [ - J: d_fet - { "svg_tt(`d_fet')" at J.s+(0,-0.05) below - "svg_it(G)" at J.G rjust - "svg_it(S)" at J.S rjust - "svg_it(D)" at J.D ljust } - J: d_fet(,,P) with .w at J.e+(0.5,0) - { "svg_tt(`d_fet(,,P)')" at J.s+(0,-0.05) below - "svg_it(G)" at J.G rjust - "svg_it(S)" at J.S rjust - "svg_it(D)" at J.D ljust } - J: d_fet(,,P,S) with .w at J.e+(0.8,0) - { "svg_tt(`d_fet(,,P,S)')" at J.s+(0,-0.05) below - "svg_it(G)" at J.G rjust - "svg_it(S)" at J.S rjust - "svg_it(D)" at J.D ljust } - J: g_fet with .w at J.e+(0.6,0) - { "svg_tt(`g_fet')" at J.s+(0,-0.05) below - "svg_it(G)" at J.G rjust - "svg_it(S)" at J.S rjust - "svg_it(D)" at J.D ljust } - J: g_fet(up_ dimen_,,P) with .w at J.e+(0.6,0) - { "svg_tt(`g_fet(up_')" at last [].s below - "svg_tt(` dimen_,,P)')" at last [].s + (0,-12bp__) below - "svg_it(G)" at last [].G rjust - "svg_it(S)" at last [].S + (0,2bp__) ljust - "svg_it(D)" at last [].D + (0,2bp__) ljust below } - right_ - M1: mosfet(,,dBSDFQM1,E) with .w at J.e+(0.6,0) - "svg_it(G0)" at M1.G0 above rjust - "svg_it(G1)" at M1.G1 above ljust - {"svg_tt(`mosfet(,,dBSDFQM1,E)')" wid 1.45 \ - with .nw at last [].sw+(0,-0.2) } - M2: mosfet(,,dBSDFQuM1) with .nw at M1.ne+(0.6,0) - "svg_it(G0)" at M2.G0 above ljust - "svg_it(G1)" at M2.G1 above rjust - {"svg_tt(`...(,,dBSDFQuM1')" wid 1.25 \ - with .n at last [].s+(0,-0.05) } - ] with .nw at Row1.sw+(0,-10bp__) # Row2 - -Row3: [ - linewid = linewid*1.2 - - Q1: mosfet(,,dGSDF,) - {"svg_tt(`mosfet(,,dGSDF,)')" wid 1.25 \ - with .nw at last [].sw+(-0.2,-0.05) - thinlines_ - arrow <- down .05 left .15 from (Q1.G.x,Q1.G.y-0.05) - "svg_tt(dG)" rjust - arrow <- down .10 left .30 from Q1.Channel.start+(.15,0) - "svg_tt(F)" rjust - arrow <- down .05 left .15 from (Q1.S.x,Q1.S.y+0.05) - "svg_tt(S)" rjust - arrow <- down .05 right .15 from (Q1.D.x,Q1.D.y+0.05) - "svg_tt(D)" ljust - thicklines_ } - - move right_ rmove - Q2: mosfet(,,uHSDF,) - {"svg_tt(`...(,,uHSDF,)')" at last [].s+(0,-0.2) below - thinlines_ - arrow <- down .05 left .15 from (Q2.G.x,Q2.G.y-0.05) - "svg_tt(uH)" rjust - thicklines_ } - - move right_ rmove - Q3: mosfet(,,dMEDSQuB,) - {"svg_tt(`...(,,dMEDSQuB,)')" at last [].s+(0,-0.05) below - thinlines_ - arrow <- down .05 left .15 from (Q3.G.x,Q3.G.y-0.05) - "svg_tt(dM)" rjust - arrow <- down .13 left .30 from Q3.Channel.start+(.12,0) - "svg_tt(E)" rjust - arrow <- down .05 left .10 from Q3.S+(.06,0) - "svg_tt(Q)" rjust - arrow <- down .08 right .24 from (Q3.B.x,Q3.B.y+0.175) - "svg_tt(uB)" ljust - thicklines_ } - - move right_ rmove - Q4: mosfet(,,uMEDSuB) - {"svg_tt(`...(,,uMEDSuB,)')" at last [].s+(0,-0.2) below - "svg_it(G)" at last [].G rjust - "svg_it(S)" at last [].S rjust - "svg_it(D)" at last [].D ljust - "svg_it(B)" at last [].B below - } - - move right_ rmove - Q5: mosfet(,,ZSDFdT,) - {"svg_tt(`...(,,ZSDFdT)')" at last [].s+(0,-0.05) below - thinlines_ - arrow <- down .08 left .08 from (Q5.S.x,Q5.S.y+0.12) - "svg_tt(Z)" rjust - arrow from last arrow.end to Q5.Channel.c+(0.05,0) - arrow from last arrow.start to (Q5.D.x,Q5.D.y+.05) - arrow <- down .08 right .24 from (Q5.G.x,Q5.G.y-0.02) - "svg_tt(dT)" ljust - thicklines_ } - - move right_ rmove+0.1 - up_ - Q6: IRF4905 with .c at Here - {"svg_tt(`IRF4905')" at Q6.s+(0,-0.15) below - "svg_it(G)" at Q6.G rjust - "svg_it(D)" at Q6.D ljust above - "svg_it(S)" at Q6.S ljust below - } - ] with .nw at Row2.sw + (0,-10bp__) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/graysurfSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/graysurfSVG.m4 deleted file mode 100644 index a42709b96e7..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/graysurfSVG.m4 +++ /dev/null @@ -1,190 +0,0 @@ -.PS -# graysurfSVG.m4 -threeD_init -NeedDpicTools - -Overall: [ -[] -Surface:[ -# This just draws the facets back to front - - setview(20,30) - dimen = 1.5 - - xmax = 2*dimen - ymax = 1.5*dimen - zmax = 1*dimen - - define(`fn', - `expe(-(`$1')/tt)*cos((`$2')/xmax*1.75*twopi_)*cos((`$1')/ymax*twopi_)') - - nx = 24; dx = xmax/nx - ny = 30; dy = ymax/ny - tt = 1.5 - fnmax = fn(0,0,0) - - Orig: (0,0) - linethick_(1.2) - arrow from Orig to 1.2 ; "svg_it(x)" wid 0.08 below - arrow from Orig to 1.2 ; "svg_it(y)" ljust - arrow from Orig to 1.2 ; "svg_it(z)" rjust - - linethick_(0) - for i = 0 to nx-1 do { - x = xmax*i/nx - for j = 0 to ny-1 do { - y = ymax*j/ny - fnxy = fn(x,y) - shade((fnmax+fnxy)/fnmax/2, - line from Project(x,y,fnxy) to Project(x,(y+dy),`fn(x,(y+dy))')\ - then to Project((x+dx),(y+dy),`fn((x+dx),(y+dy))')\ - then to Project((x+dx),y,`fn((x+dx),y)')\ - then to Project(x,y,fnxy) - ) } } -] with .w at last [].e+(-0.2,0) - -Torus: [ -# Calculate all the facet centres but draw -# only a subset of them after sorting - - viewazimuth = 20 # Set view angles in degrees - viewelevation = 30 - - setview(viewazimuth,viewelevation,0) - - sfactor = 0.7 - tradius = 2*sfactor - sradius = 0.75*sfactor - -define(`torus',`rot3Dz((`$1')*dtor_, - sum3D(tradius,0,0,rot3Dy((`$2')*dtor_,sradius,0,0)))') - -define(`tvisible',`dot3D(view3D1,view3D2,view3D3, - rot3Dz((`$1')*dtor_,rot3Dy((`$2')*dtor_,1,0,0)))') - -Orig: (0,0) -X: arrow from Orig to Project(tradius+sradius*4,0,0); "x" rjust -Y: arrow from Orig to Project(0,tradius+sradius*2,0); "y" below wid 4bp__ - - dt = 10 # major angle degrees per facet - ds = 10 # minor angle degrees per facet - - # create the arrays and sort - n = 0 - for t = dt to 360+dt/2 by dt do { - for s=ds/2 to 360.1 by ds do { - if tvisible(t,s) >= 0 then { - n +=1 - t[n] = t - s[n] = s - d[n] = dot3D(torus(t,s),view3D1,view3D2,view3D3) # view distance - ix[n] = n - } } } -#prval(n) - dpquicksort(d,1,n,ix) - - # draw the facets -thinlines_ - for i = 1 to n do { - tc = t[ix[i]]; sc = s[ix[i]] - SE: Project(torus(tc+dt/2,sc-ds/2)) - SW: Project(torus(tc-dt/2,sc-ds/2)) - NW: Project(torus(tc-dt/2,sc+ds/2)) - NE: Project(torus(tc+dt/2,sc+ds/2)) - f = ((dcosine3D(3,torus(tc,sc))/sradius+1)/2)^2 - g = min(f,0.9) - setrgb(g,g,g) -# line fill f ifpdf( invis ) \ -# from SE to SW then to NW then to NE then to SE - shade(f, - line invis fill f from SE to SW then to NW then to NE then to SE ) - - resetrgb - } - -thicklines_ - arrow from Orig to Project(0,0,tradius*1.4); "z" above - dashline(from Orig to Project(torus(0,0)),,,,G) - arrow to X.end - dashline(from Orig to Project(torus(90,0)),,,,G) - arrow to Y.end - -] with .sw at last [].se+(0.2,0) - -Hat: [ -# Sort as for the torus but draw edges too - - azimuth = 25 # View angles in degrees - elevation = 20 - setview(azimuth,elevation) - # the 3D object: `hat(t,y)' - define(`hat',`cosd($1)*($2),sind($1)*($2),(($2)^2-1)^2') - define(`gradient',`(-4*($2)*(($2)^2-1)*cosd(`$1')), - (-4*($2)*(($2)^2-1)*sind(`$1')),1') - define edge {$2=dot3D(View3D,gradient($1,y))} - define(`hatvis', - `(($2 > 0.6) || (dot3D(View3D,gradient($1,$2)) > 0))') - - # grid parameters - dang = 09 - maxy = 1.25 - dy = 0.05 - -Orig: (0,0) -X: arrow from Orig to Project(maxy*1.2,0,0); "x" rjust -Y: arrow from Orig to Project(0,maxy*1.2,0); "y" ljust -Xv: Project(1,0,0) -Yv: Project(0,1,0) -Zv: Project(0,0,1) - # create the arrays and sort - n = 0 - for t = dang/2 to 360.1 by dang do { - for y=dy/2 to maxy by dy do { - if hatvis(t,y) then { - n +=1 - t[n] = t - y[n] = y - d[n] = dot3D(hat(t,y),View3D) #distance toward the front - ix[n] = n - } } } -#prval(n) - dpquicksort(d,1,n,ix) - # draw the facets - ellipse wid maxy*2 ht maxy*2*sind(elevation) \ - with .c at Project(0,0,(maxy^2-1)^2)+(0,linethick bp__/2) -thinlines_ - for i = 1 to n do { - tc = t[ix[i]]; yc = y[ix[i]] - SE: Project(hat(tc+dang/2,yc-dy/2)) - SW: Project(hat(tc-dang/2,yc-dy/2)) - NW: Project(hat(tc-dang/2,yc+dy/2)) - NE: Project(hat(tc+dang/2,yc+dy/2)) - f = abs(yc^2-1) - line invis fill f from SE to SW then to NW then to NE then to SE - } - - # Outline where the surface goes invisible -mm = int(maxy/dy) -nr = -1 -for i=1 to mm do { y = i/(mm+3) - findroot(edge,(azimuth+2),(azimuth+180-2),1e-8,t) - nr +=1 - R[mm+nr]: Project(hat(t,y)) - R[mm-1-nr]: (-R[mm+nr].x,R[mm+nr].y) - } -fitcurve(R,mm*2-1) - - # Z axis -thicklines_ -Z: arrow from Zv to Project(0,0,1.2); "z" ljust - line dashed from Orig to Zv chop 0 chop dashwid/2 - line dashed from Orig to Xv - line dashed from Orig to Yv - - # Partial rim -ellipsearc(maxy*2,maxy*2*sind(elevation),-pi_*1.4,pi_/3) \ - with .C at Project(0,0,(maxy^2-1)^2)+(0,linethick bp__/2) -] scaled 1.25 with .s at 2nd [].ne+(0,-0.75) -] scaled 0.85 - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/icsSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/icsSVG.m4 deleted file mode 100644 index 896e1008eb6..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/icsSVG.m4 +++ /dev/null @@ -1,311 +0,0 @@ -divert(-1) - - Macros defining some integrated circuits and connectors for SVG - - `A sequence of pins along the east or west side of a chip: - lg_pinseq(initial pin no, final pin no, - e|w, initial offset, pinnum_root, Labelroot, [N])' - `e.g., lg_pinseq(1,8,w)' -define(`lg_pinseq',`for_($1,$2,1, - `lg_pin( Chip.s`$3'+(0,eval($4+m4x)*lg_pinsep), - $6`'m4x,Pin`'eval($5`'m4x),`$3'`$7',eval($5`'m4x))') ') - -define(`ic_tiny',`iflatex(`\hbox{\tiny `$1'}',ifsvg(`svg_small(`$1')',`$1'))') - -define(`ic6116',`[ Chip: box wid_ lg_chipwd ht_ 15*lg_pinsep - lg_pin(Chip.sw_+(0,lg_pinsep),GND,Pin12,w,12) - lg_pin(Chip.sw_+(0,2*lg_pinsep),lg_bartxt(CS),Pin18,wN,18) - lg_pinseq(0,2,w,4,9+,D) - lg_pinseq(3,7,w,4,10+,D) - lg_pin(Chip.sw_+(0,13*lg_pinsep),R/lg_bartxt(W),Pin21,w,21) - lg_pin(Chip.sw_+(0,14*lg_pinsep),V`'ic_tiny(CC),Pin24,w,24) - lg_pin(Chip.se_+(0,lg_pinsep),lg_bartxt(OE),Pin20,eN,20) - lg_pinseq(0,7,e,3,8-,A) - lg_pinseq(8,9,e,3,31-,A) - lg_pin(Chip.se_+(0,13*lg_pinsep),A10,Pin19,e,19) - `$1']') - -define(`ic6502',`[ Chip: box wid_ lg_chipwd ht_ 24*lg_pinsep - lg_pin(Chip.sw_+(0,lg_pinsep),V`'ic_tiny(SS),Pin21,w,21) - lg_pin(Chip.sw_+(0,2*lg_pinsep),V`'ic_tiny(SS),Pin1,w,1) - lg_pin(Chip.sw_+(0,4*lg_pinsep),R/lg_bartxt(W),Pin34,w,34) - lg_pinseq(0,7,w,6,33-,D) - lg_pin(Chip.sw_+(0,15*lg_pinsep),lg_bartxt(RESET),Pin40,wN,40) - lg_pin(Chip.sw_+(0,17*lg_pinsep),SYNC,Pin7,w,7) - lg_pin(Chip.sw_+(0,19*lg_pinsep),lg_bartxt(NMI),Pin6,wN,6) - lg_pin(Chip.sw_+(0,21*lg_pinsep),RDY,Pin2,w,2) - lg_pin(Chip.sw_+(0,22*lg_pinsep),SO,Pin38,w,38) - lg_pin(Chip.sw_+(0,23*lg_pinsep),V`'ic_tiny(CC),Pin8,w,8) - lg_pin(Chip.se_+(0,lg_pinsep),CK`'ic_tiny(1)(in),Pin39,e,39) - lg_pin(Chip.se_+(0,4*lg_pinsep), CK`'ic_tiny(2)(out),Pin37,e,37) - lg_pinseq(0,11,e,6,9+,A) - lg_pinseq(12,15,e,6,10+,A) - lg_pin(Chip.se+(0,23*lg_pinsep),lg_bartxt(IRQ),Pin4,eN,4) - `$1']') - -define(`ic6522',`[ Chip: box wid_ lg_chipwd ht_ 24*lg_pinsep - lg_pin(Chip.sw_+(0,lg_pinsep),V`'ic_tiny(SS),Pin1,w,1) - lg_pin(Chip.sw_+(0,3*lg_pinsep),CS1,Pin24,w,24) - lg_pin(Chip.sw_+(0,4*lg_pinsep),CK,Pin25,w,25) - lg_pin(Chip.sw_+(0,5*lg_pinsep),lg_bartxt(CS2),Pin23,wN,23) - lg_pin(Chip.sw_+(0,7*lg_pinsep),RS0(A0),Pin38,w,38) - lg_pin(Chip.sw_+(0,8*lg_pinsep),RS1(A1),Pin37,w,37) - lg_pin(Chip.sw_+(0,9*lg_pinsep),RS2(A2),Pin36,w,36) - lg_pin(Chip.sw_+(0,10*lg_pinsep),RS3(A3),Pin35,w,35) - lg_pinseq(0,7,w,12,33-,D) - lg_pin(Chip.sw_+(0,21*lg_pinsep),R/lg_bartxt(W),Pin22,w,22) - lg_pin(Chip.sw_+(0,22*lg_pinsep),lg_bartxt(IRQ),Pin21,wN,21) - lg_pin(Chip.sw_+(0,23*lg_pinsep),V`'ic_tiny(CC),Pin20,w,20) - lg_pinseq(0,7,e,1,10+,PB) - lg_pinseq(1,2,e,8,17+,CB) - lg_pinseq(0,7,e,12,2+,PA) - lg_pinseq(1,2,e,19,41-,CA) - lg_pin(Chip.se_+(0,23*lg_pinsep),lg_bartxt(RESET),Pin34,eN,34) - `$1']') - -define(`ic74LS138',`[ Chip: box wid_ lg_chipwd ht_ 11*lg_pinsep - lg_pin(Chip.sw_+(0,lg_pinsep),GND,Pin8,w,8) - lg_pin(Chip.sw_+(0,2*lg_pinsep),lg_bartxt(G2a),Pin4,wN,4) - lg_pin(Chip.sw_+(0,3*lg_pinsep),lg_bartxt(G2b),Pin5,wN,5) - lg_pin(Chip.sw_+(0,5*lg_pinsep),A,Pin1,w,1) - lg_pin(Chip.sw_+(0,6*lg_pinsep),B,Pin2,w,2) - lg_pin(Chip.sw_+(0,7*lg_pinsep),C,Pin3,w,3) - lg_pin(Chip.sw_+(0,9*lg_pinsep),G1,Pin6,w,6) - lg_pin(Chip.sw_+(0,10*lg_pinsep),V`'ic_tiny(CC),Pin16,w,16) - lg_pinseq(0,6,e,2,15-,Y,n) - lg_pin(Chip.se_+(0,9*lg_pinsep),Y7,Pin7,eN,7) - `$1']') - -define(`ic4017',`[ Chip: DIP_chip_outline(16) - Loopover_(`x', - `lg_pin(Chip.nw-(0,lg_pinsep*m4Lx),x,Pin`'m4Lx,w,m4Lx)', - PL, Q3, I3, I0, CLE, Q0, TC, GND) - Loopover_(`x', - `lg_pin(Chip.se+(0,lg_pinsep*m4Lx),x,Pin`'eval(m4Lx+8),e,eval(m4Lx+8))', - MR, U/D, Q1, I1, I2, Q2, CLK, Vcc) - `$1']') - -define(`ic4510',`[ Chip: DIP_chip_outline(16) - Loopover_(`x', - `lg_pin(Chip.nw-(0,lg_pinsep*m4Lx),x,Pin`'m4Lx,w,m4Lx)', - PL, Q3, I3, I0, CLE, Q0, TC, GND) - Loopover_(`x', - `lg_pin(Chip.se+(0,lg_pinsep*m4Lx),x,Pin`'eval(m4Lx+8),e,eval(m4Lx+8))', - MR, U/D, Q1, I1, I2, Q2, CLK, Vcc) - `$1']') - -define(`icVS1053',`[ Chip: DIP_chip_outline(32) - Loopover_(`x', - `lg_pin(Chip.nw-(0,lg_pinsep*m4Lx),x,Pin`'m4Lx,w,m4Lx)', - LOUT,ROUT,GBUF,AGND,AGND,DREG,Vcc,3V3,GND,MISO,MOSI,sclk,RST,CS,DCS,DCS) - Loopover_(`x', - `lg_pin(Chip.se+(0,lg_pinsep*m4Lx),x,Pin`'eval(m4Lx+16),e,eval(m4Lx+16))', - SDCD,RX,TX,7,6,5,4,3,2,1,0,GND,3V3,AGND,MIC`'svg_it(-),MIC`'svg_it(+)) - `$1']') - - `ArduinoUno( wid,ht,pinlen )' -define(`ArduinoUno',`[ - define(`m4bwid',`ifelse(`$1',,`24*L_unit',`$1')')dnl - define(`m4bht',`ifelse(`$2',,`20*lg_pinsep',`$2')')dnl -# - - Connector: box wid m4bwid ht m4bht -# - plen = ifelse(`$4',,`2*L_unit',`$4') -# -Loopover_(`x',`ifelse(x,nul,, - `Pin`'eval(5+m4Lx): line left_ plen from Connector.nw-(0,(5+m4Lx)*lg_pinsep) - { "x" ljust at last line.start }')', - IOREF, RESET,svg_it(+)3V3,svg_it(+)5V, GND, GND, VIN, - nul, A0, A1, A2, A3, A4, A5) -# -Loopover_(`x',`ifelse(x,nul,, - `Pin`'eval(22-m4Lx): line right_ plen from Connector.ne-(0,m4Lx*lg_pinsep) - { "x" rjust at last line.start }')', - SCL, SDA, AREF, GND, D13, D12, ~D11, ~D10, ~D9, D8, - nul, D7, ~D6, ~D5, D4, ~D3, D2, TX D1, RX D0) -# - `$4'] ') - - `ArduinoLeonardo( wid,ht,pinlen )' -define(`ArduinoLeonardo',`[ - define(`m4bwid',`ifelse(`$1',,`24*L_unit',`$1')')dnl - define(`m4bht',`ifelse(`$2',,`20*lg_pinsep',`$2')')dnl -# - Connector: box wid m4bwid ht m4bht -# - plen = ifelse(`$4',,`2*L_unit',`$4') -# -Loopover_(`x',`ifelse(x,nul,, - `Pin`'eval(5+m4Lx): line left_ plen from Connector.nw-(0,(5+m4Lx)*lg_pinsep) - { "x" ljust at last line.start }')', - IOREF, RESET,svg_it(+)3V3,svg_it(+)5V, GND, GND, VIN, - nul, A0, A1, A2, A3, A4, A5) -# -Loopover_(`x',`ifelse(x,nul,, - `Pin`'eval(22-m4Lx): line right_ plen from Connector.ne-(0,m4Lx*lg_pinsep) - { "x" rjust at last line.start }')', - SCL, SDA, AREF, GND, - ~D13, D12, ~D11, ~D10, ~D9, D8, - nul, D7, ~D6, ~D5, D4, ~D3, D2, TX D1, RX D0) -# - `$4'] ') - - `RPi( wid,ht,pinlen )' -define(`RPi',`[ - define(`m4bwid',`ifelse(`$1',,`34*L_unit',`$1')')dnl - define(`m4bht',`ifelse(`$2',,`21*lg_pinsep',`$2')')dnl -# - GPIO: box wid m4bwid ht m4bht - plen = ifelse(`$4',,`6*L_unit',`$4') -# -define A_LeftGPIO { - exec sprintf("Pin%g: line left_ plen from GPIO.nw-(0,%g)",\ - 2*(`$'1)-1,(`$'1)*lg_pinsep) - { "`$'3" ljust at last line.start } - "`$'2" at last line.c above } -# -Loopover_(`x',`ifelse(x,nul,,`A_LeftGPIO(m4Lx,patsubst(x,;,`,'))')', - ;3V3, - 2;SDA1, 3;SCL1, 4;GPIO_GCLK, - ;GND, - 17;GPIO_GEN0, 27;GPIO_GEN2, - 22;GPIO_GEN3, - ;3V3, - 10;SPI_MOSI, 9;SPI_MISO, - 11;SPI_SCLK, - ;GND, - ;ID_SD, - 5;, 6;, 13;, 19;, 26;, - ;GND ) -# -define A_RightGPIO { - exec sprintf("Pin%g: line right_ plen from GPIO.ne-(0,%g)",\ - 2*(`$'1),(`$'1)*lg_pinsep) - { "`$'3" rjust at last line.start } - "`$'2" at last line.c above } -# -Loopover_(`x',`ifelse(x,nul,,`A_RightGPIO(m4Lx,patsubst(x,;,`,'))')', - ;5V, - ;5V, - ;GND, - 14;TXD0, 15;RXD0, 18;GPIO_GEN1, - ;GND, - 23;GPIO_GEN4, 24;GPIO_GEN5, - ;GND, - 25;GPIO_GEN6, 8;SPI_CEO_N, - 7;SPI_CE1_N, - ;ID_SC, - ;GND, - 12;, - ;GND, - 16;, 20;, 21; ) -# - `$4'] ') - - `USB_C_Socket( wid, ht, pinlen )' -define(`USB_C_Socket',`[ - define(`m4bwid',`ifelse(`$1',,`18*L_unit',`$1')')dnl - define(`m4bht',`ifelse(`$2',,`14*lg_pinsep',`$2')')dnl -# - Base: box wid m4bwid ht m4bht rad 5/3*lg_pinsep - plen = ifelse(`$4',,`6*L_unit',`$4') -# - Loopover_(`x', - `B`'eval(13-m4Lx): dnl - line left_ plen from Base.n-(m4bwid/2,(m4Lx+0.5)*lg_pinsep) - {"x" ljust at last line.start}', - GND, RX1`'svg_it(+), RX1`'svg_it(-), VBUS, SBU2, D`'svg_it(-), - D`'svg_it(+), CC2, VBUS, TX2`'svg_it(-), TX2`'svg_it(+), GND) -# - Loopover_(`x', - `A`'m4Lx: line right_ plen from Base.n+(m4bwid/2,-(m4Lx+0.5)*lg_pinsep) - {"x" rjust at last line.start}', - GND, TX1`'svg_it(+), TX1`'svg_it(-), VBUS, CC1, D`'svg_it(+), - D`'svg_it(-), SBU1, VBUS, RX2`'svg_it(-), RX2`'svg_it(+), GND) -# - `$4']') - - `HDMI_micro( wid, ht, pinlen )' -define(`HDMI_micro',`[ - define(`m4bwid',`ifelse(`$1',,`16*L_unit',`$1')')dnl - define(`m4bht',`ifelse(`$2',,`19*lg_pinsep+m4bwid*2/3',`$2')')dnl -# - Base:[line up m4bht/2 then right m4bwid*2/3 \ - then right m4bwid/3 down m4bwid/3 \ - then down m4bht-2*m4bwid/3 then down m4bwid/3 left m4bwid/3 \ - then left m4bwid*2/3 then to Here] - plen = ifelse(`$4',,`6*L_unit',`$4') -# - Loopover_(`x', - `Pin`'m4Lx: line left_ plen from Base.nw-(0,m4bwid/3+(m4Lx-1/2)*lg_pinsep) - {"x" ljust at last line.start} - "m4Lx" at last line.c above', - HPD, UTILITY, D2`'svg_it(+), D2_SH, D2`'svg_it(-), - D1`'svg_it(+), D1_SH, D1`'svg_it(-),D0`'svg_it(+), D0_SH, - D0`'svg_it(-), CLK`'svg_it(+), CLK_SH, CLK`'svg_it(-), - CEC, GND, SCL, SDA,svg_it(+)5V) -L1: line from Base.nw+(m4bwid*2/3-lg_pinsep,0) up plen - svg_rot(90,"21",at last line.c +(-2bp__,0)) - svg_rot(90,"SH2",at last line.start + (4bp__,-8bp__)) - line from Base.nw+(m4bwid*2/3-2*lg_pinsep,0) up plen - svg_rot(90,"20",at last line.c+(-2bp__,0)) - svg_rot(90,"SH1",at last line.start + (4bp__,-8bp__)) - line from Base.sw+(m4bwid*2/3-lg_pinsep,0) down plen - svg_rot(90,"23",at last line.c+(-2bp__,0)) - svg_rot(90,"SH4",at last line.start + (4bp__,14bp__)) - line from Base.sw+(m4bwid*2/3-2*lg_pinsep,0) down plen - svg_rot(90,"22",at last line.c+(-2bp__,0)) - svg_rot(90,"SH3",at last line.start + (4bp__,14bp__)) -# - `$4']') - - `DIP_chip_outline( pin count, wid )' -define(`DIP_chip_outline', - `[ define(`m4pinct',`ifelse(`$1',,16,`$1')')dnl - define(`m4chgw',`ifelse(`$2',,(18*L_unit),`$2')')dnl - Chip: box invis wid m4chgw ht lg_pinsep*eval((m4pinct)/2+1) - arcd(last box.n, lg_pinsep/2, 180, 360) - { line to last box.ne chop -linewid bp__/2 } - { line from last arc.start to last box.nw chop -linewid bp__/2 } - line from last box.nw to last box.sw then to last box.se then to last box.ne - `$3']') - - `DIP( pin count, attributes) - Dual in-line package - attributes=semicolon-separated list of optional terms: - bodywid=expr; (default 0.25 = 5*L_unit ) - bodylen=expr; (default pin count/2 x pinpitch) - pinpitch=expr; (default 0.1) - pinwid=expr; (default 0.06) - pinlen=expr; (default 0.05) - direct=U|D|L|R;(default U for up) - type=I|Q; (default I for uniform-length pins; - Q: staggered) ' -define(`DIP',`[ pinct= ifelse(`$1',,8,`$1') - Loopover_(`Z',`pushkey_(`$2',patsubst(Z,:.*),patsubst(Z,.*:))', - bodywid: 5*L_unit, - bodylen: m4pinpitch*int(pinct/2+0.5), - pinpitch:2*L_unit, - pinwid: 1.2*L_unit, - pinlen: L_unit) - Loopover_(`Z',`pushkey_(`$2',patsubst(Z,:.*),patsubst(Z,.*:),N)', - direct:U, - type:I) - setdir_(m4direct,U) - Body: box ht_ m4bodywid wid_ m4bodylen - arcs = ifelse(m4_dir_,right,90,m4_dir_,up,180,m4_dir_,left,270,0) - arcd(Body.e_, 0.1/2, arcs,arcs+180) - np2 = int(pinct/2+0.5) - define(`m4bxht',`m4pinlen ifelse(m4type,Q,`*(1+(i%%2))')')dnl - for i=0 to np2-1 do { - exec sprintf("Pin%g: box ht_ m4bxht wid_ m4pinwid \ - with .s_ at (i+0.5)/np2 between Body.ne_ and Body.nw_",i+1) } - for i=np2+1 to pinct do { - exec sprintf("Pin%g: box ht_ m4bxht wid_ m4pinwid \ - with .n_ at (i-np2-0.5)/(pinct-np2) between Body.sw_ and Body.se_",i) } - `$3'; resetdir_ - popdef(`m4bodywid',`m4bodylen',`m4pinpitch',`m4pinwid',`m4pinlen',`m4direct', - `m4type') ]')) - -divert(0)dnl diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/keyboardSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/keyboardSVG.m4 deleted file mode 100644 index 7966a7aa3bc..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/keyboardSVG.m4 +++ /dev/null @@ -1,269 +0,0 @@ -.PS -# keyboardSVG.m4 - gen_init - scale=25.4 # unit is mm - -divert(-1) - -define(`kbd_u',(11mm__)) -define(`kbdrowsep',`movewid') -define(`kbdshadewid',`(kbd_u/9)') - - `kbdkey(name|text=chars,keys) - chars: string or string string - keys: wdth=expr; # base wid - hght=expr; # base ht - rad=expr; # base rad - shadewid=expr; # base shade wid - base=attribs; # base attributes - top=attribs; # top attributes ' -define(`kbdkey', - `pushkeys_(`$2', - wdth:kbd_u; hght:kbd_u*14/13+lthick; rad:kbd_u/10; - shadewid:kbdshadewid; base:fill_(0.3):N; top:fill_(0.9):N)dnl - [ Base: box wid m4wdth ht m4hght rad m4rad m4base - Top: box wid m4wdth-2*m4shadewid ht m4hght-m4shadewid-lthick \ - rad m4rad*(kbd_u-2*m4shadewid)/(kbd_u) with .n \ - at Base.n-(0,lthick) m4top - move to Top.w - ifelse(`$1',,,`pushkey_(`$1',text,,N)ifelse(m4text,, - `"iflatex(\sf) `$1'" above ljust', - `m4text');') `$3' - popdef(`m4wdth', `m4hght', `m4shadewid', `m4rad', `m4base', `m4top') dnl - popdef(`m4text') ] ') - -define(`tsmall', - `iflatex(`"{\sf\scriptsize `$1'}"', - ifelse(`$3',,")svg_fsize(`$1',ifelse(`$2',,75,`$2'))ifelse(`$3',,"))') - -define(`stkbdkey', - `iflatex(`command "{\sf\scriptsize"',`m4tmp=textht - textht = ifelse(`$1',,0.66*textht,`$1') ') - kbdkey(shift($*)) - iflatex(`command "}%"',`textht = m4tmp')') - - `enterkey(name|text=chars,keys) - chars: string or string string - keys: wdth=expr; # base wid - hght=expr; # base ht - bhght=expr; # ht of bottom part - rad=expr; # base rad - shadewid=expr; # base shade wid - base=attribs; # base attributes - top=attribs; # top attributes ' -define(`enterkey', - `pushkeys_(`$2', - wdth:kbd_u*2.26; - hght:kbd_u*14/13*2+kbdrowsep+linethick bp__; - bhght: kbd_u*14/13; - twdth: kbd_u*3/2; - rad:kbd_u/10; - shadewid:kbdshadewid; - base:fill_(0.3):N; - top:fill_(0.9):N)dnl - [ ltx = lthick; r = m4rad*(kbd_u-2*m4shadewid)/(kbd_u) -# thick outer - linethick = (m4shadewid+r)/(1bp__); lth2 = lthick/2 - NEx: Here; NE: NEx-(lth2,lth2); SE: NE-(0,m4hght-lth2*3-ltx*3/2) - SW: SE-(m4wdth-lthick,0) - W: SW+(0,m4bhght-lthick+ltx*3/2); NW: NE-(m4twdth-lthick,0); X: (NW,W) - d = 0.3; ro = m4rad-lth2 - move to W; arcto(X,NW,m4rad+lth2,outlined graystring(d)); Tx:NW - Loopover_(`PK',`arcto(Tx,PK,ro,outlined graystring(d));Tx:PK',NE,SE,SW,W,X) - linethick = ltx -# outer outline - NE: NEx; SE: NE-(0,m4hght+ltx); SW: SE-(m4wdth,0) - W: SW+(0,m4bhght); NW: NE-(m4twdth,0); X: (NW,W) - m4enteroutline(m4rad,,m4rad) -# thick inner - linethick = m4shadewid/(1bp__)+linethick; lth2 = lthick/2 - NE: NEx-(m4shadewid+lth2,lth2+ltx); SE: (NE,SE)+(0,m4shadewid*3/2) - SW: SE-(m4wdth-m4shadewid*3,0); W: SW+(0,m4bhght-m4shadewid*2-ltx*3/2); - NW: NE-(m4twdth-m4shadewid*3,0); X: (NW,W) - c = 0.9; ri = r-lth2 - move to W; arcto(X,NW,ri+lth2*2,outlined graystring(c)); Tx:NW - Loopover_(`PK',`arcto(Tx,PK,ri,outlined graystring(c));Tx:PK',NE,SE,SW,W,X) - N: 1/2 between NW and NE - line from N to (N,SE) thick (NE.x-NW.x)/(1bp__) outlined graystring(c) - SSW: 1/2 between SW and W - line from SSW to (SE,SSW) thick (W.y-SW.y)/(1bp__) outlined graystring(c) -# inner outline - NE: NE+(lth2,lth2); SE: SE+(lth2,-lth2); SW: SW-(lth2,lth2) - W: W+(-lth2,lth2); NW: NW+(-lth2,lth2); X: (NW,W) - linethick = ltx - m4enteroutline(ri,,ri+lth2*2) - move to (X,(1/2 between SW and W)); - ifelse(`$1',,,`pushkey_(`$1',text,,N)dnl - ifelse(m4text,,`"iflatex(\sf) `$1'" above ljust',`m4text')') - popdef(`m4wdth', `m4hght', `m4bhght', `m4twdth', `m4shadewid', `m4rad', - `m4base', `m4top', `m4bhght' ) popdef(`m4text')dnl - `$3' ] ') -define(`m4enteroutline',`move to W+(`$1',0); arcto(X,NW,`$3',`$2'); Tx: NW - Loopover_(`PP',`arcto(Tx,PP,`$1',`$2'); Tx: PP',NE,SE,SW,W,X)') -define(`m4enterup',`[ u = ifelse(`$1',,kbd_u*0.3) - line right u/4 then up u/2 then right u/6 then up u/2 left u/4+u/6 \ - then down u/2 left u/4+u/6 then right u/6 then down u/2 then right u/4 - ]') - -define(`kbdsymb',`iflatex("\tt\char`$1'",`dsvg_symb(`$1')')') -define(`m4kbdarrow',`arrow thick 1.5 ht kbd_u/5 wid kbd_u/5') - -divert(0)dnl - -define dsvg_symb {"&#$1;"} - -maxpswid = 25*kbd_u -movewid = kbd_u/11 - -define(`rshift',` at Here+(ifelse(`$1',,`kbd_u/8',`$1'),0) ') - -iflatex(`command "{\small\sf"', - `ifsvg(svg_font(Arial,kbd_u*16/13/4,0bp__)) - textht=kbd_u/4 ') - -Row2: [ - textoffset = kbd_u/8 - Loopover_(`KK',`kbdkey(text=KK); move', - kbdsymb(126) ljust kbdsymb(96) ljust, - Loopover_(`NN',`kbdsymb(NN) ljust "m4Lx" ljust,',33,64,35,36,37,94,38,42,40) - kbdsymb(41) ljust "0" ljust, - kbdsymb(95) ljust "-" ljust, - kbdsymb(43) ljust "=" ljust, - kbdsymb(124) ljust kbdsymb(92) ljust, - "" ) - m4kbdarrow left kbd_u*0.5 at last [].Top - ] -Row1: [ - kbdkey(tsmall(Esc,,N)); move right_ last [].wid+movewid*2 - Loopover_(`KK',`kbdkey(KK); move',F1,F2,F3,F4) - move right_ last [].wid/2 - Loopover_(`KK',`kbdkey(KK); move',F5,F6,F7,F8) - move right_ Row2.wid-Here.x-4*last [].wid-4*movewid - Loopover_(`KK',`kbdkey(KK); move',F9,F10,F11,F12) - ] with .sw at Row2.nw+(0,2*kbdrowsep) -Row3: [ -# Uparrow: kbdkey(,,m4kbdarrow up kbd_u/2 at Top) - Tab: kbdkey(text=tsmall(Tab) rshift ljust,wdth=kbd_u*1.6, - [ A: m4kbdarrow left kbd_u/2; line thick A.thick up A.wid at A.end - A: m4kbdarrow right A.len at A-(0,kbd_u/2) - line thick A.thick up A.wid at A.end ] with .w at Top ); move - Loopover_(`KK',`KK: kbdkey(KK); move',Q,W,E,R,T,Y,U,I,O,P) - textoffset = kbd_u/8 - kbdkey(text=kbdsymb(123) ljust kbdsymb(91) ljust); move - kbdkey(text=kbdsymb(125) ljust kbdsymb(93) ljust); move - w = Row2.wid-Here.x - R: box invis wid w-movewid ht last [].Base.ht - ] with .nw at Row2.sw-(0,kbdrowsep) -Row4: [ - Capslock: kbdkey(text=tsmall(Caps Lock) rshift ljust, - wdth=Row3.Tab.wid+Row3.Q.wid/3;); move - Loopover_(`KK',`KK: kbdkey(KK); move',A,S,D,F,G,H,J,K,L) - textoffset = kbd_u/8 - kbdkey(text=kbdsymb(58) ljust kbdsymb(59) ljust); move - kbdkey(text=kbdsymb(34) ljust kbdsymb(39) ljust); move - ] with .nw at Row3.sw-(0,kbdrowsep) - Enter: enterkey(text=tsmall(Enter),, - m4kbdarrow <- from last ""+(kbd_u/2,0) \ - right kbd_u/2 then up kbd_u/5 ) \ - with .ne at (Row2.e,Row3.n)-(movewid,0) -Row5: [ - ShiftL: kbdkey(text=tsmall(Shift) at 0.4 between Top.w and Top.e, - wdth=kbd_u*2.4, m4enterup at 0.15 between Top.w and Top.e); move - Loopover_(`KK',`KK: kbdkey(KK); move',Z,X,C,V,B,N,M) - textoffset = kbd_u/8 - kbdkey(text=kbdsymb(60) ljust kbdsymb(44) ljust); move - kbdkey(text=kbdsymb(62) ljust kbdsymb(46) ljust); move - kbdkey(text=kbdsymb(63) ljust kbdsymb(47) ljust); move - v = Row2.wid-Here.x-kbd_u-movewid*2 - ShiftR: kbdkey(text=tsmall(Shift) at 1/2 between Top.w and Top.e,wdth=v, - m4enterup at 0.15 between Top.w and Top.e); move - kbdkey(); move - ] with .nw at Row4.sw+(0,-kbdrowsep) -Row6: [ - w = 22/18*kbd_u - CtrlL: kbdkey(text=tsmall(Ctrl) rshift ljust,wdth=w); move - kbdkey(,wdth=w); move - kbdkey(text=tsmall(Alt) rshift ljust,wdth=w); move - s = Row2.wid-(7*w+8*movewid) - kbdkey(,wdth=s); move - kbdkey(text=tsmall(Alt) rshift ljust,wdth=w); move - kbdkey(,wdth=w); move - kbdkey(,wdth=w); move - CtrlR: kbdkey(text=tsmall(Ctrl) rshift ljust,wdth=w); move - ] with .nw at Row5.sw+(0,-kbdrowsep) -Arrowkeys: [ iflatex(`command "{\sf\scriptsize"',`textht *=0.66') -Row1:[ textoffset = kbd_u/20 - kbdkey(text=`"Print" ljust "Screen" ljust "SysRQ" ljust'); move - textoffset = kbd_u/12 - kbdkey(text="Scroll" ljust "Lock" ljust); move - kbdkey(text="Pause" ljust "Break" ljust); move - ] -Row2: [ textoffset = kbd_u/12 - kbdkey(text="Insert" ljust); move - kbdkey(text=tsmall(Home) ljust); move - kbdkey(text="Page" ljust "Up" ljust); move - ] with .nw at Row1.sw-(0,2*kbdrowsep) -Row3: [ textoffset = kbd_u/12 - Delete: kbdkey(text="Delete" ljust); move - End: kbdkey(text="End" ljust); move - kbdkey(text="Page" ljust "Down" ljust); move - ] with .nw at Row2.sw+(0,-kbdrowsep) -Row5: [ - move right Row3.End.w.x + movewid - Uparrow: kbdkey(,,m4kbdarrow up kbd_u/2 at Top) - ] with .nw at Row3.sw-(0,Row3.Delete.ht+2*kbdrowsep) -Row6: [ - kbdkey(,,m4kbdarrow left kbd_u/2 at Top); move - kbdkey(,,m4kbdarrow down kbd_u/2 at Top); move - kbdkey(,,m4kbdarrow right kbd_u/2 at Top); move - ] with .nw at Row5.sw-(0,kbdrowsep) - - iflatex(`command "}%"',`textht *=(1/0.66)') - ] with .nw at Row1.ne+(movewid,0) -Keypad: [ move down_ Arrowkeys.n.y-Arrowkeys.Row2.e.y; right_ - textoffset = kbd_u/8 -Row2:[ - kbdkey(text=tsmall(Num) ljust tsmall(Lock) ljust); move - iflatex(`command "{\large"',`textht *=1.5') - kbdkey(text=kbdsymb(47) ljust); move - kbdkey(text=kbdsymb(42) ljust); move - kbdkey(text=kbdsymb(45) ljust); move - iflatex(`command "}"') - ] -Row3:[ textoffset = kbd_u/12 - kbdkey(text="7" ljust tsmall(Home) ljust); move - kbdkey(text="8" ljust "" ljust,,m4kbdarrow up_ kbd_u/3 \ - at 3/4 between Top.ne and Top.sw); move - kbdkey(text="9" ljust tsmall(PgUp) ljust); move - ] with .nw at Row2.sw+(0,-kbdrowsep) -Row4:[ textoffset = kbd_u/12 - kbdkey(text="4" ljust "" ljust,,m4kbdarrow left kbd_u/3 \ - at 0.7 between Top.ne and Top.sw); move - kbdkey(text="5" ljust "" ljust); move - Six: kbdkey(text="6" ljust "" ljust,,m4kbdarrow right kbd_u/3 \ - at 0.7 between Top.ne and Top.sw); move - ] with .nw at Row3.sw+(0,-kbdrowsep) -Row5:[ textoffset = kbd_u/12 - kbdkey(text="1" ljust tsmall(End) ljust); move - kbdkey(text="2" ljust "" ljust,,m4kbdarrow down kbd_u/3 \ - at 0.7 between Top.ne and Top.sw); move - kbdkey(text="3" ljust tsmall(PgDn) ljust); move - ] with .nw at Row4.sw+(0,-kbdrowsep) -Row6:[ textoffset = kbd_u/12 - kbdkey(text="0" ljust tsmall(Ins) ljust, - wdth=Row4.wid-Row4.Six.wid-2*movewid); move - kbdkey(text=kbdsymb(46) ljust tsmall(Del) ljust); move - ] with .nw at Row5.sw+(0,-kbdrowsep) -Col4: [ textoffset = kbd_u/12 - iflatex(`command "{\large"',`textht *=1.5') - kbdkey(text="+" ljust,hght=Row3.n.y-Row4.s.y); move - iflatex(`command "}"',`textht /=1.5') - kbdkey(text=tsmall(Enter) ljust,hght=Row5.n.y-Row6.s.y) \ - with .nw at last [].sw - (0,kbdrowsep) - ] with .ne at (Row2.e,Row3.n) - - ] with .nw at Arrowkeys.ne+(movewid,0) - -iflatex(`command "}%"', -ifsvg(`command ""')) -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/lcctSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/lcctSVG.m4 deleted file mode 100644 index ba25e601726..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/lcctSVG.m4 +++ /dev/null @@ -1,200 +0,0 @@ -.PS -# lcctSVG.m4 -maxpswid = 10 -log_init(svg_font(sans-serif,11bp__,2bp__)) -include(icsSVG.m4) - - textht = textht * 0.9 - -define(`dimen_',0.5) -define(`elen_',dimen_) -define(`Groundtype',`') - -define(`breakout',` for i = 1 to `$1' do { - {line `$2' ifelse(`$4',,del,`$4')-jog/2 then `$2' jog/2 `$3' jog \ - then `$3' lg_pinsep} - move `$3' lg_pinsep } - move `$2' ifelse(`$4',,del,`$4')-jog/2 then `$2' jog/2 `$3' jog ') - -del = lg_pinsep -jog = del*2/3 - - right_ -IC1: ic6502("6502" at Chip.sw+(0,-2bp__) below ljust) \ - -Vcc: IC1.Pin8.end.x-del-elen_,IC1.Pin4.y+lg_pinsep+3*del -Reset: IC1.Pin8.end.x-del,Vcc.y+del - - resistor(up_ Vcc.y-IC1.Pin4.y from IC1.Pin4.end) - - line left 2*del from IC1.Pin6.end - line up_ to (Here,Vcc) chop 0 chop elen_ - resistor - - line left del from IC1.Pin40.end - {line to (Here,Reset)} - move left elen_ - {NOT_gate(right_ elen_)} - {reversed(`capacitor',to (Here,Vcc),C)} - down_; resistor; ground(,T,Groundtype) - - line from IC1.Pin2.end to (IC1.Pin2.end,Vcc) - - move to IC1.Pin26.end; breakout(8,left,down) - line to (Here,IC1.sw+(0,-del)) - line down jog right jog/2 -Data: Here - - line from IC1.Pin1.end down_ 2*lg_pinsep; ground(,T,Groundtype) - - line left 2*del from IC1.Pin34.end - line to (Here,Data+(0,-del)) -RWB: Here - - move to IC1.Pin25.end; breakout(16,right,down) - line to (Here,RWB)+(0,-del+jog) then down jog left jog/2 -Addr: Here - - right_ -IC5: ic74LS138("74LS138" at Chip.sw+(0,-2bp__) below ljust) \ - with .Chip.nw at (IC1.Chip.w.x,Addr.y-2*del) - line from IC5.Pin5.end down_ 3*lg_pinsep ; ground(,T,Groundtype) - line from IC5.Pin16.end down_ 1.5*lg_pinsep ; ground(,T,Groundtype) - move to IC5.Pin1.end; breakout(3,left,up) - line to Here.x,Addr.y-jog then up jog right jog/2 then to Addr - - line right_ 2*del from IC1.Pin39.end - { NOT_gate(right_ 3*del) -C1: Here } - capacitor(up_ elen_*0.6) - {resistor(right_ 3*del)} - line up 2*(IC1.Pin37.y-Here.y) - {line from IC1.Pin37.end to (Here,IC1.Pin37)} - right_; xtal(right_ 3*del) - -IC2: ic6116("6116" at Chip.sw+(0,-2bp__) below ljust) \ - with .Chip.nw at Here.x+2*del+lg_plen*L_unit,IC1.Chip.n.y - line from IC2.Pin24.end up to (IC2.Pin24.end,Vcc) - right_ -Or1: OR_gate with .Out at IC2.Pin21.end - line from Or1.In2 left del then down del - line to (C1,Here) then to C1 - line from Or1.In1 left del - line to (Here,IC2.Chip.nw+(0,del)) -RW: Here - move to IC2.Pin17.end; breakout(8,left,down) - line to (Here,Data)+(0,jog) then down jog left jog/2 - line down_ lg_pinsep from IC2.Pin12.end ; ground(,T,Groundtype) - move to IC2.Pin19.end; breakout(11,right,down) - line to (Here,Addr) chop 0 chop jog - line down jog left jog/2 - line down_ lg_pinsep from IC2.Pin20.end ; ground(,T,Groundtype) - - right_ -IC3: ic6116("6116" at Chip.sw+(0,-2bp__) below ljust) \ - with .Chip.nw at IC2.Chip.ne + (IC2.Chip.nw.x - IC1.Chip.ne.x-del,0) -IC4: ic6522("6522" at Chip.sw+(0,-2bp__) below ljust) \ - with .Chip.nw at IC3.Chip.ne + (IC2.Chip.nw.x - IC1.Chip.ne.x-del,0) -IC6: ic74LS138("74LS138" at Chip.sw+(0,-2bp__) below ljust) \ - with .Chip.nw at (IC3.Chip.nw,IC5.Chip.nw) - - line from Vcc to (IC4.Pin34.end.x+del,Vcc.y) - line from Reset to (IC4.Pin34.end,Reset) then to IC4.Pin34.end - - line right_ 2*del from (C1,IC4.Pin25); NOT_gate; line to IC4.Pin25.end - line right del from IC1.Pin4.end; line to Here.x,Vcc.y-del - line to (IC4.Pin21.end,Here)-(del,0) then to IC4.Pin21.end-(del,0) \ - then to IC4.Pin21.end - - line from IC3.Pin21.end to (IC3.Pin21.end,Vcc) - move to IC3.Pin17.end - breakout(8,left,down); line to (Here,Data)+(0,jog) then down jog left jog/2 - move to IC3.Pin19.end - breakout(11,right,down); line to (Here,Addr)+(0,jog) then down jog left jog/2 - move to IC4.Pin26.end - breakout(8,left,down,2*del); - line to (Here,Data)+(0,jog) then down jog left jog/2 then to Data - move to IC4.Pin35.end - breakout(4,left,down); line to (Here,Addr)+(0,jog) then down jog left jog/2 \ - then to Addr - line from IC4.Pin20.end to (IC4.Pin20.end,Vcc) - line down_ lg_pinsep from IC4.Pin1.end; ground(,T,Groundtype) - line left 3*del from IC4.Pin23.end - line to (Here,IC6.Pin7) then to IC6.Pin7.end - line down_ 2*lg_pinsep from IC3.Pin18.end; ground(,T,Groundtype) - - line down_ lg_pinsep from IC6.Pin8.end; ground(,T,Groundtype) - line up_ 2.5*lg_pinsep from IC6.Pin16.end \ - then right_ lg_pinsep then down_ lg_pinsep/2; ground(,T,Groundtype) - move to IC6.Pin5.end; breakout(1,left,up); line up_ lg_pinsep - move to IC6.Pin1.end; breakout(3,left,up) - line to (Here,Addr)-(0,jog) then up jog left jog/2 - - line from RW to (IC3.Pin19.end+(2*del,0),RW) -RWE: Here - line to (RWE,RWB) then to RWB - line from IC4.Pin22.end to (RWE,IC4.Pin22.end) - - right_ -Or3: OR_gate with .Out at IC3.Pin20.end.x-del,IC1.Pin9.y - line from Or3.Out to (IC3.Pin20.end,Or3.Out) then to IC3.Pin20.end - left_ -Or2: OR_gate with .In2 at (IC2.Chip.se,Or3.In1) - line from Or2.Out to (IC2.Pin18.end-(3*del,0),Or2.Out) - line to (Here,IC2.Pin18) then to IC2.Pin18.end - line from Or2.In1 right del; line to (Here,IC1.Pin37) - - line from Or3.In2 left del; line to (Here,IC1.Pin37) - -define(`addrlabel',`dnl - line invis right 4*del from IC5.Pin`$1'.end "svg_small(`$2')" above ') - - addrlabel( 7,E000 - FFFF) - addrlabel( 9,C000 - DFFF) - addrlabel(10,A000 - BFFF) - addrlabel(11,8000 - 9FFF) - addrlabel(12,6000 - 7FFF) - addrlabel(13,4000 - 5FFF) - addrlabel(14,2000 - 3FFF) - addrlabel(15,0000 - 1FFF) - - line from IC5.Pin7.end right 4*del -K: Here; line to (K,IC5.Pin13) - line to (IC6.Pin4.end-(3*del,0),Here) - line to (Here,IC6.Pin4.end) then to IC6.Pin4.end - -Ands: [ right_ - And1: AND_gate; line right del/2 then down del*3/2 \ - then left And1.Out.x-And1.In1.x+del then down del then right_ del/2 - And2: AND_gate with .In1 at Here - line from And2.Out right del/2 then down del then right_ del/2 - And3: AND_gate with .In1 at Here - line right_ del/2 from And3.Out - NOT_gate - line right_ del/2 - And4: AND_gate with .In1 at Here - ] with .And2.In1 at (K.x+2*del,IC5.Pin9.y) - -# line from Ands.And4.Out right del*3; line to (Here,Or3.In1) then to Or3.In1 - line from Ands.And4.Out right IC6.Pin5.end.x-3*del-Ands.And4.Out.x - line to (Here,Or3.In1) then to Or3.In1 - line from Ands.And4.In2 left del - line to (Here,IC5.Pin14) then to IC5.Pin14.end - line from IC5.Pin15.end to (IC2.Pin20.end.x+2*del,IC5.Pin15.y) - line to (Here,Or2.In2) then to Or2.In2 - NOT_gate(right_ from (K,Ands.And3.In2) to Ands.And3.In2) - line from Ands.And2.In2 to (K+(del+jog/2,0),Ands.And2.In2) - line left jog/2 up jog; line to (Here.x,Addr.y-jog) then up jog left jog/2 - line from Ands.And1.In1 to (K.x+del+jog/2,Ands.And1.In1.y) \ - then left jog/2 up jog - line from Ands.And1.In2 to (K.x+del+jog/2,Ands.And1.In2.y) \ - then left jog/2 up jog - - line from IC6.Pin6.end left 2*del; line to (Here,IC4.Pin24) - line from IC4.Pin24.end to (IC2.Chip.se,IC4.Pin24) - move left dimen_; {NOT_gate(right_ dimen_)} - line left jog/2 down jog; line to (Here,Data) chop 0 chop jog - line down jog left jog/2 - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/local_init.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/local_init.m4 deleted file mode 100644 index bf2dbda5976..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/local_init.m4 +++ /dev/null @@ -1,2 +0,0 @@ -command "" -define(`Inkscape') diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/paletteSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/paletteSVG.m4 deleted file mode 100644 index 4c5a40f0387..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/paletteSVG.m4 +++ /dev/null @@ -1,336 +0,0 @@ -.PS -# This is the source for a prototype svg library of electric circuit -# elements. Each element is a compound svg object with corners on grid points. -# -# Processing svg.m4 and this file thought dpic -v gives -# output that can be read into Inkscape. -# -define(`SIdefaults',` - scale = 25.4 - arcrad = 5 - arrowht = 2.5 - arrowwid = arrowht/2 - boxht = 12 - boxrad = 0 - boxwid = 20 - circlerad = 5 - dashwid = 1.5 - ellipseht = 12 - ellipsewid = 16 - lineht = 12 - linewid = 12 - moveht = 12 - movewid = 12 - textht = ifsvg(3,0) - textoffset = 1 - textwid = 0 -') - -log_init(svg_font(sans-serif,11bp__)) -SIdefaults - - # Assume dpic scale is in mm -gunit = 1 # Inkscape grid dimension -divert(-1) -define(`elen_',`(10*gunit)') # default 2-terminal element length -define(`dimen_',`(10*gunit)')# reference dimension for element bodies -define(`L_unit',`(2*gunit)') # logic gate grid size -define(`N_diam',1) # L_unit size of `not' circles - - # grid round and chop -define(`g_round',`(int((`$1')/gunit+100000.5 )-100000)*gunit') -define(`g_chop', `(int((`$1')/gunit+100000.9999)-100000)*gunit') - # snap to grid -define(`g_snap',`(g_round((`$1').x),g_round((`$1').y))') - -# Box containing an element. The element must be in a box that is -# intersected by a horizontal or vertical line from entry to exit. -define(`Gridbox',`[ command "" - S: Here; `$1'; F: Here - if S.y == F.y then { - move from (max(S.x,F.x),F.y+g_chop(last[].n.y-F.y)) \ - to (min(S.x,F.x),F.y-g_chop(F.y-last[].s.y)) } \ - else { - move from (F.x+g_chop(last[].e.x-F.x),max(S.y,F.y)) \ - to (F.x-g_chop(F.x-last[].w.x),min(S.y,F.y)) } - command "" ] ') - -# Place compound object corners at grid intersections -define(`Below', - `with .n at g_snap(ifelse(`$1',,`last []',`$1').s)-(0,2*gunit)') -define(`Right', - `with .w at g_snap(ifelse(`$1',,`last []',`$1').e)+(2*gunit,0)') - -# for debug -define(`prpos',`print (`$1').x/gunit,(`$1').y/gunit') -divert(0)dnl - -[ - -rpoint_(down_ elen_) -A:Gridbox( resistor ) - Gridbox( resistor(down_ dimen_*1/2) ) Right - Gridbox( resistor(,,E) ) Right - Gridbox( resistor(,,Q) ) Right - Gridbox( resistor(,,H) ) Right - Gridbox( resistor(,,N) ) Right - Gridbox( inductor(,W) ) Right - Gridbox( inductor(,W,,M) ) Right - Gridbox( inductor(,L) ) Right - Gridbox( inductor ) Right - Gridbox( inductor(,,,M) ) Right - Gridbox( capacitor ) Right - Gridbox( capacitor(,C) ) Right - Gridbox( capacitor(,P) ) Right - Gridbox( capacitor(,E) ) Right - Gridbox( capacitor(,K) ) Right - Gridbox( diode ) Right - Gridbox( diode(,K) ) Right - Gridbox( diode(,Z) ) Right - Gridbox( diode(,S) ) Right - Gridbox( diode(,L) ) Right - Gridbox( diode(,V) ) Right - Gridbox( diode(,v) ) Right - Gridbox( diode(,T) ) Right - Gridbox( diode(,CR) ) Right - Gridbox( diode(,D) ) Right - Gridbox( diode(,B) ) Right - Gridbox( diode(,LE) ) Right - Gridbox( [circle diam dimen_*0.7] ) Right - Gridbox( xtal ) Right - dot(at g_snap(last [].e+(2*gunit,0))) - -A:Gridbox( source ) Below(A) - Gridbox( source(,I) ) Right - Gridbox( source(,i) ) Right - Gridbox( source(,V) ) Right - Gridbox( source(,v) ) Right - Gridbox( source(,AC) ) Right - Gridbox( source(,S) ) Right - Gridbox( source(,X) ) Right - Gridbox( source(,F) ) Right - Gridbox( source(,P) ) Right - Gridbox( source(,U) ) Right - Gridbox( source(,R) ) Right - Gridbox( source(,T) ) Right - Gridbox( source(,L) ) Right - Gridbox( nullator ) Right - Gridbox( norator ) Right - Gridbox( consource ) Right - Gridbox( consource(,I) ) Right - Gridbox( consource(,i) ) Right - Gridbox( consource(,V) ) Right - Gridbox( consource(,v) ) Right - Gridbox( source(,Q) ) Right - Gridbox( source(,G) ) Right - -A:Gridbox( battery(up_ elen_) ) Below(A) - Gridbox( battery(up_ elen_,3) ) Right - Gridbox( ttmotor ) Right - Gridbox( memristor ) Right - Gridbox( tline ) Right - Gridbox( fuse ) Right - Gridbox( fuse(,D) ) Right - Gridbox( fuse(,B) ) Right - Gridbox( fuse(,C) ) Right - Gridbox( fuse(,S) ) Right - Gridbox( fuse(,HB) ) Right - Gridbox( fuse(,HC) ) Right - Gridbox( cbreaker ) Right - Gridbox( cbreaker(,,D) ) Right - Gridbox([variable(`[]',A)]) Right - Gridbox([variable(`[]',P)]) Right - Gridbox([variable(`[]',L)]) Right - Gridbox([variable(`[]',N)]) Right - Gridbox([variable(`[]',uN)]) Right - Gridbox([line to Here+(Rect_(dimen_/6,45))]) Right - Gridbox([line up dimen_*0.06 then right dimen_*0.12 \ - then up dimen_*0.06]) Right - Gridbox([em_arrows]) Right - Gridbox([em_arrows(N)]) Right - Gridbox([em_arrows(ND)]) Right - Gridbox([em_arrows(I)]) Right - Gridbox([em_arrows(ID)]) Right - Gridbox([em_arrows(E)]) Right - Gridbox([em_arrows(ED)]) Right - -A:Gridbox( [right_; ground] ) Below(A) - Gridbox( [right_; ground(,T)] ) Right - Gridbox( [right_; ground(,,F)] ) Right - Gridbox( [right_; ground(,,E)] ) Right - Gridbox( [right_; ground(,,S)] ) Right - Gridbox( [right_; ground(,,L)] ) Right - Gridbox( [right_; ground(,,P)] ) Right - Gridbox( transformer(right_ 6*gunit,L) ) Right - Gridbox( transformer(right_ 8*gunit,,2,8) ) Right - Gridbox( transformer(,,8,W,4) ) Right - Gridbox( transformer(,,9,AL) ) Right - Gridbox( transformer(,R,8,AW) ) Right - - rpoint_(right_) -A:Gridbox( switch ) Below(A) - Gridbox( switch(,,O) ) Right - Gridbox( switch(,,D) ) Right - Gridbox( switch(,,OD) ) Right - Gridbox( switch(,,C) ) Right - Gridbox( switch(,,B) ) Right - Gridbox( switch(,C,B) ) Right - Gridbox( dswitch ) Right - Gridbox( dswitch(,,WBK) ) Right - Gridbox( dswitch(,,WBuD) ) Right - Gridbox( dswitch(,,WBF) ) Right - Gridbox( dswitch(,,WBKF) ) Right - Gridbox( dswitch(,,WBL) ) Right - Gridbox( dswitch(,,WBKL) ) Right - -A:Gridbox( dswitch(,,WBT) ) Below(A) - Gridbox( dswitch(,,WdBKC) ) Right - Gridbox( dswitch(,,WBM) ) Right - Gridbox( dswitch(,,WBCO) ) Right - Gridbox( dswitch(,,WBCMP) ) Right - Gridbox( dswitch(,,WBCY) ) Right - Gridbox( dswitch(,,WBCZ) ) Right - Gridbox( dswitch(,,WBCE) ) Right - Gridbox( dswitch(,,WBRH) ) Right - Gridbox( dswitch(,,WBRdH) ) Right - Gridbox( dswitch(,,WBRHH) ) Right - -A:Gridbox( dswitch(,,WBMMR) ) Below(A) - Gridbox( dswitch(,,WBMM) ) Right - Gridbox( dswitch(,,WBMR) ) Right - Gridbox( dswitch(,,WBEL) ) Right - Gridbox( dswitch(,,WBLE) ) Right - Gridbox( dswitch(,,WBKEL) ) Right - Gridbox( antenna ) Right - Gridbox( antenna(,,L) ) Right - Gridbox( antenna(,,T) ) Right - Gridbox( antenna(,,S) ) Right - Gridbox( antenna(,,D) ) Right - Gridbox( antenna(,,P) ) Right - Gridbox( antenna(,,F) ) Right - -A:Gridbox( amp(right_ elen_*10/8) ) Below(A) -D1:Gridbox( integrator ) Right - Gridbox( delay ) Right - Gridbox( opamp ) Right - Gridbox( opamp(,,,,T) ) Right - Gridbox( amp(,dimen_/2) ) Right - Gridbox( integrator(,dimen_/2) ) Right - Gridbox( delay(,delay_rad_) ) Right - Gridbox( opamp(,,,dimen_*2/3) ) Right - Gridbox( opamp(,,,dimen_*2/3,T) ) Right - -right_ -A:Gridbox( relay(2) ) Below(A) - Gridbox( relay(2,O) ) Right - Gridbox( relay(2,C) ) Right - Gridbox( relay ) Right - Gridbox( contact ) Right - Gridbox( contact(O) ) Right - Gridbox( contact(C) ) Right - -up_ -A:Gridbox( [circle rad 29/10*gunit] ) Below(A) - Gridbox( bi_tr ) Right - Gridbox( bi_tr(,R) ) Right - Gridbox( bi_tr(,,P) ) Right - Gridbox( bi_tr(,R,P) ) Right - - Gridbox( j_fet ) Right - Gridbox( j_fet(,R) ) Right - Gridbox( j_fet(,,P,) ) Right - Gridbox( j_fet(,R,P,) ) Right - Gridbox( e_fet(,,,) ) Right - Gridbox( e_fet(,R,,) ) Right - - Gridbox( e_fet(,,P,) ) Right - Gridbox( e_fet(,R,P,) ) Right - Gridbox( d_fet(,,,) ) Right - Gridbox( d_fet(,R,,) ) Right - Gridbox( d_fet(,,P,) ) Right - Gridbox( d_fet(,R,P,) ) Right - -A:Gridbox( igbt ) Below(A) - Gridbox( ujt ) Right - Gridbox( ujt(,,P) ) Right -rpoint_(down_) - Gridbox( thyristor ) Right - Gridbox( thyristor(,B) ) Right - Gridbox( thyristor(,BG) ) Right - Gridbox( thyristor(,A) ) Right - Gridbox( thyristor(,C) ) Right -rpoint_(up_) - Gridbox( j_fet ) Right - Gridbox( e_fet ) Right - Gridbox( e_fet(,,,S) ) Right - Gridbox( e_fet(,,P) ) Right - Gridbox( e_fet(,,P,S) ) Right - Gridbox( d_fet ) Right - Gridbox( d_fet(,,,S) ) Right - Gridbox( d_fet(,,P,) ) Right - Gridbox( d_fet(,,P,S) ) Right - Gridbox( j_fet ) Right - Gridbox( j_fet(,,P) ) Right - Gridbox( mosfet(,,uHSDF) ) Right - -rpoint_(right_) -A:Gridbox( tgate ) Below(A) - Gridbox( tgate(,B) ) Right - Gridbox( ptrans ) Right - -A:Gridbox( AND_gate ) Below(A) - Gridbox( OR_gate ) Right - Gridbox( NAND_gate ) Right - Gridbox( NOR_gate ) Right - Gridbox( XOR_gate ) Right - Gridbox( NXOR_gate ) Right - Gridbox( BUFFER_gate ) Right - Gridbox( NOT_gate ) Right - -# input lines for OR-like gates. -define(`OR_inlgth',`(-sqrt(OR_rad^2-G_hht^2)+sqrt(OR_rad^2-`$1'^2))*L_unit') - - Gridbox( [ {move right_ gunit} - {move from last move-svec_(0,G_hht) to last move+svec_(0,G_hht)} - {line right_ OR_inlgth(0)} - {line right_ OR_inlgth(2) from Here+svec_(0,2)} - {line same from Here-svec_(0,2)} - {line right_ OR_inlgth(1) from Here+svec_(0,1)} - {line same from Here-svec_(0,1)}] ) Right - Gridbox( [ {move right_ gunit} - {move from last move-svec_(0,G_hht) to last move+svec_(0,G_hht)} - {line right_ OR_inlgth(0)} - {line right_ OR_inlgth(2) from Here+svec_(0,2)} - {line same from Here-svec_(0,2)}] ) Right - Gridbox( [ {move right_ gunit} - {move from last move-svec_(0,G_hht) to last move+svec_(0,G_hht)} - {line right_ OR_inlgth(2) from Here+svec_(0,2)} - {line same from Here-svec_(0,2)}] ) Right - Gridbox( [ {move right_ gunit} - {move from last move-svec_(0,G_hht) to last move+svec_(0,G_hht)} - {line right_ OR_inlgth(0)}] ) Right - -right_ -A:Gridbox( speaker ) Below(A) - Gridbox( speaker(,,H) ) Right - Gridbox( bell ) Right - Gridbox( microphone ) Right - Gridbox( buzzer ) Right - Gridbox( buzzer(,,C) ) Right - Gridbox( earphone ) Right - Gridbox( earphone(,,C) ) Right - Gridbox( nport ) Right - Gridbox( nterm ) Right - -A:Gridbox( FlipFlop(D) ) Below(A) - Gridbox( FlipFlop(T) ) Right - Gridbox( FlipFlop(RS)) Right - Gridbox( FlipFlop(JK)) Right - - ] with .nw at (0,0) - -#"A draft palette of a few elements for Inkscape using a 1 mm grid" \ -# ljust below at last [].sw - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/pwrsupplySVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/pwrsupplySVG.m4 deleted file mode 100644 index 37c7524070a..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/pwrsupplySVG.m4 +++ /dev/null @@ -1,76 +0,0 @@ -.PS -# pwrsupply.m4 -cct_init -ifdef(`m4pco',`resetrgb') - -Singlephase:[ - linewid = linewid*1.2 - down_ - T:transformer - line left_ elen_/8 from T.P1 - rgbdraw(0,0,1,fuse(left_ elen_/3,D)) - reversed(`switch',left_ elen_*2/3) - gap(down_ to (Here,T.P2)) - { fuse(right_ 2*dimen_/5 at last []) } - line to T.P2 - blen = dimen_/2 - W: T.TS+(dimen_/2,0) - N: W+(blen,blen) - S: W+(blen,-blen) - E: S+(blen,blen) - diode(from W to N) - diode(from S to E) - G: gap(from E+(dimen_,0) down_ (E.y-S.y)*5/4); llabel(+,,-) - C: capacitor(down_ G.start.y-G.end.y from 0.5 between E and G.start,C) - - setrgb(255,0,0) - line from T.S1 to (T.S1,N); line to N - dot - diode(to E); dot - line from E to G.start; dot - dot(at C.start) - resetrgb - - setrgb(0,255,0,,D) - dot(at C.end) - dot(at G.end) - ground - line to (W,Here); line to W; dot - diode(to S); dot - line to (T.S2,Here); line to T.S2 - resetrgb - ] - -Threephase: [ -L:[ loadht = 2*elen_ - Load: ebox(down_ loadht,0.4,0.25); llabel(+,,-) - hsep = dimen_*3/4 - for_(1,3,1, - `line left_ hsep; ifelse(m4x,3,,dot) - { diode(up_ loadht/3) ; line up_ loadht/3; diode(up_ loadht/3) - T`'m4x: ifelse(m4x,3,Here,dot) - line right hsep } ') - ] - -T:[ - X1: transformer(down_ dimen_*2/3,,,,4) - X2: transformer(down_ dimen_*2/3,,,,4) with .P1 at X1.P2 - X3: transformer(down_ dimen_*2/3,,,,4) with .P1 at X2.P2 - line from X1.M4Core1.end to X3.M4Core1.start - line from X1.M4Core2.end to X3.M4Core2.start - for_(1,3,1, - `move to X`'m4x.P2 ; ifelse(m4x,3,,dot) - line left_ dimen_ - P`'m4x: dot(,,1)') - line left_ dimen_/2 from X1.P1 then down X1.P1.y-P3.y; dot - B: X1.S2+(dimen_/2,0) - line from X1.S1 right B.x-X1.S2.x then down X1.S1.y-X3.S1.y then to X3.S1 - line from X2.S1 to (B,X2.S1); dot - ] with .X2.S2 at L.w-(dimen_,0) - - line from T.X1.S2 to (L.T3,T.X1.S2); dot - line from T.X2.S2 to (L.T2,T.X2.S2); dot - line from T.X3.S2 to (L.T1,T.X3.S2); dot -] with .sw at Singlephase.se+(0.3,0) - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/quickSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/quickSVG.m4 deleted file mode 100644 index c4ddb20122f..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/quickSVG.m4 +++ /dev/null @@ -1,21 +0,0 @@ -.PS # Pic input begins with .PS -# quickSVG.m4 -cct_init # Set defaults - -elen = 0.75 # Variables are allowed; default units are inches -move right 0.4 -Origin: Here # Position names are capitalized - svgLink(SourcesSVG.svg,source(up_ elen)) - llabel(-,svg_it(v`'svg_sub(s)),+) - svgLink(ResistorsSVG.svg,resistor(right_ elen)); rlabel(,svg_it(R),) - dot - { # Save current position and direction - capacitor(down_ to (Here,Origin)) #(Here,Origin) = (Here.x,Origin.y) - rlabel(+,svg_it(v),-); llabel(,svg_it(C)) - dot - } # Restore position and direction - line right_ elen*2/3 - {move right 0.2} - inductor(down_ Here.y-Origin.y); rlabel(,svg_it(L),); b_current("svg_it(i)") - line to Origin -.PE # Pic input ends diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/randomSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/randomSVG.m4 deleted file mode 100644 index 4ca2056d68f..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/randomSVG.m4 +++ /dev/null @@ -1,100 +0,0 @@ -.PS -# randomSVG.m4 -gen_init(svg_font(sans-serif,9bp__)) -NeedDpicTools - -################################################################ -# hscale(right length,nlabels, -# minlabel,maxlabel,[T][N]) -# arg5=T: top axis, N: nolabels - define(`hscale',`[ define(`hs_nl',`ifelse(`$2',,5,`$2')') - A: line `$1' ; Start: A.start; End: A.end - td = 1/(hs_nl-1)*A.len/5 - define(`hs_ud',`ifinstr(`$5',T,down,up)') -# Major tics - for i=1 to hs_nl-2 do { line hs_ud graphsize/20 thick 0.4 \ - from i/(hs_nl-1) between A.start and A.end } -# Minor tics - for i=0 to hs_nl-2 do { Ts: i/(hs_nl-1) between A.start and A.end - for j=1 to 4 do { line thick 0.4 hs_ud graphsize/20/2 from Ts+(j*td,0) } } -# Labels - ifinstr(`$5',N,,`for_(0,eval(hs_nl-1),1, - `Ts: m4x/(hs_nl-1) between A.start and A.end - s_box("%g",`$3'+m4x/(hs_nl-1)*(`$4'-(`$3'))) \ - at Ts ifelse(`$5',T,above,below)') ') - ]') -# vscale(up length,nlabels, -# minlabel,maxlabel,[R][N] ) -# arg5=R: right axis, N: nolabels - define(`vscale',`[ define(`vs_nl',`ifelse(`$2',,5,`$2')') - A: line `$1' ; Start: A.start; End: A.end - td = 1/(vs_nl-1)*A.len/5 - define(`vs_lr',`ifinstr(`$5',R,left,right)') -# Major tics - for i=1 to vs_nl-2 do { line vs_lr graphsize/20 thick 0.4 \ - from i/(vs_nl-1) between A.start and A.end } -# Minor tics - for i=0 to vs_nl-2 do { Ts: i/(vs_nl-1) between A.start and A.end - for j=1 to 4 do { line thick 0.4 vs_lr graphsize/20/2 from Ts+(0,j*td) } } -# Labels - ifinstr(`$5',N,,`for_(0,eval(vs_nl-1),1, - `Ts: m4x/(vs_nl-1) between A.start and A.end - s_box("%g",`$3'+m4x/(vs_nl-1)*(`$4'-(`$3'))) \ - at Ts ifelse(`$5',R,ljust,rjust)')') - ]') -# f_gauss(x,mean,stddev) - define f_gauss`{ std_gauss(($1-($2))/($3))/($3) }' - define std_gauss`{ expe(-($1)^2/2)/sqrt(twopi_) }' -################################################################ - -[ - n = 2000 # number of samples - stddev = 0.25 - graphsize = 2 - - B: box wid graphsize ht graphsize ; { move left 0.4 from B.w } -# Gemerate n Gaussian random numbers - randn(z,n,0,stddev) - m = 0 - for i=1 to n-1 by 2 do { m +=1; x[m] = z[i]; y[m] = z[i+1] - dot(at B+(x[m],y[m])) - } - - hscale(right B.wid,5,-1,1) with .Start at B.sw - hscale(right B.wid,5,-1,1,TN) with .Start at B.nw - vscale(up B.ht,5,-1,1) with .Start at B.sw - vscale(up B.ht,5,-1,1,RN) with .Start at B.se - - N: box invis wid B.wid ht B.ht with .sw at B.nw+(0,graphsize/10) - nb = 20 - binmax = n/5*0.5 - dx = N.wid/nb - histbins(x,m,-1,1,nb,hbin) - for i=0 to nb-1 do { line up hbin[i]/binmax * N.ht \ - from N.sw+((0.5+i)*dx,0) thick dx/(1bp__) outlined "gray" } - box wid N.wid ht N.ht at N -# vscale(up N.ht,5,0,1) with .Start at N.sw - - E: box invis wid B.wid ht B.ht with .sw at B.se+(graphsize/10,0) - nb = 20 - binmax = n/5*0.5 - dy = E.ht/nb - histbins(y,m,-1,1,nb,vbin) - for i=0 to nb-1 do { line right vbin[i]/binmax * E.wid \ - from E.sw+(0,(0.5+i)*dy) thick dy/(1bp__) outlined "gray" } - box wid E.wid ht E.ht at E -# hscale(right E.wid,5,0,1) with .Start at E.sw - -ng = 16 -for i=0 to ng do { x = i/ng*N.wid - U: x,(f_gauss(x,N.wid/2,stddev)*m*dx)/binmax*N.ht - X[i]: N.sw+U - Y[i]: E.nw+(U.y,-U.x) } - fitcurve(X,ng) - fitcurve(Y,ng) - -] -#showbox_ - -command "" -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/recycleSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/recycleSVG.m4 deleted file mode 100644 index 135f31414e3..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/recycleSVG.m4 +++ /dev/null @@ -1,128 +0,0 @@ -.PS -# recycle.m4 -gen_init -NeedDpicTools -[ -# Gradient fill and clipping are simply -# done with PStricks or Tikz but the other -# postprocessors don't all have this -# facility so the following calculates -# shading boundaries and lines. - -define ShadePoint { testexpr(i, $1 - arc cw rad circlerad from B.e to B.w with .c at B.c - circle colored "black" with .c at 3/4 - circle rad circlerad*2 with .c at A.c - circle rad circlerad/3 fill_(0) at 0.5 - circle rad circlerad/3 fill_(1) at 0.5 -',` -box wid 1 ht 0.75 "Yinyang.m4" "requires" "dpic" -') -] with .w at last [].e+(0.2,0) -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/relaycoilSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/relaycoilSVG.m4 deleted file mode 100644 index fc2bc2738f7..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/relaycoilSVG.m4 +++ /dev/null @@ -1,47 +0,0 @@ -.PS -# relaycoil.m4 -cct_init - - spc = dimen_/3 -{ relaycoil; S: "svg_tt(`relaycoil')" at last [].s+(0,-20bp__) - { "svg_it(V1)" wid 15bp__ at last [].V1 rjust - "svg_it(V2)" at last [].V2 ljust } - K: relaycoil(NX) with .nw at last [].ne+(spc*4,0); "svg_tt((NX))" \ - at (last [],S) - { thinlines_ - spline <- from K.A1 left 7bp__ then up 4bp__ left 4bp__ - "svg_it(A1)" rjust - arrow <- from K.A2 left 10bp__; "svg_it(A2)" rjust - spline <- from K.A3 left 7bp__ then down 4bp__ left 4bp__ - "svg_it(A3)" rjust - spline <- from K.B1 right 7bp__ then up 4bp__ right 4bp__ - "svg_it(B1)" ljust - arrow <- from K.B2 right 10bp__; "svg_it(B2)" ljust - spline <- from K.B3 right 7bp__ then down 4bp__ right 4bp__ - "svg_it(B3)" ljust - thicklines_ - } - relaycoil(AXSR) with .nw at last [].ne+(spc*5,0); "svg_tt((AXSR))" \ - at (last [],S) - { "svg_it(V1)" at last [].V1 rjust; "svg_it(V2)" at last [].V2 rjust } - relaycoil(BXSR) with .nw at last [].ne+(spc*2,0); "svg_tt((BXSR))" \ - at (last [],S) - { "svg_it(V1)" at last [].V1 ljust; "svg_it(V2)" at last [].V2 ljust } - relaycoil(SR) with .nw at last [].ne+(spc*4,0); "svg_tt((SR))" at (last [],S) - relaycoil(SO) with .nw at last [].ne+(spc,0); "svg_tt((SO))" at (last [],S) - relaycoil(SOR) with .nw at last [].ne+(spc,0); "svg_tt((SOR))" at (last [],S) - } -{ - move down_ 3/4; right_ - relaycoil(HS); S: "svg_tt((HS))" at last [].s+(0,-12bp__) - relaycoil(NAC) with .nw at last [].ne+(spc,0); "svg_tt((NAC))" at (last [],S) - relaycoil(AC) with .nw at last [].ne+(spc,0); "svg_tt((AC))" at (last [],S) - relaycoil(ML) with .nw at last [].ne+(spc,0); "svg_tt((ML))" at (last [],S) - relaycoil(PO) with .nw at last [].ne+(spc,0); "svg_tt((PO))" at (last [],S) - relaycoil(RM) with .nw at last [].ne+(spc,0); "svg_tt((RM))" at (last [],S) - relaycoil(RH) with .nw at last [].ne+(spc,0); "svg_tt((RH))" at (last [],S) - relaycoil(TH) with .nw at last [].ne+(spc,0); "svg_tt((TH))" at (last [],S) - relaycoil(EL) with .nw at last [].ne+(spc,0); "svg_tt((EL))" at (last [],S) - } - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/roseSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/roseSVG.m4 deleted file mode 100644 index 32c5dfdbc57..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/roseSVG.m4 +++ /dev/null @@ -1,166 +0,0 @@ -.PS -# roseSVG.m4 -gen_init -ifelse( -ifpstricks(T)`'ifmpost(T)`'ifpostscript(T)`'ifpdf(T)`'ifpgf(T)`'ifsvg(T),, -`This diagram is for PSTricks, postscript, PDF, MetaPost, or SVG', -` - -scale = 1.25 -Rose: [ -define(`gold_',`1,0.84,0') - -define(`rose',`point_(`$2'); CC: (vec_(`$1',0)); rrad = `$3' - move to CC - tmp = rrad-stripwid - {circle shaded rgbstring(gold_) rad rrad-sthick at CC} - {circle shaded rgbstring(gold_) rad tmp-sthick at CC} - {line to rvec_(rrad,0) chop tmp chop 0 } - {line to rvec_(-rrad,0) chop tmp chop 0 } - {line to rvec_(0,rrad) chop tmp chop 0 } - {line to rvec_(0,-rrad) chop tmp chop 0 } - {line from rvec_(-tmp/sqrt(2),-tmp/sqrt(2)) to rvec_(tmp/sqrt(2),tmp/sqrt(2))} - {line from rvec_(-tmp/sqrt(2),tmp/sqrt(2)) to rvec_(tmp/sqrt(2),-tmp/sqrt(2))} - {circle shaded rgbstring(gold_) rad tmp-stripwid-sthick at CC} - tmp = last circle.rad/sqrt(2) - line thick stripthick from rvec_(-tmp,0) to rvec_(0,-tmp) \ - then to rvec_(tmp,0) then to rvec_(0,tmp) then to rvec_(-tmp,0) \ - shaded rgbstring(gold_) - ') - -define(`spt_',`/72.27') - -[ lsk = 1.2 - sector = 360*dtor_/16 - exterior = 2.49 - outer_circle = exterior-0.55 - inner_circle = 1.1 - spoke_tail = 0.41 - spokethick = 0.09/(1spt_) # points - stripwid = 0.05 - stripthick = 1.6/1.2 - midroserad = inner_circle*sin(sector/2)-stripwid/2 - outerroserad = outer_circle*sin(sector/4)-stripwid/2 - del = 0.05 - -C: (0,0) - circle rad exterior fill_(0) at C - circle shaded rgbstring(gold_) rad outer_circle at C - circle rad spoke_tail fill_(0) at C - linethick = stripthick - sthick = linethick/2 spt_ - for i=0 to 15 do { - move to rect_(spoke_tail+1.5*stripwid,sector*i); - for j=-1 to 1 by 2 do { - {point_(sector*(i+j*0.5)) - line to rvec_(outer_circle-spoke_tail,0) } - { point_(sector*i) - move to rvec_(0,j*spokethick spt_) - line to rvec_(outer_circle-spoke_tail,0) \ - chop outer_circle-inner_circle chop 0 - } - } - crad = 0.25 +1.5*stripwid - cthick = 1.5*stripwid/(1spt_) - X: rect_(inner_circle+midroserad,sector*i) - circle outlined rgbstring(gold_) rad crad-(cthick/2 spt_) thick cthick at X - circle rad crad - sthick at X - } - for i=0 to 15 do { - X: rect_(inner_circle+midroserad,sector*i) - circle fill_(0) rad crad-1.5*stripwid-sthick at X - - for j = -1 to 1 by 2 do { move to X+vec_(0.20,j*0.14) - point_(sector*(i+j*0.25)) - line to rvec_(1.5*stripwid,0) } - - circle shaded rgbstring(gold_) rad midroserad*2/3-sthick at X - circle rad midroserad*2/3-stripwid-sthick at X - line from X to -(midroserad*2/3/(inner_circle+midroserad)) - } - - crad = spoke_tail+7*stripwid - cthick = 2*stripwid/(1spt_) - circle outlined rgbstring(gold_) rad crad-cthick/2 spt_ thick cthick at C - circle rad spoke_tail+1.5*stripwid-sthick at C - for i=5 to 7 do { circle rad spoke_tail+i*stripwid-sthick at C } - # Spokes and roses - for i=0 to 15 do { - rose(inner_circle,sector*i,midroserad) - line thick spokethick/lsk from C to rect_(outer_circle,sector*(i-0.5)) - line thick spokethick/lsk from C to rect_(outer_circle,sector*i) \ - chop inner_circle+midroserad*2 chop 0 - for j=-1 to 1 by 2 do { - X: rect_(outer_circle+outerroserad-linethick spt_,sector*(i+j*0.25)) - linethick = 1/lsk - circle colored rgbstring(gold_) rad outerroserad*1/2-1/lsk/2 spt_ at X - linethick = stripthick - circle fill_(0) rad outerroserad*1/3-sthick at X - point_(sector*(i+j*0.25)) - line from X to X + vec_(outerroserad,0) - rose(outer_circle,sector*(i+j*0.25),outerroserad) - } - } - # Outer decorations - for i=0 to 31 do { - move to rect_(exterior-0.25,sector*i/2); point_(sector*i/2) - { line thick stripthick from rvec_(del,3.5*del) to rvec_(-del,0) \ - then to rvec_(del,-3.5*del) then to rvec_(del,3.5*del) \ - shaded rgbstring(gold_) } - circle rad stripwid-sthick at Here - } - smrad = 0.08 - for i=0 to 7 do { - point_(sector*2*i) - move to C + vec_(midroserad+smrad/4,0) - { circle shaded rgbstring(gold_) rad smrad-sthick at Here} - { circle shaded rgbstring(gold_) rad smrad/2-sthick at Here} - line from rvec_(smrad/2,0) to rvec_(smrad,0) - } - - tmp = midroserad-stripwid - circle shaded rgbstring(gold_) rad midroserad-sthick at C - circle shaded rgbstring(gold_) rad tmp-sthick at C - CQ: circle invis rad tmp-linethick*4/2 spt_ at C - line from CQ.e to CQ.n to CQ.w to CQ.s to CQ.e to CQ.n - CQ: 0.5 - tmp = (distance(CQ,C) - linethick*3/2 spt_)*sqrt(2) - box wid tmp ht tmp at C - ] with .sw at 1,1 - -] # Rose - -Halftone: [ -#.PS -# SpiralHalftoneSVG.m4 -# https://tex.stackexchange.com/questions/584455/how-to-draw-this-spiral-made-of-circles-in-latex -# gen_init - - r = 133/255; g = 196/255; b = 100/255 - skale = 2/3*scale - skale = 2.49/4.25 - - holerad = 1*skale - outerrad = 4.25*skale - - define grcirc {circle diam $1 colored rgbstring(r,g,b)} - - npts = 200 - outercdiam = (outerrad/npts)*twopi_ - angoffset = -5*pi_/4 - da = twopi_/npts*10/3 - radc = outerrad - for x = 0 to 1 do { - cdiam = outercdiam*radc/outerrad - for i=0 to npts-1 do { ang = i/npts*twopi_ - grcirc(cdiam*abs(ang-pi_)/pi_) at rect_(radc,ang+angoffset) } - angoffset += da - radc -= cdiam*2/3 - if radc < holerad then { x = 1 } else { x = 0 } - } - -#.PE - ] with .sw at Rose.se+(0.2,0) - -') -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/sfgSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/sfgSVG.m4 deleted file mode 100644 index 666f311ca44..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/sfgSVG.m4 +++ /dev/null @@ -1,135 +0,0 @@ -.PS -# sfgSVG.m4 -gen_init(svg_font(Times,11bp__)) -sfg_init( 1.2 ) # scale default size by 1.2 - -textht = textht*0.9 - -# Graph 1 -move right 0.15 -T:[ - Ft: sfgnode(,f(t),sfgbelow) - sfgline(,1/K) - Y1: sfgnode(,y`'svg_sub(1),sfgbelow rjust) - sfgline(,K/M) - DDY2: sfgnode(,y`'svg_sub(2),sfgbelow rjust) - {".." at DDY2 +(-3,-1)*textoffset} - sfgline(,1/s) - DY2: sfgnode(,y`'svg_sub(2) = x`'svg_sub(2),sfgbelow ljust) - {"." at DY2 +(2,-1)*textoffset} - sfgline(,1/s) - Y2: sfgnode(,y`'svg_sub(2) = x`'svg_sub(1),sfgbelow ljust) - - sf = 1 - sfgarc(from DY2 to DDY2,-B/M,below,,sf) - sfgarc(from Y2 to DDY2,-K/M,above,ccw,sf) - sfgarc(from Y2 to Y1,1,sfgabove,,sf) - ] - -# Graph 2 -B: [ - R1: sfgnode(,r`'svg_sub(1),sfgabove) - sfgline(,1) - X1: sfgnode(,x`'svg_sub(1),ljust) - R2: sfgnode(at R1+(0,-1),r`'svg_sub(2),sfgabove) - sfgline(,1) - X2: sfgnode(,x`'svg_sub(2),ljust) - sfgarc(from X1 to X2,a`'svg_sub(21),rjust,ccw) - sfgarc(from X2 to X1,a`'svg_sub(12),ljust,ccw) - - sfgself(at X1,,q`'svg_sub(11)) - sfgself(at X1,R,a`'svg_sub(11),ljust,cw,1.5) - sfgself(at X2,-90,a`'svg_sub(22),sfgbelow) - ] with .w at T.e + (linewid/2,-linewid/4) - -# Graph 3 -G3: [ - # change node spacing and increase node size - sfg_wid = 0.85; sfg_rad = 0.35/2 - for_(1,4,1,`N`'m4x: sfgnode(,m4x,,fill_(0.9)) - sfgself(at N`'m4x,-90,P`'svg_sub(m4x),,cw) - ifelse(m4x,4,,`sfgline(,G`'svg_sub(m4x),sfgbelow)') ') - sfgarc(from N2 to N1,F`'svg_sub(2),sfgabove,ccw,) - sfgarc(from N3 to N1,F`'svg_sub(3),sfgbelow,ccw,1.4) -] with .nw at T.sw - -A: [ sfg_wid = 0.75; sfg_rad = 0.15 - arrow right linewid*2/3 - P: sfgnode(,p) - sfgself(,90,a,below,cw) - arrow from P.e "b" below - Q: sfgnode(,q) - R: sfgnode(at Q+(Q-P),r) # for dpic - sfgarc(from Q to R,c,above,cw) - sfgarc(from R to Q,d,below,cw) - sfgself(at R,-90,e,above,cw) - arrow right linewid*2/3 from R.e - ] with .w at G3.e+(linewid/2,0) - -define(`svg_choose',`[ P:"svg_fsize(( ),150)" - "svg_small(`$1')" at P+(0,7bp__) - "svg_small(`$2')" at P-(0,3bp__) - ]') - -G4: [sfg_init( 2.0,0.25/2 ) # change node spacing and increase node size - s1 = 0.9 - s2 = 1.2 - N0: sfgnode(,svg_fsize(0,120),,invis) - sfgline(right_ sfg_wid,`svg_nu',below,->) - N1: sfgnode(,svg_fsize(1,120),,invis) - { sfgarc(to N0 ->,(1-p)`svg_gamma'+`svg_nu',above,ccw,s1) } - sfgline(right_ sfg_wid,`svg_nu'+`svg_lambda',below,->) - N2: sfgnode(,svg_fsize(2,120),,invis) - { sfgarc(to N1 ->,,,ccw,s1) } - { "p(1-p)svg_gamma+2`'svg_nu" at last [].M+(11bp__,0) above } - { svg_choose(2,1) at last [].M+(-19bp__,8bp__) } - { sfgarc(to N0 ->,(1-p)svg_sup(2)`svg_gamma',above,ccw,s2) } - sfgline(right_ sfg_wid,`svg_nu'+2`svg_lambda',below,->) - N3: sfgnode(,svg_fsize(3,120),,invis) - { sfgarc(to N2 ->,,,ccw,s1) } - { "p`'svg_sup(2)(1-p)svg_gamma+3`'svg_nu" at last [].M+(0bp__,0) above } - { svg_choose(3,2) at last [].M+(-33bp__,8bp__) } - { sfgarc(to N1 ->,,,ccw,s2) } - { "p(1-p)`'svg_sup(2)`'svg_gamma" at last [].M+(8bp__,0) above } - { svg_choose(3,1) at last [].M+(-16bp__,8bp__) } - { sfgarc(to N0 ->,(1-p)svg_sup(3)`svg_gamma',above,ccw,s2) } - sfgline(right_ sfg_wid*2/3,`svg_nu'+3`svg_lambda',below,->) - {"..." wid 0.3 ljust} - ] with .nw at G3.sw+(0,-0.1) - -# https://tex.stackexchange.com/questions/637455/tikz-how-to-set-exact-position-of-node -G5: [sfg_init( 1.75,0.25/2 ) # change node spacing and increase node size - Dstar: sfgnode(,* ) - D0: sfgnode(at Dstar+(2,0),svg_small(<>)svg_sub(0) ) - sfgline(, - svg_it(1-r`'svg_sub(`x-1,x')-q`'svg_sup(i)svg_sub(x-1`,'x,,,-0.8ex)),,->) - Ddots: sfgnode(,... ) - sfgline(,svg_it(1-r`'svg_sub(x-4`,'x)-q`'svg_sup(i)svg_sub(x-4`,'x,,,-0.8ex)), - ,->) - D5: sfgnode(,svg_small(<>)svg_sub(5) ) - DD: sfgnode(at D0+(0,-1.0),svg_symbol(&``#''8224;) ) - sfgself(at Dstar,L,,,,0.5) - "svg_it(1-i`'svg_sub(x)-q`'svg_sub(x)svg_sup(a,,,-0.8ex))" wid 45bp__ \ - at Dstar + (-0.3,0.25) - sfgself(at DD,D,1,above_,,0.5) - sfgself(at D5,R,,,,0.5) - "svg_it(1-q`'svg_sub(x)svg_sup(i,,,-0.8ex)-r`'svg_sub(x))" wid 47bp__ \ - at D5 + (0.3,0.25) - sfgarc(from D0 to Dstar ->,svg_it(r`'svg_sub(x`,'x)),below_,ccw) - sfgarc(from Dstar to D0 ->,svg_it(i`'svg_sub(x)),above_,ccw) - sfgarc(from Dstar to DD ->,svg_it(q`'svg_sub(x)svg_sup(a,,,-0.8ex)), - above_ ljust_,ccw) - sfgline(from D0 to DD,svg_it(q`'svg_sup(i)svg_sub(x`,'x,,,-0.8ex)),ljust,->) - sfgarc(from Ddots to Dstar,svg_it(r`'svg_sub(j`,'x)),below_,ccw,,->) - sfgarc(from Ddots to DD ->,svg_it(q`'svg_sup(i)svg_sub(x-j`,'x)), - above_ rjust_,) - sfgarc(from D5 to Dstar ->,svg_it(r`'svg_sub(x)),below_,ccw) - sfgarc(from D5 to DD ->,svg_it(q`'svg_sup(i)svg_sub(x,,,-0.8ex)), - above_ rjust_,) - ] with .nw at G4.sw+(0,-0.15) -#howbox_(,"G5") - - - move from (T.w,G4.s)-(7bp__,6bp__) to B.ne+(15bp__,6bp__) - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/shapesSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/shapesSVG.m4 deleted file mode 100644 index 3deae68c607..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/shapesSVG.m4 +++ /dev/null @@ -1,201 +0,0 @@ -.PS -# shapesSVG.m4 -threeD_init - -divert(-1) -# shapes.m4 -# 3D structures with complex surfaces and hidden lines are the domain of more -# sophisticated software packages, but basic shapes can be drawn with pic. - -##################################################### - - `cylinder3D(xdispl,ydispl,zdispl,diameter, - [colored "color"])' -define(`cylinder3D',`[ Start: (0,0) - xdispl = `$1'; ydispl = `$2'; zdispl = `$3' - define(`M4CL',`xdispl,ydispl,zdispl')dnl - lenc = length3D(M4CL) - diamc = ifelse(`$4',,(lenc/2),`$4') ; radc = diamc/2 - cs = dot3D(View3D,M4CL)/lenc - End: Project(M4CL) - az = atan2(ydispl,xdispl) - ae = atan2(zdispl,sqrt(xdispl^2+ydispl^2)) - CL: line invis from Start to End; C: CL.c - nls = int(twopi_*radc/lthick) - define(`M4PP',`rot3Dz(az,rot3Dy(-ae,rot3Dx(-i/nls*twopi_,0,0,radc)))')dnl - for i=0 to nls-1 do { if dot3D(View3D,M4PP) > 0 then { - P: Project(M4PP) - ql = sqrta(dot3D(Light3D,M4PP)/radc) - line from P to End+P outlined rgbstring(ql,ql,ql) `$5' } } - Perp: (vperp(CL,radc)) - if cs > 0 then { T: End; B: Start } else { T: Start; B: End } - rpoint_(from Start to Perp) - css = sqrta(cs) - Top: rotellipse(diamc,diamc*cs, - thick linethick/3 shaded rgbstring(css,css,css)) with .c at T - W: line thick linethick/3 from T+Perp to B+Perp - Bot: ellipsearc(diamc,diamc*cs,pi_,twopi_,rp_ang,cw, - thick linethick/3) with .C at B - E: line thick linethick/3 from B-Perp to T-Perp - rpoint_(from Start to End) -`$6']') - - `cone3D(xdispl,ydispl,zdispl,diameter, - [colored "color"])' -define(`cone3D',`[ Start: (0,0) - xdispl = `$1'; ydispl = `$2'; zdispl = `$3' - define(`M4CL',`xdispl,ydispl,zdispl')dnl - lenc = length3D(M4CL) - diamc = ifelse(`$4',,(lenc/2),`$4') ; radc = diamc/2 - End: Project(M4CL) - cs = dot3D(View3D,M4CL)/lenc - az = atan2(ydispl,xdispl) - ae = atan2(zdispl,sqrt(xdispl^2+ydispl^2)) - CL: line invis from Start to End; C: CL.c - nls = int(twopi_*radc/lthick) - lt = sqrt(radc^2+lenc^2) - b = 0 - for i=0 to nls-1 do { if dot3D(View3D, - rot3Dz(az,rot3Dy(-ae,rot3Dx(-i/nls*twopi_,radc,0,lenc)))) > 0 then { - ql = sqrta(dot3D(Light3D, - rot3Dz(az,rot3Dy(-ae,rot3Dx(-i/nls*twopi_,radc,0,lenc))))/lt) - P: Project(rot3Dz(az,rot3Dy(-ae,rot3Dx(-i/nls*twopi_,0,0,radc)))) - line from P to End outlined rgbstring(ql,ql,ql) `$5' - if !b then { WB: P; b = 1 } - } else { if b then { BW: P; b = 0 } } } - if vlength(CL.x,CL.y) != 0 then { Perp: (vperp(CL,radc,R)) } else { Perp: (radc,0) } - if cs >= 0 then { T: End; B: Start } else {T: Start; B: End } - rpoint_(from Start to Perp) - pout = (vlength(End.x,End.y) > abs(radc*cs)) - if cs < 0 then { css = sqrta(cs) - if pout then { line thick linethick/3 from BW to End then to WB } - Bot: rotellipse(diamc,diamc*cs,thick linethick/3 \ - ifelse(`$5',,`shaded rgbstring(css,css,css)',`$5')) with .c at T } \ - else { if pout then { - line thick linethick/3 from BW to End then to WB - a = acos((WB.x*Perp.x+WB.y*Perp.y)/radc^2) - Bot: ellipsearc(diamc,diamc*cs,a,pi_-a,rp_ang,cw, thick linethick/3) \ - with .C at B } \ - else { - Bot: rotellipse(diamc,diamc*cs,thick linethick/3) with .c at B } } - rpoint_(from Start to End) -`$6']') - `Arrow3D(xdispl,ydispl,zdispl, - diam,arrowwid,arrowht)' -define(`Arrow3D',`[ diam_Ar = ifelse(`$4',,linewid/10,`$4') - wid_Ar = ifelse(`$5',,diam_Ar*2,`$5') - ht_Ar = ifelse(`$6',,wid_Ar*2,`$6') - x_Ar = ifelse(`$1',,1,`$1') - y_Ar = ifelse(`$2',,1,`$2') - z_Ar = ifelse(`$3',,1,`$3') - define(`M4Arrow3D',`x_Ar,y_Ar,z_Ar')dnl - len_Ar = length3D(M4Arrow3D) - len_Shaft = len_Ar - ht_Ar - cs_Ar = dot3D(View3D,M4Arrow3D) - if cs_Ar >= 0 then { - Shaft: cylinder3D(sprod3D(len_Shaft/len_Ar,M4Arrow3D),diam_Ar) - Head: cone3D(sprod3D(ht_Ar/len_Ar,M4Arrow3D),wid_Ar) \ - with .Start at Shaft.End } \ - else { - Head: cone3D(sprod3D(ht_Ar/len_Ar,M4Arrow3D),wid_Ar) - Shaft: cylinder3D(sprod3D(len_Shaft/len_Ar,M4Arrow3D),diam_Ar) \ - with .End at Head.Start } - Start: Shaft.Start; End: Head.End - `$7']') - -define(`f2xyz3D',``$1'x = `$2' -`$1'y = `$3' -`$1'z = `$4' ') - - `prism3D(xdispl,ydispl,zdispl,wid,ht,rotation (rad))' -define(`prism3D',`[ Start: (0,0) - xdispl = ifelse(`$1',,linewid,`$1') - ydispl = ifelse(`$2',,linewid,`$2') - zdispl = ifelse(`$3',,linewid,`$3') - widp = ifelse(`$4',,(linewid/5),`$4') - htp = ifelse(`$5',,(linewid/10),`$5') - rotp = ifelse(`$6',,0,`$6') - End: Project(xdispl,ydispl,zdispl); C: 0.5 between Start and End - lenp = length3D(xdispl,ydispl,zdispl) - az = atan2(ydispl,xdispl); ae = atan2(zdispl,sqrt(xdispl^2+ydispl^2)) - wp2 = widp/2; hp2 = htp/2 -# corners - f2xyz3D(nwB,rot3Dz(az,rot3Dy(-ae,rot3Dx(rotp, 0,-wp2, hp2)))) - f2xyz3D(swB,rot3Dz(az,rot3Dy(-ae,rot3Dx(rotp, 0,-wp2,-hp2)))) - f2xyz3D(seB,rot3Dz(az,rot3Dy(-ae,rot3Dx(rotp, 0, wp2,-hp2)))) - f2xyz3D(neB,rot3Dz(az,rot3Dy(-ae,rot3Dx(rotp, 0, wp2, hp2)))) - f2xyz3D(nwF,rot3Dz(az,rot3Dy(-ae,rot3Dx(rotp,lenp,-wp2, hp2)))) - f2xyz3D(swF,rot3Dz(az,rot3Dy(-ae,rot3Dx(rotp,lenp,-wp2,-hp2)))) - f2xyz3D(seF,rot3Dz(az,rot3Dy(-ae,rot3Dx(rotp,lenp, wp2,-hp2)))) - f2xyz3D(neF,rot3Dz(az,rot3Dy(-ae,rot3Dx(rotp,lenp, wp2, hp2)))) -# facets - M4Facet3D(neF,nwF,swF,seF) - M4Facet3D(neB,seB,swB,nwB) - M4Facet3D(neF,seF,seB,neB) - M4Facet3D(neF,neB,nwB,nwF) - M4Facet3D(seF,swF,swB,seB) - M4Facet3D(nwF,nwB,swB,swF) -`$7']') - -define(`M4Facet3D',` -define(`PFacet',`cross3D(diff3D(`$2'x,`$2'y,`$2'z,`$1'x,`$1'y,`$1'z), - diff3D(`$3'x,`$3'y,`$3'z,`$2'x,`$2'y,`$2'z))') - if dot3D(View3D,PFacet) > 0 then { - fFacet = sqrta(dot3D(Light3D,PFacet)/length3D(PFacet)) - P1: Project(`$1'x,`$1'y,`$1'z) - P2: Project(`$2'x,`$2'y,`$2'z) - P3: Project(`$3'x,`$3'y,`$3'z) - P4: Project(`$4'x,`$4'y,`$4'z) - line fill_(fFacet) invis from P1 to P2 then to P3 then to P4 then to P1 - line from P1 to P2; round - line to P3; round - line to P4; round - line to P1; round } ') - -##################################################### -divert(0)dnl - -azimuth = 60 -elev = 10 -setview(azimuth,elev) -[ Orig: (0,0) - setlight - Arrow3D(1,0,0) with .Start at Orig; move left 12bp__ from last [].End "x" - Arrow3D(0,1,0) with .Start at Orig; "y" ljust at last [].End - Arrow3D(0,0,1.2) with .Start at Orig; "z" above at last [].End - setlight(0,0,0) - cylinder3D(1,1,1,0.6) with .Start at Project(0.5,0.5,0.5) -] - Ball: shadedball(0.5) with .nw at last [].ne+(-0.25,0) -[ - setview(45,10) - setlight(40,70) - n = 9; len = 1.5; thmin = m4azim+pi_/2*0.8; thmax = thmin+twopi_ - for i=0 to n do { - r = i/n*(thmax-thmin)+thmin - prism3D(rot3Dz(r,rot3Dy(pi_/4,len,0,0)),0.2,0.1) \ - with .Start at Project(rot3Dz(r,rot3Dy(pi_/4,len*0.5,0,0))) } -] with .nw at last [].ne -[ - setlight(0,0) - movewid = 0.1 - len = 1.5; ni = 5; nj = 5 - for i=1 to ni-1 do { - {for j = 0 to nj by 2 do { - setview(0,i/ni*180-90,j/nj*90) - cylinder3D(0,0,len*(j+1)/(nj+1),0.4) - if j < nj then {move right} } } - if i < ni then {move down 0.85; right_} } #else { move down movewid } } -] with .nw at 1st [].sw+(0,-0.1) -[ - setlight(0,0) - len = 1.5; ni = 4; nj = 6 - for i=1 to ni do { - {for j = 0 to nj by 2 do { - setview(0,i/ni*180-90,j/nj*90) - cone3D(0,0,len*(j+1)/(nj+1),0.4) - if i==2 && j==(nj-2) then { move up_ 0.2 right_ -0.4 } \ - else { if j < nj then {move right_ 0.1}} } } - if i < ni then {move down_ 0.75; right_} } -] with .nw at last [].ne+(0.2,0) -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/slddiagsSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/slddiagsSVG.m4 deleted file mode 100644 index ce213358d0d..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/slddiagsSVG.m4 +++ /dev/null @@ -1,100 +0,0 @@ -.PS -# slddiagsSVG.m4 -cct_init(svg_font(sans-serif,10bp__)) -include(libSLD.m4) - -Pic1: [ -define(`TrDeltaWye', - `sl_transformer(down_ elen_ `$1',type=S) - { Deltasymbol(at last [].M1); Ysymbol(at 2nd last [].M2,,D) } ') - - T: dot - switch(up_ elen_); {"Public supply" above} - Bus1: sl_busbar(right_ 5*dimen_,6,port=D) with .c at T - {"svg_small(20 kV)" at Bus1.Start above ljust} - S1: switch(from Bus1.P1-(0,elen_) up_ elen_) - S2: switch(from Bus1.P2-(0,elen_) up_ elen_) - TRF1: TrDeltaWye(from Bus1.P3); arrow down_ dimen_/3 - TRF2: TrDeltaWye(from Bus1.P4); arrow down_ dimen_/3 - TRF3: TrDeltaWye(from Bus1.P5); arrow down_ dimen_/3 - S3: switch(from Bus1.P6-(0,elen_) up_ elen_) - Bus2: sl_busbar(right_ 1.5*dimen_,3,port=D) with .c at Bus1.P1+(0,-dimen_*3) - {"svg_small(20 kV)" at Bus2.Start above ljust} - {"svg_small(1.25 MVA)" at Bus2.P2 below} - S4: switch(from Bus2.P2 to S1.start) - TRF4: TrDeltaWye(from Bus2.P1) - S4: switch(from Bus2.P3+(0,-elen_) to Bus2.P3) -] - -Pic2: [ -# https://tex.stackexchange.com/questions/597643/draw-a-power-system-network - B1: sl_busbar(up_ dimen_*4/3,3) - sl_transformer(right_ 2*dimen_ from last [].P2, - type=S;body=shaded "lightgray"); variable(,,,dimen_*3/2) - B2: sl_busbar(up_ dimen_*4/3,3) - { line left_ dimen_/2 from B2.P1 - C1: capacitor(down_ dimen_/2); ground(,T) } - line right_ dimen_/2 - { line to (Here,C1.start); C2: capacitor(to (Here,C1.end)); ground(,T) } - ebox(right_ 3.5*dimen_, 2.5*dimen_, dimen_/5, 0.75) - { line to (Here,C1.start); C3: capacitor(to (Here,C1.end)); ground(,T) } - line right_ dimen_/2 - B3: sl_busbar(up_ dimen_*4.5,6) - line right_ dimen_*3/4 from B3.P1; box wid dimen_*3 ht dimen_*.6 \ - shaded "Goldenrod" "Static Load" - line right_ dimen_*3/4 from B3.P2; box wid dimen_*3 ht dimen_*.6 \ - shaded rgbstring(0.99*0.8, 0.74*0.8, 0.71*0.8) "Electronic Load" - sl_disk(right_ dimen_ from B3.P3, - text="A/C";circle=shaded ```rgbstring(.2,.8,.2)''';diam=dimen_*3/4) - sl_disk(right_ dimen_ from B3.P4, - text="M";circle=shaded ```rgbstring(.21,.47,.86)''';diam=dimen_*3/4) - sl_disk(right_ dimen_ from B3.P5, - text="M";circle=shaded ```rgbstring(.2,.6,.8)''';diam=dimen_*3/4) - sl_disk(right_ dimen_ from B3.P6, - text="M";circle=shaded ```rgbstring(.2,.63,.8)''';diam=dimen_*3/4) - sl_disk(left_ dimen_ from 1/2 between B3.P1 and B3.P2, - text="svg_small(DER_A)";\ - circle=shaded ```rgbstring(0.78,0.36,0.3)''';diam=dimen_*3/4) -] with .nw at last [].sw + (100bp__,120bp__) - -Pic3: [ -define(`shadedb',`shaded "CornflowerBlue"') -Loopover_(`LR', # loop to take advantage of symmetry - `define(`opposite',`ifelse(LR,left,right,left)')dnl - ifelse(LR,left,L,R)`'side: [ - sl_generator(LR dimen_/2,type=B;name=G1;circle=shadedb,box=shadedb) - T1: sl_transformer(opposite dimen_*3/2) - Bus1: sl_busbar(up_ dimen_*3/2,3,) with .P2 at Here - Br1: sl_breaker(from Bus1.P3 opposite elen_,box=shadedb) - line opposite dimen_ - Br2: sl_breaker(from Bus1.P1 opposite elen_,box=shadedb) - Br3: sl_breaker(down_ dimen_,box=shadedb) - Bus2: sl_busbar(opposite dimen_,3) with .P2 at Here - T2: sl_transformer(down_ dimen_ from Bus2.P2,name=X2) - sl_disk(down_ dimen_/2,type=B;text="SM";name=SM1;circle=shadedb,box=shadedb) - ground(at last circle.s,dimen_/2) - ]', - left,right) - "Bus 1" at Lside.Bus1.top above - "Bus 2" at Rside.Bus1.top above - "Bus 3" at Lside.Bus2.w above - "Bus 4" at Rside.Bus2.e above - "TL`'svg_sub(1) 50 km 69 kV" at 1/2 between Lside.Br1 and Rside.Br1 above - "TL`'svg_sub(2) 30 km" ljust "69 kV" ljust at Lside.Br2.end + (-18bp__,12bp__) - "TL`'svg_sub(2) 20 km" ljust "69 kV" ljust at Rside.Br2.end + (-18bp__,12bp__) - "G`'svg_sub(1) 50 MVA" ljust "13.8 kV" ljust at Lside.G1.w+(0,-28bp__) - "G`'svg_sub(2) 30 MVA" ljust "13.8 kV" ljust at Rside.G1.w+(0,-28bp__) - "T`'svg_sub(1) 50 MVA" ljust "13.8/69 kV svg_Delta/Y" ljust \ - at Lside.T1.start+(0,-37bp__) - "T`'svg_sub(2) 30 MVA" ljust "69/13.8 kV Y/svg_Delta" ljust \ - at Rside.T1.end+(5bp__,-33bp__) - "T`'svg_sub(3) 50 MVA" rjust "13.8/69 kV Y/svg_Delta" rjust \ - at Lside.X2.w+(-4bp__,0) - "T`'svg_sub(4) 20 MVA" ljust "69/6.9 kV Y/svg_Delta" ljust \ - at Rside.X2.e+(4bp__,0) - "SM`'svg_sub(1) 30 MVA" rjust "13.8 kV" rjust at Lside.SM1.w+(-4bp__,0) - "SM`'svg_sub(2) 20 MVA" ljust "6.9 kV" ljust at Rside.SM1.e+( 4bp__,0) -] with .nw at (Pic1.w,last [].sw + (0,-15bp__)) - -command "" -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/thyristorSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/thyristorSVG.m4 deleted file mode 100644 index 1301786a4c4..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/thyristorSVG.m4 +++ /dev/null @@ -1,119 +0,0 @@ -.PS -# `thyristorSVG.m4' -cct_init(svg_font(sans-serif,11bp__,1.5bp__)) - -define labels { { - "$1" $2 at last[].$1 - "$3" $4 at last[].$3 - "$5" $6 at last[].$5 - "$7" $9 at (last[].s+(0,$8)) } } - -down_ -Row1: [ - {thyristor - labels(A,above,K,below,G,ljust,`thyristor',-0.25,wid 0.75) } - - move right 0.50 ; down_ - {thyristor(,B) - labels(T1,above,T2,below,G,below ljust,`...(,B)',-0.35) } - - move right 0.50 ; down_ - {thyristor(down_ dimen_*0.8,BR) - labels(T1,above,T2,below,G,below rjust,`...(,BR)',-0.22) } - - move right 0.60 ; down_ - {thyristor(,BE) - labels(T1,above,T2,below,G,below ljust,`...(,BE)',-0.35) } - - move right 0.50 ; down_ - {thyristor(,A) at (Here,last []) - labels(A,above,K,below,G,ljust,`...(,A)',-0.35) } - - move right 0.50 ; down_ - {thyristor(,F) at (Here,last []) - labels(A,above,K,below,G,ljust,`...(,F)',-0.22) } - - move right 0.65 ; down_ - {thyristor(,BRE) - labels(T1,above,T2,below,G,below rjust,`...(,BRE)',-0.35) } - - move right 0.75 ; down_ - {thyristor(,UARE) at (Here,last []) - labels(A,above,K,below,G,rjust below,`...(,UARE)',-0.22) } - - move right 0.50 ; down_ - {thyristor(,AV,G: G+(0.1,0.1)) at (Here,last []) - thinlines_ - spline -> from last[].G left 0.05 then left 0.05 down 0.1 - thicklines_ - labels(A,above,K,below,G,ljust,`...(,AV)',-0.35) } - - move right 0.50 ; down_ - {thyristor(,IEC) - labels(A,above ljust,K,below ljust,G,ljust,`...(,IEC)',-0.22) } - ] -Row2: [ - down_ - {thyristor(,UAH) - labels(A,rjust above,K,rjust below,G,ljust,`...(,UAH)',-0.35,wid 0.65) } - - move right 0.55 ; down_ - {thyristor(,N) at (Here,last []) - labels(A,above,K,below,Ga,rjust,`...(,N)',-0.22) } - - move right 0.55 ; down_ - {thyristor(,UANRE) at (Here,last []) - labels(A,above,K,below,Ga,ljust above,`...(,UANRE)',-0.35) } - move right 0.55 ; down_ - {thyristor(,SCR) at (Here,last []) - labels(A,above,K,below rjust,G,below ljust,`...(,SCR)',-0.22) } - - move right 0.55 ; down_ - {thyristor(,SCRE) at (Here,last []) - labels(A,above,K,below,G,ljust below,`...(SCRE)',-0.35) } - - move right 0.65 ; down_ - {thyristor(,SCRRE) at (Here,last []) - labels(A,above,K,below,G,rjust below,`...(SCRRE)',-0.22) } - - move right 0.55 ; down_ - {thyristor(,SCS) at (Here,last []) - labels(A,above,K,below,G,ljust,`...(SCS)',-0.35) } - { "Ga" rjust above at last[].Ga } - - move right 0.55 ; down_ - {thyristor(,SCSE) at (Here,last []) - labels(A,above,K,below,G,ljust below,`...(SCSE)',-0.22) } - { "Ga" rjust above at last[].Ga } - - move right 0.65 ; down_ - {thyristor(,SUSE) at (Here,last []) - labels(A,above,K,below,G,rjust,`...(SUSE)',-0.35) } - - move right 0.65 ; down_ - {thyristor(,SBSE) at (Here,last []) - labels(T1,above,T2,below,G,rjust,`...(SBSE)',-0.22,wid 50bp__) } - - ] with .nw at Row1.sw + (0,-0.20) - -Twoterms: [ right_ - { scr(,,Q) ; `"scr(,,Q)"' at last [].e ljust} - { "Q.G" at Q.G above } - - move down 0.4; right_ - { scs(,,Q2) ; `"scs(,,Q2)"' at last [].e ljust } - { "Q2.G" at Q2.G above } - { "Q2.Ga" at Q2.Ga below } - ] with .nw at Row2.sw+(0,-0.2) - - [ right_ - { sus(,RE,Q3) ; `"sus(,RE,Q3)"' at last [].e ljust} - { "Q3.G" at Q3.G above } - - move right_ 1.2 from last line.end - { sbs(,E,Q4) ; `"sbs(,E,Q4)"' at last [].e ljust} - { "Q4.G" at Q4.G below } - ] with .w at last [].e+(1.0,0) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/tstSVG.htmx b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/tstSVG.htmx deleted file mode 100644 index ccb14e00b85..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/tstSVG.htmx +++ /dev/null @@ -1,290 +0,0 @@ - - - - - - -SVG Examples: Circuit_macros Version XXX - - - - - - - - - - - - - - -

-ifelse(`$2',,,` -$1.m4: -`$2' changecom(,)&`#'8194;changecom(`#')') - -

-ifinstr(`$3',y,,`
')') - ---------------------------------------------------------------------- --> - - - - -
- -

SVG Circuit_macros examples, Version XXX

-
- -

- This file shows diagrams in .svg format; - png - versions are also available. - The PDF equivalent can be found in examples.pdf of the distribution. -

- -

-The diagrams shown below have been adapted from the Circuit_macros -examples in order to test the svg output of dpic. Generating svg line -art is straightforward, but TeX, LaTeX, and related word -processors do not produce svg. Either less-sophisticated text formatting -must be employed or an - - intermediate format -such as pdf can be -produced, followed by an additional processing step to convert to svg. -Two possibilities for the latter are - dvisvgm -and - pdf2svg although -there may be font-related issues for some diagrams. -
-Many circuit and similar diagrams intended for the web do not -require sophisticated labels, however; the examples shown below might -be representative. -

-

- Click on the link to view the source of each diagram. -

-
-

-There are a number of other issues: -

    -
  • Embedding .svg files in html documents with the <embed> or - <object> tag seems to be a perennial issue. -
  • This file has been tested mainly by using Firefox. -
  • The Adobe reader apparently requires a line of the form -
    <embed src="figure.svg" width="x" height="y" type="image/svg+xml" - /> - This means that the html file has to contain dimension - information for each figure, whereas Firefox can - determine the figure size - from the <svg ... object. Currently, dpic includes a comment line - giving reasonable dimensions in pixels but this has to be insterted into - the <embed or <object line. A makefile does it easily but - otherwise this could be tedious. -
  • The default font face is not specified in all of these diagrams but is - inherited from the enclosing document, so the appearance of labels can - differ depending on the browser. Some of these diagrams set the font at - the beginning of the diagram source. -
  • The <svg tag may require modification - from the default used for this test. Dpic might be modified to - allow the generation of custom headers but that has not been done. -
  • Diagrams such as these contain text labels - that have to be treated differently from the LaTeX-compatible versions. - Apparently there is no direct way to know the bounding box of arbitrary svg - text. - - Consequently, text placement is approximate and may require - manual adjustment. - Rather than patch the original source files for svg production, edited copies - have been used. The configuration file svg.m4 read by m4 - prior to libcct.m4 contains the following macros defined for svg. - Others could be defined to exercise some of the media capabilties of svg. - They are subject to change: -
      -
    • - m4tt`'svg_font(font-face,nominal size[:dptextratio],textoffset, - dpic commands`'m4tt): - Change font face, size, textratio and dpic textoffset parameters. - Change font face and dpic m4tt`'textht, m4tt`'dptextratio, - and m4tt`'textoffset parameters. - If arg4 is blank, the font is changed and - requires m4tt`'command "</g>" to cancel the font change. -
      - Note: - Nominal height = text height in drawing units; actual height = - nominal ht x m4tt`'dptextratio. -
      - Examples:
      - m4tt`'svg_font(Times)
      - m4tt`'svg_font(Times,14bp__)
      - m4tt`'svg_font(sans-serif,14bp__:0.71)
      - m4tt`'svg_font(Times,11bp__,1bp__,"text" at A)
      - m4tt`'svg_font(font-family="Times")
      - m4tt`'svg_font(font-family="Times" font-style="italic")
      - m4tt`'svg_font(style="font-family:Times; font-style:italic") -
    • m4tt svgfontratio(font name`'m4tt); - Reasonable m4tt`'dptextratio value for common fonts, used - by m4tt`'svg_font. -
    • m4tt svg_tspan(text attributes, text`'m4tt); - e.g. m4tt`'svg_tspan(font-style="italic" font-size="75%",XYZ) -
    • m4tt svg_it(text`'m4tt): for italics -
    • m4tt svg_tt(text`'m4tt): for monospace (courier) -
    • m4tt svg_sf(text`'m4tt): sans-serif (Helvetica) -
    • m4tt svg_norm(text`'m4tt): for normal text -
    • m4tt svg_bf(text`'m4tt): for bold face -
    • m4tt svg_small(text, percent`'m4tt): - to set a smaller text size, default 66 -
    • m4tt svg_fsize(text, percent`'m4tt): - for setting larger or smaller text size, default 100 -
    • m4tt svg_sub(text, size percent, y displ, x displ`'m4tt): - subscript -
    • m4tt svg_ul(text`'m4tt): underlined text -
    • m4tt svg_ol(text`'m4tt): overlined text -
    • m4tt svg_sup(text, size percent, y displ, x displ`'m4tt): - superscript -
    • m4tt svg_hat(character`'m4tt): circumflex-accented character -
    • m4tt svg_frac(numerator[:wid], denominator[:wid]`'m4tt): - basic fraction, wid in drawing units -
    • m4tt svg_rot(degrees, "text" [at position]`'m4tt): - Rotate text degrees (default 90) ccw. - Requires m4tt`'svg_rot_init(filename`'m4tt) and the source - must be processed twice. -
    • m4tt svg_rot_init(filename`'m4tt): - filename is the basename of the output of - m4tt`'dpic -v filename.pic > filename.svg`'m4tt -
    • m4tt svg_symbol(text`'m4tt): allow quoted pound sign in text, - e.g., m4tt`'svg_symbol(10&`#'176;) produces 10° -
    • m4tt svgLink(URL, drawing object, m4tt[B]): - link to external file using - <a xlink:href=...>...</a> (default is - m4tt`'target="_blank" unless - arg 3 = B) -
    • m4tt svgLinkString as above but for strings attached to objects -
    • Greek and other symbols: - - - - - - - - - - - - - - - -
      m4tt svg_alpha changecom(,)&`#'945;changecom(`#') - m4tt svg_beta changecom(,)&`#'946;changecom(`#') - m4tt svg_Gamma changecom(,)&`#'915;changecom(`#') - m4tt svg_gamma changecom(,)&`#'947;changecom(`#') - m4tt svg_Delta changecom(,)&`#'916;changecom(`#') - m4tt svg_delta changecom(,)&`#'948;changecom(`#') - m4tt svg_epsilon changecom(,)&`#'949;changecom(`#') - m4tt svg_zeta changecom(,)&`#'950;changecom(`#') -
      m4tt svg_eta changecom(,)&`#'951;changecom(`#') - m4tt svg_Theta changecom(,)&`#'920;changecom(`#') - m4tt svg_theta changecom(,)&`#'952;changecom(`#') - m4tt svg_iota changecom(,)&`#'953;changecom(`#') - m4tt svg_kappa changecom(,)&`#'954;changecom(`#') - m4tt svg_Lambda changecom(,)&`#'923;changecom(`#') - m4tt svg_lambda changecom(,)&`#'955;changecom(`#') - m4tt svg_mu changecom(,)&`#'956;changecom(`#') -
      m4tt svg_nu changecom(,)&`#'957;changecom(`#') - m4tt svg_Xi changecom(,)&`#'926;changecom(`#') - m4tt svg_xi changecom(,)&`#'958;changecom(`#') - m4tt svg_Pi changecom(,)&`#'928;changecom(`#') - m4tt svg_pi changecom(,)&`#'960;changecom(`#') - m4tt svg_rho changecom(,)&`#'961;changecom(`#') - m4tt svg_Sigma changecom(,)&`#'931;changecom(`#') - m4tt svg_sigma changecom(,)&`#'963;changecom(`#') -
      m4tt svg_tau changecom(,)&`#'964;changecom(`#') - m4tt svg_upsilon changecom(,)&`#'965;changecom(`#') - m4tt svg_Phi changecom(,)&`#'934;changecom(`#') - m4tt svg_phi changecom(,)&`#'966;changecom(`#') - m4tt svg_chi changecom(,)&`#'967;changecom(`#') - m4tt svg_Psi changecom(,)&`#'936;changecom(`#') - m4tt svg_psi changecom(,)&`#'968;changecom(`#') - m4tt svg_Omega changecom(,)&`#'937;changecom(`#') -
      m4tt svg_omega changecom(,)&`#'969;changecom(`#') - m4tt svg_micro changecom(,)&`#'956;changecom(`#') - m4tt svg_ohm changecom(,)&`#'937;changecom(`#') - m4tt svg_lt changecom(,)&`#'60;changecom(`#') - m4tt svg_gt changecom(,)&`#'62;changecom(`#') - m4tt svg_leq changecom(,)&`#'8804;changecom(`#') - m4tt svg_geq changecom(,)&`#'8805;changecom(`#') - m4tt svg_prime changecom(,)&`#'8242;changecom(`#') -
      m4tt svg_backsl changecom(,)&`#'92;changecom(`#') - m4tt svg_pound changecom(,)&`#'35;changecom(`#') - m4tt svg_comma changecom(,)&`#'44;changecom(`#') - m4tt svg_lparen changecom(,)&`#'40;changecom(`#') - m4tt svg_rparen changecom(,)&`#'41;changecom(`#') - m4tt svg_circ changecom(,)&`#'710;changecom(`#') - m4tt svg_deg changecom(,)&`#'176;changecom(`#') - m4tt svg_grave changecom(,)&`#'96;changecom(`#') -
      - - - -
      m4tt svg_emsp |changecom(,)&`#'8195;changecom(`#')| - m4tt svg_ensp |changecom(,)&`#'8194;changecom(`#')| - m4tt svg_thinsp |changecom(,)&`#'8201;changecom(`#')| -
      - -
    -
  • Inkscape: It may be efficient to define elements by macro and to - place them using a wysiwyg graphics editor. A draft page intended - for Inkscape is included. A reasonable variety of elements is defined - but many more could be added and they should be customized for - particular applications. Adjustments may also have to be made to - obtain the proper snap-to actions. -
  • Link experiments: Click on the resistor or source of quickSVG - to go to external - files in new windows. Click on "n-port" in NportSVG to replace the diagram - and then "back" to return. -
  • Some of the assumptions used to create this draft may be - na&`#'239;ve. - Comments are welcome. -
- -
- -cfig(XXXXX) - -
- - diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ujtSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ujtSVG.m4 deleted file mode 100644 index 2672d38989a..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/ujtSVG.m4 +++ /dev/null @@ -1,31 +0,0 @@ -.PS -# `ujt.m4' -cct_init(svg_font(sans-serif,11bp__)) - -dwn = 1.0 -dsep = 0.15 - -define(`demo_ujt',`up_ - ujt(`$1',`$2',`$3',`$4') - "B1" ifelse(`$5',,below,ljust) at last [].B1 - "E" at 1.5 between last [].Bulk.c and last [].E - "B2" ifelse(`$5',,above,ljust) at last [].B2 - ') - -[demo_ujt(up_ dimen_,,,E,A) -`"ujt(up_ dimen_,,,E)"' wid 1.3 at last [].s+(0,-0.2) below ] - -[demo_ujt(,,P,) -`"ujt(,,P,)"' at last [].s+(0,-dsep) below] \ -with .sw at last [].se+(0.8,0) - -[demo_ujt(,R,,) -`"ujt(,R,,)"' at last [].s+(0,-dsep) below] \ -with .sw at last [].se+(0.8,0) - -[demo_ujt(,R,P,) -`"ujt(,R,P,)"' at last [].s+(0,-dsep) below] \ -with .sw at last [].se+(0.8,0) - - command "" # end font -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/windows.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/windows.m4 deleted file mode 100644 index bc4527f36e8..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/windows.m4 +++ /dev/null @@ -1,12 +0,0 @@ -divert(-1) -# windows.m4 -# This file is used if the CUSTOM=windows.m4 function is turned on in Makefile -define(`windows_') - -# To makd NeedDpicTools work, -# change the absolute Windows path to your installation directory: - -define(`NeedDpicTools',`if "dpictools" != "1" then { - copy "D:\Dwight\lib\dpictools.pic" } define(`dfitcurve__') ') - -divert(0)dnl diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/wormSVG.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/wormSVG.m4 deleted file mode 100644 index 79ac53f772a..00000000000 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/svg/wormSVG.m4 +++ /dev/null @@ -1,123 +0,0 @@ -.PS -# worm.m4 - gen_init - -define(`svgcolor',`sprintf("rgb(%g,%g,%g)",`$1',`$2',`$3')') - -`define case { exec sprintf("$%g",floor($1+0.5)+1); }' - -`define hsvtorgb { - h_ = $1; s_ = $2; v_ = $3 - f_ = h_/60-floor(h_/60) - p_ = v_*(1-s_) - q_ = v_*(1-f_*s_) - t_ = v_*(1-(1-f_)*s_) - case(pmod(floor(h_/60),6)+1, - $4 = v_; $5 = t_; $6 = p_, - $4 = q_; $5 = v_; $6 = p_, - $4 = p_; $5 = v_; $6 = t_, - $4 = p_; $5 = q_; $6 = v_, - $4 = t_; $5 = p_; $6 = v_, - $4 = v_; $5 = p_; $6 = q_) - $4 = int(($4)*255+0.5) - $5 = int(($5)*255+0.5) - $6 = int(($6)*255+0.5) - }' - -Worm: [ - linethick_(0.1) - dimen = 1.25 # scale parameter; try dimen=2 for a larger picture - w = 0.15 * dimen # worm radius - nhues = 265 - S: dimen,0 - for inx = 1 to nhues +2 do { - theta = inx*360/nhues - R: dimen*cosd(3*theta), dimen*sind(2*theta) - D: R-(S.x,S.y) - t = sqrt(max(0,w^2/(D.x^2+D.y^2)-1/4)) - Ra: 0.5 + (t*D.y,-t*D.x) - Rb: 0.5 - (t*D.y,-t*D.x) - if inx <= nhues then { - hsvtorgb(theta+120,1,1,r,g,b) - rgbfill( r,g,b, - arc cw from Ra to Rb rad w with .c at S - arc ccw from Rb to Ra rad w with .c at R ) - } else { - arc cw from Ra to Rb rad w with .c at S - arc ccw from Rb to Ra rad w with .c at R } - S: R - } - ] - - "svg_fsize(R,120)" at 0.9 ljust - "svg_fsize(G,120)" at Worm.e ljust - "svg_fsize(B,120)" at 0.1 ljust - "svg_fsize(Y,120)" at 0.1 rjust - "svg_fsize(M,120)" wid 0.2 at Worm.w rjust - "svg_fsize(C,120)" at 0.9 rjust - box invis ht Worm.ht wid Worm.wid+0.4 at Worm - -[ thicklines_ - C: circle rad 1.5 at 0,0 - smallrad = C.rad/2 - for t=0 to 330 by 30 do { - line from Rect_(C.rad-0.05,90-t) to Rect_(C.rad+0.05,90-t) - sprintf("%g",t) at Rect_(C.rad+0.2,90-t) - } - "svg_fsize(R,120)" at Rect_(C.rad+0.45,90-0) - "svg_fsize(Y,120)" wid 0.2 at Rect_(C.rad+0.45,90-60) - "svg_fsize(G,120)" at Rect_(C.rad+0.45,90-120) - "svg_fsize(C,120)" at Rect_(C.rad+0.45,90-180) - "svg_fsize(B,120)" at Rect_(C.rad+0.45,90-240) - "svg_fsize(M,120)" at Rect_(C.rad+0.45,90-300) - linethick_(0) - - for t = 1 to 90 do { - hsvtorgb(t/90*360,1,1,r,g,b) - line shaded svgcolor(r,g,b) outlined svgcolor(r,g,b) \ - from C to Rect_(C.rad-0.05,90-(t-0.5)/90*360) \ - then to Rect_(C.rad-0.05,90-(t+0.5)/90*360) \ - then to C - } - - R: circle diam C.rad at Rect_(C.rad*3/8,90) color "rgb(255,0,0)" - G: circle diam C.rad at Rect_(C.rad*3/8,-30) color "rgb(0,255,0)" - B: circle diam C.rad at Rect_(C.rad*3/8,-150) color "rgb(0,0,255)" - - RG: cintersect(R,R.rad,G,G.rad) - GR: cintersect(R,R.rad,G,G.rad,R) - GB: cintersect(G,G.rad,B,B.rad) - BG: cintersect(G,G.rad,B,B.rad,R) - BR: cintersect(B,B.rad,R,R.rad) - RB: cintersect(B,B.rad,R,R.rad,R) - -# The following could be done other ways depending on the postprocessor -`define lozenge { - arc from $1$2 to $2$1 with .c at $2 - arc from $2$1 to $1$2 with .c at $1 }' - -# yellow -linethick = 0.1; rgbfill(255,255,0,lozenge(R,G)) -linethick = 0.4; rgbdraw(255,255,0,lozenge(R,G)) - -# cyan -linethick = 0.1; rgbfill(0,255,255,lozenge(G,B)) -linethick = 0.4; rgbdraw(0,255,255,lozenge(G,B)) - -# magenta -linethick = 0.1; rgbfill(255,0,255,lozenge(B,R)) -linethick = 0.4; rgbdraw(255,0,255,lozenge(B,R)) - -`define white { - arc cw from RB to GR with .c at R - arc cw from GR to BG with .c at G - arc cw from BG to RB with .c at B }' -linethick = 0.1; rgbfill(255,255,255,white) -linethick = 0.4; rgbdraw(255,255,255,white) -setrgb(255,255,255) - line from RB to GR then to BG then to RB -resetrgb - -] with .w at Worm.e+(0.5,0) - -.PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/venus.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/venus.m4 index 84946382587..676cd98143d 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/venus.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/venus.m4 @@ -68,6 +68,7 @@ AA:[ BB:[ venus(outerrate=8;innerrate=17;increment=2;innerlength=3.5;changephase=60,T) - ] with .nw at AA.sw+(0,-0.5) + ] at AA +# ] with .nw at AA.sw+(0,-0.5) .PE diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/xfig/xfiglib.fig b/Master/texmf-dist/doc/latex/circuit-macros/examples/xfig/xfiglib.fig index 06a50cdd6d7..ce3f289160c 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/examples/xfig/xfiglib.fig +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/xfig/xfiglib.fig @@ -6,7 +6,7 @@ Letter 100.00 Single -2 -# dpic version 2021.11.01 option -x for Fig 3.2 +# dpic version 2022.12.01 option -x for Fig 3.2 1200 2 6 0 0 3975 5025 6 0 0 3975 5025 diff --git a/Master/texmf-dist/doc/latex/circuit-macros/gpic.m4 b/Master/texmf-dist/doc/latex/circuit-macros/gpic.m4 index 66905f7308c..818f37c305a 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/gpic.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/gpic.m4 @@ -1,7 +1,7 @@ divert(-1) gpic.m4 Initialization for gpic. -* Circuit_macros Version 10.0, copyright (c) 2022 J. D. Aplevich under * +* Circuit_macros Version 10.1, copyright (c) 2022 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/Master/texmf-dist/doc/latex/circuit-macros/lib3D.m4 b/Master/texmf-dist/doc/latex/circuit-macros/lib3D.m4 index 7d813f6e272..6b27b928162 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/lib3D.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/lib3D.m4 @@ -3,7 +3,7 @@ lib3D.m4 Macros for rotation, projection, and other operations on argument triples representing 3D vectors or colors. -* Circuit_macros Version 10.0, copyright (c) 2022 J. D. Aplevich under * +* Circuit_macros Version 10.1, copyright (c) 2022 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/Master/texmf-dist/doc/latex/circuit-macros/libSLD.m4 b/Master/texmf-dist/doc/latex/circuit-macros/libSLD.m4 index 75ca43cdce0..ff1c01cb96c 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/libSLD.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/libSLD.m4 @@ -2,7 +2,7 @@ divert(-1) libSLD.m4 Draft macros for single-line diagram elements -* Circuit_macros Version 10.0, copyright (c) 2022 J. D. Aplevich under * +* Circuit_macros Version 10.1, copyright (c) 2022 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/Master/texmf-dist/doc/latex/circuit-macros/libcct.m4 b/Master/texmf-dist/doc/latex/circuit-macros/libcct.m4 index 5ce00640ace..3a3e1f398ab 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/libcct.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/libcct.m4 @@ -1,7 +1,7 @@ divert(-1) libcct.m4 -* Circuit_macros Version 10.0, copyright (c) 2022 J. D. Aplevich under * +* Circuit_macros Version 10.1, copyright (c) 2022 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * @@ -1977,36 +1977,51 @@ define(`m4gen_d',`{dnl `line from 0.5 between M4_s and M4_e to M4_e \ chop m4dh ifelse(m4a,,/2,m4a,d,/2+m4dv/4) chop 0') ')dnl - `em_arrows( type,degrees,length) - type=[N|I|E][D] N=nonionizing, I=ionizing, - E=simple; D=dot on arrow stem - degrees = absolute arrow direction' -define(`em_arrows',`[ define(`m4dnm_',`ifelse($1,,N,$1)')dnl + `em_arrows( type|keys,angle,length ) + type=N|I|E [D|T] + N=nonionizing, I=ionizing, E=simple; + D=dot on arrow stem; T=anchor tail + keys: type=chars as above; + lgth=expr; + sep=expr; arrow separation + angle=degrees; absolute direction' +define(`em_arrows',`[ + pushkeys_(`$1',`type:m4nul:N; angle:ifelse(`$2',,135,`($2)')*dtor_')dnl + ifelse(m4type,m4nul, + `popdef(`m4type')pushdef(`m4type',`ifelse(`$1',,N,`$1')')')dnl arrowhead = em_arrowhead - define(`m4_len', - `ifelse(`$3',,`dimen_*ifinstr(`$1',E,0.25,0.46)',`($3)')') - ang = ifelse(`$2',,135,`($2)')*dtor_ - sc_draw(`m4dnm_',N, - `{ A1: arrow m4c_l to rrot_(m4_len,0,ang) wid em_arrowwid ht em_arrowht } - move to rrot_(0,-em_arrowwid*9/8,ang) - { A2: arrow m4c_l to rrot_(m4_len,0,ang) wid em_arrowwid ht em_arrowht } ') - sc_draw(`m4dnm_',I,`m4_rad_arr(A1) - move to rrot_(0,-em_arrowwid*9/8,ang); m4_rad_arr(A2)') - sc_draw(`m4dnm_',E, - `{ A1: line to rrot_(m4_len,0,ang) \ - then to rrot_(m4_len-dimen_/18,dimen_/18,ang) } - move to rrot_(0,-dimen_/8,ang) - { A2: line to rrot_(m4_len,0,ang) \ - then to rrot_(m4_len-dimen_/18,dimen_/18,ang) }') - sc_draw(`m4dnm_',D,`dot(at A1.start); dot(at A2.start)') + sc_draw(`m4type',N, + `pushkeys_(`$1',lgth:ifelse(`$3',,dimen_*0.46,`$3'); sep:em_arrowwid*9/8)dnl + { A1: arrow m4c_l to rrot_(m4lgth,0,m4angle) wid em_arrowwid ht em_arrowht} + move to rrot_(0,-m4sep,m4angle) + { A2: arrow m4c_l to rrot_(m4lgth,0,m4angle) wid em_arrowwid ht em_arrowht}') + sc_draw(`m4type',I, + `pushkeys_(`$1',lgth:ifelse(`$3',,dimen_*0.46,`$3'); sep:em_arrowwid*9/8)dnl + m4em_serp(A1) + move to rrot_(0,-m4sep,m4angle); m4em_serp(A2)') + sc_draw(`m4type',E, + `pushkeys_(`$1',lgth:ifelse(`$3',,dimen_*0.25,`$3'); sep:dimen_/8)dnl + { A1: line to rrot_(m4lgth,0,m4angle) \ + then to rrot_(m4lgth-dimen_/18,dimen_/18,m4angle) } + move to rrot_(0,-m4sep,m4angle) + { A2: line to rrot_(m4lgth,0,m4angle) \ + then to rrot_(m4lgth-dimen_/18,dimen_/18,m4angle) }') + sc_draw(`m4type',D,`dot(at A1.start); dot(at A2.start)') + sc_draw(`m4type',T,`m4em_anchor(A1.start); m4em_anchor(A2.start)') Tail: 0.5 between A1.start and A2.start Head: 0.5 between A1.end and A2.end - `$4']') -define(`m4_rad_arr',`{{`$1': line invis to rrot_(m4_len,0,ang)} - for_(1,3,1, - `arc ifelse(m4x,2,c)cw to rrot_(dimen_/10,0,ang) \ - with .c at rrot_(dimen_/20,0,ang)') + `$4' popdef(`m4typ',`m4type',`m4angle',`m4lgth',`m4sep') ]') +define(`m4em_serp',`{{`$1': line invis to rrot_(m4lgth,0,m4angle)} + for i=1 to (m4lgth-em_arrowht*3/4)/(em_arrowwid) do { + if i%2 then {define m4cw {cw}} else {define m4cw {ccw}} + arc m4cw to rrot_(em_arrowwid,0,m4angle) \ + with .c at rrot_((em_arrowwid)/2,0,m4angle) }; round arrow m4c_l to `$1'.end wid em_arrowwid ht em_arrowht*3/4 }') +define(`m4em_anchor',`{ move to `$1' + {arc cw to rrot_(0,em_arrowwid/2,m4angle) \ + with .c at rrot_(0,em_arrowwid/4,m4angle)} + {arc to rrot_(0,-arrowwid/2,m4angle) \ + with .c at rrot_(0,-arrowwid/4,m4angle)}}') `thyristor(linespec, [SCR|SCS|SUS|SBS|IEC][chars]) diff --git a/Master/texmf-dist/doc/latex/circuit-macros/libgen.m4 b/Master/texmf-dist/doc/latex/circuit-macros/libgen.m4 index c066b7527ba..6846782197c 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/libgen.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/libgen.m4 @@ -2,7 +2,7 @@ divert(-1) libgen.m4 Base macros for dpic and gpic diagrams -* Circuit_macros Version 10.0, copyright (c) 2022 J. D. Aplevich under * +* Circuit_macros Version 10.1, copyright (c) 2022 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * @@ -181,10 +181,12 @@ define(`SIdefaults', ') `Conditionally add mpost code for latex command' -define(`latexcommand',`command "ifmpost(verbatimtex) `$1' ifmpost(etex)"') +define(`latexcommand', + `iflatex(command `"ifmpost(verbatimtex) patsubst(`$1',^"\|"$) ifmpost(etex)"', + `$2')') define(`m4announceprocessor',`dnl Do not change the format of the next line: -`#' `$1' Version 10.0: ifelse(m4picprocessor,gpic,`Gpic', +`#' `$1' Version 10.1: ifelse(m4picprocessor,gpic,`Gpic', m4postprocessor,pstricks,`PSTricks', m4postprocessor,pgf,`TikZ PGF', m4postprocessor,mfpic,`Mfpic', @@ -943,21 +945,31 @@ define(`f_box',`box ifelse(`$2',, `invis fill_(1) s_box($1)', `$1 s_box(shift($@))')') - `dot(at location,radius,fill)' + `dot(at location,radius|keys,fill) + keys: rad=expr; + circle=attributes; ' define(`dotrad_',(0.02*scale)) -define(`dot',`[define(`m4ft',`ifelse(`$3',,0,(`$3'))')dnl - ifgpic(`circle rad ifelse(`$2',,`dotrad_',`$2') fill_(m4ft)', - `ifdef(`r_',`rgbfill(r_+(1-r_)*m4ft, g_+(1-g_)*m4ft, b_+(1-b_)*m4ft, - circle rad ifelse(`$2',,`dotrad_',`$2'))', - `circle rad ifelse(`$2',,`dotrad_',`$2') fill_(m4ft)')') dnl - `$4'] with .c ifelse(`$1',,`at Here',`$1') - move to last [].c') - `cross(at location,size); assumes that a - cross always has manhattan directions' -define(`cross',`define(`crosswd_',`ifelse(`$2',,`(0.05*scale)',(`$2')/2)')dnl - [{line from Here+(0,neg_(crosswd_)) to Here+(0,crosswd_)} - line from Here+(neg_(crosswd_),0) to Here+(crosswd_,0) - `$3'] with .c ifelse(`$1',,`at Here',`$1'); move to last [].c') +define(`dot',`[ define(`m4ft',`ifelse(`$3',,0,(`$3'))')dnl + pushkeys_(`$2',rad:m4nul:N;circle:fill_(m4ft):N)dnl + ifelse(m4rad,m4nul,`popdef(`m4rad')pushdef(`m4rad', + `ifinstr(`$2',=,`dotrad_',`ifelse(`$2',,`dotrad_',(`$2'))')')')dnl + ifdef(`r_',`rgbfill(r_+(1-r_)*m4ft, g_+(1-g_)*m4ft, b_+(1-b_)*m4ft, + circle rad m4rad )', + `circle rad m4rad m4circle') dnl + `$4' popdef(`m4rad',`m4circle')] ifelse(`$1',,`at Here',`$1') + move to last []') + `cross(at location,size|keys); assumes that a + cross always has manhattan directions + keys: size=expr; + line=attributes; (line attributes) ' +define(`cross',`[ + pushkeys_(`$2',size:m4nul:N;line::N)dnl + ifelse(m4size,m4nul,`popdef(`m4size')pushdef(`m4size', + `ifinstr(`$2',=,(0.05*scale),ifelse(`$2',,(0.05*scale),(`$2')))')')dnl + line from (0,-m4size/2) to (0,m4size/2) m4line + line from (-m4size/2,0) to (m4size/2,0) m4line + `$3' popdef(`m4size',`m4line') ] ifelse(`$1',,`at Here',`$1') + move to last []') `boxcoord(name,xfraction,yfraction) internal position in a named planar object' diff --git a/Master/texmf-dist/doc/latex/circuit-macros/liblog.m4 b/Master/texmf-dist/doc/latex/circuit-macros/liblog.m4 index 560ec993a2b..d25ba888e78 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/liblog.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/liblog.m4 @@ -1,7 +1,7 @@ divert(-1) liblog.m4 Logic gates -* Circuit_macros Version 10.0, copyright (c) 2022 J. D. Aplevich under * +* Circuit_macros Version 10.1, copyright (c) 2022 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/Master/texmf-dist/doc/latex/circuit-macros/mfpic.m4 b/Master/texmf-dist/doc/latex/circuit-macros/mfpic.m4 index 000e1429621..0b54325003b 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/mfpic.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/mfpic.m4 @@ -1,7 +1,7 @@ divert(-1) mfpic.m4 Initialization for mfpic. -* Circuit_macros Version 10.0, copyright (c) 2022 J. D. Aplevich under * +* Circuit_macros Version 10.1, copyright (c) 2022 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/Master/texmf-dist/doc/latex/circuit-macros/mpost.m4 b/Master/texmf-dist/doc/latex/circuit-macros/mpost.m4 index d812116b637..8afea451bcb 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/mpost.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/mpost.m4 @@ -1,7 +1,7 @@ divert(-1) mpost.m4 Initialization for metapost. -* Circuit_macros Version 10.0, copyright (c) 2022 J. D. Aplevich under * +* Circuit_macros Version 10.1, copyright (c) 2022 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/Master/texmf-dist/doc/latex/circuit-macros/pgf.m4 b/Master/texmf-dist/doc/latex/circuit-macros/pgf.m4 index 0739b80694c..20d2cc6a62f 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/pgf.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/pgf.m4 @@ -1,7 +1,7 @@ divert(-1) pgf.m4 Initialization for Tikz-pgf. -* Circuit_macros Version 10.0, copyright (c) 2022 J. D. Aplevich under * +* Circuit_macros Version 10.1, copyright (c) 2022 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/Master/texmf-dist/doc/latex/circuit-macros/postscript.m4 b/Master/texmf-dist/doc/latex/circuit-macros/postscript.m4 index 19f0a0dbed4..e150f62095d 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/postscript.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/postscript.m4 @@ -1,7 +1,7 @@ divert(-1) postscript.m4 Initialization for Postscript output. -* Circuit_macros Version 10.0, copyright (c) 2022 J. D. Aplevich under * +* Circuit_macros Version 10.1, copyright (c) 2022 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/Master/texmf-dist/doc/latex/circuit-macros/psfrag.m4 b/Master/texmf-dist/doc/latex/circuit-macros/psfrag.m4 index d69f34564e6..d35847525e8 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/psfrag.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/psfrag.m4 @@ -2,7 +2,7 @@ divert(-1) psfrag.m4 Initialization for dpic -f processing: Postscript with psfrag strings -* Circuit_macros Version 10.0, copyright (c) 2022 J. D. Aplevich under * +* Circuit_macros Version 10.1, copyright (c) 2022 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/Master/texmf-dist/doc/latex/circuit-macros/pstricks.m4 b/Master/texmf-dist/doc/latex/circuit-macros/pstricks.m4 index fd7ba7fbd4d..906714005e0 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/pstricks.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/pstricks.m4 @@ -1,7 +1,7 @@ divert(-1) pstricks.m4 Initialization for PSTricks. -* Circuit_macros Version 10.0, copyright (c) 2022 J. D. Aplevich under * +* Circuit_macros Version 10.1, copyright (c) 2022 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * diff --git a/Master/texmf-dist/doc/latex/circuit-macros/svg.m4 b/Master/texmf-dist/doc/latex/circuit-macros/svg.m4 index 5eb5bebfc67..63dca4a8ce0 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/svg.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/svg.m4 @@ -1,7 +1,7 @@ divert(-1) - svg.m4 Initialization for SVG output. + svg.m4 Initialization for svg output. -* Circuit_macros Version 10.0, copyright (c) 2022 J. D. Aplevich under * +* Circuit_macros Version 10.1, copyright (c) 2022 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * @@ -277,25 +277,6 @@ define(`svg_rot_init',` `# svg_rot'_init end ') -ifelse(0,1,` -# ifdef(`svg_rot_',,` -## `svg_rot(degrees,"text" [at position]) -## Rotate text degrees ccw -## Requires svg_rot_init(filename) -## which uses both awk and sed. -## The source must be processed twice by m4 and dpic.' -# define svg_rot { if retcode != 0 then {$`'2} else { -# if "$`'1" != "" then { svg_rang = -($`'1) } else { svg_rang = -90 } -# if svgrot_k != 0 then { svgrot_i +=1 -# command sprintf("",svg_rang,\ -# svg_rx[svgrot_i],svg_ry[svgrot_i]) }\ -# else { command sprintf("",svg_rang) } -#$`'2 -# command "" } } -# define(`svg_rot_') -# ') -') - # ---------------------------------------------------------------------------# define(`thinlines_',`linethick = 0.4 diff --git a/Master/texmf-dist/doc/latex/circuit-macros/xfig.m4 b/Master/texmf-dist/doc/latex/circuit-macros/xfig.m4 index 222058db9a0..6c56dc1fbf0 100644 --- a/Master/texmf-dist/doc/latex/circuit-macros/xfig.m4 +++ b/Master/texmf-dist/doc/latex/circuit-macros/xfig.m4 @@ -1,7 +1,7 @@ divert(-1) xfig.m4 Initialization for xfig. -* Circuit_macros Version 10.0, copyright (c) 2022 J. D. Aplevich under * +* Circuit_macros Version 10.1, copyright (c) 2022 J. D. Aplevich under * * the LaTeX Project Public Licence in file Licence.txt. The files of * * this distribution may be redistributed or modified provided that this * * copyright notice is included and provided that modifications are clearly * -- cgit v1.2.3