1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
%%
%% The LaTeX Graphics Companion, 2ed (first printing May 2007)
%%
%% Example 7-4-17 on page 490.
%%
%% Copyright (C) 2007 Michel Goossens, Frank Mittelbach, Denis Roegel, Sebastian Rahtz, Herbert Vo\ss
%%
%% It may be distributed and/or modified under the conditions
%% of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%%
%% See http://www.latex-project.org/lppl.txt for details.
%%
\documentclass{ttctexa}
\pagestyle{empty}
\setcounter{page}{6}
\setlength\textwidth{207.83385pt}
\StartShownPreambleCommands
\usepackage[graph,curve,arc]{xy}
\newgraphescape{N}[1]{!{\save-/4mm/-/4pt/;p+/4mm/:
(-1,1);(-1,-1)**@{-} ?(.25)="N#1a" ?(.75)="N#1b",
(-1,1);(0,1)**@{-} ; (0,-1),{\ellipse_{}} ; (-1,-1)**@{-},
(0,0);(1,0)**{}*!E\cir<2pt>{}!C-E="N#1"\restore \POS"N#1"}}
\newgraphescape{I}[1]{!{\save-/4mm/-/2pt/;p+/4mm/:
(-1,1);(-1,-1)**@{-} ?="I#1a", (-1,1);(.667,0)**@{-};(-1,-1)**@{-},
(0,0);**{}*!E\cir<2pt>{}!C-E="I#1"\restore \POS"I#1"}}
\newgraphescape{B}{!{*=0@{*}}}
\newgraphescape{R}{!{;p+/r4mm/**{};}}
\newgraphescape{p}[2]{[#1!{"#2";p+/^/}]}
\newcommand\circuit[1]{\xygraph{~{0;<10mm,0mm>:<0mm,9mm>::0}#1}}
\StopShownPreambleCommands
\begin{document}
\[\begin{array}{c}
\circuit{ []!R!N1 ("N1a"([l]x - ?), "N1b"([l]y - ?))
[r]!I2 ("N1" - "I2a") - [r]{x\land y}}\\
\circuit{ []x
[rrr]!R!I1 ("I1a"("x" - ?))
[drr]!R!N1 ("I1" -`r[d]`"N1a""N1a", "N1b"!plx y - "N1b")
"I1"[dddd]!R!I2 ("I2a"[l]!puy!B - `d"I2a""I2a")
"N1"[dd]!R!N2 ("I1a"[l(.5)]!pux!B -`d"N2a""N2a", "I2" -`r[u]`"N2b""N2b")
[urr]!R!N3 ("N1" -`r[d]`"N3a""N3a", "N2" -`r[u]`"N3b""N3b")
- [r]{x\mathrel{\textrm{xor}}y}}
\end{array}\]
\end{document}
|