Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
Package CIRC�v1.0f last revised 2003/06/13
Sebastian Tannert∗Andreas Tille†
March 21, 2006
Abstract
The package CIRC is a tool for typesetting circuit diagrams and blockschematics. It defines several electrical symbols such as resistors, capaci-tors, transistors etc. These symbols can be connected with wires in a veryeasy way.
To use CIRC you only need METAFONT and LATEX 2ε. You do not needPostScript or any drawing tool. You can expand CIRC easily with your ownsymbols, written in METAFONT.
�� ��R��� �����2R ��������������� ��U0
���� 2 R���� ��������
� ��� ��R���� 2 R������������
� ���� ��R1= 2R���� 2 R�������������������� � ��������
� ��I� ��� ������ �R2������ �
������������� �� ��
Ua� ������ R3����� ������������������������� �
∗macro code†documentation, optics
1
Contents
1 Introduction 2
2 Installation 3
3 System requirements 4
4 Changes 4
5 Usage 45.1 Preambel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45.2 Starting a circuit diagram . . . . . . . . . . . . . . . . . . . . . . . 45.3 Drawing symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55.4 Referencing symbols and pins . . . . . . . . . . . . . . . . . . . . . 65.5 Connecting symbols . . . . . . . . . . . . . . . . . . . . . . . . . . 65.6 Positioning commands . . . . . . . . . . . . . . . . . . . . . . . . . 75.7 Justify commands . . . . . . . . . . . . . . . . . . . . . . . . . . . 85.8 Text commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85.9 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6 Optics 11
7 Some hints for CIRC programmers 12
8 Future plans 13
9 Contacting the authors 13
10 Appendix 14
1 Introduction
In several sciences circuit diagrams are necessary in publications. Perhaps thereare some PostScript tools for typesetting them or a drawing program has to beused. With CIRC it is now possible to typeset circuit diagrams using TEX com-mands. The commands describe the logical structure of the wiring scheme andTEX builds the connections according to this structure.CIRC defines several electrical symbols such as resistors, capacitors, transistorsetc. These symbols can be connected with wires in a very easy way.To use CIRC you only need METAFONT and LATEX 2ε. You do not need PostScriptor any drawing tool. You can expand CIRC with your own symbols, written inMETAFONT.CIRC has been implemented as a turtle system. That means, there is a currentposition from where the symbols and wires are drawn. It is possible to choose thedrawing direction and drawing position.
2
CIRC consists of commands in order todraw symbols and wires into the scheme,justify symbols within the scheme,link symbols with wires,position symbols absolutely or relatively.
2 Installation
Run circ.ins through LATEX. You will get a couple of *.mf files. Use METAFONT
to create *.pk fonts from all these files. These steps depend on your installation.For example, type:
mf \mode=localfont; input ciwidko.mfgftopk ciwidko.300
Do this with all the *.mf sources. Copy the resulting *.tfm and *.pk files intoappropriate directories.Copy the *.sty, *.def files, obtained from circ.ins into appropriate directoriesin your TEXINPUT path.Read the documentation carefully.Enjoy CIRC.We added a Makefile which is tested only under Debian\GNU Linux (runningteTeX). We would like to get comments whether it works under other environ-ments. Use it at your own risk!. Type
make
to get all files used by CIRC. Before you type
make install
you should check the correct PATH names in the Makefile. (Make sure you runmake install as root.) This will do the the following:
1. Delete old CIRC files in TEXINPUT and MFINPUT.
2. Move the new TEXINPUT and MFINPUT to the appropriate directories
3. Check the special.map file in the Fontname directory whether there aryCIRC related entries and create them if failed. (This will ensure that CIRCfonts will be copied into reasonable directories when using MakeTeXPK orMakeTeXTFM.)
4. Delete old PK and TFM files from CIRC. (Using old TFM or PK files is oneof the "Top ten reasons" why failing CIRC.)
To get the documentation type
make doc
3
(generally this is a good idea to create the needed fonts on the fly).Once more: Please report any bug concerning this Makefile, because this is thefirst test and not reliable at all.
3 System requirements
CIRC requires LATEX 2ε and METAFONT.
4 Changes
Unfortunately a change of the parameters for symbol drawing commands had tobe made. But now the rules are more consistent and easier to remember. Pleasehave a look at section 5.3. Some new symbols were added and the font selectionwas modified to work together with the slides class. The appendix has a newdesign to be clearly arranged. Font names have changed too.The \< command is obsolete now and should NOT used anymore. A new \_command was defined, see section 5.6.
5 Usage
5.1 Preambel
CIRC is divided into several parts. To use a part put the suitable option in the\usepackage command. All parts are included in the following example:
\usepackage[basic,box,gate,oldgate,ic,optics,physics]{circ}
The parts contain:basic : a lot of symbols such as resistors, capacitors, switches, diodes, transistors,
etc.,box : blackbox, oscilloscope, generator and amplifier,gate : several logical circuits,oldgate : old style logical gates,ic : integrated circuits (flip flops, etc.) andoptics : the optical stuff with lenses, mirrors, etc. (see section 6),physics : some mechanics stuff.A complete list of available symbols is given in the appendix.
5.2 Starting a circuit diagram
It is recommended to draw a sketch with pen and paper before using CIRC.Every circuit diagram is enclosed in the circuit environment
\begin{circuit}size
where size is an integer between 0 and 4 giving the size of symbols and describingtext. A size of 4 is useful for overhead foils.
4
All CIRC macros and the necessary parameters are separated by spaces (�). For aclearly arranged CIRC diagram it is advisable to put every command in a separateline (a linebreak is interpreted as a blank as it is used in TEX).
5.3 Drawing symbols
The table in the appendix contains a complete list of all CIRC symbols availableand corresponding drawing commands. The syntax of drawing commands is:
\symbolnamenumber�inscription�[specification_parameter]�direction
or for more complex symbols:
\symbolnamenumber�[further_parameters]
Note that you can leave out the blank between the symbol-command and thefollowing number parameter. This parameter has to be unique in one drawing andis necessary for correct referring (see \atpin in section 5.6).The symbols can be classified into a lot of different symmetries which are sum-marized in the appendix. There you will find more detailed information aboutthe parameters you have to use. Generally the drawing direction of the symbol isgiven with the direction parameter which is l (left), r (right), u (up) or d (down).If there exist 2 different alignments of a symbol for one direction (e.g. if the LED-arrows show up or down) the second alignment is chosen by capitalization of thedirection parameter (L, R, U or D).Symbols having two dissimilar or more connections may need a further specificationparameter in front of the direction parameter. This specification parameter marksthe pin that should be on the current drawing position (see variable resistor andseveral transistors).In the appendix text was used for the inscription and the necessary number was setto n. Note the position at the symbol where the inscription is set. The inscriptioncan be suppressed by the \nv command in front of the symbol-command.By default every CIRC symbol is marked by a label. This label consists of anabbreviation of the symbol indexed by the number. To suppress this labeling use\nl in front of the symbol-command.Another command affecting the inscription of a symbol is \cc. It is also used infront of a symbol-command and causes the change of label-position and inscription-position. By default the inscription is typeset left or over the symbol while thelabeling is done right or under the symbol depending on the vertical or horizontalorientation of the symbol.Some symbols need further_parameters. The usage is selfdocumenting in theappendix table.Junctions can be made by the \. command (\junction)1. The syntax is:
\.number
Every junction needs a number argument for further referencing.1Commands within parenthesis are synonyms for the last introduced command.
5
5.4 Referencing symbols and pins
Some commands use reference parameters to mark symbols or connections of sym-bols drawn before.The symbol_reference parameters consist of two parts:
symbolname number
The pin_reference parameters consist of three parts:
symbolname number pinname
These three parts form the reference parameter.See the appendix for the pinnames, they are drawn nearby the pins. If the symbolhas no pregiven ones the standard names l for the left connection, r for the right,t for the top and b for the bottom one will be chosen.Note that there is no blank between the parts!For example, to refer to the left connection of the resistor with the number 1 thepin_reference parameter would be
R1l
or to refer to the whole symbol the symbol_reference is
R1 .
At least it is possible to set markers which work like pin references.
\Pnumber
sets a marker which can be referred to by Pnumber.
5.5 Connecting symbols
Simple connections between the symbols can be made with the \- command, whichis an abbreviation of the \wire command (see appendix). The syntax is
\-�length�direction.
The parameter length is an integer giving the number of lengthsteps. In CIRCwires are build as a queue of characters 2.5 mm each. Thus the length of wire ismeasured in multiples of this length.The parameter direction determines the direction. Valid values are l for left, rfor right, u for up and d for down. For instance, a wire is drawn to the left witha length of 1 cm (4 units) by typing
\-�4�l
There are some other line types to connect symbols. The command
\dashed�length�direction
draws a dashed line. It is written as the \- command. With
6
\bundle�text�length�direction\wwire�text�length�direction
a bundle of wire could be drawn or a pair of wire, respectively. You can use \= asan abbreviation of \wwire. The text may contain any comments.To connect the drawing position horizontally or vertically with a certain pin ofa symbol by using a reference, the useful commands \htopin and \vtopin exist.The syntax is:
\htopin�pin_reference\vtopin�pin_reference
Provided that the resistor R1 defined before by a \R command, the command
\vtopin�R1l
draws a vertical wire up to this height, where the resistor numbered with 1 (R1)is situated. \htopin does the same but horizontally.The connection will be done by default with the \wire command. To change thetype of the connection use the \by command. The syntax is:
\by{command}
where command can be one of the following: \wire (\-), \dashed, \bundle�text,\wwire�text or \oa (which is declared in the optics part, see section 6).For example, the command
\by{\dashed}
changes the drawing style from \[hv]topin to a dashed lines. Do not forget toswitch back to wires using
\by{\wire}
to end the dashed lines.Note that it is usually necessary to combine the htopin- and vtopin commands,because these commands draw only horizontally or vertically to the x- or they-coordinates of the given pin.
5.6 Positioning commands
Positioning commands are used to change the current drawing position.The direct positioning command \at (\from) sets the drawing position to anabsolute coordinate.
\at{x}�{y}�
sets the drawing position to the point (x,y) in the coordinate system, where xand y are integers counting the number of arbitrary units (2.5 mm). CIRC startsdrawing at (0, 0).It is recommended to avoid the absolute positioning of symbols, because it tendsto destroy the logical structure of the circuit diagram.
7
The drawing position can be changed in relation to the current position with theindirect positioning command \moverel (\shift).
\moverel{x}�{y}�
moves the drawing position x units to the right and y units upwards.The command \atpin (\frompin) sets the drawing position to a reference pin.
\atpin�pin_reference
allows further drawing starting from the reference pin. For example,
\atpin C2r
sets the drawing position to the right pin of the capacitor numbered 2.In a lot of cases a command like \- is useful, but it should not draw the line. \_satisfy this need. As you know from \- a length and a direction must be specified.
5.7 Justify commands
The command \hcenterto forces horizontal centering according to a symbol re-ferred to. The command \vcenterto does the same but vertically. The command\centerto centers the following symbol according to the reference symbol hor-izontally or vertically depending on the drawing direction of the symbol beeingdrawn.The syntax is:
\hcenterto�symbol_reference\vcenterto�symbol_reference\centerto�symbol_reference
For example,
\hcenterto L4
would force horizontal centering according to the coil numbered 4.
5.8 Text commands
The command
\put{text}
puts text at the current drawing position. It can be used in the same way as the\put command of the LATEXpicture environment, but the coordinates have to beomitted (because they are given by the current drawing position).To comment something the commands
\Utext�text�from�pin_reference1�to�pin_reference2\centertext�text�from�pin_reference1�to�pin_reference2
can be used. \centertext prints text centered between pin_reference1 andpin_reference2. \Utext additionally draws an arrow from pin_reference1 to
8
pin_reference2. Note that the reference pins must have the same x- or y-coordinate.To write overlapping information like the TEX commands \rlap and \llap thefollowing commands are used:
\blap{text}\tlap{text}
They put text which overlap to the bottom or the top, respectively.
5.9 Example
A simple example is the diagram showing a circuit which is used for measuringthe amplification of current by a transistor.
� ���IC A
� ��R1
510 k� ��
IB A����������������� ���� Ub
�� How to cope with such sketches?First of all, it is necessary to decide, which symbol should be the first one. Thetransistor seems to be a good choice to begin with in this special case. Thecommand \npn produces a npn-transistor (see appendix); so the first line is
\npn1 ? B l
which names the transistor npn1 for further reference. Instead of {?} any textdescribing the specific transistor may be written. (Unfortunately this doesn’twork today. See future plans.) The third parameter B means, that the base ofthe transistor should be on the current drawing position. Further more C forcollector or E for the emitter contact would be possible. The last parameter givesthe direction, in this case the base contact points to the left (l).Use
\frompin npn1C
to continue drawing from the collector, and type
\- 1 u
to draw the needed wire upwards to connect the amperemeter to measure IC whichis created by the command
\nl\A1 {$I_C$} u
.
9
The command \nl in front of the amperemeter avoids the default inscription of"I1" because this would not make any sense in this case. Instead, the labeling isIC . The last parameter u marks the direction (up).To draw the resistor connected with the base of the transistor the proceeding isthe same: use\atpin npn1B to set drawing position (different from the current position),\- 1 l to draw a piece of wire to the left and\R1 {510\kohm} l for the resistor itself.A further horizontal piece of wire connects the resistor with the second ampereme-ter: \- 1 l .The second amperemeter, measuring the current of the base (IB), would look niceat if drawn the same height as the first one, measuring (IC). Measuring the lengthof wire needed to match the same height would be difficult and a change of thediagram would cause further changes in order to maintain the desired position.Therefore it is advisable to use
\centerto A1 \nl\A2 {$I_B$} u
which leeds to the intended centering automatically. Because of the up orientationof A2, the centering is the same as in the vertical direction.A vertical connection is needed to connect the amperemeter with R1. This maybe done by
\frompin A2b\vtopin R1l
which draw a wire down to the horizontal wire, starting at A2b. Instead of thesecond line \vtopin npn1B would do the same job because the horizontal positionis irrelevant for \vtopin.To connect the two amperemeters the drawing position is set to A1t, from wherea wire is drawn upwards and a junction point is marked at that point by using
\frompin A1t\- 1 u\.1
The commands for connecting the second amperemeter are:
\frompin A2t\vtopin .1\htopin .1
The combination of \htopin and \vtopin is very useful to connect two pointswith an edge of wire. The driving voltage is typeset by
\- 1 u\cc\connection1 {$U_b$} c u
because it looks better to put the inscription of the voltage on the right. That iswhy the prefix \cc is used in front of the \connection command.Finally the emitter contact leads to the ground:
10
\frompin npn1E\- 1 d\GND1
The whole example once more in an overview:
\begin{circuit}0\npn1 {?} B l % transistor\frompin npn1C % draw from collector\- 1 u % some wire\nl\A1 {$I_C$} u % amperemeter for current of collector\atpin npn1B % continue drawing from base\- 1 l % some wire\R1 {510\kohm} l % resistor\- 1 l % some wire to the edge\centerto A1 % draw centered to amperemeter 1\nl\A2 {$I_B$} u % amperemeter 2\frompin A2b % link amperemeter 2 with resistor\vtopin R1l\frompin A1t\- 1 u\.1 % junction\frompin A2t % wire to amperemeter 2\vtopin .1\htopin .1\- 1 u\cc\connection1 {$U_b$} c u % driving voltage\frompin npn1E\- 1 d\GND1 % ground\end{circuit}
6 Optics
If the optics option is given in the \usepackage command, the creation of simpleoptical diagrams is possible.The optical axis can be drawn with the \oa command, which creates a dashed line.The optical symbols which are available are listed at the end of the appendix.Here is an example for using optics. With the knowledge of drawing circuits thefollowing code will speak for itself.
� �� ��P1 �� �� ���� ��L1
�� ��������� �L2
� ��P2 ��� ���� ��� ��camera
�����f1 ����������f2
���� �
��� ��screen
Here is
the code:
11
\begin{circuit}{0}\nl\Laser1 {} r % laser\oa 2 r % optical axis\Polar1 {} r % polarizer\oa 2 r\nl\OM1 P1 {} {} {} {} h % optical modulator\atpin OM1P3\oa 4 r\cc\BLens1 {} r % 1st lens\oa 2 r\nl\Pinhole1 {} r % pinhole\oa 7 r\cc\SLens2 {} r % 2nd lens\oa 1 r\Polar2 {} r % analyzer\oa 3 r\oa 3 r\nl\BSplit1 {} + d % beam splitter\atpin BSplit1+ % continue drawing right\oa 2 r\nl\Cam1 {camera} . r % camera\atpin BLens1: \shift 0 2 \P3 % mark middle of 1st lens\atpin Pinhole1: \shift 0 2 \P4 % mark middle of pinhole\atpin SLens2: \shift 0 2 \P5 % mark middle of 2nd lens\Dtext{\small $f_1$} from P3 to P4 % f_1\Dtext{\small $f_2$} from P4 to P5 % f_2\atpin BSplit1. % second part of beam down\oa 5 d\Mirror1 {} * R % mirror\oa 2 r\nl\ScrL1 {screen} h % white screen
\end{circuit}
7 Some hints for CIRC programmers
Here are some hints to add further symbols to CIRC.Before creating any new symbol consult very carefully the file csym.mf. It containsa lot of very useful definitions to simplify writing new symbols. Examples for theuse of these definitions are given in the files ciwidko.mf and optic.mf. Whenpossible it is strongly recommended to use the METAFONT commandstwochars for symbols with the symmetry two,fourchars for symmetry four andfourfourchars for symmetry eight,because the definition of the corresponding TEX command will need only one line!If there are any problems with METAFONT do not hesitate to contact the authors.A new option file with the extension def, for instance newcirc.def, has to becreated to include the written symbols. To include the new definitions add newcircto the options in the \usepackage command:
\usepackage[basic,newcirc]{circ} .
12
The CIRC-command \freecirc has to be used to start the definitions of newcommands in the file newcirc.def. This ensures, that the asterix (‘*’) becomesactive, because all internal CIRC commands contain the asterix. It is comparable toLATEX’s \makeatletter. The CIRC-command \protectcirc has to be used at theend of the file newcirc.def in order to restore the former behaviour (comparableto \makeatother).The \cdef* commands are strongly recommended to declare commands withthe new symbols, because only one line is needed for the definition. The filesbasic.def or optics.def contain examples for \cdef and related commands,which are defined in circ.sty.To ensure that the new symbols are inserted in the right magnification thecommand \extracircinit may be used. It can be used in the same wayas \opticfontinit is used in optics.def. Both are defined in circ.sty as\relax and are called when a new diagram is initialized. If it is necessary to doany operations before starting a circuit diagram, then it is possible to redefine\extracircinit to do the job.
8 Future plans
CIRC is still under development. A lot of users need additional symbols or haveother wishes. In most of the cases there is a quick solution, but to give CIRC theability to be an easy extendable tool (and to add more potentiality) it has to berewritten. Until this is done there could happen the following steps:
• solve the problem of inscriptions for transistors
• redesign some symbols and reimplement the METAFONT sources
• rewrite the font selection to fix some ugly effects
• add color support and build a METAPOST port
• use the NFSS2 to make different linethicknesses available
• describe the link between TEX and META
• update the documentation every time
9 Contacting the authors
Any bug reports, remarks, proposals for new options and symbols, any improve-ments to both the code or the documentation as well as some nice postcards arewelcome.
Sebastian Tannert Andreas TilleWEN 67.02.01.06 Gartenstraße 8Harbigstraße 14 D-38855 WernigerodeD-14055 Berlin
[email protected] [email protected]
13
10 Appendix
The symmetries and there parameters:
symmetrie parameter setOP number �
LI length � direction �
LB number � text � direction �
T XT text � from � pin_reference1 � to � pin_reference2 �
SO number � text � direction[l,r,u,d] �
SX number � text � direction[l,r,u,d,L,R,U,D] �
SXY number � text � direction[l,r,u,d] �
S3P number � text � pin_name � direction[l,r,u,d,L,R,U,D] �
GI number � text � pin_name � label a � label b �
GII number � text � pin_name � label a � label b � label c �
BX number � pin_name � label a � label b � label c � label d �
BXT number � text � pin_name � label a � label b � label c � label d �
IC number � text � pin_name � style2 �
CIRC� \CIRCLogo
wire
������ �\wire LI
dashed wire
������ �\dashed LI
bundle
������text� �\bundle LB
double wire
������text �\wwire LB
text with arrow
���text
\Utext T XT
centered text
text
\centertext T XT
Symbols provided by the option basic.def
ground
\GND OP
ground �\gnd OP
junction
�\. OP
14
resistor
�Rn
text
\R SXY
US resistor
�Rn
text
\Rus SXY
variable resistor��.
S� �*
\Rvar S3P
variable resistor��.
S� �*
\Rusvar S3P
capacitor
�Cn
text
\C SXY
variable capacitor
�Cn
text
\Cvar SXY
electrolytic capacitor
�Cn
text-� �+
\Cel SX
diode
�Dn
textK� �A
\D SX
Zener diode
�Dn
textK� �A
\ZD SX
light emitting diode
�Dn
textK� �A
\LED SO
capacitance variation diode
�Dn
textK� �A
\Dcap SX
current flow �In
textd� �s
\whatI SX
voltage source�Un
text
+� �-
\U SX
voltage source, variant�Un
text
\varU SXY
current source variant�In
text
\varI SXY
variable voltage source Un
text
+� �-
\Uvar SX
current source!In
text
\I SXY
variable current sourceÆIn
text
\Ivar SXY
voltmeter"Un
textV
\V SXY
amperemeter"In
textA
\A SXY
coil #Ln
text.� �*
\L SX
quartz crystal$Qn
text
\xtal SXY
incandescent lamp%Lan
text
\La SXY
gas lamp &n
text
\GasLa SXY
15
switch
'Sn
text
\S SXY
changeover switch
(�os� �c
\SW S3P
connection (pointed))texto� �c
\mconnection SX
connection (round empty)�texto� �c
\connection SX
connection (round full)*texto� �c
\fconnection SX
phototransistor
�Tn
textE� �C
\npnPH SO
npn-transistor without base
��E
.��C
\npnEC S3P
pnp-transistor without base
��E
.��C
\pnpEC S3P
npn-transistor
��E
B��C
\npn S3P
pnp-transistor
��E
B��C
\pnp S3P
n-channel field effect transistor
��SG�
�D
\nfet S3P
p-channel field effect transistor
��SG�
�D
\pfet S3P
��SG�
�D
\nvmos S3P
�SG�
�D
\pvmos S3P
�SG�
�D
\namos S3P
��SG�
�D
\pamos S3P
16
Symbols provided by the option gate.def
operational amplifier
a
b
ctext�+�
-�
�O
\OV GII
operational amplifier
a
b
ctext�-�
+�
�O
\ov GII
NAND-gatea
bc
&
text
�I1�I2� �O
\NAND GII
AND-gatea
bc
&
text
�I1�I2� �O
\AND GII
OR-gatea
bc
≥1
text
�I1�I2� �O
\OR GII
NOR-gatea
bc
≥1
text
�I1�I2� �O
\NOR GII
XOR-gatea
bc
=1
text
�I1�I2� �O
\XOR GII
XNOR-gatea
bc
=
text
�I1�I2� �O
\XNOR GII
NOT-gate
a b1
text
�I� �O
\INV GI
Schmitt trigger
a b�
text
�I� �O
\ST GI
inverted Schmitt trigger
a b�
text
�I� �O
\STINV GI
buffer
a b�
text
�I� �O
\BUF GI
Symbols provided by the option oldgate.def
old AND-gatea
bc
text
�I1�I2� �O
\oldAND GII
old NAND-gatea
bc
text
�I1�I2� �O
\oldNAND GII
old OR-gatea
bc
text
I1�I2� �O
\oldOR GII
old NOR-gatea
bc
text
I1�I2� �O
\oldNOR GII
old XOR-gatea
bc
text
�I1�I2� �O
\oldXOR GII
Symbols provided by the option box.def
17
black box analog
a c
d
b
text�P1�
P2
P4
�P3
\BBa BXT
black box digital
a c
d
b
text P1�
P2
P4
�P3
\BBd BXT
oscillograph
a c
d
b
+P1� �P3
P2
P4
\oscillograph BX
18
generator
a c
d
b
G��P1� �P3
P2
P4
\G BX
generator, variable
a c
d
b
G��P1� �P3
P2
P4
\Gvar BX
generator, pulses
a c
d
b
��P1� �P3
P2
P4
\Impulse BX
amplifier
a c
d
b
��P1� �P3
P2
P4
\Amp BX
AC to DC converter
�=���P1� �P3
P2
P4
\ACtoDC BX
Symbols provided by the option ic.def
RS flip flop
R������S
text
���S�
R� �Q
�NQ
\RSFF IC
RS flip flop
R������S
text
���S�
R� �Q
�NQ
\NRSFF IC
D flip flop
1D������C1
text
���C�
D� �Q
�NQ
\DFF IC
JK master slave flip flop
S���1J�� ¬�C1���1K�� ¬ R
text
��!S�J�C�K�R�
�Q
�NQ
\JKMSFF IC
timer NE 555
6 IS�� OK 5����2 IT�� O 3����4 R
text
�� OD 7"IS�
IT�
R�
�OK
�O
�OD
\fff IC
nullor
� ∞#��+�� +����−
text
�� −"i+�
i-�
�o+
�o-
\NULL IC
Symbols provided by the option optics.def
text measuring a length
�������text
\Dtext T XT
optical axis
������ �\oa LI
thin lens
Ln
text
\SLens SXY
19
half thin lens
�Ln
text|� �)
\HSLens SX
thick lens
�Ln
text
\BLens SXY
half thick lens
�Ln
text|� �)
\HBLens SX
concave lens
�Ln
text
\VLens SXY
half concave lens
ÆLn
text|� �(
\HVLens SX
mirror
��*.� �+
\Mirror S3P
beam splitter
��*.� �+
\BSplit S3P
polarizer
�Pn
text
\Polar SXY
pinhole
�ntext
\Pinhole SXY
camera
�n
text.� �|
\Cam SX
screen, look at the left side
�n
text\ScrL SXY
screen, look at the right side
�n
text\ScrR SXY
screen, look behind the left side
�n
text\ScrBL SXY
screen, look behind the rightside
�n
text\ScrBR SXY
screen, look trough the left side
�n
text\ScrTL SXY
screen, look trough the rightside
�n
text\ScrTR SXY
laser
� n
text
\Laser SXY
photometer, -multiplyer, etc.
� n
text
\PM SXY
optical modulator
a cd
b
�P1� �P3
P2
P4
\OM BX
Symbols provided by the option physics.def
20
spring
�kn
text
\spring SXY
long spring
�kn
text
\lspring SXY
mass with two forces; full drawn
�mn
text
\fdmass SXY
mass with two forces; outlined
�mn
text
\dmass SXY
mass; full drawn
�mn
text.� �*
\fmass SX
mass; outlined
�mn
text.� �*
\mass SX
wall
�text
.� �|
\wall SX
tile
�text
.� �*
\tile SX
spin up
Sn
text
\spinu SXY
spin down
Sn
text
\spind SXY
21
The code of CIRC.
1 〈∗code〉2 \NeedsTeXFormat{LaTeX2e}[1995/12/01]3 \ProvidesClass{circ}4 [1997/04/23 v1.0d for typeset circuit diagrams]5 \DeclareOption*{\InputIfFileExists{\CurrentOption.def}{}%6 {\PackageError{CIRC}{File \CurrentOption.def not found.}%7 {Check spelling or think about the8 location of file.\MessageBreak9 I tried to load macros for the CIRC package.}}}
Sorry, but it’s better to stop here. The sourcecode isformatted worst.
22