Grafiken mit TikZ LATEX-Kurs der Unix-AG Klemens Schmitt 17.06.2015 TikZ Libraries Pakete aufbauend auf TikZ Zusammenfassung und Ausblick Klemens Schmitt Grafiken mit TikZ 17.06.2015 2 / 59 TikZ Einbindung Linien Formen und Füllungen Farben Hilfslinien und Zuschneiden Stile und Punkte Flussdiagramme und Beschriftungen Auf andere Grafiken zugreifen Schleifen und Verzweigungen Libraries Pakete aufbauend auf TikZ Zusammenfassung und Ausblick Klemens Schmitt Grafiken mit TikZ 17.06.2015 3 / 59 TikZ TikZ I Bisher: externe Grafiken einbinden I I \includegraphics-Befehl TikZ - TikZ ist kein Zeichenprogramm I Grafiken in LATEX programmieren Alternativen und Hilfen I PSTricks (TikZ für Postscript) I externe Grafikprogramme mit TikZ-Export (Inkscape, Matlab, . . . ) I WYSIWYG-Editoren für TikZ (TikZEdt, QTikZ, . . . ) Klemens Schmitt Grafiken mit TikZ 17.06.2015 4 / 59 TikZ Vorteile I Vektorgrafik I genaue Kontrolle über Positionierung I programmierbar, spart Arbeit I I fertige Befehle/Bausteine für technische“ Zeichnungen ” globale Stildefinitionen I gleiche Schriftart wie Dokument Nachteile I steile Lernkurve I schlecht für Fotos, Bildmanipulation I lange Kompilierzeit Klemens Schmitt Grafiken mit TikZ 17.06.2015 5 / 59 TikZ Einbindung Prämbel I \usepackage{tikz} I \usetikzlibrary{...} Im Dokument I \tikz <Befehle> oder I \begin{tikzpicture}<Befehle>\end{tikzpicture} I Befehle enden immer auf ; Klemens Schmitt Grafiken mit TikZ 17.06.2015 6 / 59 TikZ Linien I \draw 1 2 3 erzeugt Linien: \ begin { tikzpicture } \ draw (0 ,0) -- (0 ,2) -- (1 ,3.25) -- (2 ,2) -- (2 ,0) -(0 ,2) -- (2 ,2) -- (0 ,0) -- (2 ,0) ; \ end { tikzpicture } Klemens Schmitt Grafiken mit TikZ 17.06.2015 7 / 59 TikZ Linien Optionen 1 2 3 I entweder \begin{tikzpicture}[<Optionen>] I oder \draw[<Optionen>] \ begin { tikzpicture }[ thick , rounded corners =8 pt , scale =.8] \ draw (0 ,0) -- (0 ,2) -- (1 ,3.25) -- (2 ,2) -- (2 ,0) -(0 ,2) -- (2 ,2) -- (0 ,0) -- (2 ,0) ; \ end { tikzpicture } Klemens Schmitt Grafiken mit TikZ 17.06.2015 8 / 59 TikZ Linien Formen I normale Linie -- I nur rechtwinklige Wege -| bzw |- I Kreisbögen arc (<start>:<end>:<radius>) oder arc [start angle=<start>, end angle=<end>, radius=<radius>] I cos, sin I Parabeln (<Startpunkt>)parabola bend (<Scheitel>)(<Endpunkt>) I Bézier (<Punkt>).. controls (<Punkt>)and (<Punkt>).. (<Punkt>) Stil I solid, dotted, dashed Klemens Schmitt Grafiken mit TikZ 17.06.2015 9 / 59 TikZ Linien 1 2 3 4 5 6 \ begin { tikzpicture }[ ultra \ draw (0 ,0) .. controls \ draw [ dashed ] (0 ,0) -\ draw (3 ,0) -| (4 ,1) ; \ draw [ dotted ] (3 ,0) -\ end { tikzpicture } Klemens Schmitt thick ] (1 ,1) and (2 ,1) .. (2 ,0) ; (1 ,1) (2 ,1) -- (2 ,0) ; (4 ,1) ; Grafiken mit TikZ 17.06.2015 10 / 59 TikZ Linien I 1 2 3 4 geschlossene Kurven mit cycle \ begin { tikzpicture }[ line width =7 pt , rounded corners =14 pt ] \ draw (0 ,0) -- (1.5 ,0) -- (1.5 ,1.5) -- (0 ,0) ; \ draw (2 ,0) -- (3.5 ,0) -- (3.5 ,1.5) -- cycle ; \ end { tikzpicture } Klemens Schmitt Grafiken mit TikZ 17.06.2015 11 / 59 TikZ Formen und Füllungen 1 2 3 4 5 6 7 \ begin { tikzpicture }[ line width =3 pt ] \ fill (0 ,0) rectangle (1 ,1) ; \ filldraw [ fill = red , draw = blue ] (2 ,0) rectangle (3 ,1) ; \ shade (4.5 ,.5) ellipse (1 cm and .5 cm ) ; \ shadedraw [ left color = green , right color = blue ] (6.5 ,.5) circle (.5 cm ) ; \ shade [ ball color = red ] (8.5 ,.5) circle (.5 cm ) ; \ end { tikzpicture } Klemens Schmitt Grafiken mit TikZ 17.06.2015 12 / 59 TikZ Farben Farben I Paket xcolor (auch ohne TikZ, \color...) I vordefinierte Farben: red, blue, . . . Farbe definieren \definecolor{meinefarbe}{<model>}{<Werte>} I I I I I rgb/RGB cymk HTML Mischen mit <Farbe1>!<Prozentwert>!<Farbe2> \color{gray}{...} \color[wave]{532}{...} \definecolor{meinblau}{RGB}{0,0,127} \color{yellow!50!red}{...} Klemens Schmitt Grafiken mit TikZ 17.06.2015 13 / 59 TikZ Hilfslinien und Zuschneiden 1 2 3 4 5 6 7 \ begin { tikzpicture } \ draw [ step =.5 cm , gray , very thin ] ( -1.4 , -1.4) grid (1.4 ,1.4) ; \ begin { scope }[ green ] \ clip [ draw ] (3 ,0) circle (1.5 cm ) ; \ draw [ step =.5 cm , gray , very thin ] (4.4 , -1.4) grid (1.6 ,1.4) ; \ end { scope } \ end { tikzpicture } Klemens Schmitt Grafiken mit TikZ 17.06.2015 14 / 59 TikZ Stile und Punkte Stile definieren I mystyle als Zusammenfassung mehrerer Eigenschaften: I \tikzstyle{mystyle}=[<Stil>] I (ausserhalb der Umgebung) oder \begin{tikzpicture}[mystyle/.style={<Stil>}] Punkte definieren I Punkte mit Namen versehen: I \coordinate (<Name>)at (<Koordinaten>) I oder \draw (<Punkt>)coordinate (<Name>)...; Klemens Schmitt Grafiken mit TikZ 17.06.2015 15 / 59 TikZ Stile und Punkte 1 2 3 4 5 \ tikzstyle { mystyle }=[ blue , line width =10 pt ] \ begin { tikzpicture }[ mystyle 2/. style ={ line join = bevel }] \ coordinate ( Ecke ) at (0 ,1) ; \ draw [ mystyle , mystyle 2] (0 ,0) -- ( Ecke ) -- (1 ,1) ; \ end { tikzpicture } Klemens Schmitt Grafiken mit TikZ 17.06.2015 16 / 59 TikZ Flussdiagramme und Beschriftungen Nodes 1 2 3 4 5 6 I Beschriftungen mit \node at (<Punkt>)[<Optionen>] {<Text>}; I Position above,below,left,right I Position auf Linien at end/start, (very)near end/start, midway \ begin { tikzpicture } \ fill [ gray ] (0 ,0) circle (.1 cm ) ; \ node at (0 ,0) [ rotate =30] { Text }; \ fill [ gray ] (2 ,0) circle (.1 cm ) node [ left ] {\ LaTeX }; \ draw (3 ,0) -- (4 ,0) node [ midway , above ] { Linie }; \ end { tikzpicture } xt Te Klemens Schmitt LATEX Grafiken mit TikZ Linie 17.06.2015 17 / 59 TikZ Flussdiagramme und Beschriftungen 1 2 3 4 5 6 7 8 9 10 \ tikzstyle { mycircle }=[ circle , draw , thick ] \ tikzstyle { myrect }=[ rectangle , draw , thick ] \ begin { tikzpicture } \ node [ mycircle ] ( oben ) {\ tiny O }; \ node [ mycircle ] ( mitte ) [ below of = oben ] {\ tiny M }; \ node [ myrect ] ( rechts ) [ right of = mitte ] {\ tiny R }; \ node [ myrect ] ( links ) [ left of = mitte ] {\ tiny L } edge [ - > , bend left =45] ( oben ) edge [ < -] ( oben ) ; \ end { tikzpicture } O L Klemens Schmitt M Grafiken mit TikZ R 17.06.2015 18 / 59 TikZ Auf andere Grafiken zugreifen I Bildposition ausserhalb des Bildes merken: I I Bilder ohne eigenen Platzbedarf: I 1 2 3 remember picture overlay Ein roter Punkt \ tikz [ remember picture ] \ node [ circle , fill = red ] ( node 1) {}; im Text \\ und ein blaues Rechteck \ tikz [ remember picture ] \ node [ fill = blue ] ( node 2) {};\\ und ein Pfeil \ tikz [ remember picture , overlay ] \ draw [ - > , very thick , gray ] ( node 1) to [ bend right =30] ( node 2) ; Ein roter Punkt im Text und ein blaues Rechteck Klemens Schmitt Grafiken mit TikZ 17.06.2015 19 / 59 TikZ Auf andere Grafiken zugreifen I Bildposition ausserhalb des Bildes merken: I I Bilder ohne eigenen Platzbedarf: I 1 2 3 remember picture overlay Ein roter Punkt \ tikz [ remember picture ] \ node [ circle , fill = red ] ( node 1) {}; im Text \\ und ein blaues Rechteck \ tikz [ remember picture ] \ node [ fill = blue ] ( node 2) {};\\ und ein Pfeil \ tikz [ remember picture , overlay ] \ draw [ - > , very thick , gray ] ( node 1) to [ bend right =30] ( node 2) ; Ein roter Punkt im Text und ein blaues Rechteck und ein Pfeil Klemens Schmitt Grafiken mit TikZ 17.06.2015 19 / 59 TikZ Auf andere Grafiken zugreifen Hintergrundbilder I page.<Ort> 1 2 3 4 als Eckpunkte der Seite \ begin { tikzpicture }[ remember picture , overlay ] \ draw [ line width =1 mm , opacity =.25] ( current page . north east ) -- ( current page . south west ) ; \ draw [ line width =1 mm , opacity =.25] ( current page . center ) circle (3 cm ) ; \ end { tikzpicture } Klemens Schmitt Grafiken mit TikZ 17.06.2015 20 / 59 TikZ Schleifen und Verzweigungen Klemens Schmitt Grafiken mit TikZ 17.06.2015 21 / 59 TikZ Schleifen und Verzweigungen I \usepackage{ifthen} 1 2 3 4 5 6 7 8 9 10 11 12 13 \ begin { tikzpicture }[ scale =0.6] \ path (0 ,0) coordinate ( A ) (12 ,0) coordinate ( B ) (12 ,12) coordinate ( C ) (0 ,12) coordinate ( D ) ; \ foreach \ i in {1 ,... ,14}{ \ ifthenelse {\ isodd {\ i }}{\ def \ farbe { black }}{\ def \ farbe { red }} \ draw [ fill =\ farbe ] ( A ) - -( B ) - -( C ) - -( D ) -- cycle ; \ path ( A ) coordinate ( TMP ) ; \ path ( A ) - -( B ) coordinate [ near end ] ( A ) - -( C ) coordinate [ near end ] ( B ) - -( D ) coordinate [ near end ] ( C ) - -( TMP ) coordinate [ near end ] ( D ) ; } \ end { tikzpicture } Klemens Schmitt Grafiken mit TikZ 17.06.2015 22 / 59 TikZ Libraries arrows, decorations calc intersections shapes spy external weitere Pakete aufbauend auf TikZ Zusammenfassung und Ausblick Klemens Schmitt Grafiken mit TikZ 17.06.2015 23 / 59 Libraries Bibliotheken I erweitern Funktionsumfang I einbinden mit \usetikzlibrary{...} I falls Beispiele nicht kompilieren, eventuell Libraries einbinden Klemens Schmitt Grafiken mit TikZ 17.06.2015 24 / 59 Libraries arrows, decorations Dekorationen I Verzierungen von Linien I I I I saw zigzag snake I I coil brace expading waves Pfeilspitzen I als Option von Linien [<->] I Form globaler festlegen [>=*] I I I * o ) Klemens Schmitt I I I Grafiken mit TikZ angle 45 triangle 60 diamond 17.06.2015 25 / 59 Libraries arrows, decorations 1 2 3 4 5 \ usetikzlibrary { decorations , decorations . text } \ begin { tikzpicture }[ line width =.1 cm ] \ draw [ decorate , decoration ={ text along path , text ={ angepasster Text } , text align ={ fit to path stretching spaces }}] (0 ,0) arc (120:60:3) ; \ draw [ - > , rotate around ={30:(5 ,0) } , decorate , decoration ={ snake , amplitude =1 cm , segment length =1 cm , post length =.5 cm , pre length =1 cm }](5 ,0) -- (8 ,0) ; \ end { tikzpicture } epasster ang Klemens Schmitt Tex t Grafiken mit TikZ 17.06.2015 26 / 59 Libraries calc Koordinatensysteme I Kartesisch (<x>,<y>,<z>) I Polar (<Winkel>:<Länge>) Koordinatenangaben I I I I I Absolut (<x>,<y>) Relativ +(<x>,<y>) Relativ (setzt Bezugspunkt neu) ++(<x>,<y>) Relativer Winkel ([turn]<Winkel>:<Länge>) Calc-Library I Verschiedene Koordinatenangaben mischen: ($ ... $) Klemens Schmitt Grafiken mit TikZ 17.06.2015 27 / 59 Libraries calc 1 2 3 4 5 6 7 8 9 \ usetikzlibrary { calc } \ begin { tikzpicture }[ thick ] \ draw [ help lines ] (0 ,0) grid (6 ,2) ; \ draw [ red ](0 ,1) -- +(1 ,1) -- +(1 , -1) -- ++(2 ,1) -- +(1 , -1) ; \ coordinate ( A ) at ( $ (5 ,0) +(120:2) $ ) ; \ coordinate ( B ) at (5 ,0) ; \ draw [ blue ] ( A ) -- ( B ) -- ([ turn ](90:1 cm ) ; \ fill [ green ] ( $ ( A ) !.6!( B ) $ ) circle (.1 cm ) ; \ end { tikzpicture } Klemens Schmitt Grafiken mit TikZ 17.06.2015 28 / 59 Libraries calc weitere Koordinatensysteme, spezielle Punkte 1 2 3 4 5 6 I Relative Koordinaten in nodes node cs I Tangenten an Kurven tangent cs I Schnittpunkte von Kurven I spezielle Punkte von vordefinierten Strukturen \ begin { tikzpicture }[ line cap = rect ] \ coordinate ( a ) at (0 ,0) ; \ node [ circle , draw ] ( c ) at (1 ,0) [ minimum size =1 cm ]{}; \ draw ( tangent cs : node =c , point ={( a ) } , solution =1) -- ( a ) ; \ draw ( tangent cs : node =c , point ={( a ) } , solution =2) -- ( a ) ; \ end { tikzpicture } Klemens Schmitt Grafiken mit TikZ 17.06.2015 29 / 59 Libraries intersections 1 2 3 4 5 6 7 8 \ usetikzlibrary { intersections } \ begin { tikzpicture }[ every node /. style ={ opacity =1 , black , above left }] \ draw [ name path = elli ] (1.5 ,0) ellipse (0.75 cm and 1 cm ) ; \ draw [ name path = rect , rotate =10] (0 ,0) rectangle +(2 ,1) ; \ fill [ red , opacity =0.5 , name intersections ={ of = elli and rect }] ( intersection -1) circle (2 pt ) node {1} ( intersection -2) circle (2 pt ) node {2}; \ end { tikzpicture } 1 2 Klemens Schmitt Grafiken mit TikZ 17.06.2015 30 / 59 Libraries shapes shapes I vorgefertigte Formen I 1 2 3 4 5 6 Polygone, Halbkreise, Sterne, . . . \ begin { tikzpicture } \ foreach \ a in {3 ,... ,7}{ \ draw [ blue , dashed ] (\ a *2 ,0) circle (0.5 cm ) ; \ node [ regular polygon , regular polygon sides =\ a , minimum size =1 cm , draw ] at (\ a *2 ,0) {}; } \ end { tikzpicture } Klemens Schmitt Grafiken mit TikZ 17.06.2015 31 / 59 Libraries shapes 1 2 3 4 5 6 7 8 \ usetikzlibrary { shapes } \ tikzstyle { mybox }=[ draw = red , fill = gray !20 , very thick , rectangle , rounded corners , inner sep =15 pt ] \ tikzstyle { ftitle }=[ fill = red , text = white , ellipse ] \ begin { tikzpicture } \ node [ mybox , text width =3 cm ] ( box ) { Ein Text mit Formel $ e = mc ^2 $ .}; \ node [ ftitle ] at ( box . north ) { Frame }; \ end { tikzpicture } Frame Ein Text mit Formel e = mc2 . Klemens Schmitt Grafiken mit TikZ 17.06.2015 32 / 59 Libraries spy 1 2 3 4 5 6 \ usetikzlibrary { spy , decorations . fractals } \ begin { tikzpicture }[ spy using overlays ={ size =12 mm }] \ draw [ decoration = Koch snowflake ] decorate { decorate { decorate { decorate {(0 ,0) - -(2 ,0) }}}}; \ spy [ green , magnification =3] on (0.6 ,0.1) in node at (3 ,0) ; \ end { tikzpicture } Klemens Schmitt Grafiken mit TikZ 17.06.2015 33 / 59 Libraries external Grafiken auslagern I schnelleres Übersetzen (nur neue Bilder) I 1 2 braucht Shellzugriff: pdflatex -shell-escape <Jobname> I Grafiken auch als Datei für andere Zwecke verwenden I einzelne Bilder deaktivieren mit \tikzexternaldisable/enable \ usetikzlibrary { external } \ tikzexternalize [ < Optionen >] Optionen prefix Speicherordner (eventuell mit \tikzsetnextfilename{<Name>}) mode shell-escape oder Makefile Klemens Schmitt Grafiken mit TikZ 17.06.2015 34 / 59 Libraries external standalone-Dokumente 1 2 3 4 5 6 I Bisher: Tikz für Grafiken im LATEX-Dokument I So bekommt man die Grafiken aus dem Dokument heraus (gut zum Testen): \ documentclass [ tikz , border =0 pt ]{ standalone } \ begin { document } \ begin { tikzpicture } % Grafikbefehle \ end { tikzpicture } \ end { document } Klemens Schmitt Grafiken mit TikZ 17.06.2015 35 / 59 Libraries weitere Grafiken einbinden I I externe (Pixel)grafiken einbinden einmal definieren, oft verwender (kleinere PDFs) I I 1 2 3 4 \pgfdeclareimage[<Optionen>]{<Name>}{<Datei>} \pgfuseimage{<Name>} \ pgfdeclareimage [ width =2 cm ]{ Logo }{ UnixAG } \ begin { tikzpicture } \ node at (0 ,0) {\ pgfuseimage { Logo }}; \ end { tikzpicture } Klemens Schmitt Grafiken mit TikZ 17.06.2015 36 / 59 Libraries weitere Weitere Libraries calendar Kalender erstellen fadings Transparenz, Verläufe mindmap für Mindmaps folding Bastelausschneidebögen pattern Füllungen shadings weitere Farbverläufe shadows Schatten tree Bäume ... Klemens Schmitt Grafiken mit TikZ 17.06.2015 37 / 59 TikZ Libraries Pakete aufbauend auf TikZ pgfplots chemfig CircuitTikZ Zusammenfassung und Ausblick Klemens Schmitt Grafiken mit TikZ 17.06.2015 38 / 59 Pakete aufbauend auf TikZ pgfplots Nur TikZ I einfache Plots I I \tikz \draw plot[<Optionen>] file {<Daten.dat>}; kompliziert I \datavisualization mit Library pgfplots I \usepackage{pgfplots} I reltaiv einfach zu bedienen I mächtig I Achtung: Speicherhungrig, eventuell mit Paket etex Klemens Schmitt Grafiken mit TikZ 17.06.2015 39 / 59 Pakete aufbauend auf TikZ pgfplots Datenformat 1 2 3 4 5 6 7 I geht inline, besser: externe Dateien I einfache Textdateien I exportiert aus Excel, Matlab, o.ä. x y # sinus . dat 0 0 0.3306 0.3246 0.6613 0.6142 ... 6.2831 0 Klemens Schmitt Grafiken mit TikZ 17.06.2015 40 / 59 Pakete aufbauend auf TikZ pgfplots 1 2 3 4 5 \ begin { tikzpicture }[ scale =.8] \ begin { axis }[ only marks ] \ addplot table { sinus . dat }; \ end { axis } \ end { tikzpicture } 1 0.5 0 −0.5 −1 0 Klemens Schmitt 2 Grafiken mit TikZ 4 6 17.06.2015 41 / 59 Pakete aufbauend auf TikZ pgfplots 1 2 3 4 5 6 7 \ pgfplotsset {/ pgf / number format / use comma } \ begin { tikzpicture }[ scale =.7] \ begin { axis } \ addplot [ only marks , red ] table { sinus . dat }; \ addplot [ domain =0:2* pi , smooth ]{ cos ( deg ( x ) ) }; \ end { axis } \ end { tikzpicture } 1 0,5 0 −0,5 −1 0 Klemens Schmitt 2 4 Grafiken mit TikZ 6 17.06.2015 42 / 59 Pakete aufbauend auf TikZ pgfplots Gnuplot I Volle Gnuplot-Funktionalität I I Fitten Rechnen I pdflatex -shell-escape <Jobname> 1 2 3 4 5 6 7 8 9 10 \ begin { tikzpicture }[ scale =.7] \ begin { axis } \ addplot +[ raw gnuplot , mark = none ] gnuplot { f ( x ) = a * sin ( b * x ) ; a =.5; b =.5; fit f ( x ) ’ sinus . dat ’ u 1:2 via a , b ; plot [ x = - pi : pi ] f ( x ) ; }; \ end { axis } \ end { tikzpicture } Klemens Schmitt Grafiken mit TikZ 17.06.2015 43 / 59 Pakete aufbauend auf TikZ pgfplots 1 0.5 0 −0.5 −1 −2 Klemens Schmitt 0 Grafiken mit TikZ 2 17.06.2015 44 / 59 Pakete aufbauend auf TikZ pgfplots andere Achsen Logarithmisch Ploar Smith-Chart 1 2 3 4 5 6 7 \begin{} \usepgfplotslibrary{} loglogaxis semilogyaxis ploaraxis smithchart polar smithchart \ usepgfpl otslibrary { smithchart } ... \ begin { tikzpicture } \ begin { smithchart }[ width =14 cm ] \ addplot coordinates {(0.5 ,0.2) (1 ,0.8) (2 ,2) }; \ end { smithchart } \ end { tikzpicture } Klemens Schmitt Grafiken mit TikZ 17.06.2015 45 / 59 Pakete aufbauend auf TikZ 2 1.5 0.9 1 0.7 0.8 0.6 0.5 pgfplots 0. 4 0.3 3 0.2 4 5 0.1 0 0.1 0.2 0.3 0.4 0.5 1 −0.1 2 3 4 5 10 10 2020 −10 −20 2 −0. Klemens Schmitt 1.5 Grafiken mit TikZ 17.06.2015 46 / 59 Pakete aufbauend auf TikZ pgfplots 3D-Plots I \addplot3 {<Funktion>}; 1 2 3 4 5 6 \ begin { tikzpicture } \ begin { axis }[ view ={60}{30} , xlabel = $ x $ , ylabel = $ y $ , title =3 D - Plot ] \ addplot 3 [ surf ] { - x ^2 - y ^2}; \ end { axis } \ end { tikzpicture } Klemens Schmitt Grafiken mit TikZ 17.06.2015 47 / 59 Pakete aufbauend auf TikZ pgfplots 3D-Plot 0 −20 −40 −5 0 x Klemens Schmitt 5 −4 −2 Grafiken mit TikZ 2 0 4 y 17.06.2015 48 / 59 Pakete aufbauend auf TikZ pgfplots Legenden I mit legend entries-Option der axis-Umgebung I mit \addlegendentry nach \addplot Formatierung I I I I legend style legend pos legend columns Referenzen I mit \label und \ref Klemens Schmitt Grafiken mit TikZ 17.06.2015 49 / 59 Pakete aufbauend auf TikZ pgfplots 1 2 3 4 5 6 7 8 9 10 11 12 \ begin { tikzpicture } \ begin { axis }[ domain =0:2* pi , smooth , legend pos = outer north east , legend entries ={ Sin , Cos } , grid = major , extra x ticks ={3.14} , extra x tick labels ={ $ \ pi $ }] \ addplot [ error bars / y dir = both , error bars / y explicit ] table [ x index =0 , y index =1 , y error index =1] { sinus . dat };\ label { legend : sin } \ addplot { cos ( deg ( x ) ) };\ label { legend : cos } \ end { axis } \ end { tikzpicture } Das sind Sinus \ ref { legend : sin } und Kosinus \ ref { legend : cos }. Klemens Schmitt Grafiken mit TikZ 17.06.2015 50 / 59 Pakete aufbauend auf TikZ pgfplots Sin Cos 2 1 0 −1 −2 0 Das sind Sinus Klemens Schmitt π 2 und Kosinus 4 6 . Grafiken mit TikZ 17.06.2015 51 / 59 Pakete aufbauend auf TikZ pgfplots Weitere pgfplotslibraries clickable Koordinaten anzeigen lassen colormaps Weitere Farbschemata dateplot Für Datumsangaben als Achsen groupplot Matrizenanordnung von Plots statistics Für Verteilungen, Fehlergrenzen ... Klemens Schmitt Grafiken mit TikZ 17.06.2015 52 / 59 Pakete aufbauend auf TikZ chemfig ChemFig I Setzt chemische Strukturformeln I Bindungen - = ~ > I Position [0-7] oder :<Winkel> I Ringe mit <atom>*<n>(<andere Atome>) I Kann auch komplette Reaktionsmechanismen Klemens Schmitt Grafiken mit TikZ 17.06.2015 53 / 59 Pakete aufbauend auf TikZ chemfig 1 2 3 4 \ chemfig {H - C ~C - CH _3} \ chemfig {H - C (=[7] O ) ( -[1] OH ) } \ chemfig {H > C ( <:[:90] H ) ( <:[: -90] H ) <H } \ chemfig {*5( -= - O -=) } H C C H O Klemens Schmitt CH3 O H OH H C C H H Grafiken mit TikZ 17.06.2015 54 / 59 Pakete aufbauend auf TikZ CircuitTikZ CircuiTikZ I Für elektrische Schaltungen I auch Logikschaltungen I Eigene Umgebung circuitikz statt tikzpicture I \usepackage[european]{circuitikz} 1 \ draw (0 ,0) to [ vR , l = $ R _1 $ , i ^ >= $ i _1 $ ,o -*] (2 ,0) to [L , v = $ u _ L $ ] (4 ,0) to [C ,* - o ] (6 ,0) to [ pD ] (8 ,0) ; R1 i1 uL Klemens Schmitt Grafiken mit TikZ 17.06.2015 55 / 59 Pakete aufbauend auf TikZ CircuitTikZ 1 2 3 4 5 6 7 8 \ begin { circuitikz } \ draw (0 ,0) node [ op amp ] ( opamp ) {} ( opamp .+) node [ left ] { $ v _+ $ } ( opamp . -) node [ left ] { $ v _ - $ } ( opamp . out ) node [ right ] { $ v _ o $ } ( opamp . down ) node [ ground ]{} ( opamp . up ) -- ++(0 ,.5) node [ above ] {\ SI {15}{\ volt }}; \ end { circuitikz } 15 V v− − v+ + vo Klemens Schmitt Grafiken mit TikZ 17.06.2015 56 / 59 TikZ Libraries Pakete aufbauend auf TikZ Zusammenfassung und Ausblick Klemens Schmitt Grafiken mit TikZ 17.06.2015 57 / 59 Zusammenfassung und Ausblick Zusammenfassung I Grafiken programmieren mit TikZ I Funktionalität mit Bibliotheken erweitern I Graphen mit pgfplots Nächste Vorträge I Briefe und Lebensläufe I Interaktive PDFs Klemens Schmitt Grafiken mit TikZ 17.06.2015 58 / 59 Weiterlesen . . . Vielen Dank für eure Aufmerksamkeit! Danke an Klaus Denker für einige Beispiele. TikZ-Pakete Übersicht https://www.ctan.org/topic/pgf-tikz pgf/TikZ https://www.ctan.org/pkg/pgf xcolor https://www.ctan.org/pkg/xcolor pfgplots https://www.ctan.org/pkg/pgfplots circuitikz https://www.ctan.org/pkg/circuitikz chemfig https://www.ctan.org/pkg/chemfig Klemens Schmitt Grafiken mit TikZ 17.06.2015 59 / 59
© Copyright 2024 ExpyDoc