diff options
Diffstat (limited to 'graphics/circuit_macros/doc/defines.tex')
-rw-r--r-- | graphics/circuit_macros/doc/defines.tex | 89 |
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} |