summaryrefslogtreecommitdiff
path: root/graphics/circuit_macros/examples/svg/examplesSVG.htmx
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/circuit_macros/examples/svg/examplesSVG.htmx')
-rw-r--r--graphics/circuit_macros/examples/svg/examplesSVG.htmx734
1 files changed, 537 insertions, 197 deletions
diff --git a/graphics/circuit_macros/examples/svg/examplesSVG.htmx b/graphics/circuit_macros/examples/svg/examplesSVG.htmx
index 825c1d5cf4..8bec348222 100644
--- a/graphics/circuit_macros/examples/svg/examplesSVG.htmx
+++ b/graphics/circuit_macros/examples/svg/examplesSVG.htmx
@@ -5,29 +5,27 @@
<meta http-equiv="Content-Style-Type" content="text/css">
<!--meta http-equiv="Content-Script-Type" content="text/javascript"-->
<TITLE>SVG Examples: Circuit_macros Version XXX</TITLE>
+<meta name="keywords" content="HTML"
+content='Circuit elements, basic circuits, logic circuits and other diagrams,
+electric circuits, resistor, capacitor, inductor, diode, sources, amplifier,
+integrator, fuse, switch, antenna, opamp, transformer, relay, contact, jack,
+plug, FET, UJT, thyristor, bipolar transistor, nport, windings, timer,
+optical isolator, rectifier, bistable, oscillator, CMOS, MOSFET, power supply,
+NAND gate, controlled source, synchronous machine, digital circuit, signal-flow
+graph, latch, decoder, flipflop, full adder, logic diagram, crossbar switch,
+dimensioning, control system, graph, RGB colors, recursion, binary tree,
+flowcharts, picture overlay, ASME Y14.5' >
+
<style type="text/css">
-.svg{display:none}
-*>.svg{display:inline}
</style>
<link rel="shortcut icon" href="../Circuit_macros.ico" type="image/x-icon" />
</HEAD>
-<BODY>
-<H2>SVG Circuit_macros examples, Version XXX</H2>
-<hr>
+<!-- ---------------------------------------------------------------------
+define(`ifinstr',`ifelse(`$2',,`$1',index(`$1',`$2'),-1,
+ `ifinstr(shift(shift(shift($@))))',`$3')')
-<p>
- These diagrams are in .svg format.
- <A HREF="examples.pdf">Pdf</A>
- and
- <A HREF="examples.html">png</A>
- versions are also available.
- The PDF equivalent can be found in examples.pdf of the distribution.
-</p>
- <p>
- Click on the link to view the source of each diagram.
-</p>
-<hr>
+define(`m4tt',`<g style="font-family:monospace">')
define(`cfig',`
<p>
@@ -40,40 +38,62 @@ define(`cfig',`
<!--[if !IE]><!-->
<object data="$1.svg" sinclude($1.siz) type="image/svg+xml" class="img">
- </object> <!--<![endif]-->
+ </object> <![endif]-->
+
+<br><br>
+ifelse(`$2',,,`
+<a href="$1.txt" TYPE="text/plain" TARGET="_blank" alt="$1">$1.m4:</a>
+`$2' changecom(,)&`#'8194;changecom(`#')')
-<br>
-<a href="$1.txt" TYPE="text/plain" TARGET="_blank" alt="$1">$1.m4</a>
</p>
-<hr>')
+ifinstr(`$3',y,,`<hr>')')
-define(`m4tt',`<g style="font-family:monospace">')
+--------------------------------------------------------------------- -->
-<!--
-<embed pluginspage="http://www.adobe.com/svg/viewer/install/" />
--->
+<BODY>
+<table cellpadding="0" cellspacing="0" width="700px" border="0" align="center" >
+<tr>
+<td>
+<H2>SVG Circuit_macros examples, Version XXX</H2>
+<hr>
<p>
-These diagrams have been adapted from the Circuit_macros examples in
-order to test the <em>experimental</em> svg output of dpic.
-Generating the line art is relatively straightforward, but
-the labeling is not created by a text processor and therefore must be
-more basic. Some of these diagrams might benefit from a little more
-tweaking of fonts and labels.
+ This file shows diagrams in .svg format;
+ <A HREF="examples.html">png</A>
+ versions are also available.
+ The PDF equivalent can be found in examples.pdf of the distribution.
</p>
+
<p>
-These examples conform to the latest dpic, which has changed the
-treatment of text sizing. That is, "Text" ht y sets the true height
-of SVG text to y rather than the nominal height as previously.
+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
+ <A HREF="https://en.wikibooks.org/wiki/LaTeX/Export_To_Other_Formats">
+ intermediate format</A>
+such as pdf can be
+produced, followed by an additional processing step to convert to svg.
+Two possibilities for the latter are
+ <A HREF="https://www.ctan.org/pkg/dvisvgm">dvisvgm</A>
+and
+ <A HREF="https://github.com/dawbarton/pdf2svg">pdf2svg</A> although
+there may be font-related issues for some diagrams.
+<br>
+Many circuit and similar diagrams intended for the web do not
+require sophisticated labels, however; the examples shown below might
+be representative.
</p>
<p>
+ Click on the link to view the source of each diagram.
+</p>
+<hr>
+<p>
There are a number of other issues:
<ul>
<li> Embedding .svg files in html documents with the &lt;embed&gt; or
&lt;object&gt; tag seems to be a perennial issue.
<li> This file has been tested mainly by using Firefox.
- Chrome also seems to work well with two issues detected to date:
- a difference handling color fills and text links in svg.
<li> The Adobe reader apparently requires a line of the form
<br> &lt;embed src="figure.svg" width="x" height="y" type="image/svg+xml"
/&gt;
@@ -86,11 +106,11 @@ There are a number of other issues:
otherwise this could be tedious.
<li> 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 depend on the browser. Some of these diagrams set the font at
+ differ depending on the browser. Some of these diagrams set the font at
the beginning of the diagram source.
<li> The &lt;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 yet been done.
+ allow the generation of custom headers but that has not been done.
<li> 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
@@ -103,7 +123,7 @@ There are a number of other issues:
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 should be defined to exercise some of the media capabilties of svg.
+ Others could be defined to exercise some of the media capabilties of svg.
They are subject to change:
<ul>
<li>
@@ -161,191 +181,511 @@ There are a number of other issues:
<li>m4tt svgLinkString</g> as above but for strings attached to objects
<li> Greek and other symbols:
-<table cellpadding="0" cellspacing="0" width="100%" >
-<table cellpadding="0" cellspacing="0" width="100%" >
+<!--
+ Reference:
+ https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references
+ -->
+<hr width="100%" align="left">
+<table cellpadding="2" cellspacing="0" width="75%" >
<tr>
-<td width="8%"> m4tt svg_alpha</g> <td align="left"> changecom(,)&`#'945;changecom(`#')
-<td width="8%"> m4tt svg_beta</g> <td align="left"> changecom(,)&`#'946;changecom(`#')
-<td width="8%"> m4tt svg_Gamma</g> <td align="left"> changecom(,)&`#'915;changecom(`#')
-<td width="8%"> m4tt svg_gamma</g> <td align="left"> changecom(,)&`#'947;changecom(`#')
-<td width="8%"> m4tt svg_Delta</g> <td align="left"> changecom(,)&`#'916;changecom(`#')
-<td width="8%"> m4tt svg_delta</g> <td align="left"> changecom(,)&`#'948;changecom(`#')
+<td width="10%"> m4tt svg_alpha</g> <td align="left"> changecom(,)&`#'945;changecom(`#')
+<td width="10%"> m4tt svg_beta</g> <td align="left"> changecom(,)&`#'946;changecom(`#')
+<td width="10%"> m4tt svg_Gamma</g> <td align="left"> changecom(,)&`#'915;changecom(`#')
+<td width="10%"> m4tt svg_gamma</g> <td align="left"> changecom(,)&`#'947;changecom(`#')
+<td width="10%"> m4tt svg_Delta</g> <td align="left"> changecom(,)&`#'916;changecom(`#')
+<td width="10%"> m4tt svg_delta</g> <td align="left"> changecom(,)&`#'948;changecom(`#')
<td width="10%"> m4tt svg_epsilon</g> <td align="left"> changecom(,)&`#'949;changecom(`#')
-<td width="8%"> m4tt svg_zeta</g> <td align="left"> changecom(,)&`#'950;changecom(`#')
+<td width="10%"> m4tt svg_zeta</g> <td align="left"> changecom(,)&`#'950;changecom(`#')
+</tr>
<tr>
-<td width="8%"> m4tt svg_eta</g> <td align="left"> changecom(,)&`#'951;changecom(`#')
-<td width="8%"> m4tt svg_Theta</g> <td align="left"> changecom(,)&`#'920;changecom(`#')
-<td width="8%"> m4tt svg_theta</g> <td align="left"> changecom(,)&`#'952;changecom(`#')
-<td width="8%"> m4tt svg_iota</g> <td align="left"> changecom(,)&`#'953;changecom(`#')
-<td width="8%"> m4tt svg_kappa</g> <td align="left"> changecom(,)&`#'954;changecom(`#')
-<td width="8%"> m4tt svg_Lambda</g> <td align="left"> changecom(,)&`#'923;changecom(`#')
-<td width="8%"> m4tt svg_lambda</g> <td align="left"> changecom(,)&`#'955;changecom(`#')
-<td width="8%"> m4tt svg_mu</g> <td align="left"> changecom(,)&`#'956;changecom(`#')
+<td width="10%"> m4tt svg_eta</g> <td align="left"> changecom(,)&`#'951;changecom(`#')
+<td width="10%"> m4tt svg_Theta</g> <td align="left"> changecom(,)&`#'920;changecom(`#')
+<td width="10%"> m4tt svg_theta</g> <td align="left"> changecom(,)&`#'952;changecom(`#')
+<td width="10%"> m4tt svg_iota</g> <td align="left"> changecom(,)&`#'953;changecom(`#')
+<td width="10%"> m4tt svg_kappa</g> <td align="left"> changecom(,)&`#'954;changecom(`#')
+<td width="10%"> m4tt svg_Lambda</g> <td align="left"> changecom(,)&`#'923;changecom(`#')
+<td width="10%"> m4tt svg_lambda</g> <td align="left"> changecom(,)&`#'955;changecom(`#')
+<td width="10%"> m4tt svg_mu</g> <td align="left"> changecom(,)&`#'956;changecom(`#')
+</tr>
<tr>
-<td width="8%"> m4tt svg_nu</g> <td align="left"> changecom(,)&`#'957;changecom(`#')
-<td width="8%"> m4tt svg_Xi</g> <td align="left"> changecom(,)&`#'926;changecom(`#')
-<td width="8%"> m4tt svg_xi</g> <td align="left"> changecom(,)&`#'958;changecom(`#')
-<td width="8%"> m4tt svg_Pi</g> <td align="left"> changecom(,)&`#'928;changecom(`#')
-<td width="8%"> m4tt svg_pi</g> <td align="left"> changecom(,)&`#'960;changecom(`#')
-<td width="8%"> m4tt svg_rho</g> <td align="left"> changecom(,)&`#'961;changecom(`#')
-<td width="8%"> m4tt svg_Sigma</g> <td align="left"> changecom(,)&`#'931;changecom(`#')
-<td width="8%"> m4tt svg_sigma</g> <td align="left"> changecom(,)&`#'963;changecom(`#')
+<td width="10%"> m4tt svg_nu</g> <td align="left"> changecom(,)&`#'957;changecom(`#')
+<td width="10%"> m4tt svg_Xi</g> <td align="left"> changecom(,)&`#'926;changecom(`#')
+<td width="10%"> m4tt svg_xi</g> <td align="left"> changecom(,)&`#'958;changecom(`#')
+<td width="10%"> m4tt svg_Pi</g> <td align="left"> changecom(,)&`#'928;changecom(`#')
+<td width="10%"> m4tt svg_pi</g> <td align="left"> changecom(,)&`#'960;changecom(`#')
+<td width="10%"> m4tt svg_rho</g> <td align="left"> changecom(,)&`#'961;changecom(`#')
+<td width="10%"> m4tt svg_Sigma</g> <td align="left"> changecom(,)&`#'931;changecom(`#')
+<td width="10%"> m4tt svg_sigma</g> <td align="left"> changecom(,)&`#'963;changecom(`#')
+</tr>
<tr>
-<td width="8%"> m4tt svg_tau</g> <td align="left"> changecom(,)&`#'964;changecom(`#')
+<td width="10%"> m4tt svg_tau</g> <td align="left"> changecom(,)&`#'964;changecom(`#')
<td width="10%"> m4tt svg_upsilon</g> <td align="left"> changecom(,)&`#'965;changecom(`#')
-<td width="8%"> m4tt svg_Phi</g> <td align="left"> changecom(,)&`#'934;changecom(`#')
-<td width="8%"> m4tt svg_phi</g> <td align="left"> changecom(,)&`#'966;changecom(`#')
-<td width="8%"> m4tt svg_chi</g> <td align="left"> changecom(,)&`#'967;changecom(`#')
-<td width="8%"> m4tt svg_Psi</g> <td align="left"> changecom(,)&`#'936;changecom(`#')
-<td width="8%"> m4tt svg_psi</g> <td align="left"> changecom(,)&`#'968;changecom(`#')
-<td width="8%"> m4tt svg_Omega</g> <td align="left"> changecom(,)&`#'937;changecom(`#')
+<td width="10%"> m4tt svg_Phi</g> <td align="left"> changecom(,)&`#'934;changecom(`#')
+<td width="10%"> m4tt svg_phi</g> <td align="left"> changecom(,)&`#'966;changecom(`#')
+<td width="10%"> m4tt svg_chi</g> <td align="left"> changecom(,)&`#'967;changecom(`#')
+<td width="10%"> m4tt svg_Psi</g> <td align="left"> changecom(,)&`#'936;changecom(`#')
+<td width="10%"> m4tt svg_psi</g> <td align="left"> changecom(,)&`#'968;changecom(`#')
+<td width="10%"> m4tt svg_Omega</g> <td align="left"> changecom(,)&`#'937;changecom(`#')
+</tr>
<tr>
-<td width="8%"> m4tt svg_omega</g> <td align="left"> changecom(,)&`#'969;changecom(`#')
-<td width="8%"> m4tt svg_micro</g> <td align="left"> changecom(,)&`#'956;changecom(`#')
-<td width="8%"> m4tt svg_ohm</g> <td align="left"> changecom(,)&`#'937;changecom(`#')
-<td width="8%"> m4tt svg_lt</g> <td align="left"> changecom(,)&`#'60;changecom(`#')
-<td width="8%"> m4tt svg_gt</g> <td align="left"> changecom(,)&`#'62;changecom(`#')
-<td width="8%"> m4tt svg_leq</g> <td align="left"> changecom(,)&`#'8804;changecom(`#')
-<td width="8%"> m4tt svg_geq</g> <td align="left"> changecom(,)&`#'8805;changecom(`#')
-<td width="8%"> m4tt svg_prime</g> <td align="left"> changecom(,)&`#'8242;changecom(`#')
+<td width="10%"> m4tt svg_omega</g> <td align="left"> changecom(,)&`#'969;changecom(`#')
+<td width="10%"> m4tt svg_micro</g> <td align="left"> changecom(,)&`#'956;changecom(`#')
+<td width="10%"> m4tt svg_ohm</g> <td align="left"> changecom(,)&`#'937;changecom(`#')
+<td width="10%"> m4tt svg_lt</g> <td align="left"> changecom(,)&`#'60;changecom(`#')
+<td width="10%"> m4tt svg_gt</g> <td align="left"> changecom(,)&`#'62;changecom(`#')
+<td width="10%"> m4tt svg_leq</g> <td align="left"> changecom(,)&`#'8804;changecom(`#')
+<td width="10%"> m4tt svg_geq</g> <td align="left"> changecom(,)&`#'8805;changecom(`#')
+<td width="10%"> m4tt svg_prime</g> <td align="left"> changecom(,)&`#'8242;changecom(`#')
+</tr>
<tr>
-<td width="8%"> m4tt svg_backsl</g> <td align="left"> changecom(,)&`#'92;changecom(`#')
-<td width="8%"> m4tt svg_pound</g> <td align="left"> changecom(,)&`#'35;changecom(`#')
-<td width="8%"> m4tt svg_comma</g> <td align="left"> changecom(,)&`#'44;changecom(`#')
-<td width="8%"> m4tt svg_lparen</g> <td align="left"> changecom(,)&`#'40;changecom(`#')
-<td width="8%"> m4tt svg_rparen</g> <td align="left"> changecom(,)&`#'41;changecom(`#')
-<td width="8%"> m4tt svg_emsp</g> <td align="left"> |changecom(,)&`#'8195;changecom(`#')|
-<td width="8%"> m4tt svg_ensp</g> <td align="left"> |changecom(,)&`#'8194;changecom(`#')|
-<td width="8%"> m4tt svg_thinsp</g> <td align="left"> |changecom(,)&`#'8201;changecom(`#')|
+<td width="10%"> m4tt svg_backsl</g> <td align="left"> changecom(,)&`#'92;changecom(`#')
+<td width="10%"> m4tt svg_pound</g> <td align="left"> changecom(,)&`#'35;changecom(`#')
+<td width="10%"> m4tt svg_comma</g> <td align="left"> changecom(,)&`#'44;changecom(`#')
+<td width="10%"> m4tt svg_lparen</g> <td align="left"> changecom(,)&`#'40;changecom(`#')
+<td width="10%"> m4tt svg_rparen</g> <td align="left"> changecom(,)&`#'41;changecom(`#')
+<td width="10%"> m4tt svg_circ</g> <td align="left"> changecom(,)&`#'710;changecom(`#')
+<td width="10%"> m4tt svg_deg</g> <td align="left"> changecom(,)&`#'176;changecom(`#')
+</tr>
</table>
+<table cellpadding="2" cellspacing="0" width="75%" >
+<tr>
+<td width="8%"> m4tt svg_emsp</g> <td width="50px" align="left"> |changecom(,)&`#'8195;changecom(`#')|
+<td width="8%"> m4tt svg_ensp</g> <td width="50px" align="left"> |changecom(,)&`#'8194;changecom(`#')|
+<td width="8%"> m4tt svg_thinsp</g> <td width="50px" align="left"> |changecom(,)&`#'8201;changecom(`#')|
+</tr>
+</table>
+<hr width="100%" align="left">
</ul>
<li> Inkscape: It may be efficient to define elements by macro and to
- place them using a WYSIWYG graphics editor. A draft page intended
+ 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.
+ particular applications. Adjustments may also have to be made to
+ obtain the proper snap-to actions.
<li> 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.
- <li> Some of the assumptions used to create this draft may be naive. Comments
- are welcome.
+ <li> Some of the assumptions used to create this draft may be
+ na&`#'239;ve.
+ Comments are welcome.
</ul>
+
+<!--
+<embed pluginspage="http://www.adobe.com/svg/viewer/install/" />
+-->
+
+<hr>
+
+<table>
+<tr>
+<td width="50%">
+<table><tr>cfig(quickSVG,
+ SVG produced by dpic,y)
+<!-- <tr> SVG produced by dpic --> </table>
+<td>
+<table><tr>cfig(quick,
+ SVG produced from quick.pdf by dvisvgm,y)
+<!-- <tr> SVG produced from quick.pdf by dvisvgm --> </table>
+</table>
+
<hr>
-cfig(quickSVG)
-cfig(CctTableSVG)
-cfig(DiodesSVG)
-cfig(EmarrowsSVG)
-cfig(SourcesSVG)
-cfig(VariableSVG)
-cfig(AmpTableSVG)
-cfig(FusesSVG)
-cfig(SwitchesSVG)
-cfig(GroundsSVG)
-cfig(AntennasSVG)
-cfig(AudioSVG)
-cfig(OpampSVG)
-cfig(XformSVG)
-cfig(NPDTSVG)
-cfig(ContactSVG)
-cfig(ContactsSVG)
-cfig(relaycoilSVG)
-cfig(RelaySVG)
-cfig(JackSVG)
-cfig(ConnSVG)
-cfig(PconnSVG)
-cfig(HeadersSVG)
-cfig(ConnectorsSVG)
-cfig(fetSVG)
-cfig(ujtSVG)
-cfig(thyristorSVG)
-cfig(BipSVG)
-cfig(TgateSVG)
-cfig(NportSVG)
-cfig(NLGSVG)
-cfig(WindingsSVG)
-cfig(ex01SVG)
-cfig(TimerSVG)
-cfig(OptoisoSVG)
-cfig(MixerSVG)
-cfig(PushPullSVG)
-cfig(QuantumSVG)
-cfig(SQUIDSVG)
-cfig(SixpoleSVG)
-cfig(ex18SVG)
-cfig(MCSVG)
-cfig(ex10SVG)
-cfig(ThreeSVG)
-cfig(ex17SVG)
-cfig(ex02SVG)
-cfig(ex12SVG)
-cfig(pwrsupplySVG)
-cfig(TTLnandSVG)
-cfig(I2LSVG)
-cfig(SchottkySVG)
-cfig(ex11SVG)
-cfig(ex04SVG)
-cfig(CsourceSVG)
-cfig(DriveSVG)
-cfig(ex16SVG)
-cfig(ex03SVG)
-cfig(MotorControlSVG)
-cfig(RectifiersSVG)
-cfig(HeathkitSVG)
-cfig(lcctSVG)
-cfig(TubediagsSVG)
-cfig(sfgSVG)
-cfig(LogicSVG)
-cfig(ex08SVG)
-cfig(DecoderSVG)
-cfig(ex21SVG)
-cfig(MultiplexerSVG)
-cfig(DemultiplexerSVG)
-cfig(ShiftRSVG)
-cfig(AdderSVG)
-cfig(CanLogicSVG)
-cfig(AlogixSVG)
-cfig(ABlogixSVG)
-cfig(XORSVG)
-cfig(paletteSVG)
-cfig(ex00SVG)
-cfig(controlSVG)
-cfig(GrayCodeSVG)
-cfig(CrossbarSVG)
-cfig(ByteSVG)
-cfig(RotboxSVG)
-cfig(ex06SVG)
-cfig(ex09SVG)
-cfig(ex05SVG)
-cfig(LoglogSVG)
-cfig(randomSVG)
-cfig(expSVG)
-cfig(graysurfSVG)
-cfig(shapesSVG)
-cfig(AntiqueClockSVG)
-cfig(cscSVG)
-cfig(roseSVG)
-cfig(diamondSVG)
-cfig(wormSVG)
-cfig(ButtonsSVG)
-cfig(DiniSVG)
-cfig(SierpinskiSVG)
-cfig(recycleSVG)
-cfig(ex15SVG)
-cfig(CountingSVG)
-cfig(CrowSVG)
-cfig(FlowSVG)
+cfig(CctTableSVG,
+ Two-terminal elements, showing some variations)
+
+cfig(DiodesSVG,
+ Diodes: a m4tt`'K</g> in the second argument draws an open
+ arrowhead)
+
+cfig(EmarrowsSVG,
+ Radiation arrows)
+
+cfig(SourcesSVG,
+ Sources and source-like elements)
+
+cfig(VariableSVG,
+ Arrows and marks indicating variability)
+
+cfig(AmpTableSVG,
+ Macros m4tt`'amp`,' delay</g>`,' and m4tt`'integrator</g>)
+
+cfig(FusesSVG,
+ Macros m4tt`'fuse</g> and m4tt`'cbreaker</g>)
+
+cfig(SwitchesSVG,
+ The switch macros; m4tt`'switch(`,'`,'`,'L|B|D)</g> is a wrapper
+ for m4tt`'lswitch</g>`,' m4tt`'bswitch</g>`,' and m4tt`'dswitch</g>)
+
+cfig(GroundsSVG,
+ Ground symbols)
+
+cfig(AntennasSVG,
+ Antenna symbols)
+
+cfig(AudioSVG,
+ Audio elements)
+
+cfig(OpampSVG,
+ The opamp)
+
+cfig(XformSVG,
+ The transformer element`,' drawing direction down)
+
+cfig(NPDTSVG,
+ Double throw with the m4tt`'NPDT</g> macro)
+
+cfig(ContactSVG,
+ A non-exhaustive sampling of m4tt`'contact</g> macro variations)
+
+cfig(ContactsSVG,
+ The m4tt`'contacts</g> macro)
+
+cfig(relaycoilSVG,
+ The m4tt`'relaycoil</g> macro)
+
+cfig(RelaySVG,
+ Some variants of the m4tt`'relay</g> macro)
+
+cfig(JackSVG,
+ The m4tt`'jack</g> and m4tt`'plug</g> macros)
+
+cfig(ConnSVG,
+ The m4tt`'tstrip`,' ccoax`,' tconn</g>`,' and m4tt`'tbox</g> macros)
+
+cfig(PconnSVG,
+ The m4tt`'pconnex</g> macro)
+
+cfig(HeadersSVG,
+ The m4tt`'Header</g> macro)
+
+cfig(ConnectorsSVG,
+ Some connectors with simple geometry and lists of labels)
+
+cfig(fetSVG,
+ FETs`,' showing programmable components and example customizations)
+
+cfig(ujtSVG,
+ UJT examples)
+
+cfig(thyristorSVG,
+ Thyristor examples)
+
+cfig(BipSVG,
+ Bipolar transistors (drawing direction: up))
+
+cfig(TgateSVG,
+ The m4tt`'tgate</g> and m4tt`'ptrans</g> elements)
+
+cfig(NportSVG,
+ The m4tt`'nport</g> and m4tt`'nterm</g> macros)
+
+cfig(NLGSVG,
+ Some customizations of m4tt`'nport</g>)
+
+cfig(WindingsSVG,
+ The macro
+ m4tt`'winding(L|R`,'diam`,'pitch`,'turns`,'core wid`,'core color)</g>)
+
+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</g> 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`,'</g>
+ and labels))
+
+cfig(MCSVG,
+ A three-phase switched AC-AC converter and a DC-DC converter)
+
+cfig(ex10SVG,
+ Non-planar graph and bistable circuit
+ (illustrating the m4tt`'crossover</g> macro and colored elements))
+
+cfig(ThreeSVG,
+ Three-phase oscillator)
+
+cfig(ex17SVG,
+ A repetitive network created by Pic looping and
+ a skewed circuit used to test the macro m4tt`'parallel_</g>)
+
+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</g> (Schottky)
+ option of m4tt`'bi_trans</g>)
+
+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`,' <i>that</i>
+ 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(UNOSVG,
+ An Arduino UNO circuit adapted and redrawn)
+ <!--
+ m4tt`'https://content.arduino.cc/assets/UNO-TH_Rev3e_sch.pdf</g>
+ -->
+
+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`,' <i>Radiotron Designers Handbook</i>`,' fourth
+ edition`,' Harrison`,' NJ: Radio Corporation of America`,' 1952)
+
+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_</g> 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(`'<i>Boolean expression</i>;
+ <i>Boolean expression</i>... `,' <i>options</i>)</g>
+ 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. THe lower examples illustrate the L`,' R`,' and V options.)
+
+cfig(ABlogixSVG,
+ The m4tt`'Autologix</g> macro can draw inputs on the left but
+ the added drawing complexity may require hand tuning with
+ second-argument options: m4tt`'L</g> puts the inputs on the left`,'
+ m4tt`'R reverses their order`,' m4tt`'V</g> scans the input arguments
+ in reverse order`,' and m4tt`'offset=</g>`'<i>value</i> displaces
+ the array of inputs)
+
+cfig(XORSVG,
+ Realizations of the XOR function using m4tt`'Autologix</g>)
+
+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 that do not require m4)
+
+cfig(GrayCodeSVG,
+ Gray code 10-bit encoder disk pattern)
+
+cfig(CrossbarSVG,
+ A crossbar switch)
+
+cfig(ByteSVG,
+ Elementary splines)
+
+cfig(RotboxSVG,
+ The macro
+ m4tt`'rotbox(<i>wid,ht,type,</i>[r|t=<i>val</i>])</g>
+ draws a box in the current direction)
+
+cfig(ex06SVG,
+ Crosshatching by m4tt`'for</g> loops)
+
+cfig(ex09SVG,
+ Illustrating the macro
+ m4tt`'dimension_(<i>linespec`,' offset`,' label`,' </i>
+ H|W|D|<i>blank width</i>`,' <i>tic offset</i>`,' <-|->)</g>.
+ A negative second argument implies an offset to the right of the
+ <i>linespec</i> direction. A <i>label</i> starting with
+ m4tt`'"</g> or
+ m4tt`'sprintf</g> is copied literally. If <i>label</i> is an
+ m4tt`'s_box(...)</g> then setting argument 4 to m4tt`'H</g>`,'
+ m4tt`'W</g>`,'
+ or m4tt`'D</g> tailors the blank width to the m4tt`'s_box</g> height`,'
+ width`,' or diagonal respectively; i.e.`,' m4tt`'W</g> is equivalent to
+ m4tt`'s_wd+textoffset*2</g>.
+ The macro m4tt`'arcdimension_</g> 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(Y14-5SVG,
+ Dimensioning with tolerances according to ASME Y14.5)
+ Use of m4tt`'darrow</g> and m4tt`'Darc</g>)
+
+cfig(ex05SVG,
+ Use of m4tt`'darrow</g> and m4tt`'Darc</g>)
+
+cfig(LoglogSVG,
+ A graph drawn using the pic language)
+
+cfig(GeometrySVG,
+ A plane geometry example)
+
+cfig(LyapSVG,
+ Illustrating a Lyapunov function)
+
+cfig(randomSVG,
+ Testing random numbers)
+
+cfig(expSVG,
+ Test of m4tt`'project</g> and other m4tt`'lib3D</g>
+ macros`,' showing the projection of a solid onto
+ the <i>y1`,'z1</i> plane by sighting along the x1 axis.)
+
+cfig(graysurfSVG,
+ Plotting surfaces using gray scales. A sort algorithm
+ determines plotting order)
+
+cfig(shapesSVG,
+ Basic shapes)
+
+cfig(AntiqueClockSVG,
+ An antique clock face)
+
+cfig(cscSVG,
+ Conestoga Sailing Club (illustrating the filling of arbitrary
+ shapes))
+
+cfig(roseSVG,
+ Redrawn from a detail of the set design for the musical
+ <i>Dracula</i>`,' used for testing m4tt`'dpic</g>. This diagram
+ consumes much LaTeX main memory but can be produced
+ directly as pdf using m4tt`'dpic -d</g>`,'
+ as svg using m4tt`'dpic -g</g>`,'
+ or as postscript using m4tt`'dpic -r</g>
+ since no text formatting is required)
+
+cfig(diamondSVG,
+ Variations on M. Goossens`,' S. Rahtz`,' and F. Mittelbach`,'
+ <i>The LaTeX Graphics Companion</i>`,' 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(recycleSVG,
+ Modest repetition and partial fill)
+
+cfig(ex15SVG,
+ Simple diagrams that are easily drawn by looping)
+
+cfig(CountingSVG,
+ An example of enumeration)
+
+cfig(CrowSVG,
+ Illustrating m4tt`'shadebox</g> and a custom crowfoot line
+ termination)
+
+cfig(FlowSVG,
+ A flowchart sampler)
<!-- <p>
More flow-chart examples? Try
<a href="https://buraphakit.sourceforge.io/EFI/EFI_2019_S2_W13.shtml"
TARGET="_blank">here.</a>
</p> -->
-cfig(BtreeSVG)
-cfig(TtreeSVG)
-cfig(InclepsSVG)
+
+cfig(BtreeSVG,
+ Binary trees)
+
+cfig(InclepsSVG,
+ Overlaying a figure with line graphics)
+
cfig(FontsSVG)
+</td>
+</tr>
+</table>
</BODY>
</HTML>