diff --git a/TeX/Xor.tex b/TeX/Xor.tex new file mode 100644 index 0000000..3155f0e --- /dev/null +++ b/TeX/Xor.tex @@ -0,0 +1,123 @@ +%!tikz editor 1.0 +\documentclass{article} +\usepackage{tikz} +\usepackage[graphics, active, tightpage]{preview} +\usepackage{circuitikz} +\PreviewEnvironment{tikzpicture} + +%!tikz preamble begin +\usetikzlibrary{circuits.logic.IEC, positioning} +\usepackage[utf8]{inputenc} + + +\makeatletter +\def\grd@save@target#1{% + \def\grd@target{#1}} +\def\grd@save@start#1{% + \def\grd@start{#1}} +\tikzset{ + grid with coordinates/.style={ + to path={% + \pgfextra{% + \edef\grd@@target{(\tikztotarget)}% + \tikz@scan@one@point\grd@save@target\grd@@target\relax + \edef\grd@@start{(\tikztostart)}% + \tikz@scan@one@point\grd@save@start\grd@@start\relax + \draw[minor help lines] (\tikztostart) grid (\tikztotarget); + \draw[major help lines] (\tikztostart) grid (\tikztotarget); + \grd@start + \pgfmathsetmacro{\grd@xa}{\the\pgf@x/1cm} + \pgfmathsetmacro{\grd@ya}{\the\pgf@y/1cm} + \grd@target + \pgfmathsetmacro{\grd@xb}{\the\pgf@x/1cm} + \pgfmathsetmacro{\grd@yb}{\the\pgf@y/1cm} + \pgfmathsetmacro{\grd@xc}{\grd@xa + \pgfkeysvalueof{/tikz/grid with coordinates/major step}} + \pgfmathsetmacro{\grd@yc}{\grd@ya + \pgfkeysvalueof{/tikz/grid with coordinates/major step}} + \foreach \x in {\grd@xa,\grd@xc,...,\grd@xb} + \node[anchor=north] at (\x,\grd@ya) {\pgfmathprintnumber{\x}}; + \foreach \y in {\grd@ya,\grd@yc,...,\grd@yb} + \node[anchor=east] at (\grd@xa,\y) {\pgfmathprintnumber{\y}}; + } + } + }, + minor help lines/.style={ + help lines, + step=\pgfkeysvalueof{/tikz/grid with coordinates/minor step} + }, + major help lines/.style={ + help lines, + line width=\pgfkeysvalueof{/tikz/grid with coordinates/major line width}, + step=\pgfkeysvalueof{/tikz/grid with coordinates/major step} + }, + grid with coordinates/.cd, + minor step/.initial=.2, + major step/.initial=1, + major line width/.initial=1pt, +} +\makeatother +%!tikz preamble end + + +\begin{document} +%!tikz source begin +\begin{tikzpicture}[scale=1.3, transform shape,circuit logic IEC] + +\tikzstyle{branch}=[fill,shape=circle,minimum size=3pt,inner sep=0pt] + + %\draw (0,0) to[grid with coordinates] (10,5); + + % Koordinaten für Kreuzpunkte + \coordinate (A) at (0.95,2.75); + \fill (A) circle (1pt); + \coordinate (B) at (0.95,0.5); + \fill (B) circle (1pt); + + \coordinate (C) at (0.55,2.75); + \fill (C) circle (1pt); + + \coordinate (D) at (2.5,1.4); + + \coordinate (E) at (0.75,0.5); + \fill (E) circle (1pt); + + \coordinate (F) at (2.5,1.8); + + % Eingangsvariablen + \node (x2) at (0.2,0.5) {b}; + \node (x1) at (0.2,2.75) {a}; + + % Ausgangsvariable + \node (y) at (5,0.5) {out}; + + % Gatter + \node[nand gate] at (1.5,0.5) (n1) {}; + \node[nand gate] at (1.5,2.75) (n2) {}; + \node[nand gate] at (3.45,2.58) (n4) {}; + \node[nand gate] at (3.45,0.666) (n3) {}; + \node[nand gate] at (5,1.6) (n5) {}; + + % Verbindungen + + \draw(x1) -- (A); + \draw(x2) -- (B); + \draw(A) |- (n2.input 1); + \draw(A) |- (n2.input 2); + \draw(B) |- (n1.input 1); + \draw(B) |- (n1.input 2); + \draw(n1.output) -- (n3.input 2); + \draw(n2.output) -- (n4.input 1); + \draw(C) |- (D); + \draw(D) |- (n3.input 1); + \draw(E) |- (F); + \draw(F) |- (n4.input 2); + \draw(n4.output) -- (n5.input 1); +% \draw(n1.output) -- (A); +% \draw(A) |- (n2.input 2); +% \draw(A) |- (n2.input 1); +% \draw(n2.output) -- (y); +% \draw(n1.output) to [short,l=\footnotesize{nandout}, -] (A); + +\end{tikzpicture} +%!tikz source end + +\end{document} \ No newline at end of file