From c2b25d095b0857b3d0e1cd67ad4141d13436ec98 Mon Sep 17 00:00:00 2001 From: Martin Thoma Date: Tue, 14 Aug 2012 14:31:52 +0200 Subject: [PATCH] added venn diagram of algebraic structures --- tikz/venn-diagramm/Makefile | 31 +++++++ tikz/venn-diagramm/venn-diagramm.tex | 134 +++++++++++++++++++++++++++ 2 files changed, 165 insertions(+) create mode 100644 tikz/venn-diagramm/Makefile create mode 100644 tikz/venn-diagramm/venn-diagramm.tex diff --git a/tikz/venn-diagramm/Makefile b/tikz/venn-diagramm/Makefile new file mode 100644 index 0000000..738eff5 --- /dev/null +++ b/tikz/venn-diagramm/Makefile @@ -0,0 +1,31 @@ +SOURCE = venn-diagramm +DELAY = 80 +DENSITY = 300 +WIDTH = 1024 + +make: + pdflatex $(SOURCE).tex -output-format=pdf + make clean + +clean: + rm -rf $(TARGET) *.class *.html *.log *.aux + +gif: + pdfcrop $(SOURCE).pdf + convert -verbose -delay $(DELAY) -loop 0 -density $(DENSITY) $(SOURCE)-crop.pdf $(SOURCE).gif + make clean + +png: + make + make svg + inkscape $(SOURCE).svg -w $(WIDTH) --export-png=$(SOURCE).png + +transparentGif: + convert $(SOURCE).pdf -transparent white result.gif + make clean + +svg: + #inkscape $(SOURCE).pdf --export-plain-svg=$(SOURCE).svg + pdf2svg $(SOURCE).pdf $(SOURCE).svg + # Necessary, as pdf2svg does not always create valid svgs: + inkscape $(SOURCE).svg --export-plain-svg=$(SOURCE).svg diff --git a/tikz/venn-diagramm/venn-diagramm.tex b/tikz/venn-diagramm/venn-diagramm.tex new file mode 100644 index 0000000..f802960 --- /dev/null +++ b/tikz/venn-diagramm/venn-diagramm.tex @@ -0,0 +1,134 @@ +\documentclass{article} +\usepackage[pdftex,active,tightpage]{preview} +\setlength\PreviewBorder{2mm} +\usepackage{tikz} +\usetikzlibrary{shapes,snakes,calc} +\usepackage{amsmath,amssymb} +\begin{document} +\begin{preview} +\begin{tikzpicture}[% + auto, + example/.style={ + rectangle, + draw=blue, + thick, + fill=blue!20, + text width=4.5em, + align=center, + rounded corners, + minimum height=2em + }, + algebraicName/.style={ + text width=7em, + align=center, + minimum height=2em + }, + explanation/.style={ + text width=10em, + align=left, + minimum height=3em + } + ] + \draw[fill=yellow!20,yellow!20] (-1.85, 0.55) rectangle (13.4,-6.85); + \draw[fill=black!20,black!20] ( 7.53,-1.40) rectangle (13.0,-6.45); + \draw[fill=lime!20,lime!20] (-1.75, 0.45) rectangle (7.3,-6.75); + \draw[fill=purple!20,purple!20] (-1.65,-1.40) rectangle (7.2,-6.65); + \draw[fill=blue!20,blue!20] (-1.55,-3.55) rectangle (7.1,-6.55); + \draw[fill=red!20,red!20] (-1.45,-4.65) rectangle (7.0,-6.45); + \draw (0, 0) node[algebraicName] (A) {Gruppe} + (2, 0) node[explanation] (B) { + \begin{minipage}{0.90\textwidth} + \tiny + \begin{itemize} + \itemsep -0.3em + \item Assoziativit\"at + \item Neutrales Element + \item Inverse Elemente + \end{itemize} + \end{minipage} + } + (0,-2) node[algebraicName] (C) {abelsche Gruppe} + (2,-2) node[explanation] (X) { + \begin{minipage}{150\textwidth} + \tiny + \begin{itemize} + \itemsep -0.3em + \item kommutativ + \end{itemize} + \end{minipage} + } + (2, -3) node[example, draw=purple, fill=purple!15] (D) {$(\mathbb{Z}, +)$} + (4, -3) node[example, draw=purple, fill=purple!15] (E) {$(\mathbb{Q} \setminus \{0\}, \cdot)$} + + (10,-6) node[example, draw=black, fill=black!15] (F) {$(\mathbb{N}_0, +)$} + (12,-6) node[example, draw=black, fill=black!15] (G) {$(\mathbb{N}_0, \cdot)$} + + (0,-4) node[algebraicName] (H) {Ring} + (2,-4.1) node[explanation] (X) { + \begin{minipage}{150\textwidth} + \tiny + \begin{itemize} + \itemsep -0.3em + \item Zwei Verkn\"upfungen + \item $(R, +)$ ist abelsche Gruppe + \item $(R, \cdot)$ ist Halbgruppe + \item Distributivgesetze + \end{itemize} + \end{minipage} + } + (6,-4) node[example, draw=blue, fill=blue!15] (I) {$(\mathbb{Z}, +, \cdot)$} + + (0,-5) node[algebraicName] (J) {K\"orper} + (2,-5) node[explanation] (X) { + \begin{minipage}{150\textwidth} + \tiny + \begin{itemize} + \itemsep -0.3em + \item $(\mathbb{K} \setminus \{0\}, \cdot)$ ist abelsche Gruppe + \end{itemize} + \end{minipage} + } + (0,-6) node[example, draw=red, fill=red!15] (K) {$(\mathbb{Q}, +, \cdot)$} + (2,-6) node[example, draw=red, fill=red!15] (L) {$(\mathbb{R}, +, \cdot)$} + (4,-6) node[example, draw=red, fill=red!15] (M) {$(\mathbb{C}, +, \cdot)$} + (6,-6) node[example, draw=red, fill=red!15] (N) {$\mathbb{Z} / p \mathbb{Z}$} + + + (9, 0) node[algebraicName] (O) {Halbgruppe} + (12,0) node[explanation] (X) { + \begin{minipage}{150\textwidth} + \tiny + \begin{itemize} + \itemsep -0.3em + \item Eine Verkn\"upfung + \item Abgeschlossenheit + \end{itemize} + \end{minipage} + } + (12,-1) node[example, draw=yellow, fill=yellow!15] (P) {$(\emptyset, \emptyset)$} + (9, -2) node[algebraicName] (Q) {kommutative Halbgruppe} + (12,-2) node[explanation] (X) { + \begin{minipage}{150\textwidth} + \tiny + \begin{itemize} + \itemsep -0.3em + \item kommutativ + \end{itemize} + \end{minipage} + }; + + % Körper + \draw[red,thick] ($(J.north west)+(-0.1,0.0)$) rectangle ($(N.south east)+(0.1,-0.1)$); + % Ring + \draw[blue, thick] ($(H.north west)+(-0.2,0.1)$) rectangle ($(N.south east)+(0.2,-0.2)$); + % abelsche Gruppe + \draw[purple, thick] ($(C.north west)+(-0.3,0.1)$) rectangle ($(N.south east)+(0.3,-0.3)$); + % Gruppe + \draw[lime, thick] ($(A.north west)+(-0.4,0.1)$) rectangle ($(N.south east)+(0.4,-0.4)$); + % Halbgruppe + \draw[yellow, thick] ($(A.north west)+(-0.5,0.2)$) rectangle ($(G.south east)+(0.5,-0.5)$); + % Halbgruppe + \draw[black, thick] ($(Q.north west)+(-0.1,0.1)$) rectangle ($(G.south east)+(0.1,-0.1)$); +\end{tikzpicture} +\end{preview} +\end{document}