summaryrefslogtreecommitdiff
path: root/graphics/circuit_macros/doc/defines.tex
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/circuit_macros/doc/defines.tex')
-rw-r--r--graphics/circuit_macros/doc/defines.tex89
1 files changed, 72 insertions, 17 deletions
diff --git a/graphics/circuit_macros/doc/defines.tex b/graphics/circuit_macros/doc/defines.tex
index da19a5fcf0..e598203179 100644
--- a/graphics/circuit_macros/doc/defines.tex
+++ b/graphics/circuit_macros/doc/defines.tex
@@ -335,6 +335,7 @@
dF flat plate with hatched fill;
C=curved-plate;
dC=curved-plate with variability arrowhead;
+ CP=constant phase element;
E=polarized boxed plates;
K=filled boxed plates;
M=unfilled boxes;
@@ -346,7 +347,8 @@
arg4 = height (defaults F: {\tt dimen\_}$/3$,
C,P: {\tt dimen\_}$/4$, E,K: {\tt dimen\_}$/5$);
arg5 = wid (defaults F: {\sl height}*0.3,
- C,P: {\sl height}*0.4, E,K: {\sl height}) \seesect{Twoterminal:}}
+ C,P: {\sl height}*0.4, CP: {\sl height}*0.8, E,K: {\sl height})
+ \seesect{Twoterminal:}}
\macrodef{cbreaker}{cbreaker}{(\linespec,L|R,D|Th|TS)}
{cct}
{circuit breaker to left or right, {\tt D}=with dots; {\tt Th}=thermal;
@@ -755,11 +757,17 @@ B|CR|D|G|L|LE[R]|P[R]|S|Sh|T|V|v|w|Z|chars,%
{cct}
{earphone, {\sl In1} to {\sl In3} defined
\seesect{Composite:}}
-\macrodef{ebox}{ebox}{(\linespec,{\sl length},{\sl ht},{\sl fill value})}
+\macrodef{ebox}{ebox}{(\linespec,{\sl lgth},{\sl wdth},{\sl fill value},
+ {\sl box attributes})}
{cct}
{ two-terminal box element with adjustable dimensions and fill
- value 0 (black) to 1 (white). {\sl length} and {\sl ht} are relative
- to the direction of \linespec\seesect{Twoterminal:}}
+ value 0 (black) to 1 (white). {\sl lgth} (length) and {\sl wdth} (width)
+ are relative
+ to the direction of \linespec. Alternatively, argument 1 is the
+ \linespec\ and argument 2 is a semicolon-separated sequence of key=value
+ terms. The possible keys are {\tt lgth, wdth, text, box},
+ e.g., {\tt lgth=0.2; text=\char34{}XX\char34;
+ box=shaded \char34{}green\char34}\seesect{Twoterminal:}}
\macrodef{elchop}{elchop}{({\sl Name1,Name2})}
{gen}
{{\tt chop} for ellipses: evaluates to {\tt chop} $r$ where $r$ is
@@ -861,6 +869,13 @@ B|CR|D|G|L|LE[R]|P[R]|S|Sh|T|V|v|w|Z|chars,%
\macrodef{for\_}{for_}{({\sl start},{\sl end},{\sl increment},`{\sl actions}')}
{gen}
{integer for loop with index variable {\tt m4x} \seesect{Looping:}}
+\macrodef{foreach\_}{foreach_}{(`{\sl variable}',{\sl actions},{\sl
+ value1, value2, $\ldots$})}
+ {gen}
+ {Clone of Loopover\_ by a different name:
+ Repeat {\sl actions} with {\sl variable} set successively to
+ {\sl value1, value2, $\ldots$}, setting macro {\tt m4Lx} to 1, 2,
+ $\ldots$, terminating if {\sl variable} is nul}
\macrodef{FTcap}{FTcap}{({\sl chars})}
{cct}
{Feed-through capacitor; example of a composite element derived from
@@ -1073,9 +1088,9 @@ n|e|s|w,{\sl length})}
{cct}
{arrow {\sl dist} to left of last-drawn 2-terminal element
\seesect{Branchcurrent:}}
-\macrodef{lbox}{lbox}{({\sl wid}, {\sl ht}, {\sl type})}
+\macrodef{lbox}{lbox}{({\sl wid}, {\sl ht}, {\sl attributes})}
{gen}
- {box oriented in current direction, type= e.g.\ dotted}
+ {box oriented in current direction, arg 3= e.g.\ {\tt dashed shaded "red"}}
\macrodef{LCintersect}{LCintersect}{({\sl line name, Centre, rad,} [R])}
{gen}
{ First (second if arg4 is R) intersection of a line with a circle}
@@ -1161,8 +1176,7 @@ n|e|s|w,{\sl length})}
{gen}
{logarithm, base $e$}
\macrodef{Loopover\_}{Loopover_}{(`{\sl variable}',{\sl actions},{\sl
-value1,
- value2, $\ldots$})}
+ value1, value2, $\ldots$})}
{gen}
{Repeat {\sl actions} with {\sl variable} set successively to
{\sl value1, value2, $\ldots$}, setting macro {\tt m4Lx} to 1, 2,
@@ -1448,11 +1462,16 @@ elementspec}\char39,%
\macrodef{point\_}{point_}{({\sl angle})}
{gen}
{(radians) set direction cosines}
-\macrodef{PerpTo}{PerpTo}{({\sl Pos1, Line, Point})}
+\macrodef{perpto}{perpto}{({\sl Pos1, Line, Point})}
{gen}
{{\sl Point} is the label for the point on {\sl Line} of the
perpendicular
from {\sl Point} to {\sl Line}.}
+\macrodef{PerpTo}{PerpTo}{({\sl Pos1, Pos2, Pos3})}
+ {gen}
+ {The point between Pos2 and Pos3 of intersection of the perpendicular
+ to Pos1, i.e., the perpendicular projection of Pos1 onto the line
+ from Pos2 to Pos3.}
\macrodef{Point\_}{Point_}{({\sl integer})}
{gen}
{sets direction cosines in degrees \seesect{Placing:}}
@@ -1543,6 +1562,7 @@ degrees})}
cycle wid})}
{cct}
{resistor, n cycles (default 3), {\sl chars:}
+ {\tt AC}=general complex element,
{\tt E}={\tt ebox}, {\tt ES}={\tt ebox} with slash, {\tt Q}=offset,
{\tt H}=squared, {\tt N}=IEEE, {\tt B}=not burnable, {\tt V}=varistor
variant, {\tt R}=right-oriented, {\sl cycle width} (default {\tt
@@ -1689,6 +1709,17 @@ degrees})}
{gen}
{width of the most recent (or named) {\tt s\_box}
\seesect{Interaction:}}
+\macrodef{sarrow}{sarrow}{(\linespec,{\sl keys})}
+ {gen}
+ {Single-segment, single-headed special arrows.
+ The {\sl keys} are
+ {\tt type=}{\tt O[pen]} (default)
+ | {\tt D[iamond]} | {\tt C[rowfoot]} | {\tt P[lain]}{\tt ;}
+ {\tt wdth=}{\tt expression}{\tt ;} (default {\tt arrowwid})
+ {\tt lgth=}{\tt expression}{\tt ;} (default {\tt arrowht})
+ {\tt shaft=}{\sl shaft attributes} (e.g., {\tt dashed}){\tt ;}
+ {\tt head=}{\sl head attributes} (e.g., {\tt shaded}){\tt ;}
+ \seesect{Macroarguments:}}
\macrodef{savem4dir}{savem4dir}{([`{\sl stack name}'])}
{gen}
{Stack m4 direction parameters in the named stack
@@ -1783,10 +1814,10 @@ justification})}
with text label and a size-adjustment parameter }
\macrodef{shade}{shade}{({\sl gray value},{\sl closed line specs})}
{gen}
- {fill arbitrary closed curve}
-\macrodef{shadebox}{shadebox}{({\sl box specification})}
+ {Fill arbitrary closed curve}
+\macrodef{shadebox}{shadebox}{(box {\sl attributes, shade width})}
{gen}
- {box with edge shading}
+ {Box with edge shading. Arg2 is in points. See also {\tt shaded} }
\macrodef{ShadedPolygon}{ShadedPolygon}{({\sl vertexseq, line attributes,
degrees, colorseq})} {gen}
{Draws the polygon specified in arg1 and
@@ -1796,8 +1827,20 @@ justification})}
(or names) of the polygon in cw or ccw order. A {\sl colorseq} is of
the form 0, r0,g0,b0, {\sl frac1},r1,g1,b1, {\sl frac2},r2,g2,b2,
\ldots 1,rn,gn,bn with $0 < \hbox{\sl frac1} < \hbox{\sl frac2}
- \ldots 1$
-} \macrodef{shielded}{shielded}{(`{\sl two-terminal element}',
+ \ldots 1$ }
+\macrodef{shadowed}{shadowed}{(box|circle|ellipse|line,
+ {\sl position spec, keys})}
+ {gen}
+ { Object with specified shadow. {\sl possspec} is e.g.,
+ {\tt with .w at ...} or {\tt at} {\sl position}.
+ The {\sl keys} are
+ {\tt attrib=}{\sl object attributes}{\tt ;}
+ {\tt shadowthick=}{\sl expr}{\tt ;} (default {\tt linethick*)}5/4),
+ {\tt shadowcolor=}{\sl string}{\tt ;} (default {\tt "gray"}),
+ {\tt shadowangle=}{\sl expr}{\tt ;} (default $-45$)
+ for box only: {\tt rad=}{\sl expr}{\tt ;}
+ }
+\macrodef{shielded}{shielded}{(`{\sl two-terminal element}',
L|U, {\sl line attributes})} {cct}
{shielding in a {\tt [ ]} box for
two-terminal element. Arg2= blank
@@ -2134,9 +2177,21 @@ brushht})}
{log}
{XOR and NXOR offset of input face}
\Letter{X}%
-\macrodef{xtal}{xtal}{(\linespec)}
- {cct}
- {quartz crystal\seesect{Twoterminal:}}
+\macrodef{xtal}{xtal}{(\linespec,{\sl keys})}
+ {cct}
+ {Quartz crystal. The {\sl keys} are
+ {\tt type=N} (default) or {\tt R} (round);
+ type {\tt N} keys:
+ {\tt lgth=}{\sl expr} (body length);
+ {\tt wdth=}{\sl expr} (body width);
+ {\tt bxwd=}{\sl expr} (body inner box width);
+ {\tt box=} box attributes ({\tt shaded} $\ldots$);
+ type {\tt R} keys:
+ {\tt outerdiam=}{\sl expr};
+ {\tt innerdiam=}{\sl expr};
+ {\tt outer=} outer circle attributes ({\tt dotted} $\ldots$);
+ {\tt inner=} inner circle attributes ({\tt shaded} $\ldots$)%
+\seesect{Twoterminal:}}
\macrodef{xtract}{xtract}{({\sl string, substr1, substr2, $\ldots$})}
{gen}
{returns substrings if present}