\begin{tabbing}
\hspace{2.1in} \= darrow$\;$ \= \kill
\tt AND\_gate({\sl n}) \> log \> basic `and' gate, 2 or {\sl n\/} inputs \\
\tt AND\_ht \> log \> height of basic `and' and `or' gates \\
\tt AND\_wd \> log \> width of basic `and' and `or' gates \\
\tt BUFFER\_gate({\sl linespec}) \> log \> 
   basic buffer, 1 input or as a 2-terminal element \\
\tt BUF\_ht \> log \> basic buffer gate height \\
\tt BUF\_wd \> log \> basic buffer gate width \\
\tt Cos({\sl integer}) \> gen \> cosine function, {\sl integer\/} degrees \\
\tt E\_ \> gen \> the constant $e$ \\
\tt Fector(x1,y1,z1,x2,y2,z2) \> 3D \> vector projected on current view plane
    with top face \\
    \>\> of 3-dimensonal arrowhead normal to x2,y2,z2 \\
\tt FlipFlop(D|T|RS|JK) \> log \> experimental flip-flops \\
\tt G\_hht\_ \> log \> gate half-height \\
\tt HOMELIB\_ \> all \> directory containing libraries \\
\tt Intersect\_({\sl Name1},{\sl Name2}) \> gen \>
   intersection of two named lines \\
\tt L\_unit \> log \> logic-element grid size \\
\tt NAND\_gate({\sl n}) \> log \> `nand' gate, 2 or {\sl n\/} inputs \\
\tt NOR\_gate({\sl n}) \> log \> `nor' gate, 2 or {\sl n\/} inputs \\
\tt NOT\_gate({\sl linespec}) \> log \>
   `not' gate, 1 input or as a 2-terminal element \\
\tt NXOR\_gate({\sl n}) \> log \> `nxor' gate, 2 or {\sl n\/} inputs \\
\tt N\_diam \> log \> diameter of `not' circles \\
\tt OR\_gate({\sl n}) \> log \> `or' gate, 2 or {\sl n\/} inputs \\
\tt Point\_({\sl integer}) \> gen \> sets direction cosines in degrees \\
\tt Rect\_({\sl radius},{\sl angle}) \> gen \> (deg) polar-to-rectangular conversion \\
\tt Sin({\sl integer}) \> gen \> sine function, {\sl integer\/} degrees \\
\tt XOR\_gate({\sl n}) \> log \> `xor' gate, 2 or {\sl n\/} inputs \\
\tt above\_ \> gen \> string position above relative to current direction \\
\tt abs\_({\sl number}) \> gen \> absolute value function \\
\tt amp({\sl linespec},{\sl size}) \> cct \> amplifier \\
\tt arrowline({\sl linespec}) \> cct \> line (dotted, dashed permissible)
   with centred arrowhead \\
\tt battery({\sl linespec},n,R) \> cct \> n-cell battery: default 1 cell, 
  R=reversed polarity \\
\tt below\_ \> gen \> string position relative to current direction \\
\tt bi\_tr({\sl linespec},L|R,P,E) \> cct \> 
   left or right, N or P-type bipolar transistor, without \\
   \>\> or with envelope \\
\tt boxcoord({\sl planar obj},{\sl x fraction},{\sl y fraction}) \> \> \\
   \> gen \> internal point in a planar object \\
\tt boxdim({\sl name},h|w|d|v,{\sl default}) \> gen \> evaluate, 
  e.g.\ {\sl name}{\tt \_w} if defined, else {\sl default\/} if given, else 0\\
   \> \> {\tt v} gives sum of {\tt d} and {\tt h} values\\
\tt b\_current({\sl label},{\sl pos},In|Out,Start|End) \\
    \> cct \> draw and label branch-current arrow \\
\tt capacitor({\sl linespec},C,R) \> cct \>
    capacitor, C=curved-plate, R=reversed polarity\\
\tt clabel({\sl label},{\sl label},{\sl label}) \> cct \> centre triple label \\
\tt contact(O|C,R) \> cct \> single-pole contact: default double pole or
    normally open or closed, \\
    \>\> oriented to the left or right \\ 
\tt consource({\sl linespec},V|I) \> cct \> 
    voltage or current controlled source \\
\tt cosd({\sl arg}) \> gen \> cosine of an expression in degrees \\
\tt cross(at {\sl location}) \> gen \> plots a small cross \\
\tt cross3D(x1,y1,z1,x2,y2,z2) \> 3D \>cross product of two triples \\
\tt crossover({\sl linespec}, L|R, Line1, ...) \\
    \> cct \> line jumping left or right over named lines \\
\tt crosswd\_ \> gen \> cross dimension \\
\tt csdim\_ \> cct \> controlled-source width \\
\tt d\_fet({\sl linespec},L|R,P,S,E) \> cct \> 
   left or right, N or P depletion MOSFET, normal or simplified, \\
   \> \> without or with envelope\\
\tt darrow({\sl linespec},t,t,{\sl width},{\sl arrowhd wd}, {\sl arrowhd ht})
 \> \> \\
 \> darrow \> double arrow\\
\tt dcosine3D(i,x,y,z) \> 3D \>extract i-th entry of triple x,y,z \\
\tt delay({\sl linespec},{\sl size}) \> cct \> delay element \\
\tt delay\_rad\_ \> cct \> delay radius \\
\tt dend(at {\sl location}) \> darrow \> close (or start) double line \\
\tt diff\_({\sl a},{\sl b}) \> gen \> difference function \\
\tt diff3D(x1,y1,z1,x2,y2,z2) \> 3D \>difference of two triples \\
\tt dimen\_ \> cct \> size parameter for circuit elements \\
\tt dimension\_({\sl linespec},{\sl offset},{\sl label},{\sl blank width},%
   {\sl tic offset},{\sl arrowhead }) \\
   \> gen \> macro for dimensioning diagrams;
      {\sl arrowhead=}{\tt -> | <-} \\
\tt diode({\sl linespec},N|B|S|T|Z|LE|LER,R) \> \> \\
   \> cct \> diode: normal, bi-directional, Schottky, tunnel, zener, LED\\
   \>\> with arrows, LED with arrows right, R=reversed polarity\\
\tt dlabel({\sl long},{\sl lat},{\sl label},{\sl label},{\sl label}) \\
  \> cct \> general triple label \\
\tt dleft \> darrow \> double line left turn \\
\tt dline({\sl linespec},t,t,{\sl width}) \> darrow \> double line \\
\tt dlinewid \> darrow \> width of double lines \\
\tt dn\_ \> gen \> sets down relative to current-direction \\
\tt dot(at {\sl location},{\sl radius},{\sl fill}) \> gen \>
    draw a (filled) dot \\
\tt dot3D(x1,y1,z1,x2,y2,z2) \> 3D \>dot product of two triples \\
\tt dotrad\_ \> gen \> dot radius \\
\tt down\_ \> gen \> sets current direction to down \\
\tt dright \> darrow \> double arrow right turn \\
\tt dtee({\tt `}{\sl direction}{\tt '}) \> darrow \> double arrow tee junction\\
\tt dtor\_ \> gen \> degrees to radians conversion constant \\
\tt e\_ \> gen \> .e relative to current direction \\
\tt e\_fet({\sl linespec},L|R,P,S,E) \> cct \> 
   left or right, N or P enhancement MOSFET, normal\\
   \>\>or simplified, without or with envelope\\
\tt ebox({\sl linespec},{\sl length},{\sl ht}) \> cct \> 
   two-terminal box element with adjustable dimensions \\
\tt eleminit\_({\sl linespec}) \> cct \> internal line initialization \\
\tt elen\_ \> cct \> default element length \\
\tt em\_arrows({\sl linespec},L|R,U|D) \> cct \> nonionizing radiation arrows \\
\tt expe \> gen \> exponential, base $e$ \\
\tt fill\_({\sl number}) \> gen \> fill macro, 0=black, 1=white \\
\tt fuse \> cct \> fuse symbol \\
\tt gap({\sl linespec},{\sl fill}) \> cct \> gap with dots \\
\tt glabel\_ \> cct \> internal general labeller \\
\tt gpar\_({\sl element},{\sl element},{\sl separation}) \> \> \\
    \> cct \> two same-direction elements in parallel \\
\tt gpic\_ \> gpic \> defined to signify gpic is being used \\
\tt grid\_({\sl x},{\sl y}) \> log \> absolute grid location \\
\tt ground(at {\sl location},T,N|F|S|L|P) \> \>\\
    \>cct \> ground, without stem for nonblank 2nd arg; {\tt N}=normal,\\
    \>\> {\tt F}=frame, {\tt S}=signal, {\tt L}=low-noise, {\tt P}=protective \\
\tt hop(L|R,at {\sl location}) \> cct \> 
   conductor crossing another to left or right\\
\tt hoprad\_ \> cct \> hop radius \\
\tt ht\_ \> gen \> height relative to current direction \\
\tt inductor({\sl linespec},W,{\sl n},M) \> cct \> inductor, narrow or wide,
   4 or {\sl n} arcs, without or with\\
   \>\> magnetic core \\
\tt integrator({\sl linespec},{\sl size}) \> cct \> integrating amplifier \\
\tt intersect\_({\sl line1}.start,{\sl line1}.end,%
{\sl line2}.start,{\sl line2}.end) \\
      \> gen \> intersection of two lines \\
\tt j\_fet({\sl linespec},L|R,P,E) \> cct \>
   left or right, N or P JFET, without or with envelope\\
\tt left\_ \> gen \> left with respect to current direction \\
\tt length3D(x,y,z) \> 3D \>Euclidean length of triple x,y,z \\
\tt linethick\_({\sl number}) \> gen \> set line thickness in points \\
\tt lin\_leng({\sl line-reference})\> gen \> calculate the length of a line \\
\tt ljust\_ \> gen \> ljust with respect to current direction \\
\tt llabel({\sl label},{\sl label},{\sl label}) \> cct \> triple lable on left side of the element \\
\tt loc\_({\sl x}, {\sl y}) \> gen \> location adjusted for current direction \\
\tt log10E\_ \> gen \> constant $\log_{10}(e)$ \\
\tt loge \> gen \> logarithm, base $e$ \\
\tt lt\_ \> gen \> left with respect to current direction \\
\tt manhattan \> gen \> sets direction cosines for left, right, up, down \\
\tt mfpic\_ \> mfpic \> defined to signify mfpic is being used \\
\tt mosfet({\sl linespec},L|R,P,[D][B],E) \> cct \> 
   MOSFET left or right, N or P,  D=depletion mode, \\
   \> \> B=disconnected body, without or with envelope\\
\tt m4\_arrow({\sl linespec},{\sl ht},{\sl wid}) \> gen \> arrow with adjustable
    head, filled when possible \\
\tt n\_ \> gen \> .n with respect to current direction \\
\tt ne\_ \> gen \> .ne with respect to current direction \\
\tt neg\_ \> gen \> unary negation \\
\tt nport({\sl box spec,nw,nn,ne,ns,space ratio,pin lgth}) \\
    \> cct \> nport macro (default twoport) \\
\tt nw\_ \> gen \> .nw with respect to current direction \\
\tt opamp({\sl linespec},{\sl label},{\sl label},{\sl size},P) \> cct \> 
    operational amplifier with $-,$ $+$ or other internal labels,\\
    \>\> specified size, and optional power connections \\
\tt open\_arrow({\sl linespec},{\sl ht},{\sl wid}) \> gen \> arrow with
    adjustable open head \\
\tt par\_({\sl element},{\sl element},{\sl separation}) \> cct \>
    two same-direction, same-length elements in parallel \\
\tt point\_({\sl angle}) \> gen \> (radians) set direction cosines \\
\tt polar\_({\sl x},{\sl y}) \> gen \> rectangular-to polar conversion \\
\tt print3D(x,y,z) \> 3D \> write out triple for debugging \\
\tt prod\_({\sl a},{\sl b}) \> gen \> binary multiplication \\
\tt project({\sl x},({\sl y},({\sl z}) \> 3D \> 3D to 2D projection \\
\tt psset\_({\sl PSTricks settings}) \> gen \> set PSTricks parameters \\
\tt pstricks\_ \> pstricks \> defined to signify PSTricks is being used \\
\tt pt\_ \> gen \> big point size factor, in scaled inches, ({\tt *scale/72}) \\
\tt pt\_\_ \> gen \> \TeX\ point size factor, in scaled inches,
    ({\tt *scale/72.27}) \\
\tt rect\_({\sl radius},{\sl angle}) \> gen \> (radians) polar-rectangular
      conversion \\
\tt relay(n,O|C,R) \> cct \> relay: n poles (default 1),
    default double throw or normally open \\
    \>\> or closed, drawn left or right of current direction\\
\tt resistor({\sl linespec},n) \> cct \> resistor, n peaks, default 3 \\
\tt reversed(`{\sl macro name}',args) \> cct \> reverse polarity of 2-terminal
    element \\
\tt right\_ \> gen \> set current direction right \\
\tt rjust\_ \> gen \> right justify with respect to current direction \\
\tt rlabel({\sl label},{\sl label},{\sl label}) \> cct \> triple lable on right
      side of the element \\
%\tt rline({\sl dist}) \> gen \> line drawn distance
%    {\sl dist} in current direction \\
%\tt rmove({\sl dist}) \> gen \> move distance {\sl dist} in current direction\\
\tt rot3Dx({\sl radians},x,y,z) \> 3D \>rotates x,y,z about x axis\\
\tt rot3Dy({\sl radians},x,y,z) \> 3D \>rotates x,y,z about y axis\\
\tt rot3Dz({\sl radians},x,y,z) \> 3D \>rotates x,y,z about z axis\\
\tt rpoint\_({\sl linespec}) \> gen \> set direction cosines \\
\tt rpos\_({\sl position}) \> gen \> Here + {\sl position} \\
\tt rt\_ \> gen \> right with respect to current direction \\
\tt rtod\_ \> gen \> constant, degrees/radian \\
\tt rvec\_({\sl x},{\sl y}) \> gen \> location relative to current direction \\
\tt s\_ \> gen \> .s with respect to current direction \\
\tt s\_box({\sl text},{\sl expr1},$\cdots$) \> gen \>
    generate dimensioned text string using \verb|\boxdims| from\\
    \>\> {\tt boxdims.sty}. Two or more args are passed to {\tt sprintf()}. \\
\tt s\_init({\sl name}) \> gen \> initialize {\tt s\_box} string label to
    {\sl name} which should be unique \\
\tt scr({\sl linespec},R,G,E) \> cct \> triac (scr), right, gated, envelope \\
\tt se\_ \> gen \> .se with respect to current direction \\
\tt setview({\sl azimuth degrees},{\sl elevation degrees}) \\
  \> 3D \> set projection viewpoint \\
\tt sfg\_init({\sl default line len, node rad, arrowhd len, arrowhd wid}) \\
  \> cct \> initialization of signal flow graph macros \\
\tt sfgabove \> cct \> like above but with extra space \\
\tt sfgbelow \> cct \> like below but with extra space \\
\tt sfgarc({\sl linespec},{\sl text},{\sl text justification},cw|ccw,%
    {\sl height scale factor}) \> \> \\
    \> cct \> directed arc drawn between nodes, with text label and a \\
    \>\> height-adjustment parameter\\
\tt sfgline({\sl linespec},{\sl text},{\sl text justification}) \>\>\\
    \> cct \> directed straight line chopped by node radius, with text label\\
\tt sfgnode(at {\sl location},{\sl text},above|below) \>\>\\
    \> cct \> white small circle, with text label\\
\tt shade({\sl gray value},{\sl closed line specs}) \> \> \\
  \> gen \> fill arbitrary closed curve \\
\tt shadebox({\sl box specification}) \> gen \> box with edge shading \\
\tt sign\_({\sl number}) \> gen \> sign function \\
\tt sind({\sl arg}) \> gen \>sine of an expression in degrees \\
\tt smosfet({\sl linespec},L|R,P,D,E) \> cct \> 
   simplified MOSFET left or right, N or P, enhancement\\
   \>\> or depletion, without or with envelope\\
\tt source({\sl linespec},V|I|AC|X|{\sl string},{\sl diameter}) \> \> \\
   \> cct \> source, blank or voltage or current or AC or X or labelled\\
\tt sourcerad\_ \> cct \> default source radius \\
\tt sprod3D(a,x,y,z) \> 3D \>scalar product of triple x,y,z by a \\
\tt sp\_ \> gen \> evaluates to medium space for gpic strings \\
\tt sum\_({\sl a},{\sl b}) \> gen \> binary sum \\
\tt sum3D(x1,y1,z1,x2,y2,z2) \> 3D \>sum of two triples \\
\tt svec\_({\sl x},{\sl y}) \> log \> scaled and rotated grid coordinate vector \\
\tt sw\_ \> gen \> .sw with respect to current direction \\
\tt switch({\sl linespec},L|R,C|O,B) \> cct \> 
   SPST switch left or right, blank or closing or opening arrow,\\
   \>\> or button\\
\tt thicklines\_({\sl number}) \> gen \> set line thickness in points\\
\tt thinlines\_({\sl number}) \> gen \> set line thickness in points \\
\tt transformer({\sl linespec},L|R,np,A,ns) \> \> \\
    \> cct \> 2-winding transformer: left or right, np primary arcs, \\
    \> \> air core, ns secondary arcs \\
\tt twopi\_ \> gen \> $2\pi$ \\
\tt ujt({\sl linespec},R,P,E) \> cct \> 
   unijunction transistor, right, P-channel, envelope \\
\tt unit3D(x,y,z) \> 3D \>unit triple in the direction of triple x,y,z \\
\tt up\_ \> gen \> set current direction up \\
\tt up\_\_ \> gen \> up with respect to current direction \\
\tt vec\_({\sl x},{\sl y}) \> gen \> position rotated with respect to current direction \\
\tt vrot\_({\sl x},{\sl y},{\sl xcosine},{\sl ycosine}) \> gen \> rotation operator \\
\tt vlength({\sl x},{\sl y}) \> gen \> vector length $\sqrt{x^2+y^2}$\\
\tt vscal\_({\sl number},{\sl x},{\sl y}) \> gen \> vector scale operator \\
\tt w\_ \> gen \> .w with respect to current direction \\
\tt wid\_ \> gen \> width with respect to current direction \\
\tt xtal({\sl linespec}) \> cct \> quartz crystal \\
   \end{tabbing}
