diff --git a/README.md b/README.md index 953e6ae..490f18d 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,8 @@ LaTeX-examples ============== -Examples for the usage of LaTeX +More than 200 examples for the usage of LaTeX +(you can check that with the following command: `find . -type d | sort | awk '$0 !~ last "/" {print last} {last=$0} END {print last}' | grep -v .git | wc -l`) Most examples can be found on [my Wikpedia Commons user page](http://commons.wikimedia.org/wiki/User:MartinThoma#Galerie) diff --git a/documents/milgrams-small-world/Makefile b/documents/milgrams-small-world/Makefile new file mode 100755 index 0000000..9d0a239 --- /dev/null +++ b/documents/milgrams-small-world/Makefile @@ -0,0 +1,7 @@ +make: + pdflatex milgrams-small-world-letter.tex -output-format=pdf + pdflatex milgrams-small-world-table -output-format=pdf + make clean + +clean: + rm -rf *.aux *.log *.out diff --git a/documents/milgrams-small-world/milgrams-small-world-letter.tex b/documents/milgrams-small-world/milgrams-small-world-letter.tex new file mode 100644 index 0000000..e961aff --- /dev/null +++ b/documents/milgrams-small-world/milgrams-small-world-letter.tex @@ -0,0 +1,88 @@ +\documentclass[a4paper, 12pt, KOMAold, sections]{scrlttr2} +\usepackage[utf8]{inputenc} % this is needed for umlauts +\usepackage[ngerman]{babel} % this is needed for umlauts +\usepackage[T1]{fontenc} % needed for right umlaut output in pdf +\usepackage[ngerman, num]{isodate} % get DD.MM.YYYY dates + +\usepackage{hyperref} + +% Anpassen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\Vorname}{Martin} % Vorname des Senders % +\newcommand{\Nachname}{Thoma} % Nachname des Senders % +\newcommand{\Strasse}{Parkstraße} % Deine Straße % +\newcommand{\Hausnummer}{17} % Deine Hausnummer % +\newcommand{\PLZ}{76131} % Deine PLZ % +\newcommand{\Ort}{Karlsruhe} % Dein Ort % +\newcommand{\Kundennr}{123456} % Deine Kundennummer % + % +\newcommand{\Empfaenger}{Lisa Müller} % Der Empfänger % +\newcommand{\EStrasse}{Poststr. 17} % Straße des Empfängers % +\newcommand{\EPLZ}{12345} % PLZ des Empfängers % +\newcommand{\EOrt}{Berlin} % Ort des Empfängers % + % +\newcommand{\DocTitle}{Milgrams Small World Experiment} %Titel des Dokuments% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% pdfinfo +\hypersetup{ + pdfauthor = {\Nachname, \Vorname}, + pdfkeywords = {Experiment, Fun, Web}, + pdftitle = {\DocTitle} +} + +% set letter variables +\signature{\Vorname~\Nachname} +\backaddress{\Vorname~\Nachname, \Strasse~\Hausnummer, \PLZ~\Ort} +\newcommand{\section}[1]{\noindent\textbf{#1}\newline} + +% Begin document %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{document} + \begin{letter}{\Empfaenger \\ \EStrasse \\ \EPLZ~\EOrt} + \date{\today}%Change this if you want a different date than today + \subject{\DocTitle} + \opening{Hallo \Empfaenger,} + ich schreibe dir diesen Brief, weil ich Milgrams Experiment wiederhole und + dabei auf deine Hilfe angewiesen bin.\\ + + \section{Was ist Milgrams Experiment?} + Ist es dir auch schon einmal passiert, dass du überraschend mit einem Freund + oder eine Freundin einen gemeinsamen Bekannten hattest? Kennst du + das "`Freundesfreunde"'-System aus sozialen Netzwerken? + + Dann weißt du im Prinzip schon worum es hier geht. Die Welt ist heutzutage + durch viele Beziehungen zu anderen Menschen, die teilweise sogar in anderen + Weltteilen sind, klein geworden. Das hat schon Stanley Milgram 1967 vermutet. + Er hat seine Vermutung dadurch bestätigt, dass er 60 Personen zufällig + gewählt hat, die einen Brief an eine Zielperson in Bosten senden sollte. + Allerdings sollten sie den Brief nur an Personen schicken, die sie kennen + und die die Zielperson eventuell kennen könnten.\\ + + \section{Wie kannst du helfen?} + Im Anhang ist ein Blatt auf dem die Zielperson steht, an die du diesen Brief + und alle Blätter im Anhang schicken sollst. + + Da ich nicht will, dass du einfach die Adresse im Internet + suchst, gebe ich dir nur den Ort, den Beruf und einen Vornamen. Nun musst + du den Brief an einen Bekannten schicken, der diese Person kennen könnte. + Wenn deine Zielperson also in den USA lebt, könntest du den Brief zuerst + an einen Englisch-sprachigen Bekannten schicken. Oder du schickst ihn an + eine Person, von der du weißt dass sie sehr viele weitere Personen kennt. + Wenn du keine Ahnung hast wer die Zielperson kennen könnte, kannst du den + Brief auch an einen zufälligen Bekannten schicken. Egal wie, bitte schicke + den Brief bald weiter! Es wäre schade, wenn er bei dir liegen bleibt.\\ + + \section{Ich bin die Zielperson, was nun?} + Bitte schicke den Brief zurück an:\\ + + \noindent Martin Thoma\\ + Parkstraße 17\\ + 76131 Karlsruhe\\ + + \section{Wo werden die Ergebnisse veröffentlicht?} + Die Ergebnisse wirst du auf meinem Blog unter \href{http://martin-thoma.com/milgram}{martin-thoma.com/milgram} + finden. + + \closing{Mit freundlichen Grüßen,} + \end{letter} +\end{document} diff --git a/documents/milgrams-small-world/milgrams-small-world-table.tex b/documents/milgrams-small-world/milgrams-small-world-table.tex new file mode 100644 index 0000000..db3489b --- /dev/null +++ b/documents/milgrams-small-world/milgrams-small-world-table.tex @@ -0,0 +1,82 @@ +\documentclass[11pt,a4paper,oneside,landscape]{scrartcl} +\usepackage{amssymb, amsmath} % needed for math +\usepackage[utf8]{inputenc} % this is needed for umlauts +\usepackage[ngerman]{babel} % this is needed for umlauts +\usepackage[T1]{fontenc} % this is needed for correct output of umlauts in pdf +\usepackage[margin=1.0cm]{geometry} %layout +\usepackage{hyperref} % links im text +\usepackage{enumerate} % for advanced numbering of lists +\usepackage{fancyheadings} % Kopfzeile +\usepackage{array} % needed for m{1cm} in tabular +\usepackage{enumitem} +\usepackage{wasysym} +\usepackage{framed} +\usepackage{footnote} +\renewcommand{\arraystretch}{1.5} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\hypersetup { + pdfauthor = {Martin Thoma}, + pdfkeywords = {Milgram; Data; Experiment}, + pdftitle = {Milgrams Small World Experiment - Data} +} + +\begin{document} + +\begin{minipage*}{6cm} +\begin{tabular}{r || p{5cm} | p{4cm} | p{5cm} | p{10cm}} + Nr & Your name \footnote{This name gets published on \href{http://martin-thoma.com}{martin-thoma.com} as soon as the experiment is over. Please do not provide a name if you don't want me to publish it. You may also provide a pseudonym.} & Country & City & Comment\\ + \hline + \hline +1 & & &\\ +\hline +2 & & &\\ +\hline +3 & & &\\ +\hline +4 & & &\\ +\hline +5 & & &\\ +\hline +6 & & &\\ +\hline +7 & & &\\ +\hline +8 & & &\\ +\hline +9 & & &\\ +\hline +10 & & &\\ +\hline +11 & & &\\ +\hline +12 & & &\\ +\hline +13 & & &\\ +\hline +14 & & &\\ +\hline +15 & & &\\ +\hline +16 & & &\\ +\hline +17 & & &\\ +\hline +18 & & &\\ +\hline +19 & & &\\ +\hline +20 & & &\\ +\hline +21 & & &\\ +\hline +22 & & &\\ +\hline +23 & & &\\ +\hline +24 & & &\\ +\hline +\end{tabular} +\end{minipage*} +\end{document} diff --git a/tikz/robots-circle/Makefile b/tikz/robots-circle/Makefile new file mode 100644 index 0000000..6ae2197 --- /dev/null +++ b/tikz/robots-circle/Makefile @@ -0,0 +1,35 @@ +SOURCE = robots-circle +DELAY = 80 +DENSITY = 300 +WIDTH = 512 + +make: + pdflatex $(SOURCE).tex -output-format=pdf + make clean + +clean: + rm -rf $(TARGET) *.class *.html *.log *.aux *.data *.gnuplot + +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: + make + #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 + rsvg-convert -a -w $(WIDTH) -f svg $(SOURCE).svg -o $(SOURCE)2.svg + inkscape $(SOURCE)2.svg --export-plain-svg=$(SOURCE).svg + rm $(SOURCE)2.svg diff --git a/tikz/robots-circle/robots-circle.tex b/tikz/robots-circle/robots-circle.tex new file mode 100644 index 0000000..87a16d1 --- /dev/null +++ b/tikz/robots-circle/robots-circle.tex @@ -0,0 +1,35 @@ +\documentclass{article} +\usepackage[pdftex,active,tightpage]{preview} +\setlength\PreviewBorder{2mm} +\usepackage{tikz} +\usepackage{tkz-fct} +\usetikzlibrary{shapes.misc} +\usetikzlibrary{shapes, calc, shapes,snakes} +\usepackage{amsmath,amssymb} + +\begin{document} +\begin{preview} +\begin{tikzpicture}[dot/.style={ thick, + %draw=gray, + %cross out, + fill, + shape=circle, + inner sep=3pt, + minimum width=4pt, + minimum height=4pt}] +\newcommand{\R}{2cm}; + +\node (a) [dot] at (0,0) {}; +\node (b) [dot] at (\R,0) {}; +\node (c) [dot] at ({\R*cos(60)},{\R*sin(60)}) {}; + +%\draw[dashed,thick] (a) circle(\R); +%\draw[dashed,thick] (b) circle(\R); +%\draw[dashed,thick] (c) circle(\R); + +\draw[->, ultra thick] (a) -- (b); +\draw[->, ultra thick] (b) -- (c); +\draw[->, ultra thick] (c) -- (a); +\end{tikzpicture} +\end{preview} +\end{document} diff --git a/tikz/robots-walk-away/Makefile b/tikz/robots-walk-away/Makefile new file mode 100644 index 0000000..06c52bb --- /dev/null +++ b/tikz/robots-walk-away/Makefile @@ -0,0 +1,35 @@ +SOURCE = robots-walk-away +DELAY = 80 +DENSITY = 300 +WIDTH = 512 + +make: + pdflatex $(SOURCE).tex -output-format=pdf + make clean + +clean: + rm -rf $(TARGET) *.class *.html *.log *.aux *.data *.gnuplot + +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: + make + #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 + rsvg-convert -a -w $(WIDTH) -f svg $(SOURCE).svg -o $(SOURCE)2.svg + inkscape $(SOURCE)2.svg --export-plain-svg=$(SOURCE).svg + rm $(SOURCE)2.svg diff --git a/tikz/robots-walk-away/robots-walk-away.tex b/tikz/robots-walk-away/robots-walk-away.tex new file mode 100644 index 0000000..0f71bc6 --- /dev/null +++ b/tikz/robots-walk-away/robots-walk-away.tex @@ -0,0 +1,51 @@ +\documentclass{article} +\usepackage[pdftex,active,tightpage]{preview} +\setlength\PreviewBorder{2mm} +\usepackage{tikz} +\usepackage{tkz-fct} +\usetikzlibrary{shapes.misc} +\usetikzlibrary{shapes, calc, shapes,snakes} +\usepackage{amsmath,amssymb} + +\begin{document} +\begin{preview} +\begin{tikzpicture}[dot/.style={ thick, + %draw=gray, + %cross out, + fill, + shape=circle, + inner sep=3pt, + minimum width=4pt, + minimum height=4pt}] +\newcommand{\R}{2cm}; + +\node (a) [dot] at (0,0) {}; +\node (b) [dot] at (\R,0) {}; +\node (c) [dot] at (2*\R,0) {}; +\node (d) [dot] at (3*\R,0) {}; + +\node (e) [dot] at (0,\R) {}; +\node (f) [dot] at (\R,\R) {}; +\node (g) [dot] at (2*\R,\R) {}; +\node (h) [dot] at (3*\R,\R) {}; + +%\node (center1) [thick,draw=blue,cross out,black,inner sep=3pt,minimum width=4pt,minimum height=4pt] at (0.5*\R,0.5*\R) {}; +\draw[dotted,thick] (0.5*\R,0.5*\R) circle(\R); +\node (center1) at (0.5*\R+3,0.5*\R) {Cluster 1}; +\draw[dotted,thick] (2.5*\R,0.5*\R) circle(\R); +\node (center1) at (2.5*\R-3,0.5*\R) {Cluster 2}; +%\draw[dashed,thick] (a) circle(\R); +%\draw[dashed,thick] (b) circle(\R); +%\draw[dashed,thick] (c) circle(\R); + +\draw[->, ultra thick] (b) -- (a); +\draw[->, ultra thick] (f) -- (e); +\draw[->, ultra thick] (c) -- (d); +\draw[->, ultra thick] (g) -- (h); +\draw[->, ultra thick] (a) to[bend right] (e); +\draw[->, ultra thick] (e) to[bend right] (a); +\draw[->, ultra thick] (d) to[bend right] (h); +\draw[->, ultra thick] (h) to[bend right] (d); +\end{tikzpicture} +\end{preview} +\end{document}