Top Banner
L A T E X Johannes und Malte auf der MetaNook 2015 18:00 Uhr Einführung 19:00 Uhr Abschlussarbeiten setzen 21:00 Uhr Zeichnen mit Tik Z 22:00 Uhr Präsentationen mit BEAMER
66

LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

Aug 04, 2018

Download

Documents

lythu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXJohannes und Malte auf der MetaNook 2015

18:00 UhrEinführung

19:00 UhrAbschlussarbeiten setzen

21:00 UhrZeichnen mit TikZ

22:00 UhrPräsentationen mit BEAMER

Page 2: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

Ziele dieses Vortrags

1. TikZ kennen und lieben lernen.2. Pfade mit TikZ zeichnen können.3. Das Konzept von Knoten und deren Positionierung

verstehen.4. Fortgeschrittene Verwendung von TikZ kennen lernen.

Page 3: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

Inhalt dieses Vortrags

EinführungVerwendungPfadeKnoten

GraphenKnotenAutomatenBäume

Fortgeschrittene VerwendungFunktionen plottenShowcase

Ausblick

Page 4: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-4

Website

mlte.de/latexI diese Präsentation, das Skript zum Vortrag,I Beispieldokumente, Links zu weiteren Quellen undI der Link zum Github-Repository

Page 5: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

Einführung

Johannes

Page 6: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-6

Was ist TikZ?

I TikZ ist kein Zeichenprogramm,dient aber zum Zeichnen von Grafiken mit LATEX.

I TikZ ist ein Makropaket für TEX bzw. LATEX.I TikZ verfügt über eine sehr ausführliche und gute

Anleitung.

Page 7: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-7

Ein erstes Beispiel

x

y

1

1

α

sinα

cosα

tanα= sinαcosα

Page 8: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-8

TikZ verwenden

Wir beginnen mit einem Winkel.

\documentclassscrartcl\usepackagetikz\usetikzlibraryintersections\begindocumentWir beginnen mit\begintikzpicture\draw (0,0) -- (1.5,0);\draw (0,0) -- (0,1.5);

\endtikzpictureeinem Winkel.

\enddocument

Page 9: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-9

PfadeI Ein Pfad ist eine Folge von Koordinaten.

I Links unten ist der Ursprung (0,0),I die erste Koordinate geht nach rechts undI die zweite Koordinate geht nach oben.

I Eine Linie wird mit -- gezeichnet.I Relative Koordinaten beginnen mit ++.

\begintikzpicture\draw(0,0) -- ++(1,0) ++(0,1) -- ++(-1,0)(2,0) rectangle (3,1);

\endtikzpicture

Page 10: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-10

Gitterpfade

\begintikzpicture\draw[step=0.5cm](0,0) grid (1.4,1.4);

\draw (0,0) -- (1.5,0);\draw (0,0) -- (0,1.5);

\endtikzpicture

Page 11: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-11

Skalierung

\begintikzpicture[scale=2]\draw[step=0.5cm](0,0) grid (1.4,1.4);

\draw (0,0) -- (1.5,0);\draw (0,0) -- (0,1.5);

\endtikzpicture

Page 12: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-12

Stile

\begintikzpicture[scale=2]\draw[step=0.5cm,gray,very thin](0,0) grid (1.4,1.4);

\draw (0,0) -- (1.5,0);\draw (0,0) -- (0,1.5);

\endtikzpicture

Page 13: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-13

Pfeilspitzen

\begintikzpicture[scale=2]\draw[step=0.5cm,gray,very thin](0,0) grid (1.4,1.4);

\draw[->] (0,0) -- (1.5,0);\draw[->] (0,0) -- (0,1.5);

\endtikzpicture

Page 14: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-14

Bogenpfade

\draw % 0 bis 90 Grad, Radius 1 cm(1,0) arc (0:90:1cm)% 0 bis 30 Grad, Radius 3 mm(3mm,0pt) arc (0:30:3mm);

Page 15: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-15

Farbig Zeichnen

\draw[green!50!black](0,0) -- (3mm,0pt) arc (0:30:3mm) -- cycle;

Page 16: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-16

Farbig Füllen

\fill[green!20](0,0) -- (3mm,0pt) arc (0:30:3mm) -- cycle;

Page 17: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-17

Farbig Zeichnen und Füllen

\filldraw[fill=green!20,draw=green!50!black](0,0) -- (3mm,0pt) arc (0:30:3mm) -- cycle;

Page 18: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-18

Polarkoordinaten und Schnittpunkte

\draw[very thick,red](30:1cm) -- (30:1cm |- 0,0);

\draw[very thick,blue](0,0) -- (30:1cm |- 0,0);

Page 19: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-19

Schnittpunkte von Pfaden definieren

\draw[name path=upward line](1,0) -- (1,1);

\draw[name path=sloped line](0,0) -- (30:1.5cm);

\draw[name intersections=of=upward line and sloped line, by=tan];

Page 20: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-20

Unsichtbare Pfade

\path[name path=upward line](1,0) -- (1,1);

\path[name path=sloped line](0,0) -- (30:1.5cm);

\path[name intersections=of=upward line and sloped line, by=tan];

Page 21: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-21

Schnittpunkte von Pfaden verwenden

\draw[very thick,orange](1,0) -- (tan);

\draw(0,0) -- (tan);

Page 22: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-22

Beschriftungen

sinα

cosα

\draw[very thick,red](30:1cm) -- node[left]$\sin \alpha$ (30:1cm |- 0,0);

\draw[very thick,blue](0,0) -- node[below]$\cos \alpha$ (30:1cm |- 0,0);

Page 23: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-23

Beschriftungen der Achsen

x

y

1

1

sinαcosα

\draw[->] (0,0) -- (1.5,0) node[right] $x$;\draw[->] (0,0) -- (0,1.5) node[above] $y$;\draw (1,1pt) -- (1,-1pt) node[below] $1$;\draw (1pt,1) -- (-1pt,1) node[left] $1$;

Page 24: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-24

Vollständiges Beispielexamples/pfade.tex

x

y

1

1

α

sinα

cosα

tanα= sinαcosα

Page 25: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

Graphen

Johannes

Page 26: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-26

Wofür Knoten?

I Wir können jetzt alles zeichnen.I Viele Zeichnungen basieren auf Graphen, bestehen also

aus Knoten und Kanten.I AutomatenI UML-DiagrammeI StoffwechselwegeI Ablaufdiagramme

I Solche Diagramme mit Kreisen und Linien zu zeichnenerzeugt unübersichtlichen und schlecht wartbarenLATEX-Code.

Page 27: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-27

Ein zweites Beispiel

Eingabe a,b

r = a mod b

a= b, b= r

b= 0?

Ausgabe aJa

Nein

Page 28: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-28

Knoten sind Pfadelemente.

Eingabe a,b

r = a mod b

a= b, b= r

b= 0?

Ausgabe a

\path(0,4) node Eingabe $a,b$(0,3) node $r=a \mod b$(0,2) node $a=b,\ b=r$(0,1) node $b=0?$(0,0) node Ausgabe $a$;

Page 29: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-29

Knoten haben einen eigenen Befehl.

Eingabe a,b

r = a mod b

a= b, b= r

b= 0?

Ausgabe a

\node at (0,4) ...;\node at (0,3) ...;\node at (0,2) ...;\node at (0,1) ...;\node at (0,0) ...;

Page 30: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-30

Knoten haben Stile.Ein- und Ausgabe

Eingabe a,b

\begintikzpicture[io/.style=trapezium,trapezium left angle=70,trapezium right angle=110,fill=magenta!10, draw=magenta, thick]

\node[io] Eingabe $a,b$;\endtikzpicture

Page 31: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-31

Knoten haben Stile.Operationen

r = a mod b

\begintikzpicture[op/.style=rectangle,fill=orange!10, draw=orange, thick]

\node[op] $r=a \mod b$;\endtikzpicture

Page 32: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-32

Knoten haben Stile.Entscheidungen

b= 0?

\begintikzpicture[cn/.style=diamond,aspect=2, inner sep=2pt,fill=red!10, draw=red, thick]

\node[cn] $b=0?$;\endtikzpicture

Page 33: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-33

Knoten haben Namen.

Eingabe a,b

r = a mod b

a= b, b= r

b= 0?

Ausgabe a

\node[io] at (0,4)(in) Eingabe $a,b$;

\node[op] at (0,3)(div) $r=a \mod b$;

\node[op] at (0,2)(set) $a=b,\ b=r$;

\node[cn] at (0,1)(cond) $b=0?$;

\node[io] at (0,0)(out) Ausgabe $a$;

Page 34: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-34

Knoten relativ positionieren

Eingabe a,b

r = a mod b

a= b, b= r

b= 0?

Ausgabe a

\node[io](in) Eingabe $a,b$;

\node[op, below=of in](div) $r=a \mod b$;

\node[op, below=of div](set) $a=b,\ b=r$;

\node[cn, below=of set](cond) $b=0?$;

\node[io, below=of cond](out) Ausgabe $a$;

Page 35: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-35

Kanten

Eingabe a,b

r = a mod b

a= b, b= r

b= 0?

Ausgabe a

\path[->](in) edge (div)(div) edge (set)(set) edge (cond)(cond) edge (out);

Page 36: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-36

Ein Pfad um die Ecke

Eingabe a,b

r = a mod b

a= b, b= r

b= 0?

Ausgabe a

\draw[->](cond) -- ++(1.5,0)

|- (div);

Page 37: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-37

Beschriftete Kantenexamples/knoten.tex

Eingabe a,b

r = a mod b

a= b, b= r

b= 0?

Ausgabe aJa

Nein

\path[->](cond) edgenode[right] Ja(out);

\draw[->] (cond) --node[below] Nein++(1.5,0) |- (div);

Page 38: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-38

Automaten

q0start

q1 q20

01

0

\tikz[auto, thick]\node[initial, state] (q0) $q_0$;

\node[state, right=of q0] (q1) $q_1$;\node[state, accepting, right=of q1](q2) $q_2$;

\path (q0) edge[->] node 0 (q1)(q1) edge[->, loop above] node 0 ()

edge[->, bend left] node 1 (q2)(q2) edge[->, bend left] node 0 (q1);

Page 39: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-38

Automaten

q0start q1

q2

0

0

1

0

\tikz[auto, thick]\node[initial, state] (q0) $q_0$;\node[state, right=of q0] (q1) $q_1$;

\node[state, accepting, right=of q1](q2) $q_2$;

\path (q0) edge[->] node 0 (q1)(q1) edge[->, loop above] node 0 ()

edge[->, bend left] node 1 (q2)(q2) edge[->, bend left] node 0 (q1)

;

Page 40: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-38

Automaten

q0start q1 q20

01

0

\tikz[auto, thick]\node[initial, state] (q0) $q_0$;\node[state, right=of q0] (q1) $q_1$;\node[state, accepting, right=of q1](q2) $q_2$;

\path (q0) edge[->] node 0 (q1)(q1) edge[->, loop above] node 0 ()

edge[->, bend left] node 1 (q2)(q2) edge[->, bend left] node 0 (q1);

Page 41: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-39

Bäumeexamples/baum.tex

a

b e

c d f g

\node a

child node bchild node c child node d

child node echild node f child node g

;

Page 42: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-39

Bäumeexamples/baum.tex

a

b

e

c d f g

\node achild node b

child node c child node d

child node echild node f child node g

;

Page 43: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-39

Bäumeexamples/baum.tex

a

b

e

c d

f g

\node achild node bchild node c child node d

child node echild node f child node g

;

Page 44: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-39

Bäumeexamples/baum.tex

a

b e

c d

f g

\node achild node bchild node c child node d

child node e

child node f child node g

;

Page 45: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-39

Bäumeexamples/baum.tex

a

b e

c d f g

\node achild node bchild node c child node d

child node echild node f child node g

;

Page 46: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

Fortgeschrittene Verwendung

Johannes

Page 47: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-41

Beispiel eines Funktionsplotsexamples/funktionen.tex

x

f(x)

1 2 3 4−1

0

1

2

3

f(x) = x3

f(x) = sinx

f(x) = ex

50

Page 48: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-42

Funktionen plotten

\draw[blue,domain=0:5] plot (\x,sin(\x r));\draw[orange,domain=0:4] plot (\x,exp(\x)/50);

Page 49: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-43

Koordinatensystem

x

f(x)

\draw[very thin,gray] (0,-1.4) grid (4.9,1.4);\draw[->] (0,0) -- (5.2,0) node[right] $x$;\draw[->] (0,-1.5) -- (0,1.5) node[above]$f(x)$;

Page 50: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-44

Beschriftung der Achsen

x

f(x)

1 2 3 4−1

0

1

\foreach \x in 1,...,4\draw (\x cm,2pt) -- (\x cm,-2pt)node[below,fill=white] $\x$;

\foreach \y in -1,...,1\draw (2pt,\y cm) -- (-2pt,\y cm)node[left,fill=white] $\y$;

Page 51: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-45

Beschriftung der Graphen

x

f(x)

1 2 3 4−1

0

1

f(x) = sinx

f(x) = ex

50

\draw[blue,domain=0:5] plot (\x,sin(\x r))node[right] $f(x) = \sin x$;

\draw[orange,domain=0:4] plot (\x,exp(\x)/50)node[right, fill=white]$f(x) = \frace^x50$;

Page 52: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-46

Computer science mindmapAutor: Till Tantau

Computer Science practical

algorithms

datastructures

pro-gramminglanguages

softwareengineer-

ing

applied

databases

WWW

technical

theoretical

Page 53: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-47

A family treeAutor: Stefan Kottwitz

Jim Jane

Alfred

Joe

Heather

Barbara

Berta

Howard

Charles Doris

Nick

Liz

Page 54: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-48

Circuit librariesAutor: Till Tantau

. . .

. . .

ι

R= 4 Ω

8 V

2 Ω

1 Ω 3 Ω

4 Ω

3 V

3 Ω

Page 55: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-49

BER measurement on fibre optical systemAuthor: Jose Luis Diaz

PowerMeter

Laser MOD SOA VOA

VOA QDSOA

PowerMeter SOA Rx Error

Detector

10%

90%

10%90%

Isolator Filter

Polarisationcontroller

10Gb/s PRBS

Transmitter

Receiver

Page 56: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-50

Map of a HiSPARC detectorAutor: David Fokkema

195 m

13 m

195m

13m

Page 57: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-51

Lipid vesicleAutor: Henrik Skov Midtiby

Micelle

Inverted micelle

Lipid bilayer Vesicle

Page 58: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-52

Daniell’s pileAutor: Agustin E. Bolzan

Cu

CuSO4

KNO3

VZn

ZnSO4

Page 59: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-53

Membrane-like surfaceAutor: Yotam Avital

Page 60: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-54

Christmas fractal treeAutor: Andrew Stacey

Page 61: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-55

Zusammenfassung

1. TikZ-Zeichnungen bestehen aus Pfaden, die überKoordinaten definiert werden.

2. Fast alle scheamtischen Zeichnungen sind ein Graph,bestehen also aus Knoten und Kanten und werden auchals solche in TikZ gezeichnet.

3. TikZ ist sehr umfangreich und enthält sehr vieleBibliotheken.

4. Bei Problemen und Fragen lies die Anleitung!

Page 62: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-56

Zum Weiterlesen

Till Tantau.The TikZ and pgf Packages,Manual for version 2.10,pgfmanual.pdf, Oktober 2010.

Kjell Magne Fauske und Stefan Kottwitz.TEXample.net,ample resources for TeX users,texample.net.

Page 63: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

Ausblick

Johannes

Page 64: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-58

Was ist BEAMER?

I Dokumentenklasse für LATEX für die Erzeugung vonPräsentationen.

I Keine eigene und keine graphische Anwendung.I BEAMER ist in vielen TEX-Distributionen enthalten.

(Es kann direkt losgehen.)

Page 65: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-59

Funktionsweise von BEAMER

I Kompilieren wie jedes andere LATEX-Dokument auch.I Normale LATEX-Kommandos funktionieren.I Sinnvolles funktionales Aussehen von Vorträgen.I Einfaches Ein- und Ausblenden von Seitenteilen.I Automatische Gliederungen und Navigationsleisten.I Präsentationen im PDF-Format können auf jedem

Computer dargestellt werden.

Page 66: LATEX - mlte.de · LATEX Zeichnenmit TikZ Malte&Johannes ZieleundInhalt Einführung Verwendung Pfade Knoten Graphen Knoten Automaten Bäume Fortgeschrittene Verwendung ...

LATEXZeichnen mit

TikZ

Malte & Johannes

Ziele und Inhalt

EinführungVerwendung

Pfade

Knoten

GraphenKnoten

Automaten

Bäume

FortgeschritteneVerwendungFunktionen plotten

Showcase

Zusammenfassung

Ausblick

2-60

Website

mlte.de/latexI diese Präsentation, das Skript zum Vortrag,I Beispieldokumente, Links zu weiteren Quellen undI der Link zum Github-Repository