浏览代码

added venn diagram of algebraic structures

Martin Thoma 13 年之前
父节点
当前提交
c2b25d095b
共有 2 个文件被更改,包括 165 次插入0 次删除
  1. 31 0
      tikz/venn-diagramm/Makefile
  2. 134 0
      tikz/venn-diagramm/venn-diagramm.tex

+ 31 - 0
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

+ 134 - 0
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}