diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/circuit-macros/examples/Logic.m4')
-rw-r--r-- | Master/texmf-dist/doc/latex/circuit-macros/examples/Logic.m4 | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/circuit-macros/examples/Logic.m4 b/Master/texmf-dist/doc/latex/circuit-macros/examples/Logic.m4 new file mode 100644 index 00000000000..d42e02768eb --- /dev/null +++ b/Master/texmf-dist/doc/latex/circuit-macros/examples/Logic.m4 @@ -0,0 +1,62 @@ +.PS +# Logic.m4 +cct_init +ifdef(`AND_gate',,`include(liblog.m4)') +xgap = 0.6 +[ dmov = 0.4 +{ {AND_gate ; "{\tt AND\_gate}" ljust at last [].w + (xgap,0)} + move down dmov; right_ + {OR_gate ; "{\tt OR\_gate}" ljust at last [].w + (xgap,0)} + move down dmov; right_ + {BUFFER_gate ; "{\tt BUFFER\_gate}" ljust at last [].w + (xgap,0)} + move down dmov; right_ + {XOR_gate ; "{\tt XOR\_gate}" ljust at last [].w + (xgap,0)} + } + + move right_ 140pt__ +{ { NAND_gate; "{\tt NAND\_gate}" ljust at last [].w + (xgap,0) } + move down dmov; right_ + { Gate: NOR_gate(3) + "{\tt NOR\_gate(3)}" ljust at last [].w + (xgap,0) + thinlines_ + spline <- from Gate.Out right arrowht*2.0 \ + then up 0.15 then right 0.05 + "{\tt Out}" ljust + spline <- from Gate.N_Out down arrowht*2.0 \ + then right 0.1+arrowht*1.5+NOT_rad down 0.15-arrowht*2.0 + "{\tt N\_Out}" ljust + for_(1,3,1, + `arrow <- left 0.2 down 0.05 from Gate.In`'m4x + "{\tt In`'m4x\/}" rjust at Here+(0,(2-m4x)*0.02)') + } + thicklines_ + move down dmov; right_ + { NOT_gate ; "{\tt NOT\_gate}" ljust at last [].w + (xgap,0) } + move down dmov; right_ + {Gate: NXOR_gate(NPN); "{\tt NXOR\_gate(NPN)}" ljust at last [].w + (xgap,0) + for_(1,3,1, + `arrow <- left 0.2 up 0.05 from Gate.In`'m4x + "{\tt In`'m4x\/}" rjust at Here+(0,(2-m4x)*0.02)') + } +} + move right_ 140pt__ +{ {NAND_gate(,B) ; "{\tt NAND\_gate(,B)}" ljust at last [].w + (xgap,0)} + { line invis right 1.6 from last [].se then down 1} + move down dmov; right_ + move left N_diam*L_unit; right_ + {NOR_gate(3,NB) ; "{\tt NOR\_gate(3,NB)}" ljust at (last "",last []) } + move down dmov; right_ + {BOX_gate(PN,N,,,=1) + "{\tt BOX\_gate(PN,N,{,},=1)}" ljust at (last "",last []) + line left 0.15 from last [].In1 + line left 0.15-NOT_rad*2 from last [].In2 + line right 0.15 from last [].Out } + move down dmov; move right_ N_diam*L_unit + {BOX_gate(PP,N,,,=) + "{\tt BOX\_gate(PP,N,{,},=)}" ljust at (last "",last []) + line left 0.15 from last [].In1 + line left 0.15 from last [].In2 + line right 0.15 from last [].Out } +} +] +.PE |