Start LaTeX Datenschutz Impressum



LaTeX Extra > LaTeX Pakete


Das kleine Buch der TikZ-Pakete Pakete & Bibliotheken

Da ich ständig in den Kursen erwähne, wie umfangreich das TikZ Ökosystem ist, und um wie viel einfacher es seien kann, das passende Paket anstelle von TikZ nativ zu verwenden, war es mehr als überfällig. Nun ist es fertig, und nein, gleich vorab, es umfasst nicht alle auf TikZ basierenden Pakete und Bibliotheken und sicher gibt es noch ganz viele andere Pakete und Bibliotheken. Daher auch der Titel: Das kleine Buch der TikZ-Pakete.

Es stellt außer meiner Sicht eine Zusammenfassung und einen Überblick über all jene Pakete und Bibliotheken dar, von denen Sie zumindest schon einmal etwas gehört haben sollten, wobei die Auswahl zugegebenermaßen rein subjektiv ist.

adigraphistgameprooftreestikz-layers
aobs-tikzJeuxCartesptolemaicastronomytikz-mirror-lens
battleshipjigsawPuyoTikZtikz-nef
bchartkarnaugh-mapquantikztikz-network
bearwearkarnaughmaprank-2-rootstikz-opm
binarytreekinematikzreotextikz-optics
blochsphereladderrobotarmtikz-page
bloxletterswitharrowssankeytikz-palattice
bodegraphlie-hasseschemabloctikz-relay
bodeplotliftarmscrabbletikz-sfc
bohrlogicpuzzlescratchtikz-swigs
bondgraphsmatrix-skeletonscratch3tikz-truchet
braidsmemorygraphsScratchXTikZbricks
byo-twemojismercatormapscsnowmantikzcodeblocks
calloutsnicematrixsetdeckTikZducks
cartonaughnimstickssimplenodestikzfill
causetsnl-intervalsimpleopticsTikZlings
celticoPlotSymblsmartdiagramtikzmark
chemfigpas-crosswordssnaptodoTikZmarmots
chemplantspas-tableurspectralsequencestikzpackets
chordbarspascaltrianglestanlitikzpagenodes
chordboxpenrosestrandstikzpeople
CircuiTikZpfdiconsstructmechtikzsymbols
codeanatomypgf-blursyntaxditipfr
coffeestainspgf-cmykshadingsticollegetkz-base
customdicepgf-interferencetikz-3dplottkz-fct
ddphonismpgf-PeriodicTabletikz-among-ustkz-graph
DPcirclingpgf-pieTikZ-Baguatkz-orm
fancyqrpgf-spectratikz-bayesnettoneval
fast-diagrampgf-umlcdtikz-bboxutfsym
figchildpgf-umlsdtikz-cdvenndiagram
flowchartpgfmorepagestikz-dependencywheelchart
forestpgfornament-hantikz-dimlinewitharrows
genealogytreepgfplotsTikZ-FeynHandworldflags
grafcetpinouTikZtikz-feynmanWriteOnGrid
gridpaperspixelarttikz-imagelabelsxistercian
harveyballsPixelArtTikztikz-kalenderyquant
havannahproflabotikz-ladderrulercompass

adigraph   top

Das adigraph Paket (Version v1.7.1 Dezember 2018) ermöglicht es gerichtete und ungerichtete Graphen zu zeichnen. Dabei können die Kanten und die Knoten beschriftet werden. Auch ist es möglich die Farbe und die Art der Verbindungen zwischen den Knoten zu verändern.
Das adigraph Paket wird mit \usepackage{adigraph} eingebunden. Das Paket verfügt zur Zeit über keine Optionen.

Mit den Befehlen \NewAdigraph{Name}{Knoten/Kanten} und \RenewAdigraph{Name}{(neue) Knoten / (neue) Kanten} können Knoten und Kanten erstellt beziehungsweise kann ein bestehender Graph verändert werden.

Knoten und Kanten setzen

Zu Beginn wird der Name des Graphen festgelegt. Über diesen Namen lässt sich der Graph dann an der gewünschten Stelle im Dokument einfügen. Es ist dabei auch möglich, den Graphen mehrfach und an unterschiedlichen Stellen im Dokument zu verwenden. Die Knoten werden mit einem Namen / Label und den Koordinaten an denen sie stehen sollen versehen.
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{adigraph}
\begin{document}

\NewAdigraph{Nikolaus}{
A:0,0;
B:2,0;
C:2,2;
D:0,2;
E:1,3.4}{}

\Nikolaus{}
\end{document}

Mit dem Befehl \RenewAdigraph{Name}{(neue) Konten / (neue) Kanten} kann ein bereits definiert Graph verändert werden. Sodass in dem Fall, dass ein Graph verändert werden soll, zum Beispiel durch Hinzufügen und / oderEntfernen einzelner Knoten oder dem Hinzufügen oder Entfernen von Kanten, es nicht notwendig ist den Graph neu zu erstellen, sondern es ist ausreichend den bisherigen zu verändern.
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{adigraph}
\begin{document}

\NewAdigraph{Nikolaus}{
A:0,0;
B:2,0;
C:2,2;
D:0,2;
E:1,3.4}{}
%...
\RenewAdigraph{Nikolaus}{
A:0,0;
B:2,0;
C:2,2;
D:0,2;
E:1,3.4}{
A,B; B,C;
C,A; A,D;
D,E; E,C;
C,D; D,B;
}
\Nikolaus{}
\end{document}
Um anstelle der Pfeile Kanten zu erhalten wird die Option [-] des \RenewAdigraph{Name}{...}[Option] Befehls verwendet.
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{adigraph}
\begin{document}

\NewAdigraph{Nikolaus}{
A:0,0;
B:2,0;
C:2,2;
D:0,2;
E:1,3.4}{}
%...
\RenewAdigraph{Nikolaus}{
A:0,0;
B:2,0;
C:2,2;
D:0,2;
E:1,3.4}{
A,B; B,C;
C,A; A,D;
D,E; E,C;
C,D; D,B;
}[-]
\Nikolaus{}
\end{document}
Sowohl die Knoten wie auch die Kanten können in einer anderen Farbe dargestellt werden. Die Kanten zudem mit einer Gewichtung versehen werden.
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{adigraph}
\begin{document}

\NewAdigraph{Nikolaus}{
A:0,0;
B:2,0;
C:2,2;
D:0,2;
E:1,3.4}{}


\RenewAdigraph{Nikolaus}{
A,blue:0,0;
B,green:2,0;
C,red:2,2;
D:0,2;
E:1,3.4}{
A,B:1;
B,C:2;
C,A:3::near start;
A,D:4;
D,E:5;
E,C:6;
C,D:7;
D,B:8::near end;
}[-]

\Nikolaus{} bzw.
\Nikolaus{A,B,C,A,D,E,C,D;}
\end{document}
Beim zweiten Graph wurde die Verbindung des Knoten B zum Knoten D nicht in dem Befehl \Nikolaus{A,B,C,A,D,E,C,D;} aufgenommen und daher ist diese Verbindung nach wie vor schwarz.

Die Verbindung von allen anderen Knoten zu einem bestimmten Knoten lässt sich über den Kleene Stern Operator realisieren.
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{adigraph}
\begin{document}

\NewAdigraph{Nikolaus}{
A:0,0;
B:2,0;
C:2,2;
D:0,2;
E:1,3.4}{}


\RenewAdigraph{Nikolaus}{
A:0,0;
B:2,0;
C:2,2;
D:0,2;
E:1,3.4}{
E,*,blue;
*,A,red;
}

\Nikolaus{} 
\end{document}

Das Paket biete eine breite Palette an Möglichkeiten bezüglich des Designs und der Gestaltung der Graphen. Das abschliesende Beispiel bietet einen kurzen Ausblick was machbar ist.
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{adigraph}
\begin{document}

\NewAdigraph{Nikolaus}{
A:0,0;
B:2,0;
C:2,2;
D:0,2;
E:1,3.4}{}

\RenewAdigraph{Nikolaus}
{
5:0,0;
6:4,0;
4:4,4;
3:0,4;
1:2,6;
2:8,4;
0:8,0;
}{
5,5:1;
6,5:2;
5,3:3;
3,6:6;
3,4:1;
3,1:7;
1,3:99:0; % die 99 ist nur drin damit die Null erscheint 
1,2:2;
4,1:2;
4,2:1;
2,0:1;
0,6:3;
6,4:5;
6,2:3;
}
\Nikolaus{}{5,3;}


\end{document}

Quelle: https://ctan.org/pkg/adigraph


aobs-tikz   top

Das aobs-tikz Paket wurde dazu entwickelt, um es dem Nutzer zu ermöglichen innerhalb einer beamer class Präsentation auf einfach Art Overlay übergreifende TikZ Stille zu verwenden. Die Stille können dabei auf das jeweilige Overlay angepasst werden.

Das aobs-tikz Paket kann wahlweise als Paket mit \usepackage{aobs-tikz} oder als Bibliothek \usetikzlibrary{overlay-beamer-styles} eingebunden werden. In der ersten Variante wird sowohl das tikz Paket wie auch die Bibliothek overlay-beamer-styles eingebunden. Wird die Variante mit dem Einbinden der Bibliothek gewählt, muss das tikz selbst auch noch mit eingebunden werden. Sodass sich wahlweise die folgenden Varianten für das Einbinden ergeben.

Per Paket:
\usepackage{aobs-tikz}
Per Bibliothek:
\usepackage{tikz}
\usetikzlibrary{overlay-beamer-styles}

Einstellungen

Die Einstellungen / Befehle die verändert beziehungsweise angepasst werden können sind die bekannten Befehle aus tikz wie zum Beispiel draw und filldraw.

Beispiele für die Anwendung

In den nachfolgenden Beispielen werden die einzelnen Möglichkeiten kurz gegezeigt.

\begin{frame}{draw und filldraw (Füllung) }
\tikz[baseline=(A.base)]{%
\node[background fill=red!50,%
fill on=<2>,%
anchor=base,%
rounded corners,%
] (A) {ABCD};
}
\tikz[baseline=(A.base)]{%
\node[background fill=blue!50,%
fill on=<{1,3}>,%
anchor=base,%
rounded corners,%
] (A) {EFGH};
}
\tikz[baseline=(A.base)]{%
\node[background draw=red,%
draw on=<2>,%
anchor=base,%
rounded corners,%
] (A) {IJKL};
}
\tikz[baseline=(A.base)]{%
\node[background draw=blue,%
draw on=<{1,3}>,%
anchor=base,%
rounded corners,%
] (A) {MNOP};
}
\tikz[baseline=(A.base)]{%
\node[background filldraw=red filled by blue!10,%
filldraw on=<2>,anchor=base,%
rounded corners,%
] (A) {QRST};
}
\end{frame}



\begin{frame}{shade und shadedraw (Shades)}
    \tikz[baseline=(A.base)]{%
\node[background shade={top color=red!50, bottom color=white},%
shade on=<2>,%
anchor=base,%
rounded corners,%
] (A) {ABCD};
}
\tikz[baseline=(A.base)]{%
\node[background shade={inner color=red!50, outer color=white},%
shade on=<{1,3}>,%
anchor=base,%
rounded corners,%
] (A) {EFGH};
}
\tikz[baseline=(A.base)]{
\node[background shade={left color=orange!50, right color=white},%
shade on=<2>,%
anchor=base,%
rounded corners,%
] (A) {IJKL};
}
\tikz[baseline=(A.base)]{
\node[background shadedraw={blue}{top color=white, bottom color=cyan!30},%
shadedraw on=<{1,3}>,%
anchor=base,%
rounded corners,%
] (A) {MNOP};
}
\tikz[baseline=(A.base)]{
\node[background shadedraw={green!50!black}{inner color=white,%
outer color=green!30},%
shadedraw on=<2>,%
anchor=base,%
rounded corners,%
] (A) {QRST};
}
\end{frame}



\begin{frame}{text und aspect (Pfade und Knoten)}
\centering
\begin{tikzpicture}[node distance=3cm and 2cm,
semithick ,
state/.style={circle,
top color=white,
bottom color=red!20,
draw, red,
text=blue, minimum width=1cm},
background default shade={top color=white,
bottom color=red!20},
background default draw={red,
semithick}]
    
\node[state,
background draw={blue!80,
line width=1mm},
draw on=<2>,
circular drop shadow={visible on=<2>},
visible on=<{1,2}>% Nicht sichtbar auf Overlay 3
] (C) {$1$};
\node[state,
background draw={orange},
draw on=<{1,3}>,
background default aspect={semithick,
double disabled},
background aspect={double},
aspect on=<{1,3}>,
background shade={top color=white,
bottom color=orange!30},
shade on=<{1,3}>,
above left= of C] (A) {$0$};
\node[state,
background text=violet,
background default text=red,
text on=<2>,
above right= of C] (B) {$2$};
\draw (A)-- (B) (C)-- (A);
\draw[background default aspect={solid,semithick},
background aspect={dashdotted,
very thick},
aspect on=<{2,3}>,
background default draw={black},
background draw={red},
draw on=<3>](B)-- (C); \end{tikzpicture}
\end{frame}



Die gezeigten Änderungen sind auch bei anderen Elementen möglich, wie etwa dem bekannten node Konzept von TikZ. Werden da aber andere geometrische Figuren, von Kreis und Rechteck abgesehen, verwendet ist es auch hier notwendig die entsprechende Bibliothek mit einzubinden.


Quelle: https://ctan.org/pkg/aobs-tikz

battleship   top

Das battleship Paket bietet die Möglichkeit sich Spielfelder für das Spiel Schiffe versenken, erstellen zu lassen. Neben einer vorgefertigten Klassik Variante besteht auch die Möglichkeit sich ein eigenes Spielfeld zu erschaffen. Dabei können auch Inseln gesetzt werden und Spielfeldgröße angepasst werden und viele andere Parameter neu gesetzt werden.

Mit \usepackage{battleship} wird das Paket battleship eingebunden. Das Paket selbst bindet das logicpuzzle Paket ein, welches wiederum unter anderem das tikz Paket mit einbindet. Optionen hat das Paket zur Zeit keine.

Die battleship Umgebung

Das Spielfeld wird über die battleship Umgebung erstellt. Innerhalb dieser werden auch die Schiffe platziert.

Mit:
\begin{battleship}
  
\end{battleship}
Einfaches Spielfeld Schiffe versenken
wird ein Standardfeld erzeugt, das 25 Kästchen in 5 Zeilen und 5 Spalten umfasst.

Mit den Befehlen \shipH{Liste} und \shipV{Liste} lässt sich eine horizontale beziehungsweise vertikale Beschriftung der Zeilen und Spalten einfügen. Die horizontale Beschriftung läuft dabei von links nach rechts. Und die vertikale von unten nach oben.

\begin{battleship}
  \shipH{1,2,3,4,5} 
  \shipV{E,D,C,B,A}
\end{battleship}
Einfaches Spielfeld Schiffe versenken mit Beschriftung der Zeilen und Spalten

Mit dem Befehl \shipbox{Länge der Schiffe} lassen sich die zum Setzen zur Verfügung stehenden Schiffe unter dem Spielfeld platzieren. Die maximale Länge der Schiffe ist 10.

\begin{battleship}
  \shipH{1,2,3,4,5} 
  \shipV{E,D,C,B,A}
  \shipbox{3,2,1}
\end{battleship}
Einfaches Spielfeld Schiffe versenken mit Beschriftung der Zeilen und Spalten. Und Schiffe zum Setzen

Über den Befehl \placeship{Richtung}{X}{Y}{Länge} lassen sich die Schiffe in vertikaler (V) oder horizontaler (H) Richtung ausgehende von einem Startpunkt (X,Y Koordinaten) setzen. Anhand der angebenen Länge werden die entsprechenden Schiffsmarkierungen auf das Feld gesetzt. Es wird dabei aber nicht geprüft, ob das Schiff in dem Befehl \shipbox{...} vorhanden ist oder ob es bereits gesetzt wurde.

\begin{battleship}
  \shipH{1,2,3,4,5} 
  \shipV{E,D,C,B,A}
  \shipbox{3,2,1}
  \placeship{V}{1}{1}{3}
  \placeship{H}{3}{3}{3}
\end{battleship}
Einfaches Spielfeld Schiffe versenken mit Beschriftung der Zeilen und Spalten. Und bereits gesetzten Schiffen.

Mit dem Befehl \placeisland{X}{Y} lassen sich Inseln auf das Spielfeld setzen. Wobei es nicht möglich ist zusammenhängende größere Inseln die sich über mehrere Kästchen erstrecken zu setzen.

\begin{battleship}
  \shipH{1,2,3,4,5} 
  \shipV{E,D,C,B,A}
  \shipbox{3,2,1}
  \placeship{V}{1}{1}{3}
  \placeship{H}{3}{3}{2}
  \placeship{H}{4}{1}{1}
  \placeisland{2}{5}
  \placeisland{3}{5}
\end{battleship}
Spielfeld Schiffe versenken mit Inseln und Beschriftung der Zeilen und Spalten. Mit gesetzten Schiffen.

Optionen der battleship Umgebung

Die Umgebung battleship verfügt über mehrere Optionen. Diese können entweder direkt bei der Umgebung angeben werden oder gobal mit Hilfe des Befehls \battleshipsetup[Option,Option,...] gesetzt werden.

Zu den wahrscheinlich wichtigsten Optionen zählen:

\begin{battleship}[rows=15,columns=15, title="Hunting the \ldots", shipcolor=gray, bgcolor=blue]
  \placeisland{2}{3}\placeisland{2}{4}\placeisland{2}{5}
  \placeship{H}{5}{5}{5}
  \shipbox{5}
\end{battleship}
Selbst definiertes Spielfeld Schiffe versenken mit Inseln, Titel, Beschriftung und gesetztem Schiff.

classicgame

Mit dem Befehl \classicgame{Schiffe} wird die klassische Spielvariante gesetzt. Diese besteht aus zwei Seiten mit jeweils zwei Feldern, die mit Me beziehungsweise Enemy bezeichnet sind. Die Anzahl der Spalten und der Zeilen ist jeweils 10. Die Einstellungen können bei der classigame Variante nicht geändert werden.

 \classicgame{5,4,3,3,2}
Klassisches Spielfeld Schiffe versenken für zwei Spieler. Mit Schiffsauswahl.

Quelle: https://ctan.org/pkg/battleship

bchart   top

Das bchart Paket ist ein Paket zum Zeichnen einfacher Balkendiagramme mit horizontalen Balken auf einer numerischen x-Achse. Basierend auf dem TikZ Paket ermöglicht es relativ schnell einfache Balkendiagramme zu erstellen.

Die Hauptumgebung für die Erstellung von Balkendiagrammen ist die Umgebung bchart, in der die Balken mit dem Befehl \bcbar{value} definiert werden. Es können mehrere \bcbar-Befehle verwendet werden, um mehrere Balken zu erstellen.

Die bchart Umgebung verfügt über verschiedene Optionen, mit denen das Erscheinungsbild des Balkendiagramms angepasst werden kann, wie z. B. das Festlegen der Höchst- und Mindestwerte der x-Achse, das Definieren der Schrittgröße der x-Achsenmarkierungen, das Hinzufügen von Einheiten zu den x-Achsenbeschriftungen, das Festlegen der Breite des Diagramms und das Skalieren des Diagramms.

Jeder \bcbar Befehl kann mit Optionen wie text für die Balkenbeschriftung, color für die Balkenfarbe, label für die Beschriftung der y-Achse, value zur änderung des neben dem Balken angezeigten Wertes und plain zur Unterdrückung des neben dem Balken angezeigten Wertes angepasst werden.

Zusätzliche Befehle wie \bcxlabel und \bclabel können verwendet werden, um die x-Achse zu beschriften und der y-Achse an bestimmten Positionen Beschriftungen hinzuzufügen.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{bchart}
\usepackage{gensymb} % fuer \celsius
%...
\begin{document}
%...
\begin{bchart}[step=3,max=30,unit=\celsius{}, width=12cm]
\bcbar[text=Jan, color=red]{6}
\bcbar[text=Feb, color=red]{7}
\bcbar[text=März, color=red]{12}
\bcbar[text=April, color=red]{17}
\bcbar[text=Mai, color=red]{21}
\bcbar[text=Juni, color=red, plain]{25}
\bcbar[text=July, color=red, value=XXVI]{26}
\bcbar[text=Aug, color=red, label=Sommer]{26}
\bcbar[text=Sep, color=red]{21}
\bcbar[text=Okt, color=red]{16}
\bcbar[text=Nov, color=red]{10}
\bcbar[text=Dez, color=red]{7}
\bcxlabel{max. Temperaturen Freiburg im Breisgau}
\end{bchart}
%...
\end{document}


Weiterführende Informationen:Mehr Informationen zum bchart Paket

Quelle: https://ctan.org/pkg/bchart

bclogo   top

Das Paket bclogo ermöglicht es, Text zusammen mit einem Logo darzustellen. Dabei gibt es bereits eine große Auswahl an verfügbaren Logos, die einfach per Befehl eingebaut werden können. Auch lässt sich die Defaulteinstellung, in Bezug auf die Darstellung des Textes, relativ einfach abändern. Ein mögliches Manko stellt die Tatsache dar, dass die Dokumentation zum jetzigen Zeitpunkt nur auf Französisch verfügbar ist. Dieses Manko wird aber durch die zielgerichtete und an Beispielen reiche Dokumentation mehr als wett gemacht.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[tikz]{bclogo}
\begin{document}
\begin{bclogo}[logo=\bcdfrance]{Die Dokumentation}
Die Dokumentation ist nur französisch.
\end{bclogo}
\end{document}

Quelle: https://ctan.org/pkg/bclogo

bearwear   top

Das Paket bietet Werkzeuge, um Hemden für TikZbären aus dem TikZlings-Paket zu erstellen.

Das bearwear Paket bietet dabei eine Vielzahl von Hemden für den Bären, darunter langärmelige Hemden, Hemden mit Rundhalsausschnitt, T-Shirts, Muskelshirts und Hemden mit V-Ausschnitt. Die Elemente des Paketes werden in einer TikZ-Umgebung verwendet, entweder in einer tikzpicture Umgebung oder mit \tikz.

Um dem Bären ein Hemd anzuziehen, wird der Befehl \bear aus dem Paket tikzlings-bears zusammen mit der gewünschten Hemdoption verwendet.

Die Hemden können auf verschiedene Arten individuell angepasst werden, sodass das Aussehen des Hemdes immer unterschiedlich ausfallen kann.

\documentclass{article}
%...
\usepackage{bearwear}
%...
\begin{document}
%...
\begin{tabular}{cccc}
Art/Stil & default & round neckline & v-neckline\\
long sleeves & 
\tikz\bearwear
[long sleeves]; & 
\tikz\bearwear
[long sleeves,round neckline]; & 
\tikz\bearwear
[long sleeves,v-neckline];\\
& & & \\
t-shirt & 
\tikz\bearwear
[t-shirt]; & 
\tikz\bearwear
[t-shirt,round neckline]; & 
\tikz\bearwear
[t-shirt,v-neckline];\\
& & &\\
muscle shirt &
\tikz\bearwear
[muscle shirt]; & 
\tikz\bearwear
[muscle shirt,round neckline]; & 
\tikz\bearwear
[muscle shirt,v-neckline];\\
\end{tabular}
%...
\par
\vspace*{2cm}
\tikz{\bear\bearwear[v-neckline, shirt=red];} \hspace*{2cm}
\tikz{\bear\bearwear[t-shirt, shirt=green];} \hspace*{2cm}
\tikz{\bear\bearwear[muscle shirt];}
%...
\end{document}
 

Weiterführende Pakete: TikZlings

Quelle: https://ctan.org/pkg/bearwear

binarytree   top

Das binarytree Paket (Version 1.01 von 2016) ermöglicht es einfach sogenannte Binärbäume in LaTeX zu zeichnen. Das Paket beziehungsweise die Zeichnungen die damit erstellt werden haben keinen Einfluss auf die anderen Zeichnungen die mit TikZ erstellt worden sind.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{binarytree}
\usetikzlibrary{graphs}
%...
\begin{document}
%...
\begin{tikzpicture}
\BinaryTree[local bounding box=INIT]{
:1!l:w:r:x:red!l:$\sigma$,ll!l:$\sigma$,lr!r:$\sigma$, 
r:w!r:y!r:$\sigma$,rr!l:$\sigma$,rl!l:$\sigma$}{3}
\BinaryTree[local bounding box=FINAL,xshift=10cm]{
:1!l:w!l:x~:red!l:$\sigma$,lr!r:$\sigma$,ll!r:$\sigma$,
r:w!r:y!r:$\sigma$,rr!l:$\sigma$,rl!l:$\sigma$}{3}
\graph[use existing nodes]{ INIT -> FINAL};
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/binarytree

blochsphere   top

Das blochsphere Paket kann dazu verwendet werden, um pseudo 3D Bloch-Kugel zu gestallten. Die Bloch-Kugel (3-dim) wird in der Quantenmechanik verwendet, um den Zustand eines Zweizustandssystems grafisch darzustellen, nämlich als Punkt auf einer Kugeloberfläche. Benannt wurden die Bloch Kugeln nach ihrem Entwickler dem Physiker Felix Bloch.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{blochsphere}
%...
\begin{document}
%...
\begin{blochsphere}[radius=1.5 cm,tilt=15,rotation=-20]
\drawBallGrid[style={opacity=0.3}]{30}{30}
\drawGreatCircle[style={dashed}]{-60}{0}{0}
\drawGreatCircle[style={dashed}]{60}{0}{0}
\drawRotationLeft[scale=1.3,style={red}]{-60}{0}{0}{15}
\drawRotationRight[scale=1.3,style={red}]{60}{0}{0}{15}
\node at (-0.8,1.9) {\textcolor{red}{\tiny $J_{12}(t)$}};
\node at (1.1,1.8) {\textcolor{red}{\tiny $J_{23}(t)$}};
\labelLatLon{up}{90}{0};
\labelLatLon{down}{-90}{90};
\node[above] at (up) {{\tiny $\left|1\right>$ }};
\node[below] at (down) {{\tiny $\left|0\right>$}};
\labelLatLon[labelmark=false]{d}{15}{90};
\node at (d) {\color{gray}\fontsize{0.15cm}{1em}\selectfont $60^\circ$};
\labelLatLon[labelmark=false]{d2}{5}{78};
\node at (d2) {\color{gray}\fontsize{0.15cm}{1em}\selectfont $60^\circ$};
\end{blochsphere}
%...
\end{document}

Quelle: https://ctan.org/pkg/blochsphere

blox   top
Dieses Paket, zusammen mit TikZ, wird Blockdiagramme für die Verwendung mit Programmierung und Steuerungstheorie setzen. Es ist eine englische Übersetzung des Pakets schemabloc.
Weiterführende Pakete: schemabloc

Quelle: https://ctan.org/pkg/blox

bodegraph   top

Das Paket bietet Möglichkeiten zum Zeichnen von Bode-, Nyquist- und Black-Plots mit Gnuplot und Tikz. Elementare Übertragungsfunktionen und grundlegende Korrektoren sind zur Verwendung vorprogrammiert. Das bodeplot Paket bietet auch die Möglichkeit die entsprechenden Graphen zu zeichnen.

Zwar ist der überwiegende Teil der Dokumentation auf Französisch, aber das sollte dennoch keine allzu große Hürde darstellen, da die jeweiligen Befehle schrittweise in Form von Beispielen, die sowohl den Code als auch das entsprechende Bild enthalten, in großer Zahl vorhanden sind, wodurch es letztendlich nicht notwendig ist Französisch lesen zu können, um dieses Paket beziehungsweise die Möglichkeiten, die es zum Zeichnen der jeweiligen Diagramme bietet, nutzen zu können.

Ausfuhren mit: pdflatex -shell-escape DATEINAME.tex

Bei den Zeichnungen die GNU-PLOT nutzen gab es diese Fehlermeldung: ! I can’t write on file ‘gnuplot/DATEINAME/1.gnuplot’. Work around mkdir gnuplot/DATEINAME also die entsprechenden Verzeichnisse von Hand anlegen.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{bodegraph}
%...
\begin{document}
%...
\begin{tikzpicture}[yscale=2/30,xscale=7/5]
\semilog{-2}{3}{-20}{10}
\end{tikzpicture}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%...
\usepackage{bodegraph}
%...
\begin{document}
%...
\begin{tikzpicture}[xscale=7/4,yscale=5/30]
\semilog{-2}{2}{-20}{10}
\BodeGraph{-2:2}{20*log10(abs(3/sqrt
(1+(0.3*10**t)**2)))}
\end{tikzpicture}
%...
\end{document}

Weiterführende Pakete: bodeplot

Quelle: https://ctan.org/pkg/bodegraph

bodeplot   top

Ein Paket zur Darstellung von Bode-, Nichols- und Nyquist-Diagrammen. Es bietet zusätzliche Funktionalität gegenüber dem ähnlichen Paket bodegraph. Wie etwa die Unterstützung für instabile Pole und Nullstellen, für komplexe Pole und Nullstellen, für allgemeine stabile und instabile Übertragungsfunktionen zweiter Ordnung und für lineare und asymptotische Annäherung von Betrags- und Phasendiagrammen einer beliebigen Übertragungsfunktion bei gegebenen Polen, Nullstellen und Verstärkungen. Es kann sowohl Gnuplot (Standard) als auch pgfplots (Optional) für die Erstellung der Zeichnungen nutzen.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{bodeplot}
%...
\begin{document}
%...
\BodeZPK[%
plot/mag/{red,thick},
plot/ph/{blue,thick},
axes/mag/{ytick distance=40},
axes/ph/{ytick distance=90},
approx/linear%
]{%
z/{0,{-0.1,-0.5},{-0.1,0.5}},
p/{{-0.5,-10},{-0.5,10}},
k/10%
}
{0.01}
{100}
%...
\end{document}

Weiterführende Pakete: bodegraph

Quelle: https://ctan.org/pkg/bodeplot

bohr   top

Das bohr Paket erlaubt es auf sehr einfache Art und Weise sich entsprechende automatische Zeichnungen des gleichnamigen Bohrmodells erstellen zu lassen. Dazu verfügt das Paket über einen neuen Befehl \bohr, der neben einem optionalen Parameter, für die Anzahl der Schalen, über zwei verpflichtenden Parameter, für die Anzahl der Elektronen beziehungsweise für das chemische Symbol, verfügt. Mithilfe von Optionen lässt sich das Aussehen und die Größe der Zeichnungen festlegen.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{bohr}
%...
\begin{document}
%...
Von \bohr{1}{H} bis \bohr{112}{Cn}
%...
\end{document}

Wenn Sie mehr als 112 Elektronen angeben, erhalten Sie die folgende Warnung:

I only know atoms up to 112 (Copernicium). You gave me 118 so I am using 112 instead. 

Bei den Optionen gibt es eine relativ große Auswahl an Möglichkeiten. Die Optionen selbst lassen sich in vier Gruppen einteilen, die allgemeinen Optionen, die Atomkern Optionen, die Elektronen Optionen und die Schalen Optionen. Mithilfe des Befehls \setbohr{Optionen} lassen sich die Optionen setzen.

Die allgemeinen Optionen beziehen sich dabei auf den Umgang mit fehlenden Werten.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{bohr}
%...
\begin{document}
%...
\setbohr{insert-missing = true}
\bohr{1}{}
\bohr{}{He}
%...
\end{document}

Die Atomkern-Optionen beziehen sich auf die Darstellung des Atomkerns, das heißt Größe, Farbe und Beschriftung.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{bohr}
%...
\begin{document}
%...
\setbohr{
atom-style={\LARGE\rmfamily},
name-options-set={text=red},
nucleus-options-set={green!80,fill=brown!100,opacity=0.5},
nucleus-radius=1.5em}
\bohr{2}{He}
%...
\end{document}

Mithilfe der Elektronen Optionen kann das Aussehen und die Größe der Elektronen verändert werden.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{bohr}
%...
\begin{document}
%...
\setbohr{
electron-options-set={black!100},
electron-radius=3pt
}
\bohr{2}{He}
%...
\end{document}

Das Aussehen der Schalen kann ebenfalls per Option verändert werden. Darüber hinaus kann auch der Abstand zwischen den Schalen und dem Kern variiert werden und es gibt die Möglichkeit unterschiedliche Verteilungsvarianten der Elektronen einzufügen.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{bohr}
%...
\begin{document}
%...
\setbohr{
shell-options-set = {dashed,red!80,
thick},
shell-dist = 1.25em,
distribution-method = periodic
}
\bohr{12}{Mg}
%...
\end{document}

Quelle: https://ctan.org/pkg/bohr

bondgraph   top

Das bondgraph Paket (ohne s am Ende) dient zur Erstellung eines Bond-Graph. Ein Bond-Graph ist eine grafische Darstellung eines physikalischen dynamischen Systems. Es ermöglicht die Umwandlung des Systems in eine Zustandsraumdarstellung. Das bondgraph Paket umfasst keine Dokumentation. Es beinhaltet eine tex Datei mit zwei Beispielen.

\documentclass{article}
%...
\usepackage[x11names, rgb]{xcolor}
\usepackage[utf8]{inputenc}
\usepackage{bondgraph}
%...
\begin{document}
%...
\begin{figure}
	\centering
	\begin{tikzpicture}
		[node distance=1.5cm]
		\bgComponentNoBond{S}{$S_f$}		
		\bgComponent{}{J11}{1}{right=0.5cm of}{S}{newelement,inbonde}
		\bgComponent{nodemodpoint}{J01}{0}{right of=}{J11}{inbonde}
		\bgComponentWithBondMarkupTagged{}{C1}{$C_1$}{above of=}{J11}{inbonde}{bondmodpoint}{2}
		\bgComponentWithBondLabel{}{R1}{$R_1$}{right of=}{J01}{inbonde}{}{$e_1$}{$f_1$}
		\bgComponentWithBondLabel{}{R2}{$R_2$}{above of=}{J01}{inbonde}{color=red}{}{$f_2$}
		\bgComponentWithBondLabel{}{I1}{$I_1$}{below of=}{J01}{inbonde}{}{$e_3$}{$f_3$}
		\bgComponentWithBondMarkup{}{Sw}{$Sw$}{below of=}{J11}{inbonde}{bondmodpoint}
		%\bgComponent{}{Sw}{$Sw$}{below of}{J11}{outbondf}
	\end{tikzpicture}
	\caption{Simplified bond graph definition.}
\end{figure}
%...
\end{document}

Quelle: https://ctan.org/pkg/bondgraph

bondgraphs   top

Das bondgraphs Paket wird verwendet, um Bondgrafiken in LaTeX zu zeichnen. Ein Bondgraph ist eine grafische Darstellung eines physikalischen dynamischen Systems, das aus Knoten (Knoten und Elementen) und Kanten (Bindungen) besteht. Das Paket bietet TikZ-Stile zum Zeichnen von Bond-Graphen in LaTeX. Es basiert auf einer aktuellen Version von TikZ/pgf (3.0) und ist mit aktuellen Versionen von LaTeX kompatibel. In der Einleitung werden empfohlene Quellen für weitere Informationen über Bondgraphen aufgeführt. Das Paket bietet Stile zum Zeichnen kompletter Bindungsdiagramme und Textmodus-Befehle zum Zeichnen oder Setzen einzelner Bindungen oder Elemente, was nützlich sein kann, um Elemente innerhalb eines kompletten Bindungsdiagramms zu erklären oder zu referenzieren.

Es gibt auch das Paket bondgraph ohne s am Ende! Im Vergleich zum Paket bondgraph verlässt sich dieses Paket, also bondgraphs mehr auf TikZ-Stile und weniger auf Makros, um die Zeichnungen zu generieren. So kann es flexibler sein als das bondgraph Paket, erfordert aber mehr TikZ-Kenntnisse des Benutzers.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{bondgraphs}
%...
\begin{document}
%...
\begin{tikzpicture}
\node (a) at (0,0) {a};
\node (b) at (1,0) {b};
\node (c) at (1,1) {c};
\node (d) at (2,0) {d};
\node (e) at (1,-1) {e};
\node (f) at (2,0.9) {f};
\draw[bond,e_in] (a) -- (b);
\draw[bond,e_out] (b) -- (c);
\draw[bond,e_out={diff}] (d) -- (b);
\draw[bond,red,f_out={blue}] (b) -- (e);
\draw[mbond] (b) -- (f);
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/bondgraphs

braids   top

Das Paket braids dient dazu, die Flechttheorie darzustellen. In der Topologie, einem Zweig der Mathematik, ist die Flechttheorie eine abstrakte geometrische Theorie, die das alltägliche Flechtkonzept und einige Verallgemeinerungen untersucht. Die Idee ist, dass Zöpfe in Gruppen organisiert werden können, in denen die Gruppenoperation lautet: "Mache das erste Zopfmuster auf einem Satz von Zeichenketten und folge ihm dann mit einem zweiten auf den verdrillten Zeichenketten". Solche Gruppen können durch explizite Präsentationen beschrieben werden, wie Emil Artin (1947) zeigte. Für eine grundlegende Behandlung in dieser Richtung siehe den Artikel über Flechtgruppen. Flechtgruppen werden auch durch eine tiefere mathematische Interpretation verstanden: als die grundlegende Gruppe bestimmter Konfigurationsräume.

Das Paket ermöglicht das Zeichnen einer Zopfgruppe (Braid Diagrammen) mit PGF/TikZ unter Verwendung einer einfachen Syntax. Der Zopf (Braid) selbst wird durch die Angabe eines Wortes in der Geflechtgruppe spezifiziert, und es gibt viele Optionen zur Gestaltung der Stränge und zum Zeichnen von Etagen (floors).

\documentclass[margin=10mm]{standalone}
%...
\usepackage{tikz}
\usetikzlibrary{braids}
%...
\begin{document}
%...
\begin{tikzpicture}
\pic[
braid/.cd,
every strand/.style={ultra thick},
strand 1/.style={red},
strand 2/.style={green},
strand 3/.style={blue},
] {braid={s_1 s_2^{-1} s_1 s_2^{-1} s_1 s_2^{-1}}};
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/braids

byo-twemojis   top

Das Paket byo-twemojis ermöglicht es dem Nutzer, Emoji auf der Grundlage von Elementen des Twitter-Emoji-Kreises zu erstellen. Das Paket bietet einen Befehl, \byoTwemoji (build your own Twemoji), der eine Liste von Elementen als Argument nimmt und ein Emoji basierend auf diesen Elementen erstellt. Die Elemente werden in einer durch Semikolons getrennten Zeichenkette angegeben, und ihre Reihenfolge bestimmt ihre Position im Emoji. Das Paket ermöglicht es Ihnen auch, TikZ-Optionen für einzelne Elemente oder das gesamte Emoji einzubinden. Die Größe des resultierenden Emojis basiert auf einer Default-Höhe, und die Elemente werden in der oberen linken Ecke verankert. Das Paket enthält Optionen für die Skalierung und Positionierung von Elementen innerhalb des Emojis. Darüber hinaus sind vordefinierte Farben für die Elemente verfügbar, und Benutzer können benutzerdefinierte Farben mit RGB-Werten definieren. Die Dokumentation enthält Beispiele und weitere Details zur Verwendung des Pakets.

Dieses Paket bietet die Möglichkeit, eigene Emojis (die einfachen, runden und meist gelben) aus Elementen bestehender Emojis zu erstellen. Der bereitgestellte Befehl erstellt ein TikZ-Bild aus den angegebenen Elementen mit mehreren Möglichkeiten, das Ergebnis in Farbe und Position zu verändern.

\documentclass[margin=2mm]{standalone}
%...
\usepackage{byo-twemojis}
%...
\begin{document}
%...
\byoTwemoji[let Yellow=byoTwemojiPurple, let
Brown=byoTwemojiBlack]{head;
expression smirking; mouth grinning}
%...
\end{document}

Quelle: https://ctan.org/pkg/byo-twemojis

callouts   top

Das callouts Paket ermöglicht es auf einfache Art und Weise den Inhalt von Bildern zu beschriften beziehungsweise diese mit Annotationen zu versehen. Es verwendet dafür im Hintergrund das tikz Paket. Es handelt sich quasi um die moderne Variante des bekannten overpic Paketes. Aber es lässt durch die Verwendung von tikz deutlich mehr Möglichkeiten wie das overpic Paket zu.


Quelle: https://ctan.org/pkg/callouts

cartonaugh   top

Bei diesem Paket handeltes es sich um einen Fork des Pakets karnaugh-map von 2pi. Es zeichnet Karnaugh Diagramme mit 2, 3, 4, 5 und 6 Variablen. Es enthält auch Befehle zum halbautomatischen oder manuellen Füllen der Karnaugh Diagramme mit Termen. Es enthält einen Befehle zum Zeichnen von Implikanten.

Das Paket benötigt LuaLaTeX.
Quelle: https://ctan.org/pkg/cartonaugh

causets   top

Das Paketcausets, Version 1.4, erstellt von Christoph Minz am 6. März 2023, wurde entwickelt, um Kausalmengen zu implementieren, die lokal endliche, teilweise geordnete Mengen sind, die in der Kausalmengentheorie für Quantengravitation verwendet werden.

Das causets Paket ermöglicht es Benutzern, Kausalmengen als TikZ-Grafiken unter Verwendung von Hasse-Diagrammen zu zeichnen. Es bietet drei Hauptbefehle: \pcauset, \rcauset und \causet. Diese Befehle nehmen Permutationen von ganzen Zahlen als Eingabe, um die Positionen und die kausale Struktur von Ereignissen in Kausalverknüpfungen zu bestimmen. Der Befehl \pcauset zeichnet eine Kausalmenge mit einer gegebenen Permutation, während die Befehle \rcauset und \causet die Verbindungen zwischen Ereignissen verändern können. Das Paket bietet Optionen zur Anzeige von Permutationen, Beschriftungen oder beidem und zur Anpassung von Stil und Größe der Diagramme.

Das Paket führt auch Funktionen zum Beschriften und Ersetzen von Ereignissen in Kausalmengen ein, was für die Anzeige unendlicher Kausalmengen oder beliebiger Ereignisbeschriftungen nützlich sein kann. Die Befehle ermöglichen es dem Benutzer, Offsets für Ereignisnamen und Beschriftungen anzugeben, den Stil und die Position von Beschriftungen zu ändern und Ereignisse durch Ellipsen oder benutzerdefinierten Text zu ersetzen.

Die Dokumentation enthält viele Beispiele und den dazugehörigen Code, die die Verwendung der wichtigsten Befehle, Optionen und Verknüpfungsmakros des Pakets demonstrieren. Insgesamt bietet das causets Paket die Möglichkeit, Kausalmengen zu zeichnen und ihre Struktur in LaTeX-Dokumenten mit TikZ-Grafiken zu bearbeiten.

\documentclass[margin=10mm]{standalone}
%...
\usepackage[huge]{causets}
%...
\begin{document}
%...
\causet{4,7,2,6,1,5,3}{1/3,1/5,2/3,2/6,4/5,4/6,4/7}
%...
\end{document}

Quelle: https://ctan.org/pkg/causets

celtic   top

Die celtic TikZ Bibliothek ist eine Möglichkeit zum Zeichnen von Knoten im keltischen Stil mit TikZ. Sie bietet einen Befehl zum Rendern von keltischen Knoten durch Angabe der Wände innerhalb der Knotenregion. Die Bibliothek definiert Schlüssel-Wert-Paare zur Anpassung des Aussehens des Knotens, wie zum Beispiel Größenänderung, Spiegelung von Kreuzungen, Einstellung der Anzahl von Schritten und Anwendung von Stilen. Die Bibliothek enthält auch vordefinierte Stile für den Rand, die Innenwände und die Komponenten des Knotens. Die Dokumentation erläutert die Verwendung der Bibliothek und enthält Einzelheiten zu den verfügbaren Optionen und Stilen.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{tikz}
\usetikzlibrary{celtic}
%...
\begin{document}
%...
\begin{tikzpicture}[
scale=.5,
celtic path/.style={
draw,
double=white,
red,
double distance=5pt,
line width=1pt
},
celtic bar/.style={
ultra thick,
black,
draw
},
]
\CelticDrawPath{
size={20,10},
symmetric crossings={
3,4:5,|;
4:16,3,-
},
ignore symmetric crossings={
4:10,5;
5:10,4
},
max steps=50
}
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/celtic

chemfig   top

Das Paket chemfig ermöglicht es in Latex Moleküle / Schemata zu zeichnen.

Das Paket bietet den Befehl \chemfig{code}, der Moleküle unter Verwendung des TikZ-Pakets zeichnet. Das Argument code enthält Anweisungen für den Zeichenvorgang.

Obwohl die erzeugten Diagramme im Wesentlichen zweidimensional sind, unterstützt das Paket viele der herkömmlichen Notationen zur Darstellung des dreidimensionalen Aufbaus eines Moleküls.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{chemfig} 
%...
\begin{document}
%...
\schemestart
\chemname{
\chemfig{[:45]O*5(-*6(-=*6(-=-*6(-*6(-=-*5(-O--O-)
=-)=-=\chemabove{N}{\scriptstyle+}(-[::270]CH_3)-=)
--)-=-=)--O--)}}{Sanguinarine}
\schemestop
%...
\end{document}


Weiterführende Informationen: Das Chemfig Paket kurz erklärt

Quelle: https://ctan.org/pkg/chemfig

chemplants   top

Dieses Paket bietet Werkzeuge zum Zeichnen einfacher Schemata chemischer Prozesse. Das Paket definiert mehrere Standardsymbole und -stile zum Zeichnen von Prozesseinheiten und -strömen. Das Leitmotiv des Pakets ist die UNICHIM.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{tikz}
\usepackage{chemplants}
\usepackage{babel} % -> \textormath 
\usepackage{amsmath} % -> \boldsymbol
\renewcommand{\vec}[1]{\boldsymbol{#1}} % vector notation
\newcommand{\flow}[1]{\dot{#1}} % flow - rate notation
\providecommand*{\ap}[1]{ % % upright superscripts
\textormath{%
\textsuperscript{#1} %
}%
{%
^{\mathrm {#1}} %
}%
}
\providecommand*{\ped}[1]{ % % upright subscripts
\textormath {%
$_{\mbox {\fontsize \sf@size \z@ \selectfont #1}}$ %
}%
{%
_\mathrm {#1} %
}%
}
%...
\begin{document}
%...
\begin{tikzpicture}
\draw[ main stream ] ( -0.5 ,0) -- (1.5, 0);
\node[ above right ] at (-0.5, 0) {$\flow{n}\ap{F},\vec{z }$};
\pic at (1.5, 0) {centrifugal pump};
\draw[ main stream ] (1.5 ,0.4) -- (3 ,0.4);
\pic at (3.5, 0.4) {heat exchanger};
\draw[ utility stream ] (3.5 ,1.4) -- (3.5, 0.9);
\node[ above left ] at (3.5, 0.9) {$\flow{Q }$};
\draw[ utility stream ] (3.5 , -0.1) -- (3.5, -0.6);
\draw[ main stream ] (4 ,0.4) -- (4.8, 0.4);
\pic at (5, 0.4) {lamination valve};
\draw[ main stream ] (5.2 ,0.4) -- (6, 0.4);
\node[ above left ] at (6, 0.4) {$ P $};
\pic at (6.8, 0.4) {gas-liquid separator};
\draw[ main stream ] (6.8 ,1.9) |- (9, 2.5);
\node[ above left ] at (9, 2.5) {$\flow{n}\ap{V},\vec{y}$};
\draw[ main stream ] (6.8 , -1.1) |- (9, -1.7);
\node[ below left ] at (9, -1.7) {$\flow{n}\ap{L},\vec{x}$};
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/chemplants

chordbars   top

Das Paket chordbars ist ein auf TikZ basierendes Paket zur Erstellung rechteckiger Liedmuster bziehungsweise Song-Muster mit Akkordnotation für Gitarre, Bass, Klavier und andere Instrumente, die in der populären Musikbegleitung verwendet werden. Das Paket ermöglicht es dem Benutzer, die Anzahl der Takte und den Namen des Musters anzugeben und dann Befehle zu verwenden, um Akkordnotationen in jedem Takt hinzuzufügen. Es behandelt auch die Songstruktur, indem es Taktzahlen und Wiederholungen von Mustern anzeigt.

Das Paket bietet die chordbar-Umgebung, in der Benutzer den Befehl \chordf verwenden können, um Akkordnotationen für jeden Takt hinzuzufügen. Das Paket unterstützt einzelne Akkorde pro Takt und zwei Akkorde pro Takt unter Verwendung des Befehls \chordh. Es behandelt auch Bässe und Kreuze in Akkordnamen und erlaubt die Einbeziehung von Halbtakten. Der Benutzer kann die Anzahl der Takte pro Zeile anpassen und mit dem Befehl \songtitle einen Songtitel einfügen.

Das chordbars Paket bietet eine LaTeX-basierte Lösung für die Erstellung grafischer Darstellungen von Akkordfolgen mit minimalem Aufwand und stellt eine Alternative zur Verwendung von Textverarbeitungsprogrammen oder anderer GUI-Software dar. Auf der GitHub-Seite des Pakets https://github.com/skramm/chordbars finden Sie weitere Informationen und Dokumentation, sowie das nachfolgende Beispiel.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{chordbars}
%...
\begin{document}
%...
\begin{chordbar}{4}{BS: OneMoreTime}
\chordf{Cm}
\chordf{G}
\chordf{Eb7}
\chordh{Fm}{G}
\end{chordbar}
%...
\end{document}

Quelle: https://ctan.org/pkg/chordbars

chordbox   top

Das chordbox Paket ist ein LaTeX-Paket für den Satz von Gitarrentabulaturen und Akkorddiagrammen. Das Ziel des Paketes ist es, Akkorde und Akkorddiagramme auf eine bequemere und anpassbare Weise zu setzen. Das Paket selbst basiert auf dem TikZ Paket.

Das Paket bietet zwei Befehle, \chordbox und \bchordbox, zum Zeichnen von Akkorddiagrammen. Der Befehl \chordbox wird für normale Akkorde verwendet, während der Befehl \bchordbox für Barré-Akkorde verwendet wird. Die Befehle nehmen Argumente für den Akkordnamen, die Bundpositionen und optionale Basis- und Barre-Bünde entgegen. Die Akkorddiagramme werden mit einem Raster aus vertikalen Saiten und horizontalen Bünden gezeichnet, wobei Symbole die Bundpositionen und Barré-Akkorde darstellen.

Das Paket ermöglicht die Anpassung durch TikZ-Stile und Schlüsselwerteinstellungen. Benutzer können die Anzahl der Bünde, das Aussehen der Akkorddiagramme und die Anzeige zusätzlicher Informationen wie Fingersatz und Tonhöhenbezeichnungen anpassen. Das Paket enthält auch Standardeinstellungen für Tonhöhenbezeichnungen, Stimmung und Vorzeichensymbole.

Um das Paket aber nutzen zu können, ist es zurzeit jedoch noch notwendig eine manuelle Anpassung des Paket Codes durchzuführen. Hier wird gezeigt, welche Zeilen zu ersetzen sind: Bug Fix chordbox


Quelle: https://ctan.org/pkg/chordbox

CircuiTikZ   top

Das Paket bietet eine Reihe von Makros für den Satz von elektrischen und elektronischen Netzwerken. Dazu ist es als ein einfach zu benutzendes Werkzeug mit einer schlanken Syntax konzipiert worden.

Die Dokumentation des Paketes ist sehr umfangreich und deckt viele Details in Bezug auf die Nutzung des Paketes (Versionen und Konflikte mit anderen Paketen) als solches und die Verwendung der Befehle im Speziellen ab. Auch sind innerhalb der Dokumentation zahlreiche Beispiele, die mit dem Paket erstellt worden sind, mit Bild und Code vorhanden, sodass der Einstieg deutlich leichter fällt als die Länge der Dokumentation zu Beginn vermuten lässt.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{circuitikz}

%...
\begin{document}
%...
\begin{circuitikz}[european]
\draw
(0,-1) node[transformer] (T){};
\draw (1,0.05) to [D-] (3,0)
to [elko=$C_{L}$] (3,-2); 
\draw ($(T.B1)+(1.4,0.4)$) node[above]{$V_1$} ;

\draw ($(T.B1)+(0,0)$) node[above]{\color{red} $I_{2,eff}$};
\draw (5.2,-0.3) node[right]{\color{red} $I_{RL}$};
% Punkte reingepfuscht
\fill (3,0) circle (2pt);
\fill (5,0) circle (2pt);
\fill (3,-2.1) circle (2pt);
\fill (5,-2.1) circle (2pt);
% Beschriftung und Pfeil Ueff2
\draw ($(T.B1)+(0.2,-1)$) node[right]{$U_{2eff}$};
\draw[-] ($(T.B1)+(0,-0.5)$) --++(0,-0.65) node[vee]{};
\draw (3,-2) node[rground] (gnd){} ;
\draw (T.B2) -- (3,-2.1);
\draw (3,0) -- (5,0) to[R=$R_{L}$] ++(0,-2.1) -- (3,-2.1);
% Verlängerung RECHTS
\draw (5,0) -- (7,0) ;
\draw (5,-2.1) -- (7,-2.1);
% Beschriftung und Pfeil nach unten RECHTS 
\draw (7,-0.5) node[right]{$U_{RL}$}  ;
\draw (7,-1) node[right]{$U_{AV}$}  ;
\draw[->] (6.8, -0.2) -- (6.8, -1.5);
% Pfeil nach unten und Beschriftung LINKS
\draw[->] (-1,-0.2) -- (-1,-1.5); 
\draw (-1.2,-.5) node[left]{$U_{1}$};
\draw (-1.2,-1) node[left]{$230V$};
\end{circuitikz}
%...
\end{document}

Quelle: https://ctan.org/pkg/CircuiTikZ

codeanatomy   top

Die Idee dieses Pakets ist es, Illustrationen von Codestücken mit Anmerkungen zu jedem Codestück zu setzen. Teile des Codes (Code-Anatomie). Der Ursprung dieser Idee sind die Code-Illustrationen in Lehrbüchern. Dieses Paket bietet nur das Werkzeug, um diese Figuren zu zeichnen. Das bedeutet für das Setzen des Codes selbst werden andere Pakete benötigt.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{codeanatomy}

%...
\begin{document}
%...
\begin{tikzpicture}[remember picture]
\codeBlock{
\cPart{functionHead}{function \cPart{functionName}{gcd} \cPart{parameterList}{(p, q)}}\{ \\[2.5pt] %
\ptab{}\mtPoint{mostLeft}if (q === 0) \{\\
\ptab\ptab{}return p; \\
\ptab{}\} else \{\\
\ptab\ptab{}return gcd(q, p \% q);\extremPoint{mostRight}\\
\ptab{}\}\mbPoint{mostBottom}\\
\}
};

\node(functionBody)[draw,code part,fit=(mostLeft) (mostRight) (mostBottom)] {};

% Anotation labels
\codeAnnotation{functionHeadText}(-1,3)  {Funktions\\Head}
\codeAnnotation{functionBodyText}(-1,1.5){Funktions\\Body}
\codeAnnotation{functionNameText}(1,4)   {Funktions Name}
\codeAnnotation{parameterListText} (4,4) {Paramter Liste}

% Annotation labels to Code
\draw[->, annotation] (functionBodyText) -- (functionBody);
\draw[->, annotation] (functionHeadText) -- (functionHead);
\draw[->, annotation] (functionNameText) -- (functionName);
\draw[->, annotation] (parameterListText) -- (parameterList);
\end{tikzpicture}

%...
\end{document}

Quelle: https://ctan.org/pkg/codeanatomy

coffeestains   top

Das coffeestains Paket bietet eine wichtige Funktion, die LaTeX schon zu lange fehlt: Es fügt Kaffeeflecken zu Ihren Dokumenten hinzu. Sie können viel Zeit sparen, wenn Sie die Flecken direkt auf die Seite drucken, anstatt sie manuell hinzuzufügen.

\documentclass[margin=10mm]{article}
%...
\usepackage{coffeestains}

%...
\begin{document}
%...
\coffeestainA{0.9}{0.85}{-25}{5cm}{1.3cm}
Das ist Text, der nur dafür hier steht, um das Ergebnis zu zeigen.
%...
\end{document}

Quelle: https://ctan.org/pkg/coffeestains

customdice   top

Mithilfe des customdice Paketes können Würfel personalisiert werden, wobei die Möglichkeiten der Anpassungen dabei nicht nur auf die Größe der Würfel und deren Farbe beschränkt ist. Das Paket bietet eine große Auswahl an Möglichkeiten und erreicht dies dennoch mit sehr einfachen Befehlen.

Die Würfel selbst werden mit dem Befehl \dice{Anzahl} gesetzt. Das nachfolgende Beispiel zeigt einen typischen Würfel mit 1 bis 6 Augen auf den Flächen.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{customdice}
%...
\begin{document}
%...
\dice{1} \dice{2} \dice{3} \dice{4} \dice{5} \dice{6} 
%...
\end{document}

Mithilfe des \dice{Anzahl} Befehls lassen sich bis zu 9 Augen setzen.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{customdice}
%...
\begin{document}
%...
\dice{1} \dice{2} \dice{3} \dice{4} \dice{5} \dice{6} \dice{7} \dice{8} \dice{9} 
%...
\end{document}

Neben den klassischen Augen lassen sich auch Buchstaben, Zahlen und Symbole auf den Würfel setzen, dies erfolgt dabei über den Befehl \textdice{Inhalt}.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{customdice}
%...
\begin{document}
%...
\textdice{A} \textdice{13} \textdice{$\pm$}
%...
\end{document}

Mit dem Kommando \layoutdice{Feld1}...{Feld6} lässt sich ein aufgeklappter Würfel darstellen. Auch hier ist es möglich anstelle des \dice{Anzahl} Befehls den Befehl \textdice{Inhalt} in die jeweiligen Felder zu setzen. Bei Setzen der Felder muss aber beachtet werden, dass bei einem normalen, also nicht gezinkten oder anders manipulierten, Würfel die Summe der Seiten, die sich gegenüber liegen, immer sieben ergibt. Wenn Sie wie im nachfolgenden Beispiel gezeigt die Felder 1 bis 6 einfach mit \dice{1} bis \dice{6} auffüllen erhalten Sie einen solchen Würfel. Dabei sind auch andere Musterkombination wie gezeigt wird möglich.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{customdice}
%...
\begin{document}
%...
\layoutdice{\dice{1}}{\dice{2}}{\dice{3}}{\dice{4}}{\dice{5}}{\dice{6}}
vs.
\layoutdice{\dice{3}}{\dice{2}}{\dice{6}}{\dice{1}}{\dice{5}}{\dice{4}}
%...
\end{document}

Die Farben der Seiten und der Augen beziehungsweise der anderen möglichen Symbole können über die Option der Befehle \dice[Farbe Hintergrund, Farbe Vordergrund]{Anzahl} beziehungsweise \textdice[Farbe Hintergrund, Farbe Vordergrund]{Anzahl} gesetzt werden. Je nach gewählter Farbe ist die zusätzliche Einbindung des xcolor Paketes notwendig.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{customdice}
%...
\begin{document}
%...
\dice[purple, white]{6} \textdice[yellow,black]{A} \textdice[white,blue]{13} \textdice[gray,red]{$\pm$}
%...
\end{document}

Die angezeigte Größe der Würfel lässt sich entweder über die Schriftgrößenbefehle \tiny bis \Huge verändern oder über die entsprechenden Abwandlungen der Befehle \tinydice{Anzahl} bis \Hugedice{Anzahl} beziehungsweise \tinytextdice{Inhalt} bis \Hugetextdice{Inhalt}.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{customdice}
%...
\begin{document}
%...
\dice[purple, white]{6} vs. \Large \dice[purple, white]{6} \normalsize vs. \Hugedice[purple, white]{6} 
%...
\end{document}

Für den Fall, dass Sie sehr große Würfel benötigen, können Sie auch die Basisgröße der Würfel mit dem Befehl \setdicefacesize{Wert in ex} verändern.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{customdice}
%...
\begin{document}
%...
\Huge 
\dice[purple, white]{6} vs. 
\setdicefacesize{6}
\dice[purple, white]{6} vs. 
\setdicefacesize{12}
\dice[purple, white]{6} 
%...
\end{document}

Quelle: https://www.ctan.org/pkg/customdice

ddphonism   top

Das ddphonism Paket, ist ein musikbezogenes Paket, das sich auf die Notation des Zwölftonsystems, auch Dodekaphonismus genannt, konzentriert. Es stellt Befehle bereit, die eine typische dodekaphonische Notation auf der Grundlage einer musikalischen Reihe oder Zeilenfolge variabler Länge erzeugen.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{ddphonism}

%...
\begin{document}
%...
\ddiagram{0,2,1,4,3,6,5}
%...
\end{document}

Quelle: https://ctan.org/pkg/ddphonism

DPcircling   top

Dieses einfache Paket bietet vier Arten von Textdekorationen mit TikZ. Der Text kann mit Kreisen, Rechtecken, gezackten Rechtecken und fächerförmig eingerahmt werden. Die Verzierungen können sowohl im Text- als auch im Mathe-Modus verwendet werden. Die Linienfarbe, Linienbreite, Breite und Höhe können mit Optionen angepasst werden.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{DPcircling}
%...
\begin{document}
%...
This is a \DPjagged[line color=blue,line width=1.4pt]{\color{red}great} opportunity.
%...
\end{document}

Quelle: https://ctan.org/pkg/DPcircling

dynkin-diagrams   top

Im mathematischen Gebiet der Lie-Theorie ist ein Dynkin-Diagramm, benannt nach Eugene Dynkin, eine Art Graph mit einigen verdoppelten oder verdreifachten Kanten. Die mehreren Kanten sind innerhalb bestimmter Beschränkungen gerichtet. Das Paket dynkin-diagrams ermöglicht den dirketen Satz von den entsprechenden Dynkindiagrammen in Latex.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{dynkin-diagrams}
%...
\begin{document}
%...
$E_{8}$ \dynkin{E}{8}
%...
\end{document}

Quelle: https://ctan.org/pkg/dynkin-diagrams

fancyqr   top

Das fancyqr Paket ermöglicht es aufwendig gestaltete QR-Codes zu generieren, dabei kann nicht nur die Farbe beziehungsweise der Farbverlauf verändert werden, es lassen sich auch Bilder und Text in dem QR-Code platzieren.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{fancyqr}
%...
\begin{document}
%...
\fancyqrset {height=3cm, image padding =0 , gradient = true,
gradient angle =135 , r color =teal , l color =purple }
\fancyqr{https://www.namsu.de/Extra/tikz/TikZ_Pakete.html}
%...
\end{document}

Quelle: https://www.ctan.org/pkg/fancyqr

fast-diagram   top

Das fast-diagram dient dazu FAST Diagramme zu erstellen, dabei handelt es sich bei FAST um Function Analysis System Technique und ist eine Methode die zur Funktionsanalyse verwendet werden kann. Das Beispiel, welches sich am Ende des Textes befindet, zeigt aber, dass das Paket durchaus auch zum Zeichnen von anderen Diagrammen geeignet ist.

Im Fall, dass die Option raccourcis beim fast-diagram Paket gesetzt wurde, können Sie beim Verwenden der neuen Befehle das Präfix fast weglassen.

Die fast-Umgebung wird zum Einrichten des Diagramms verwendet. Sie hat ein obligatorisches Argument, in das der Text des ersten Feldes geschrieben wird. Die Struktur innerhalb der fast-Umgebung folgt einer Eltern-Kind-Knotenstruktur. Es gibt einen Elternknoten und nachfolgende Kindknoten. Zwischen diesen Knoten können zusätzliche Funktionen vorhanden sein.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{fast-diagram} 
%...
\begin{document}
\renewcommand*{\fastFStexteStyle}{ }
%...
\begin{fast}{Säugetiere}
\fastFT{Kloakentiere}
{
\fastFT{Ameisenigel}{}
\fastFT{Schnabeltier}{}
}
\fastFT{Theria}
{
\fastFT{Beuteltiere}{}
\fastFT{Höhere Säugetiere}{}
}
\end{fast}
%...
\end{document}


Weiterführende Informationen: Mehr Informationen zum fast-diagram Paket

Quelle: https://ctan.org/pkg/fast-diagram

figchild   top

Dieses Paket wurde mit dem Ziel entwickelt, die Arbeit von Grundschullehrern zu erleichtern, die bunte und ansprechende Aktivitäten für ihre Schüler erstellen müssen. Es bietet eine große Auswahl an bereits bestehenden bezeihungsweise verwendbaren Grafiken.

Das figchild Paket ist ein einfaches Werkzeug zur Erstellung von Figuren, die in der Grundschule oder früher verwendet werden können. Es wurde mit Hilfe von Studenten an der Universität von Viçosa in Brasilien entwickelt. Das Paket zielt darauf ab, qualitativ hochwertige Bilder zur Verfügung zu stellen, die häufig in Bildungsaktivitäten verwendet werden, so dass LehrerInnen sie leicht in ihre Materialien einbinden können, ohne stundenlang mit der Erstellung oder der Suche nach qualitativ schlechten Bildern im Internet verbringen zu müssen.

Das Paket wird ständig weiterentwickelt, und es ist geplant, in zukünftigen Versionen weitere Bilder und Aktivitäten hinzuzufügen. Die aktuelle Version enthält Tabellen mit den verfügbaren Bildern, und es ist geplant, Bilder zu besonderen Anlässen wie Weihnachten, Ostern und Halloween aufzunehmen. Das Paket enthält auch Aktivitäten in portugiesischer Sprache, und es ist geplant, in Zukunft englische Versionen hinzuzufügen.

Um das Paket zu verwenden, fügen Sie den Befehl \usepackage{figchild} in die Präambel des Dokuments ein. Bilder können Sie dann mit dem Befehl \imagename{Bildgröße}{Bildfarbe}{Linienstärke} eingefügen, wobei Sie die gewünschte Größe, Farbe und Linienstärke angegeben können. Beispielsweise kann mit \fcTrain{2}{red}{2} eine rote Zugfigur mit einer Größe von 2 und einer Linienstärke von 2, zentriert auf der Seite, erstellt werden.

Insgesamt zielt das figchild Paket darauf ab, die Erstellung von Unterrichtsmaterialien zu erleichtern, indem es vorgefertigte Figuren bereitstellt, die leicht in Aktivitäten für die Grundbildung integriert werden können.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{figchild}
%...
\begin{document}
%...
\fcTrain{2}{red}{2}
%...
\end{document}

Quelle: https://ctan.org/pkg/figchild

flowchart   top

Das flowchart Paket stellt die Standard-Symbole für die Erstellung eines Programmflussdiagramms (Flowchart) bereit. Flussdiagramme können nicht nur zur Illustration von Computerprogrammen, sondern auch zur Darstellung von Arbeitsabläufen, Prozessen oder Anweisungen verwendet werden. Für die Erstellung gibt es eine Auswahl an genormten Figuren, die zur Darstellung von immer wieder vorkommenden Elementen verwendet werden.

Neben den Pfeilen enthält das Paket fünf vordefinierte Symbole, die auch als Elemente oder Figuren bezeichnet werden.

Terminal Symbol Flowchart Beispiel in TikZ LaTeX terminal Ein Haltepunkt im Flussdiagramm, dabei kann es sich um einen Start- beziehungsweise Endpunkt handeln, oder um eine Halt beziehungsweise eine Unterbrechung im Ablauf.
Unterprogramm Symbol Flowchart Beispiel in TikZ LaTeX predproc Damit werden Unterprogramme in das Diagramm eingefügt.
Verzweigungen Symbol Flowchart Beispiel in TikZ LaTeX decision Dieses Element dient dazu Verzweigungen beziehungsweise Entscheidungen darzustellen.
Operation Symbol Flowchart Beispiel in TikZ LaTeX process Beschreibt eine Tätigkeit.
Speicher Symbol Flowchart Beispiel in TikZ LaTeX storage Ein- oder Ausgabe jede Art von Speicher.

Diese Symbole werden mit dem Befehl \node in einer tikzpicture-Umgebung angeordnet. \node (Node) at (X,Y) [draw, SYMBOL, zusätzliche Optionen] {Inhalt};

Zusätzliche Optionen können verwendet werden, um die Mindestgröße (Mindestbreite, Mindesthöhe), die Farbe (Vorder- und Hintergrund) und die Textausrichtung festzulegen.

Das folgende Beispiel zeigt einen systematischen Prozess der Altersprüfung. Zunächst werden die Symbole gesetzt, dann werden die entsprechenden Pfeile eingefügt. Zusätzlich werden zwei Referenzpunkte hinzugefügt, um die visuelle Wirkung der letzten beiden Pfeile zu verstärken.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{flowchart}
%...
\begin{document}
%...
\begin{tikzpicture}[font ={\sf \small}, scale=0.75]
% Die Elemente 
 \node (start) at (0,0) [draw, terminal,
minimum width=2cm,
minimum height=0.5cm] {Start};

\node (alter) at (0,-2) [draw, predproc, align=left,
minimum width=2cm,
minimum height=1cm] {Alter \\ bestimmen};

\node (check) at (0,-5) [draw, decision,align=left,
minimum width=2cm,
minimum height=1cm] {Alter $<$ 18?};

\node (jung) at (-2,-7) [draw, process,align=left,
minimum width=2cm,
minimum height=1cm] {Zutritt \\ verweigern};

\node (alt) at (2,-7) [draw, process,align=left,
minimum width=2cm,
minimum height=1cm] {Zutritt \\ gewähren};

 \node (stop) at (0,-9) [draw, terminal,
minimum width=2cm,
minimum height=0.5cm] {Stop};

% Hilfspunkte 
\coordinate (point1) at (-2,-9) {};
\coordinate (point2) at (2,-9) {};

%Pfeile
\draw[->] (start) -- (alter);
\draw[->] (alter) -- (check);
\draw[->] (check) -| node[above]{Ja} (jung);
\draw[->] (check) -| node[above]{Nein} (alt);

\draw[->] (jung) -- (point1) -- (stop);
\draw[->] (alt) -- (point2) -- (stop);

\end{tikzpicture}
%...
\end{document}
Zusätzliche Symbole

Zusätzlich zu den fünf Symbolen, die im flowchart Paket enthalten sind, werden viele andere häufig verwendet. Der einfachste Weg, diese Symbole einzubinden, ist die Verwendung der entsprechenden geometrischen Form, die bereits als vordefinierter Befehl in TikZ verfügbar ist. Durch die Einbeziehung zusätzlicher Bibliotheken wie shapes.geometric, shapes.symbols und shapes.misc kann die Palette der verwendbaren geometrischen Formen erheblich erweitert werden.

Mehr zum Thema zusätzliche Symbole gibt es hier.


Quelle: https://ctan.org/pkg/flowchart

forest   top

Das forest Paket ist ein pgf/TikZ-basiertes Werkzeug zum Zeichnen von linguistischen Bäumen und anderen Arten von Bäumen. Vereinfacht formuliert ermöglicht das forest Paket das Setzen von sogenannten linguistischen Bäumen (Ableitungsbäumen).

Es bietet mehrere Schlüsselfunktionen: einen Pack-Algorithmus für kompakte Baum-Layouts, eine benutzerfreundliche Schnittstelle mit Klammer-Kodierung und Schlüssel-Wert-Optionen, umfangreiche Formatierungsoptionen für einzelne Knoten, einen leistungsstarken Baum-Traversal-Mechanismus, die Möglichkeit, Bäume mit pgf/TikZ zu dekorieren, und einen Externalisierungsmechanismus, der Code-Änderungen erkennt.

Das Paket wurde entwickelt, um das Problem der breiten Bäume in bestehenden Baumsatzpaketen zu lösen. Der Autor wollte schmalere Bäume ohne ständige manuelle Anpassungen erstellen, was zur Entwicklung von Forest führte. Forest ist ein hochflexibles Baumsatzpaket für LaTeX. Die letzte stabile Version ist auf CTAN verfügbar, die Entwicklungsversionen auf GitHub.

Der Abschnitt Tutorial bietet eine grundlegende Anleitung für die Erstellung von Bäumen mit dem Paket. Bäume werden in einer forest Umgebung eingegeben, wobei eckige Klammern verwendet werden, um Knoten und ihre Kinder einzuschließen. Beispiele demonstrieren verschiedene Baumstrukturen, Formatierungsbefehle und Sonderzeichen. Hielfreich sind auch Ressourcen wie der Forest Quickstart Guide for Linguists und TEX StackExchange für weitere Informationen und Hilfe.

Das forest Paket unterstützt verschiedene Baum-Layouts und bietet Anpassungsmöglichkeiten, um verschiedene Erscheinungsbilder zu erreichen. Benutzer können auch vordefinierte Stile wie den GP1-Stil aus der Linguistik-Bibliothek verwenden, um phonologische Darstellungen einfach zu setzen, oder mit Forest eigene Stile entwickeln.

Das Paket enthält Bibliotheken, die Makros für bestimmte Felder enthalten und so die Entwicklung eigener Stile erleichtern. Das Laden von Bibliotheken erfolgt über das optionale Argument des Pakets. Weitere Informationen zum Laden von Bibliotheken finden Sie in Abschnitt 3 des Handbuchs.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{forest}
%...
\begin{document}
%...
\begin{forest}
[S
    [NP
        [D[Die]]
        [N[Katze]]
    ]
    [VP, tikz={\node [draw,red, fit to=tree] {};}
        [V[ist]]
        [Adj[schwarz]]
    ]
]
\end{forest}
%...
\end{document}

Quelle: https://ctan.org/pkg/forest

genealogytree   top

Ein Paket für die Erstellung eines Stammbaums bezeihungsweise einer Ahnentafel. Das Paket stellt eine Reihe von Werkzeugen zur Verfügung, um Stammbäume zu setzen in verschiedenen Formen setzen zu können.

Das genealogytree Paket ist ein Werkzeug zum Setzen von Genealogien, stammbäumen und ähnlichen Strukturen in LaTeX. Es bietet einen automatischen Layout-Algorithmus und Anpassungsoptionen, um visuell ansprechende Diagramme zu erstellen. Das Paket wurde entwickelt, um Graphen zu unterstützen, die Familienbeziehungen, einschließlich Vorfahren und Nachkommen, darstellen.

Das genealogytree Paket unterscheidet zwischen Knoten, die Einzelpersonen darstellen, und Knoten, die Familien repräsentieren. Eine Familie kann mehrere Eltern und Kinder haben, und ein Knoten kann in einer Familie ein Kind und in einer anderen ein Elternteil sein. Das Paket verwendet eine Graphgrammatik, die eine bestimmte Struktur erzwingt, wobei ein songenannter g-Knoten eine Familie mit einer anderen verbindet.

Das genealogytree Paket strebt ein Gleichgewicht zwischen Automatisierung und Anpassung an. Es ermöglicht die automatische Berechnung des Layouts auf der Grundlage der bereitgestellten Grammatik und unterstützt Daten aus externen Quellen. Zu den Anpassungsoptionen gehören das Aussehen der Knoten, die Textbearbeitung, die Datenbankintegration für Knoteninhalte und die Anpassung der Kanten. Mehrere Stammbaumdiagramme können miteinander verbunden werden, um komplexere Diagramme zu erstellen.

Das Paket basiert auf TikZ und PGF zum Zeichnen und tcolorbox für die Knotengestaltung. Es ist in reinem LaTeX ohne Lua implementiert, was es unabhängig von externen Werkzeugen macht, aber potentiell langsamer für komplexe Diagramme. Die Externalisierung von Diagrammen wird empfohlen, um die Leistung zu verbessern. Auch wenn es andere Pakete zum Zeichnen von Diagrammen gibt, konzentriert sich genealogytree speziell auf genealogische Bäume und bietet einzigartige Funktionen. TikZ und das forest Paket werden zum Teil als alternative Optionen für das Zeichnen von Stammbäumen betrachtet, aber sie haben nicht den gleichen Grad an Spezialisierung auf genealogische Bäume wie genealogytree.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{genealogytree}
%...
\begin{document}
%...
\begin{tikzpicture}
\genealogytree{
    parent{
        g[female]{erstes Kind}
        c[male]{zweites Kind}
        c[female]{drittes Kind}
    parent{
        c[female]{Tante}
        g[male]{Vater}
        c[male]{Onkel}
        parent
        {
        % former ’p’ node
        g[male]{Großvater}
        }
        parent{
        % former ’p’ node
        g[female]{Großmutter}
        }
        }
    parent
        {
        % former ’p’ node
        g[female]{Mutter}
        }
        }
}
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/genealogytree

grafcet   top

Das Paket stellt eine Bibliothek zur Verfügung mit der ein Grafcet gezeichnet werden kann.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{grafcet}
%...
\begin{document}
%...
\begin{tikzpicture}
\EtapeInit[0,0]{100}
\Transition[VX100]{100}
\Etape[VT100]{110}
\Transition{110}
\Etape[VT110]{120}
\Transition[VX120]{120}
\LienRetour{T120}{X100}
\Recept{T100}{$dcy \cdot a_0$}
\ActionX{X110}{Ausgabe A}
\Recept{T110}{Bedingung}
\ActionX{X120}{Zurückkehren}
\Recept{T120}{$a_0$}
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/grafcet

gridpapers   top

Dieses Paket bietet viele voreingestellte und dennoch anpassbare Hintergründe für Millimeterpapier. Zu den voreingestellten Mustern gehören Standardquadrate, Punktraster, Sechsecke, isometrische oder dreieckige Raster, Quadrate mit 45°-Lichtkegellinien, Linien und mehr. Die Größe des Musters kann über die Paketoptionen gesteuert werden. Auch kann die Farbe verändert werden.

Das Paket gridpapers ist ein LaTeX-Paket, mit dem Benutzer verschiedene Arten von benutzerdefinierten Rasterpapieren erstellen können, z. B. Quadrille, Graph, Hex und mehr. Es verwendet das PGF/TikZ-Paket und bietet Standardeinstellungen, die leicht angepasst werden können. Dieses Paket bietet viele voreingestellte und dennoch anpassbare Hintergründe für Millimeterpapier. Zu den voreingestellten Mustern gehören Standardquadrate, Punktraster, Sechsecke, isometrische oder dreieckige Raster, Quadrate mit 45°-Lichtkegellinien, Linien und mehr. Die Größe des Musters kann über die Paketoptionen gesteuert werden. Auch kann die Farbe verändert werden.

Das gridpapers Paket bietet Optionen zur Konfiguration des Rasters des Papiers über Key / Value Option beim Einbinden des Paketes. Der Benutzer kann aus mehreren vordefinierten Mustern für den Seiten- oder Textbereichshintergrund wählen, wie z. B. std, stdeight, majmin, dot, hex, hexup, tri, iso, lightcone, ruled und doubleruled. Jedes Muster verfügt über Standardeinstellungen für Seitengeometrie, Dicke und andere Parameter.

Darüber hinaus können die Benutzer die Farben anpassen, indem sie aus Farbvoreinstellungen wählen oder bestimmte Farben wie majorcolor, minorcolor und bgcolor außer Kraft setzen. Das Paket unterstützt das Überblenden von Farben und bietet Optionen zur Anpassung der Größe von Mustern, Punkten und Abständen zwischen Gitterelementen.

Das Paket ermöglicht die Anpassung der gesamten Seite oder nur des Textbereichs, und der Benutzer kann die Seitengeometrie mit der Syntax des Geometriepakets festlegen. Zu den im Paket enthaltenen Mustern gehören Quadrille, Millimeterpapier, Punkte, Sechsecke, Dreiecke, isometrische Gitter, linierte Seiten und mehr.

Anhand von Beispielen werden die Anpassungsmöglichkeiten demonstriert, darunter das Ändern von Mustertypen, das Anpassen von Mustergrößen, das Auswählen von Farbvoreinstellungen, das Festlegen von benutzerdefinierten Farben und das Konfigurieren der Seitengeometrie.

Insgesamt bietet das gridpapers Paket eine gelungene Möglichkeit, mit LaTeX und TikZ individuelle Raster für verschiedene Zwecke zu erstellen.

\documentclass{article}
 \usepackage[pattern=majmin, majorcolor=purple,
 minorcolor={purple!40}]{gridpapers}

 \begin{document}
 \thispagestyle{empty}
 ~
 \end{document}

Quelle: https://ctan.org/pkg/gridpapers

harveyballs   top

Das harveyballs Paket stellt sogenannte Harveyballs als Befehl zur Verfügung. Die Standardgröße der Bälle orientiert sich mit 0.85ex an der Verwendung im Text, kann aber auch einfach vergrößert werden.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{harveyballs}
\usepackage{graphicx}
%...
\begin{document}
%...
\harveyBallNone[14pt]
\harveyBallQuarter[14pt]
\harveyBallHalf[14pt]
\harveyBallThreeQuarter[14pt]
\harveyBallFull[14pt]
\\[14pt]
\harveyBallFull[14pt]
\reflectbox{\harveyBallThreeQuarter[14pt]}
\reflectbox{\harveyBallHalf[14pt]}
\reflectbox{\harveyBallQuarter[14pt]}
\harveyBallNone[14pt]
\\[14pt]
\harveyBallFull[14pt]
\harveyBallThreeQuarter[14pt]
\harveyBallHalf[14pt]
\harveyBallQuarter[14pt]
\harveyBallNone[14pt]
\\[14pt]
\harveyBallNone[14pt]
\reflectbox{\harveyBallQuarter[14pt]}
\reflectbox{\harveyBallHalf[14pt]}
\reflectbox{\harveyBallThreeQuarter[14pt]}
\harveyBallFull[14pt]
\\[14pt]
\harveyBallFull[14pt]
\rotatebox[]{90}{\harveyBallHalf[14pt]}
\harveyBallNone[14pt]
\rotatebox[]{270}{\harveyBallHalf[14pt]}
\harveyBallFull[14pt]
%...
%...
\end{document}


Weiterführende Informationen: Das HarveyBalls Paket kurz erklärt

Quelle: https://ctan.org/pkg/harveyballs

havannah   top

Dieses Paket stellt die Makros für den Satz von Diagrammen von Brettpositionen in den Spielen Havannah und Hex bereit.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{havannah}
%...
\begin{document}
%...
\begin{HavannahBoard}[
board size=3,coordinate style=little golem,hex height=1cm]
\HGame{d3,c2}
\end{HavannahBoard}
%...
\end{document}

Quelle: https://ctan.org/pkg/havannah

hf-tikz   top

Das hf-tikz Paket kann dazu verwendet werden, um in Dokumenten und Präsentationen, Formeln farblich hervorzuheben. Dabei kann sowohl die Formel als ganzes, als auch nur ein Teil der Teil der Formel farblich hervorgehoben werden. Bei der Verwendung des Paktes ist darauf zu achten, dass die entsprechenden Mathematikpakete, wie etwa amsmath, ebenfalls eingebunden werden. Diese werden nicht automatisch durch das hf-tikz Paket mit eingebunden, sondern müssen extra eingebunden werden.

Um Formeln beziehungsweise Teile von Formel farblich hervorzuheben gibt es gibt es zwei neue Befehle \tikzmarkin welcher zu Beginn der Hervorhebung gesetzt wird und \tikzmarkend wird am Ende davon gesetzt. Beide Befehlen benötigen ein eindeutiges Label ,\tikzmarkin{Label X} und \tikzmarkend{Label X}. Neben einem Label verfügt zumindest der \tikzmarkin über die Möglichkeit die Offsets der Box anzupassen was insbesondere bei Formeln die Brüche, Binome etc. enthalten notwendig seien kann, da die Formel sonst nicht über die komplette Höhe erfasst wird.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{hf-tikz}
\begin{document}
%...
$\tikzmarkin{x0} x + 5 = 0 \tikzmarkend{x0}$
%...
\begin{equation}
\tikzmarkin{x1}
x + 5 = 0
\tikzmarkend{x1}
\end{equation}
%...
\begin{equation}
x + \tikzmarkin{x2}5\tikzmarkend{x2} = 0
\end{equation}
%...
\end{document}


Weiterführende Informationen:Das hf-tikz Paket kurz erklärt

Quelle: https://ctan.org/pkg/hf-tikz

istgame   top

Das istgames Paket ermöglicht es, basierend auf dem tikz Paket, auf einfache Art und Weise Spielbäume zu zeichnen. Bei Spielbäumen handelt es sich um die graphische Darstellung von extensiven Spielen aus der Spieltheorie.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{istgame}
%...
\begin{document}
%...
\begin{istgame}
\xtdistance{20mm}{50mm}
\setistmathTF000 % mode: text,text,text
\istroot(0)(0,0){Spieler 1}
\istb{schweigen}[above left]%{(0,2)}
\istb{gestehen}[above right]
\endist
\xtdistance{10mm}{20mm}
\setistmathTF001 % mode: text,text,math
\istroot(1)(0-1)<120>{Spieler 2} 
% Am Subbaum 1 von Baum 0 daher (0-1)
\istb{schweigen}[above left]{(-1,-1)}
\istb{gestehen}[above right]{(-6,0)}
\endist
\istroot(2)(0-2)<30>{Spieler 2}
% Am Subbaum 2 von Baum 0 daher (0-2)
\istb{schweigen}[above left]{(0,-6)}
\istb{gestehen}[above right]{(-5,-5)}
\endist
\end{istgame}
%...
\end{document}


Weiterführende Informationen: Ein ausführlichere Beschreibung des istgames Pakets

Weiterführende Pakete:sgame

Quelle: https://ctan.org/pkg/istgame

jeuxcartes   top

Das JeuxCartes Paket ermöglicht es Spielkarten im französischen Stil, das heißt Kreuz, Pik, Herz und Karo zu setzen. Darüber hinaus sind noch andere Stille vorhanden. Bisher ist die Dokumentation (Stand Juni 2023) nur auf Französisch verfügbar.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{JeuxCartes}
%...
\begin{document}
%...
\AffCarteJeu{AC}\AffCarteJeu{DT}
%...
\end{document}

Quelle: https://ctan.org/pkg/jeuxcartes

jigsaw   top

Dieses LaTeX-Paket ermöglicht das Zeichnen von Puzzlen beziehungsweise von einzelnen Puzzelstücken mit TikZ. Es ist möglich, einzelne Teile zu zeichnen und ihre Form und Farbe anzupassen und Kachelmuster zu erstellen. Es ist auch möglich automatisch komplette Puzzles die blank bezeihungsweise mit einem hinterlegten Bild sind zu erzeugen.

piece

Mit dem \piece[Füllfarbe]{unten}{rechts}{oben}{links} Befehl lassen sich einzelne Teile eines Puzzeles erzeugen. Als Werte für die vier Parameter können die -1, die 0 und die 1 verwendet werden. Die Werte stehen dabei für die folgenden Formen:

Im Prinzip sind daher 81 verschiedene Teile möglich, da sich die Puzzelteile aber drehen lassen ergeben sich deutlich weniger Möglichkeiten.

\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{jigsaw}
\begin{document}
\begin{tikzpicture}
\piece{1}{1}{1}{-1}
\end{tikzpicture}
\end{document}
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{jigsaw}
\begin{document}
\begin{tikzpicture}
\piece{-1}{1}{1}{1}
\end{tikzpicture}

\begin{tikzpicture}[rotate=270]
\piece{-1}{1}{1}{1}
\end{tikzpicture}
\end{document}

Sowohl die Färbung der Fläche wie auch die Farbe des Randes lässt sich verändern. Die Farbe der Fläch kann über die Option des \piece... Befehls verändert werden. Die Farbe des Randes hingegen wird über den \color{Farbe} Befehl verändert.

\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{jigsaw}
\begin{document}

\begin{tikzpicture}
\piece{1}{1}{0}{0}
\end{tikzpicture}

\begin{tikzpicture}
\piece[blue]{1}{1}{0}{0}
\end{tikzpicture}

\begin{tikzpicture}
\color{red}\piece[blue]{1}{1}{0}{0}
\end{tikzpicture}

\end{document}
jigsaw

Mit dem \jigsaw{Spalten Anzahl}{Zeilen Anzahl} Befehl können komplette Puzzel erzeugt werden. Diese können blank sein oder mit einem Bild versehen werden.

\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{jigsaw}
\begin{document}
%...
\begin{tikzpicture}
\jigsaw{6}{4}
\end{tikzpicture}
%...
\end{document}

Bilder werden als Node, im Schwerpunkt des Puzzels, eingefügt. Die Größe des Bildes muss auf die Größe des Puzzels angepasst werden.

\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{jigsaw}
\begin{document}
%...
\begin{tikzpicture}
\clip (0,0) rectangle (8,5);
\node at (4,2.5) {\includegraphics[width=8cm]
{schlafende_katze}};
\jigsaw{8}{5}
\end{tikzpicture}
%...
\end{document}

Die Scale Option der tikzpicture Umgebung wirkt sich nicht auf das Bild aus! In diesem Fall muss die angezeigte Breite des eingebunden Bildes entsprechend manuell skaliert werden.

\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{jigsaw}
\begin{document}
%...
\begin{tikzpicture}[scale=2]
\clip (0,0) rectangle (8,5);
\node at (4,2.5) {\includegraphics[width=16cm]
{schlafende_katze}};
\color{white}\jigsaw{8}{5}
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/jigsaw

karnaughmap   top

Ein Paket zum Setzen Karnaugh Diagrammen mit bis zu vier Variablen. Dabei stehen vier Standarddiagramme mit 2, 4, 8 und 16 Feldern zur Verfügung.

karnaughmap

Der Befehl \karnaughmap[Optionen]{...} verfügt über eine große Anzahl an möglichen Optionen. Eine Auswahl dieser Optionen wird im folgenden kurz vorgestellt.Mit Hilfe der Option defaultmap kann eines der vier Standarddiagramme erstellt. Als mögliche Werte hat die Option 2,4,8 und 16 in Anlehnung an die entsprechende Felderzahl. Auch wenn nur ein leeres Diagramm erzeugt werden soll muss der Parameter gesetzt werden, wenn auch nur als leerer Paramenter in der Form {}.

\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{karnaughmap}
\begin{document}
\begin{tikzpicture}
\karnaughmap[defaultmap=16]{}
\end{tikzpicture}
\end{document}

Das Auffüllen der einzelnen Zellen ist am Anfang etwas ungewohnt. Da es zum einen Spaltenweise erfolgt, aber zum anderen nicht notwendigerweise die Spalten von links nach rechts durchläuft. Hier wird zuerst die erste Spalte mit den Feldern 0, 1, 3 und 2 durchlaufen, dann die zweite Spalte mit den Feldern 4, 5, 7, und 6, dann die vierte Spalte mit den Feldern 8, 9, 11 und 10 udn als letztes die dritte Spalte mit den Feldern 12, 13, 15 und 14. Die Nummer der Felder wurden zum besseren Verständnis in den Code mit aufgenommen.
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{karnaughmap}
\begin{document}
\begin{tikzpicture}
\karnaughmap[defaultmap=16]{
0111 %(0)(1)(3)(2)
0101 %(4)(5)(7)(6)
0111 %(8)(9)(10)(11)
0101 %(12)(13)(14)(15)
}
\end{tikzpicture}
Nuller einfügen

Durch die Option omitzeros=false werden auch die Nuller im Diagramm mit angezeigt.

\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{karnaughmap}
\begin{document}
\begin{tikzpicture}
\karnaughmap[defaultmap=16,omitzeros=false]{
0111 %(0)(1)(3)(2)
0101 %(4)(5)(7)(6)
0111 %(8)(9)(10)(11)
0101 %(12)(13)(14)(15)
}
\end{tikzpicture}
\end{document}
Negierte Variablen

Die negierten Variablen werden standardmäßig nicht in dem Diagramm angezeigt, aber sie lassen sich durch das Setzen der Option omitnegated=false in das Diagramm einfügen.
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{karnaughmap}
\begin{document}
\begin{tikzpicture}
\karnaughmap[defaultmap=16,omitzeros=false,
omitnegated=false]{
0111 %(0)(1)(3)(2)
0101 %(4)(5)(7)(6)
0111 %(8)(9)(10)(11)
0101 %(12)(13)(14)(15)
}
\end{tikzpicture}
\end{document}
Feldnummer

Die Nummern der Felder werden als Dezimalzahl geschrieben. Für den Fall, dass anstelle der Dezimalzahlen Binärzahlen verwendet werden sollen, wird die Option binaryidx gesetzt.

\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{karnaughmap}
\begin{document}
\begin{tikzpicture}
\karnaughmap[defaultmap=16,omitzeros=false,
omitnegated=false,binaryidx]{
0111 %(0)(1)(3)(2)
0101 %(4)(5)(7)(6)
0111 %(8)(9)(10)(11)
0101 %(12)(13)(14)(15)
}
\end{tikzpicture}
\end{document}
Funktion

Über die Option function={...} lässt sich eine Funktion angeben die dann anstelle des Ausdrucks z: über dem Diagramm erscheint. In dieser Funktion wird der Mathematikmodus verwendet, sodass Formel und ähnliche Ausdrücke direkt geschrieben werden können..

\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{karnaughmap}
\begin{document}
\begin{tikzpicture}
\karnaughmap[defaultmap=16,omitzeros=false,
omitnegated=false,binaryidx,
function={f(a,b,c,d) =  d \vee c\bar{b}} ]{
0111 %(0)(1)(3)(2)
0101 %(4)(5)(7)(6)
0111 %(8)(9)(10)(11)
0101 %(12)(13)(14)(15)
}
\end{tikzpicture}
\end{document}
Farbige Felder für die Implikanten

Mit Hilfe des Befehls \karnaughmapcolorfield[Optionen]{Anzahl Variablen}{Feldnummern}{Farbe} lassen sich einzelne Felder und auch mehrere Felder gleichzeitig einfärben beziehungsweise es wird innerhalb der Felder ein entsprechend eingefärbter Rahmen um die Werte gesetzt. Die Auswahl zwischen dem ganzen Feld und Rahmen erfolgt anhand der Option des Befehls. Wird die Option outline wird der Rahmen angezeigt und in den anderen Fällen wird das ganze Feld eingefärbt. Die Feldnummern werden in Hexadezimalschreibweise verwendet also 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e und f.

\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{karnaughmap}
\begin{document}
\begin{tikzpicture}
\karnaughmapcolorfield[]{4}{1357}{blue!50}
\karnaughmapcolorfield[]{4}{9bdf}{blue!50}
\karnaughmapcolorfield[]{4}{2a}{red!50}
\karnaughmap[defaultmap=16,omitzeros=false,
omitnegated=false,binaryidx,
function={f(a,b,c,d) =  d \vee c\bar{b}} ]{
0111 %(0)(1)(3)(2)
0101 %(4)(5)(7)(6)
0111 %(8)(9)(10)(11)
0101 %(12)(13)(14)(15)
}
\end{tikzpicture}
\end{document}

Quelle: https://ctan.org/pkg/karnaughmap

karnaugh-map   top

Das karnaugh-map Paket ist ein Paket zum Zeichnen von von Karnaugh-Diagramme mit bis zu sechs Variablen. Es bietet die Möglichkeit das Diagramm auf einfache Art und Weise mit den Min- und Maxtermen aufzufüllen und darüber hinaus bietet es einige Möglichkeiten die Implikanten farblich in Gruppen zusammen zu fassen.

karnaugh-map

Innerhalb der gleichnamigen karnaugh-map Umgebung wird das Diagramm gesetzt. Es stehen sechs verschiedene vorgefertigte Varianten an Diagrammen zur Verfügung. Dabei ist aber zu beachten, dass die maximale Anzahl an Felder in einem der Diagramme auf 16 begrenzt ist, wodurch sich im Fall von 5 oder 6 Variablen die Notwendigkeit ergibt zwei beziehungsweise vier Teildiagramme, mit jeweils 16 Feldern, zu verwenden. Die Auswahl und die Variablenbeschriftung erfolgt über die Optionen der karnaugh-map Umgebung. Der Aufbau ist dabei wie folgt.

\begin{karnaugh-map}
[Anzahl Felder X-Achse]
[Anzahl Felder Y-Achse]
[Anzahl Teildiagramme]
[X-Achse Beschriftung]
[Y-Achsen Beschriftung]
[Beschriftung der Teildiagramme]
\end{karnaugh-map}

Der defaul Wert für die Anzahl der Felder ist sowohl in X wie auch Y Richtung 4. Für die Unterdiagramme ist die 1 als Standard gesetzt. Die automatisch gesetzten Beschriftung für die X-Achse ist X1X0, für die Y-Achse X3X2 und für die Teildiagramme X5X4. Aufgrund dieser automatisch gesetzten Beschriftung ist es von zwei Fällen (4 und 6 Variablen) abgesehen in der Regel notwendig die Beschriftung anzupassen.

Diagramm Typen

Nachfolgend die sechs verschiedenen Standarddiagramm nebst den notwedigen Anpassungen für die Beschriftung.

2 Variablen Diagramm
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{karnaugh-map}
%...
\begin{document}
%...
\begin{karnaugh-map}[2][2][1][$X_0$][$X_1$]
\end{karnaugh-map}
%...
\end{document}
3 Variablen Diagramme
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{karnaugh-map}
%...
\begin{document}
%...
\begin{karnaugh-map}[2][4][1][$X_1 X_0$][$X_2$]
\end{karnaugh-map}
%...
\end{document}
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{karnaugh-map}
%...
\begin{document}
%...
\begin{karnaugh-map}[4][2][1][$X_1 X_0$][$X_2$]
\end{karnaugh-map}
%...
\end{document}
4 Variablen Diagramm
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{karnaugh-map}
%...
\begin{document}
%...
\begin{karnaugh-map}
\end{karnaugh-map}
%...
\end{document}
5 Variablen Diagramm
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{karnaugh-map}
%...
\begin{document}
%...
\begin{karnaugh-map}[4][4][2][$X_1 X_0$][$X_3 X_2$][$X_4$]
\end{karnaugh-map}
%...
\end{document}
6 Variablen Diagramm
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{karnaugh-map}
%...
\begin{document}
%...
\begin{karnaugh-map}[4][4][4]
\end{karnaugh-map}
%...
\end{document}
Beschriftung ändern

Wie bereits geschrieben kann die Beschriftung über die Option der karnaugh-map Umgebung über die Option verändert werden. Im folgenden wird die Beschriftung im Fall von vier Variablen von X3X2 X1 X0 auf abcd geändert.

\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{karnaugh-map}
%...
\begin{document}
%...
\begin{karnaugh-map}[4][4][1][$ab$][$cd$]
\end{karnaugh-map}
%...
\end{document}
Terme einfügen

Die Minterme lassen sich über den Befehl \minterms{Feldnummer(n)} einfügen, für die Maxterme existiert der entsprechende Befehl \maxterms{Feldnummer(n)}. Das Paket bietet aber auch die Möglichkeit den Befehl \autoterms[Option] zu verwenden. Der Befehl \autoterms[Option] setzt automatisch in alle noch freien Felder das Elemente welches als Option an diesen Befehl übergeben worden ist. Im folgenden wird die Funktion D ∨ C &neg; B umgesetzt.

Maxterme einfügen
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{karnaugh-map}
%...
\begin{document}
%...
\begin{karnaugh-map}[4][4][1][$ab$][$cd$]
\maxterms{0,1,2,3,9,11}
\end{karnaugh-map}
%...
\end{document}
Minterme einfügen
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{karnaugh-map}
%...
\begin{document}
%...
\begin{karnaugh-map}[4][4][1][$ab$][$cd$]
\maxterms{0,1,2,3,9,11}
\minterms{4,5,6,7,8,10,12,13,14,15}
\end{karnaugh-map}
%...
\end{document}

Anstelle das die Minterme alle über die Feldnummer eingetragen werden hätte man hier auch den autoterms Befehl verwenden können, der die benötigte Arbeit deutlich reduziert wie sich in dem nachfolgenden Beispiel zeigt.

\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{karnaugh-map}
%...
\begin{document}
%...
\begin{karnaugh-map}[4][4][1][$ab$][$cd$]
\maxterms{0,1,2,3,9,11}
\autoterms[1]
\end{karnaugh-map}
%...
\end{document}
Implikanten zusammenfassen

Das Paket bietet die Möglichkeit an die Implikanten zusammen zu fassen und farblich hervorzuheben. Dafür gibt es mehrere verschiedene Befehle. Mit \implicantedge lassen sich Implikanten über die Kanten zusammen fassen. Mit \implicantcorner lassen sich die Implikanten in den Ecken des Diagramms zusammen fassen. Und mit dem Befehl \implicant lassen sich mehrere Implikanten zusammen fassen. Dieser Befehl kann auch dafür genutzt werden um einzelne Implikanten zu erfassen und farblich hervorzuheben.

Die Befehle sind dabei wie folgt aufgebaut:
\implicant{Nordwest Feld-Nr.}{Südost Feld-Nr.}[Teildiagramm Nr.]
Im Fall, dass nur ein Feld markiert werden soll stimmen hier die Feldnummern überein. Der Standardwert für die Nummer des Teildiagramms ist 0 was bedeutet es gibt nur ein Diagramm.
\implicantedge{linke/obere Nordwest Feld-Nr.}{linke/obere Südost Feld-Nr.}{rechte/untere Nordwest Feld-Nr.}{rechte/untere Südost Feld-Nr.}[Teildiagramm Nr.]
Die Start- und Stopfelder können auch identisch sein. Der Standardwert für die Nummer des Teildiagramms ist 0 was bedeutet es gibt nur ein Diagramm.
\implicantcorner[Teildiagramm Nr.]
Bei diesem Befehl stehen die Felder bereits fest, sodass nur noch die Nummer beziehungsweise die Nummern der Teildiagramme gesetzt werden müssen. Auch hier ist der Standardwert für die Nummer des Teildiagramms 0.

\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{karnaugh-map}
%...
\begin{document}
%...
\begin{karnaugh-map}[4][4][1][$ab$][$cd$]
\maxterms{0,1,2,3,9,11}
\autoterms[1]
\implicant{4}{14}
\implicantedge{8}{8}{10}{10} 
\end{karnaugh-map}
%...
\end{document}


Quelle: https://ctan.org/pkg/karnaugh-map

kinematikz   top

Das kinematikz Paket bietet Funktionen zum Zeichnen von kinematischen Diagrammen für Mechanismen (Strukturmechanik) unter Verwendung spezieller Symbole. Wichtig war dem Autor zu erwähnen, dass das Paket keine kinematische Lösung durchführt und es auch nicht dazu gedacht ist, realistische mechanische Zeichnungen von Mechanismen und Robotern zu erstellen, sondern nur 2D- und 3D-Kinematikketten.

Das Paket stellt Verbindungen, Gelenke und andere Symbole, meist in Form von TikZ \pic-Objekten, zur Verfügung. Die Platzierung dieser Bilder folgt den den üblichen TikZ-Prozessen.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{kinematikz}
%...
\begin{document}
%...
\begin{tikzpicture}
\pic {frame pivot triangle};
\end{tikzpicture}
%...
\end{document}

Das nachfolgende Beispiel entspricht dem beim Paket structmech.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{kinematikz}
%...
\begin{document}
%...
\begin{tikzpicture}
\pic (hs1) at (0,0) {frame pivot triangle};
\pic (hs2) [rotate=45] at (2,0) {frame pivot triangle};
\pic (hs3) [rotate=135] at (2,2) {frame pivot triangle};
\pic (hs4) [rotate=225] at (0,2) {frame pivot triangle};
\draw (hs1-center) -- (hs2-center);
\draw (hs2-center) -- (hs3-center);
\draw (hs3-center) -- (hs4-center);
\draw (hs4-center) -- (hs1-center);
\end{tikzpicture}
%...
\end{document}

Die Dokumentation enthält viele Beispiele, die sich relativ leicht an die eigenen Anforderungen anpassen lassen, wie es beim folgendem Beispiel (Examples of planar mechanisms) umgesetzt wurde.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{kinematikz}
%...
\begin{document}
%...
\begin{tikzpicture}
\draw [help lines,gray!20] (-1,-1) grid (6,6);
%
\coordinate (P1) at (0,0) node at (P1) [above left] {$P_1$};
\coordinate (P2) at (4.4,0) node at (P2) [above right] {$P_2$};
\coordinate (P3) at (70:2) node at (P3) [above left] {$P_3$};
\coordinate (P4) at (4,2.5) node at (P4) [above right] {$P_4$};
\coordinate (P5) at (3,4.5) node at (P5) [above right] {$P_5$};
\coordinate (P6) at (1,3) node at (P6) [above,yshift=3pt] {$P_6$};
%
\pic (base1) at (P1) {frame pivot triangle};
\pic (base2) at (P2) {frame pivot triangle};
%
\def\ListOfPivotPointsToDraw{1,0,0}
\pic (link3) at (P3) {link polygon={P4/P5/P6}};
\pic (link1) at (P1) {link bar generic={P3}};
pic (link2) at (P2) {link bar generic={P4}};
\draw [knLinkStyle] (P5) -- ++(0,0.5) node (tip) {};
\pic at (tip) {gripper=1};
\draw [knLinkStyle] (P6) -- ++(-0.5,0.5) node (tip2) {};
\pic [rotate=135] at (tip2) {gripper};
%
\end{tikzpicture}
%...
\end{document}

Quelle: https://www.ctan.org/pkg/kinematikz

ladder   top

Das Paket ermöglicht das Zeichnen von Kontaktplänen (Ladder Diagram). Ein Kontaktplan ist eine grafische Programmiersprache, die häufig in industriellen Automatisierungs- und Steuerungssystemen verwendet wird. Sie wird in erster Linie zur Darstellung der Logik und Steuerung von elektrischen Schaltkreisen oder Systemen verwendet, insbesondere in Anwendungen wie speicherprogrammierbaren Steuerungen (SPS).

In Kontaktplänen wird die Logik eines Schaltkreises oder Systems durch verschiedene grafische Elemente dargestellt, die den Sprossen einer Leiter ähneln. Das Diagramm wird von links nach rechts gelesen, wobei jede Sprosse eine eigene Zeile der Steuerlogik darstellt. Die Sprossen sind vertikal durch Stromschienen verbunden, die die Versorgungsspannung darstellen, und horizontal durch verschiedene Kontakte und Spulen.

Zu den grundlegenden Elementen eines Kontaktplans gehören

  1. Power Rails / Stromschienen: Dies sind die vertikalen Linien auf beiden Seiten des Diagramms, die die Versorgungsspannung oder Stromquelle darstellen.
  2. Contacts /Kontakte: Kontakte sind grafische Symbole, die Schalter, Sensoren oder andere Eingabegeräte darstellen. Sie können normalerweise offen (NO) oder normalerweise geschlossen (NC) sein. Ein Schließer wird durch eine Linie dargestellt, die durch eine diagonale oder schräge Linie unterbrochen wird, während ein Öffner durch eine Linie dargestellt wird, die durch eine horizontale Linie unterbrochen wird.
  3. Coils /Spulen: Spulen stellen Ausgangsgeräte wie Relais, Magnetspulen oder Motoren dar. Sie werden in der Regel als ein Paar paralleler Linien mit einer diagonalen Linie dargestellt, die sie kreuzt.
  4. Control Lines / Steuerleitungen: Steuerleitungen verbinden die Kontakte und Spulen in einem Kontaktplan. Sie stellen den elektrischen Stromfluss und die logischen Verbindungen zwischen verschiedenen Elementen dar.

Die Interpretation eines Kontaktplans beginnt auf der linken Seite und folgt dem Verlauf der Steuerleitungen. Die Kontakte dienen als Eingangsbedingungen, und ihr Status (offen oder geschlossen) bestimmt, ob Strom zu den Spulen fließen kann. Wenn die Eingangsbedingungen erfüllt sind (Kontakte sind geschlossen), kann Strom durch die Steuerleitung fließen, um die zugehörige Spule zu erregen, die wiederum das Ausgabegerät aktiviert.

Kontaktpläne bieten eine visuelle Darstellung der Steuerlogik in elektrischen Schaltkreisen und erleichtern so die Entwicklung, das Verständnis und die Fehlersuche in komplexen Systemen. Sie sind in der industriellen Automatisierung weit verbreitet, da sie es Ingenieuren und Technikern ermöglichen, den Betrieb von Maschinen und Prozessen effizient zu programmieren und zu steuern.

Nachfolgendes Beispiel in Anlehnung an:Kontaktplan / wikipedia

\documentclass[margin=10mm]{standalone}
%...
\usepackage{tikz}
\usepackage{ladder}
%...
\begin{document}
%...
\begin{tikzpicture}
\ladderLine
\startParallel % Begin of section
\ladderNO{E1}{}
\setParallel
\ladderNC{E2}{}
\ladderNO{A1}{}
\unsetParallel
\ladderC{A1}{}
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/ladder

letterswitharrows   top

Mit dem letterswitharrows können Links- und Rechtspfeile über mathematische Symbole, im mathematischen Modus, gesetzt werden, so dass die Pfeile dynamisch mit den Symbolen, über die sie gelegt werden, skalieren. Das Paket konzentriert sich in erster Linie auf einzelne Zeichen, obwohl es auch möglich ist, Pfeile über längere Zeichenketten zu setzen, aber das geliengt nicht immer, da der Schwerpunkt des Paketes auf dem einzelnen Symbol liegt.

Das Paket bietet den Befehl \arrowoverset, der einen rechten Pfeil (beziehungsweise einen linken Pfeil mit dem Befehl \arrowoverset*) über einen bestimmten mathematischen Ausdruck setzt. Die Länge des Pfeils basiert auf der Breite des mathematischen Ausdrucks und kann mit optionalen Skalierungs- und Offset-Argumenten angepasst werden. Das Paket bietet auch mehrere Sätze vordefinierter Kurzbefehle, so genannte Voreinstellungen, die mit der Paketoption Voreinstellungen ausgewählt werden können.

Zu den verfügbaren Voreinstellungen gehören

\documentclass[margin=10mm]{standalone}
%...
\usepackage{letterswitharrows}
%...
\begin{document}
%...
$\va \quad \vA \quad \vcA \quad \vec{A} $
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%...
\usepackage{letterswitharrows}
%...
\begin{document}
%...
$\vcA_{a} \vec{A_{a}}$
%...
\end{document}

Das Paket bietet auch Optionen zur Anpassung, wie die pgf-Option, um Pfeile als pgf-Bilder zu zeichnen, die linewidth-Option, um die Linienbreite der Pfeile anzupassen, und die tweaks-Option, um Skalierungsanpassungen auf bestimmte Einzelbuchstabenkürzel anzuwenden.

Es ist wichtig zu beachten, dass das Paket nur die PDF-Ausgabe unterstützt. Die Unterstützung für die PS-Ausgabe ist zwar implementiert, wurde aber noch nicht ausgiebig getestet. Für eine breitere Formatkompatibilität empfiehlt das Paket die Verwendung einer pgf-basierten Ausgabe. Insgesamt bietet das letterswitharrows Paket eine einfache Möglichkeit, dynamisch skalierende Pfeile über mathematische Symbole in LaTeX-Dokumente einzufügen.


Quelle: https://ctan.org/pkg/letterswitharrows

lie-hasse   top

Das lie-hasse Paket ermöglicht das Zeichnen von Hasse Diagrammen der teilweise geordneten Mengen der einfachen Wurzeln einer beliebigen komplexen einfachen Lie-Algebra. Es verwendet auch das Paket dynkin-diagrams Paket.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{lie-hasse}
%...
\begin{document}
%...
\hasse[edge length=1cm]{F}{4}
vs.
\hasse[edge length=1cm]{B}{4}
%...
\end{document}

Quelle: https://ctan.org/pkg/lie-hasse

liftarm   top

Das Paket liftarm ist dafür geeignet, wie der Name bereits vermuten lässt, sogenannte Liftarme in LaTeX mithilfe von TikZ zu setzen. Die entsprechenden Befehle werden dabei innerhalb einer tikzpicture Umgebung verwendet.

Die zwei Hauptbefehle sind dabei der Befehl \liftarm zum Zeichnen der Liftärme, der Befehl \liftarmconnect wird zum Verbinden von mehreren Liftärmen verwendet. Darüber hinaus gibt es noch den Befehl \liftarmconstruct, der innerhalb der liftarmconstruction Umgebung verwendet wird, die dazu dient größere und zusammenhängende Konstruktionen darzustellen.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{liftarm}
%...
\begin{document}
%...
\begin{tikzpicture}
\liftarm{1,2}{3}{20}
\end{tikzpicture}
%...
\end{document}

Mit Koordinaten.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{liftarm}
%...
\begin{document}
%...
\begin{tikzpicture}
\liftarm[
    coordinate={1/A,3/B}
    ]{0,1}{6}{40}
\liftarm{A}{3}{0}
\liftarm{B}{2}{180}
\end{tikzpicture}
%...
\end{document}

liftarmconstruction Umgebung

\documentclass[margin=5mm]{standalone}
%...
\usepackage{liftarm}
%...
\begin{document}
%...
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (4,2);
\liftarmconnect[Yellow]{A}{2}{B}{3}
\liftarmconnect[Red]{B}{3}{A}{2}
\end{tikzpicture}
%...
\end{document}

liftarmconstruction Umgebung

\documentclass[margin=5mm]{standalone}
%...
\usepackage{liftarm}
%...
\begin{document}
%...
\begin{minipage}{0.5\linewidth}
\begin{liftarmconstruction}[scale=0.75]
    \liftarmconstruct[
        ]{
Wir beginnen mit 3 Liftarmen und bilden ein rechtwinkliges Dreieck.
        }{
\liftarm{-3,0}{4}{0}
\liftarmconnect[
    liftarm 1={
    origin=2,
    mark holes={2,6}
    },
    liftarm 2={
    mark holes=0
    }
]{0,0}{6}{-3,0}{5}}
    \liftarmconstruct{
    Jetzt fügen wir 2 Liftarme der Länge $3$ dazu.
    }{\liftarmconnect[
    connect coordinate=A,
    liftarm 1={
    mark holes={0,3}
    },
    liftarm 2={ 
    mark holes=0
    }
]{0,-2}{3}{0,2}{3}}
\end{liftarmconstruction}
\end{minipage}
%...
\end{document}

Quelle: https://www.ctan.org/pkg/liftarm

logicpuzzle   top

Das logicpuzzle Paket wurde gemacht für den Satz von Logikrätseln in LaTeX. Das Paket bietet verschiedene Umgebungen, Befehle und Optionen für die Erstellung von gitterbasierten Logikrätseln.

Die Dokumentation gliedert sich dabei unter anderem in die folgenden drei Bereiche.

  1. Eigene Rätsel erstellen: Erstellen von eigenen gitterbasierten Logikrätseln: Dieser Abschnitt gibt einen Überblick darüber, wie man mit dem Paket eigene Logikrätsel erstellen kann.
  2. Benutzerdokumentation: Dieser Abschnitt behandelt die Verwendung des Pakets, einschließlich PGF-Ebenen, Rätselumgebungen, unterstützende Umgebungen und verschiedene Befehle für das Gitter, die Präsentation und bestimmte Rätseltypen.
  3. Beispiele: Dieser Abschnitt enthält Beispiele und Gebrauchsanweisungen für bestimmte Rätseltypen, einschließlich 2D Sudoku, Battleship, Bokkusu, Bridges, Chaos Sudoku, Four Winds, Hakyuu, Hitori, Kakuro, Kendoku, Killer Sudoku, Laserstrahl, Magisches Labyrinth, Magnete, Masyu, Minesweeper, Nonogram, Number Link, Resuko, Schnitzeljagd, Skyline, Slitherlink, Star Battle, Sterne und Pfeile, Sudoku, Sonne und Mond, Zeltlager und Tunnel.

Das Paket ermöglicht die Erstellung verschiedener Logikrätsel und bietet Flexibilität bei der Anpassung und Präsentation.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{logicpuzzle}
%...
\begin{document}
%...
\begin{ddsudoku}
\framepuzzle
\filldiagonals[orange!50]
\ddsudokucell{1}{5}{1}
\ddsudokucell{1}{4}{3}
\ddsudokucell{2}{3}{4}
\ddsudokucell{4}{1}{3}
\ddsudokucell{4}{3}{2}
\ddsudokucell{5}{4}{4}
\end{ddsudoku}
\hspace{1.5cm}
\begin{ddsudoku}
\framepuzzle
\filldiagonals[orange!50]
\setrow{5}{1,3,4,5,2}
\setrow{4}{3,2,5,1,4}
\setrow{3}{5,4,3,2,1}
\setrow{2}{2,5,1,4,3}
\setrow{1}{4,1,2,3,5}
\end{ddsudoku}
%...
\end{document}
Quelle: https://ctan.org/pkg/logicpuzzle

matrix-skeleton   top

Das Paket bietet eine Verbesserung für die bestehende Matrix Bibliothek in TikZ an. Dadurch soll die Konstruktion deutlich erleichtert werden.

Bei matrix.skeleton handelt es sich um eine Bibliothek für TikZ. Sie bietet zusätzliche Funktionen zur Erstellung von Rastern und zur Positionierung von Knoten innerhalb einer Matrix. Das Handbuch erklärt, wie die Bibliothek bestimmte Probleme löst und stellt verschiedene Funktionen und Optionen vor. Bei unterschiedlich großen Knoten kann es unter Umständen zu Problemen kommen. Um diese Schwierigkeiten zu überwinden, führt die Bibliothek matrix.skeleton das Konzept der Skelettknoten ein. Diese Knoten replizieren das Matrixgitter und ermöglichen eine einfachere Ausrichtung und Gestaltung.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{tikz}
\usetikzlibrary{matrix.skeleton}
%...
\begin{document}
%...
\begin{tikzpicture}
\matrix (m) [matrix of math nodes, style contour = {draw, very thick},
style grid = {draw, thin}] {
1 & \frac{\frac{17}{3}}{1 + \frac{1}{2}} & 4 \\
3.333333 & 9 & 9 \\
7 & 18.000001 & 3 + 3 + 3 \\
};
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/matrix-skeleton

memorygraphs   top

Das memorygraphs-Paket ist ein LaTeX-Paket, das Funktionen zur Erstellung von Speicherdiagrammen, die den Speicher eines Computerprogramms während seiner Ausführung darstellen, in TikZ bereitstellt. Die Funktionalität des Pakets deckt die folgenden Bereiche ab:

  1. Nodes / Knoten: Das Paket bietet Stile zur Erstellung von Speicherblöcken, einschließlich Basisblöcken und Blöcken mit Argumenten.
    \documentclass[margin=10mm]{standalone}
    %...
    \usepackage{memorygraphs}
    %...
    \begin{document}
    %...
    \begin{tikzpicture}[memory graph]
    \node[arity=2] {Cons \arg{1} 42 \arg{2} \dots};
    \end{tikzpicture}
    %...
    \end{document}
    
  2. Markings / Markierungen: Das Paket führt die Möglichkeit ein, den Kopf von Speicherblöcken mit dreieckigen Formen zu markieren. Es stehen verschiedene Optionen zur Verfügung, um das Aussehen der Markierungen anzupassen.
    \documentclass[margin=10mm]{standalone}
    %...
    \usepackage{memorygraphs}
    %...
    \begin{document}
    %...
    \begin{tikzpicture}[memory graph]
    \node[arity=2,block mark north west=fill] {Cons \arg{1} 42 \arg{2} \dots};
    \end{tikzpicture}
    %...
    \end{document}
    
  3. Anchors / Verankerungen: Speicherblöcke mit Argumenten sind mehrteilige Rechtecke, und das Paket definiert zusätzliche Anker, um auf verschiedene Teile der Blöcke zu verweisen.
  4. References / Verweise: Das Paket enthält einen Stil für Pfeile mit einem Kreis am Anfang und leicht abgerundeten Ecken. Dieser Stil ist für die Verbindung von Speicherblöcken in einem Speicherdiagramm gedacht.
    \documentclass[margin=10mm]{standalone}
    %...
    \usepackage{memorygraphs}
    %...
    \begin{document}
    %...
    \begin{tikzpicture}[memory graph]
    \node[arity=2] (hd) {Cons \arg{1} 42 \arg{2} };
    \node
    [arity=2,below=of hd.arg 2 center,anchor=head north]
    (tl) {Cons};
    \draw[ref] (hd.arg 2 center)
    -- (tl.head north);
    \draw[ref] (tl.arg 2 center)
    |- ($(hd.head north)+(0,.4)$)
    -- (hd.head north);
    \end{tikzpicture}
    %...
    \end{document}
    

Zu den Beispielen die in der Dokumentation gezeigt werden gehören unter anderem auch verknüpfte Listen von Fibonacci-Zahlen und zyklisch verknüpfte Listen, die die Funktionalität des Pakets memorygraphs veranschaulichen.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{memorygraphs}
%...
\begin{document}
%...
\begin{tikzpicture}[memory graph]
\node[block,arity=2] (xsa) {Cons};
\node[block,arity=1,below=of xsa.arg 1 south,anchor=head north] (xa) {Int \arg{1} 1};
\draw[ref] (xsa.arg 1 center) -- (xa.head north);
\def\prevname{a}
\foreach \name/\val in {b/1,c/2,d/3,e/5,f/8,g/13}{
\node[block,arity=2,right=of xs\prevname.arg 2 east] (xs\name) {Cons};
\node[block,arity=1,below=of xs\name.arg 1 south,anchor=head north]
(x\name) {Int \arg{1} \val};
\draw[ref] (xs\prevname.arg 2 center) -- (xs\name);
\draw[ref] (xs\name.arg 1 center) -- (x\name.head north);
\xdef\prevname{\name}
};
\node[right=of xsg.arg 2 east] (rest) {$\dots$};
\draw[ref] (xsg.arg 2 center) -- (rest);
\end{tikzpicture}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%...
\usepackage{memorygraphs}
%...
\begin{document}
%...
\begin{tikzpicture}[memory graph]
\node[block,arity=2] (xs) {Cons \arg{1} 1};

\node[block,arity=2,right=of xs.arg 2 east] (xsb) {Cons \arg{1} 2};
\draw[ref] (xs.arg 2 center) -- (xsb);

\node[block,arity=2,right=of xsb.arg 2 east] (xsc) {Cons \arg{1} 3};
\draw[ref] (xsb.arg 2 center) -- (xsc);

\node[block,arity=2,right=of xsc.arg 2 east] (xsd) {Cons \arg{1} 4};
\draw[ref] (xsc.arg 2 center) -- (xsd);

\draw[ref] (xsd.arg 2 center) -- +(0,.6) -| (xs.head north);
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/memorygraphs

mercatormap   top

Das mercatormap Paket erweitert TikZ um die Möglichkeit zur Erstellung von Kartengrafiken. Das bereitgestellte Koordinatensystem basiert auf der Web-Mercator-Projektion, welche unter anderem im Internet von OpenStreetMap verwendet wird. Das Paket unterstützt die Integration von öffentlich verfügbaren Kartenmaterial. Es bietet ein Kartenkoordinatensystem und zusätzliche Befehle und Optionen zum Hinzufügen von Elementen wie Markierungen, geodätischen Netzen, Balkenmaßstäben, Routen, Orthodromstücken und Entfernungsberechnungen zur Karte.

Das Paket bietet drei Möglichkeiten, es zu verwenden:

  1. Ohne das Python-Skript: Dies wird nicht empfohlen, da es die Nutzung des Pakets einschränkt.
  2. Mit dem Python-Skript, aber ohne den Download der Kartenkacheln: In diesem Fall muss der Benutzer den gesamten Inhalt selbst erstellen.
  3. Mit dem Python-Skript und dem Download der Kartenkacheln: Diese Option erfordert die Erlaubnis und den Zugang zu einem Kartenkachelserver. Das Paket bietet eine Auswahl von Servern mit freiem Zugang, von denen einige eine Registrierung erfordern können.
Für das Paket sind Python 3 und zwei Python-Pakete erforderlich: Pillow und Requests. Der Installationsprozess für Python und diese Pakete ist in der Dokumentation beschrieben.

Die Dokumentation enthält Beispiele, die als Tutorial und Ausgangspunkt für die Erstellung von Maps dienen. Es werden verschiedene Funktionen und Optionen des Pakets erläutert, zum Beispiel das Einpassen eines Bereichs, die Verwendung von Referenzpunkten und das Setzen fester Grenzen. Die Beispiele zeigen, wie die Befehle und Optionen des Pakets verwendet werden, um verschiedene Arten von Karten zu erstellen.

Insgesamt erweitert das mercatormap Paket TikZ um die Möglichkeit, Karten unter Verwendung der Web-Mercator-Projektion zu zeichnen. Es bietet verschiedene Funktionen und Optionen zum Anpassen von Karten und enthält ein Python-Skript, um Kartenkacheln herunterzuladen und Koordinatensystemberechnungen durchzuführen.


Quelle: https://ctan.org/pkg/mercatormap

nicematrix   top

Das nicematrix Paket bietet neue Umgebungen mit erweiterten Funktionen ähnlich den klassischen {tabular}-, {array}- und {matrix}-Umgebungen bietet. Dazu gehören unter anderem die Möglichkeit die Breite der Spalten festzulegen und durchgänige Auslassungspunkte zwischen den Zellen zeichnen zu können. Insbesondere das letztere stellt eine große Verbesserung beim Setzen von Matrizen dar, war es doch bisher nur möglich in der horizontalen Ebene durchgängige Punkte zu setzen, während man in der vertikalen und der diagonalen Ebene sich mit mehr oder weniger ästhetischen Basteleien aushelfen musste.

Abschliesend der Vergelich zwischen einer normalen Matrix und einer mit nicematrix gesetzten Matrix.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{nicematrix}
%...
\begin{document}
%...
$\begin{pmatrix}
1 & 0 & \hdotsfor{3} & 0\\
0 & \ddots & 0 & 0 & 0 & \vdots \\
\vdots & 0 & \ddots & 0 & 0 & \vdots \\
\vdots & \cdots & 0 & \ddots & 0 & \vdots \\
\vdots & \hdotsfor{2} & 0 & \ddots & 0 \\
0 & \hdotsfor{3} & 0 & 1\\
\end{pmatrix} $
vs.
$\begin{pNiceMatrix}
1 & 0 & \Hdotsfor{3} & 0 \\
0 & \Ddots & 0 & 0 & 0 & \Vdotsfor{3} \\
\Vdotsfor{3} & 0 & & 0 & 0 &  \\
& \Cdots & 0 & & 0 &  \\
 & \Hdotsfor{2} & 0 & & 0 \\
0 & \Hdotsfor{3} & 0 & 1 \\
\end{pNiceMatrix} $
%...
\end{document}

Insgesamt bietet das nicematrix Paket mehr Flexibilität und Anpassungsmöglichkeiten für das Zeichnen gepunkteter Linien in Matrizen als die Standard-LaTeX-Befehle.


Quelle: https://ctan.org/pkg/nicematrix

nimsticks   top

Ein Paket für den Satz des Nim-Spiel.

Das nimsticks Paket für LaTeX, ermöglicht das Zeichnen von Stöcken (Sticks) die für die Darstellung von Mehrstapel-Nim-Spielen verwendet werden. Das Paket erlaubt es, die Größe und Farbe der Sticks anzupassen. Es verwendet TikZ, um dicke vertikale Linien mit einem leichten Wackeln für ein natürlicheres Aussehen zu zeichnen. Das Paket bietet Befehle zum Zeichnen eines Spiels mit mehreren Nim-Stapeln (\nimgame) oder eines einzelnen Nim-Sticks (\drawnimstick). Sinnvollerweise wird aber nur der \nimgame{Anzahl} Befehl verwendet. Die Sticks werden bei diesem Befehl bereits in einer zentrierten Darstellung gesetzt. Im Fall, dass das nicht gewünscht ist, kann die Befehlsoption inline gesetzt werden.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{nimsticks}
%...
\begin{document}
%...
\nimgame{3}
%...
\end{document}

Die Befehle erlauben auch das Zeichnen eines Mehrstapel-Nim-Spiels mit einer unterschiedlichen Anzahl von Sticks in jedem Stapel. Darüberhinaus existieren Optionen zur Anpassung einschließlich der Änderung der Farbe der Sticks mit \setnimstickcolor und der Anpassung der Größe der Stäbe mit \setnimscale.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{nimsticks}
%...
\begin{document}
%...
\nimgame{3, 5, 7}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%...
\usepackage{nimsticks}
%...
\begin{document}
%...
\nimgame[inline]{3, 5, 7}
\setnimscale{2}
\renewcommand{\nimstickcolour}{blue}
\nimgame[inline]{3, 5, 7}
%...
\end{document}

In der Dokumentation werden außerdem fortgeschrittene Verwendungsmöglichkeiten des Pakets besprochen, wie zum Beispiel die Neudefinition des Zeichnungscodes zur Darstellung von Nim-Sticks als verschiedene Objekte mit TikZ. So lassen sich die Sticks in der Form von Streichhölzern darstellen.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{nimsticks}
%...
\begin{document}
%...
\definecolor{goldenrod}{rgb}{0.85, 0.65, 0.13}
\definecolor{indianred}{rgb}{0.8, 0.36, 0.36}
\renewcommand{\onenimstick}{%
\draw[goldenrod,fill=goldenrod,rotate=\topx*40] (0,\lift) rectangle (0.14,1+\lift);
\draw[indianred,fill=indianred,rotate=\topx*40] (0.07,1+\lift) ellipse (0.1 and 0.2);
}
\nimgame{3,5,7}
%...
\end{document}

Mit dem Befehl \reinitrand kann das zufällige Aussehen der Sticks beeinflusst werden. Auf diese Weise kann auch dieselbe Randomisierung auf Wunsch mehrfach reproduziert werden.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{nimsticks}
%...
\begin{document}
%...
\nimgame[inline]{3,5,7}
\reinitrand[first=-100,last=1000,seed=10]
\nimgame[inline]{3,5,7}
%...
\end{document}

In dem Fall, dass eine sehr große Anzahl an Sticks beziehungsweise Stapel verwendet werden, kann es zu Einschränkungen bezüglich der Klarheit der Ausgabe kommen.



Weiterführende Informationen: Nim-Spiel

Quelle: https://ctan.org/pkg/nimsticks

nl-interval   top

Dieses Paket enthält Befehle, die die Darstellung von Intervallen auf der Zahlengeraden vereinfachen.

Das nl-interval Paket enthält Befehle, die die Darstellung von Intervallen auf der Zahlengeraden vereinfachen. Das Paket bietet vier Befehle: \nlAxisX, \nlnuminf, \nlinfnum und \nlnumnum. Diese Befehle sind um Pakete wie tkz-fct, ifthen und xparse herum aufgebaut und müssen in einer tikzpicture-Umgebung verwendet werden.

Der Befehl \nlAxisX wird zum Zeichnen der x-Achse verwendet und nimmt die Minimal- und Maximalwerte der Achse als Eingabe.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{nl-interval}
%...
\begin{document}
%...
\begin{tikzpicture}
\nlAxisX{-1}{6}
\end{tikzpicture}
%...
\end{document}

Intervalle mit unendlichen Werten (-∞ oder +∞). Für Intervalle in den eine Grenze unendlich ist werden die Befehle \nlinfnum und \nlnuminf verwendet. Diese Befehle benötigen als Eingaben die Zahl und die Angabe, ob das Intervall offen (o für open) oder geschlossen (c für closed) ist.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{nl-interval}
%...
\begin{document}
%...
\begin{tikzpicture}
\nlAxisX{-1}{6}
\nlnuminf{4}{o}
\nlinfnum{1}{c}
\end{tikzpicture}
%...
\end{document}

Die zwei Befehle \nlinfnum und \nlnuminf besitzen noch drei Optionen.

\nlnuminf[Option 1]{Zahl}[Option 2]{o(pen) oder c(losed)}[Option 3]
\nlinfnum[Option 1]{Zahl}[Option 2]{o(pen) oder c(losed)}[Option 3]
  1. Mit der ersten Option kann die Farbe beziehungsweise das Muster festgelegt werden.
  2. Mit der zweiten Option kann die Ausgabe der Zahl festgelegt werden. Also zum Beispiel Wurzel 3 anstelle von 1,73.... Achtung: Keine Mathematikumgebung verwenden.
  3. Die dritte Option legt die Höhe fest, per Default ist der Strahl 0,5 cm hoch.
\documentclass[margin=10mm]{standalone}
%...
\usepackage{nl-interval}
%...
\begin{document}
%...
\begin{tikzpicture}
\nlAxisX{-1}{6}
\nlnuminf[red]{4}{o}
\nlinfnum[blue]{1.732}[\sqrt{3}]{c}[1cm]
\end{tikzpicture}
%...
\end{document}

Für Intervalle mit zwei Zahlen wird der Befehl \nlnumnum verwendet. Auch dieser verfügt über die bereits gezeigten drei Optionen.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{nl-interval}
%...
\begin{document}
%...
\begin{tikzpicture}
\nlAxisX{-2}{6}
\nlnumnum[blue!40]{-1.732}[-\sqrt{3}]{o}{3.1416}[\pi]{c}[1cm]
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/nl-interval

oPlotSymbl   top

Das oPlotSymbl Paket enthält zusätzliche neue Symbole.  Die Symbole sind in verschiedene Formen unterteilt, wie Dreiecke, Kreise, Fünfecke, Sterne, Rauten, Sechsecke und Quadrate.

Für die genannten Formen Dreiecke, Kreise, Fünfecke, Sterne, Rauten, Sechsecke und Quadrate listet die Dokumentation die verschiedene Symbole mit den entsprechenden Befehlen und Beschreibungen auf. Die Symbole sind außerdem in verschiedene Varianten unterteilt, z. B. gefüllt, gepunktet, mit Linien (vertikal, horizontal oder beides), mit Kreuzen und halbgefüllt (oben, unten, rechts oder links). Die Befehle sind benutzerfreundlich gestaltet und so benannt, dass sie gut mit anderen Paketen zusammenarbeiten.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{oplotsymbl}
%...
\begin{document}
%...
\trianglepadot \quad 
\trianglepbdot \quad
\triangleprdot \quad
\trianglepldot
%...
\end{document}

Die Symbole skalieren automatisch mit der Schriftgröße, sodass es nicht notwendig ist, sie manuell zu skalieren. Darüber hinaus unterstützt das Paket die Einfärbung von Symbolen mithilfe des xcolor Pakets und bietet sowohl vordefinierte Farben als auch die Möglichkeit, eigene Farben zu definieren.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{oplotsymbl}
%...
\begin{document}
%...
\Huge \pentagofill[purple] \normalsize \quad 
\starletcross \quad
\rhombuscross \quad
\hexagolineh \quad
\squadlinevh \quad
\Large \scross \normalsize \quad
\trianglepldot
%...
\end{document}

Quelle: https://ctan.org/pkg/oPlotSymbl

pas-crosswords   top

Das Paket pas-crosswords wurde entwickelt, um die Erstellung von Kreuzworträtseln in LaTeX zu erleichtern.

Das Paket beinhaltet Befehle zum Erstellen von Gittern, zum Platzieren von schwarzen Quadraten, zum Positionieren von Wörtern und zum Erstellen von kompletten Gittern mit einem einzigen Befehl.

Mithilfe von TikZ kann der Stil von Gitterelementen wie schwarzen Quadraten, Gitterlinien, Zahlen und Zeichen verändert werden. Die Dokumentation enthält Beispiele von Gittern mit verschiedenen Stilen und zeigt, wie man Definitionen für die Wörter im Kreuzworträtsel schreibt.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{pas-crosswords}
%...
\begin{document}
%...
% Gitter anlegen 
\begin{tikzpicture}
\begin{crossgrid}[h=9,v=9]

\end{crossgrid}
\end{tikzpicture}

% Schwarze Kästchen einfügen 
\begin{tikzpicture}
\begin{crossgrid}[h=9,v=9]
% Schwarze Kästchen 
\blackcases{%
 2/2,5/2,8/2,7/3,3/4,8/4,2/5,6/5,9/5,%
 4/6,7/6,5/8,8/8,4/9}
\end{crossgrid}
\end{tikzpicture}

% Die Wörter einfügen 
\begin{tikzpicture}
\begin{crossgrid}[h=9,v=9]
% Schwarze Kästchen 
 \blackcases{%
 2/2,5/2,8/2,7/3,3/4,8/4,2/5,6/5,9/5,%
 4/6,7/6,5/8,8/8,4/9}
 % Wörter
 \words[v]{9/2/ULU,8/3/N,2/4/R}
 \words[h]{%
 2/1/RCENCIEL,3/2/AN,2/3/ARENT,%
 4/4/MOIS,7/5/BR,2/6/AN,5/6/BI,%
 8/6/HO,2/7/VOCATION,2/8/EUF,6/8/OC,%
 9/8/C,2/9/UE}
\end{crossgrid}
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/pas-crosswords

pas-tableur   top

Das Paket enthält Befehle zum Erstellen eines Gitters aus Rechtecken und Befehle zum Ausfüllen von Positionen im Gitter. Wobei dieses Gitter in seiner Gestalltung sich an einem Tabellenverarbeitungsprogramm orientiert.

Das pas-tableur ermöglicht es, Tabellen, die wie Tabellen aus einem Tabellenverarbeitungsprogramm aussehen, zu erstellen. Die Tabellen werden entweder mit dem Befehl \tableur oder der Sternvariante des Befehls \tableur* gesetzt. Der Unterschied zwischen der Variante mit und ohne Stern ist, dass die Variante mit Stern, unterschiedliche Breite Tabellenspalten zulässt. Dabei wird die Breite für jede Spalte als Teil des Arguments angegeben wird. Die Befehle selbst werden innerhalb einer tikzpicture Umgebung verwendet.

Neben dem Pflichtargument benötigen die zwei Befehle \tableur und \tableur* auch noch ein optionales Argument, die Anzahl der Zeilen. Anders als bei anderen Tabellenumgebungen ist hier nicht direkt die Anzahl der Spalten das Pflichtargument, es werden hier vielmehr die Spaltennamen als Argument übergeben. Die Spaltennamen können dabei aus einzelnen Buchstaben oder aus einer Reihe von Buchstaben bestehen.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{pas-tableur}
%...
\begin{document}
%...
\begin{tikzpicture}
\tableur[3]{A,B,C}
\end{tikzpicture}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%...
\usepackage{pas-tableur}
%...
\begin{document}
%...
\begin{tikzpicture}
\tableur*[3]{A/1cm,B/2cm,C/3cm}
\end{tikzpicture}
%...
\end{document}

Die Spaltennamen lassen sich aber auch in einer zugefassten Schreibweise setzen.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{pas-tableur}
%...
\begin{document}
%...
\begin{tikzpicture}
\tableur[3]{A-C}
\end{tikzpicture}
%...
\end{document}

Die Standardwerte lassen sich durch die drei Befehle \tabcolwidth, \tabnumlinewidth und \tablineheight anpassen.

Mit den Befehlen \celtxt und \celtxt* Text oder Formeln in Zellen einfügt. Bei der Sternvariante kann der Mathematikmodus von LaTeX für die Einagbe verwendet werden. Für den eingefügten Text können verschiedene Optionen wie Ausrichtung, Breite, Farbe und Schriftart festgelegt werden.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{pas-tableur}
%...
\begin{document}
%...
\begin{tikzpicture}
\tableur[3]{A-C}
\celtxt{A}{1}{1}
\celtxt{B}{1}{=A1^2}
\celtxt{C}{1}{=A1^3}
\celtxt{A}{2}{2}
\celtxt*{B}{2}{$2^{2}$}
\celtxt*{C}{2}{$2^{3}$}
\celtxt{A}{3}{3}
\celtxt*{B}{3}{$3^{2}$}
\celtxt*{C}{3}{$3^{3}$}
\end{tikzpicture}
%...
\end{document}

Außerdem gibt es Befehle die die Auswahl einzelner Zellen \selecCell oder mehrerer Zellen und Spalten \multiSelec darstellen können.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{pas-tableur}
%...
\begin{document}
%...
\begin{tikzpicture}
\tableur[4]{A-D}
\selecCell{A}{1}
\multiSelec{C-3}{D-4}
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/pas-tableur

pascaltriangle   top

Mithilfe des pascaltriangle Paketes lassen sich pascalsche Dreiecke unter zu Hilfenahme von TikZ in LaTeX erzeugen. Das pascaltriangle Paket selbst zwar TikZ, aber für die Verwendung sind keine Kenntnis von TikZ notwendig.

Das Erzeugen des pascalschen Dreiecks erfolgt über den \pascal[Optionen zur Gestaltung]{Anzahl der Zeilen} Befehl.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{pascaltriangle}
%...
\begin{document}
%...
\pascal{5}
%...
\end{document}

Neben der Darstellung in der Variante von oben nach unten gibt es auch die Möglichkeit der Darstellung in der Form eines rechtwinkligen Dreiecks.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{pascaltriangle}
%...
\begin{document}
%...
\pascal[shape=rt]{5}
%...
\end{document}

Die Größe der Zellen kann über die Option radius verändert werden. Dabei ist aber zu beachten, dass auch die entsprechende Einheit gesetzt wird. Die Größe, die automatisch gesetzt wird, ist 0,5 cm
\documentclass[margin=5mm]{standalone}
%...
\usepackage{pascaltriangle}
%...
\begin{document}
%...
\pascal{5}
vs.
\pascal[radius=1cm]{5}
%...
\end{document}

Die Schriftgröße kann über die Option fontsize und die LaTeX Standard Befehle für die Schriftgröße verändert werden. Die Defaultgröße ist small. Wenn Sie die Größe der Schrift verändern, sollten Sie gegebenenfalls auch die Größe der Zellen anpassen.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{pascaltriangle}
%...
\begin{document}
%...
\pascal{5}
vs.
\pascal[fontsize=\Huge, radius=1cm]{5}
%...
\end{document}

Mit der Option withnum=true werden die Nummern der Spalten und Zeilen angezeigt.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{pascaltriangle}
%...
\begin{document}
%...
\pascal{5}
vs.
\pascal[withnum=true]{5}
%...
\end{document}

Wird die Option binom auf true gesetzt werden anstelle der Zahlen die binominal Ausdrücke in die Zellen geschrieben.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{pascaltriangle}
%...
\begin{document}
%...
\pascal{5}
vs.
\pascal[binom=true]{5}
%...
\end{document}

Weiterführende Informationen:Mehr zu diesem Paket


Quelle: https://www.ctan.org/pkg/pascaltriangle

penrose   top

Das penrose Paket ist eine TikZ-Bibliothek zum Zeichnen von Penrose-Kacheln. Es unterstützt derzeit die Kachelsätze Drachen/Pfeil, Raute und Fünfeck, bietet aber auch die Möglichkeit für die Definition neuer Kacheln. Die so entstanden Parkettierungen werden als Penrose-Parkettierung bezeichnet, die die Eigenschaft haben, dass sie aus aperiodischen Kachel-Paaren zusammengesetzt sind, welche die Ebene lückenlos parkettieren, ohne dass sich dabei jemals ein Grundschema periodisch wiederholen kann.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{tikz}
\usetikzlibrary{penrose}
%...
\begin{document}
%...
\begin{tikzpicture}[
every rhombus/.style={
draw=black,
ultra thick,
},
every thin rhombus/.style={
every rhombus/.try,
fill=purple,
},
every thick rhombus/.style={
every rhombus/.try,
fill=red,
},
every circle arc/.style={
draw=blue
},
every long arc/.style={
draw=green
}
]
\pic[rotate=18,thick rhombus,name=a0];
\foreach[evaluate=\k as \kmo using int(\k-1)] \k in {1,...,4}
{
\pic[thick rhombus,name=a\k,align with={a\kmo} along A];
}
\foreach \k in {0,...,4}
{
\pic[thin rhombus,name=b\k,align with={a\k} along B];
\pic[thick rhombus,name=c\k,align with={b\k} along A];
\pic[thick rhombus,name=d\k,align with={b\k} along a];
\pic[thick rhombus,name=e\k,align with={c\k} along A];
\foreach \l/\a in {{0/b},{1/B}}
\pic[thin rhombus,name=f\k\l,align with={e\k} along \a];
}
\pic[thin rhombus,name=g0,align with={f10} along a];
\pic[thin rhombus,name=g1,align with={f21} along A];
\foreach \l/\a in {{0/a},{1/A}}
\pic[thick rhombus,name=h\l,align with={g\l} along \a];
\pic[thick rhombus,name=i,align with=g0 along B];
\foreach \l/\a in {{0/a},{1/A}}
\pic[thick rhombus,name=j\l,align with=i along \a];
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/penrose

pfdicons   top

Ein Paket das dazu verwendet wird, um Prozessflussdiagrammen (PFDs) und Prozess- und Instrumentierungsdiagrammen (PIDs) darsetellen zu können. Dabei kann auf eine große Anzahl bereits im Paket vorhanden Elemente zurückgegriffen werden.

Das pfdicons Paket bietet TikZ-Formen (Vorlagen) und Funktionen zum Zeichnen von Symbolen und Strömen für Prozessflussdiagramme (PFDs) und Prozess- und Instrumentierungsdiagrammen (PIDs) im chemisch technischen Bereich. Es deckt eine breite Palette von Prozesseinheiten ab, die in Fluidverarbeitungssystemen verwendet werden. Das Paket ist benutzerfreundlich gestaltet und eignet sich für Grundkurse in Chemieingenieurwesen.

Die meisten der vom Paket bereitgestellten Formen werden in einer tikzpicture-Umgebung mit einfacher Syntax gezeichnet. Die Formen können nach Belieben skaliert, gedreht und gefärbt werden. Zu den von dem Paket abgedeckten Prozesseinheiten gehören Reaktoren, Wärmetauscher, Abscheider und Fluidtransportelemente. Das Paket enthält auch Symbole für Durchfluss- und Steuerungselemente wie Ventile und elektrische Instrumente. Es sind mehrere Beispiele enthalten, um die Verwendung des Pakets in verschiedenen Bereichen der chemischen Verfahrenstechnik zu demonstrieren.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{tikz}
\usepackage{pfdicons}
%...
\begin{document}
%...
\begin{tikzpicture}[font=\footnotesize]
% Einheiten
\node [basic hx, rotate=90] (boiler) {};
\node [turbine, below right=1cm and 2cm of boiler] (turbine) {};
\node [basic hx, rotate=90, below left=of turbine] (cond) {};
\node [centrifugal pump, below left=of boiler, unit int=inlet south, unit ext=outlet
north west] (pump) {};
% Streams
\draw[->] (boiler.south) -| (turbine.nnw);
\draw[->] (turbine.sse) |- (cond.south);
\draw[->] (cond.north) -| (pump.center);
\draw[->] (pump.outlet) |- (boiler.north);
% Bezeichnungen
\node[below] at (boiler.west) {Boiler};
\node[above] at (cond.east) {Kondensator};
\node[left] at (turbine.west) {Turbine};
\node[right] at (pump.east) {Pumpe};
\draw[<-] (boiler.east) -- node[pos=1.5] {${Q}_{B}$} ++(0,5mm);
\draw[->] (cond.west) -- node[pos=1.5] {${Q}_{C}$} ++(0,-5mm);
\draw[->] (turbine.east) -- node[pos=1.5] {${W}_{T}$} ++(5mm,0);
\draw[<-] (pump.west) -- node[pos=1.5] {${W}_{P}$} ++(-5mm,0);
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/pfdicons

pgf-blur   top

Die Bibliothek erlaubt es den Schattenwurf einzugügen und diesen auch zu manipulieren.

Das TikZ Bibliothek pgf-blur ermöglicht die Erzeugung von Schatten mit allmählich helleren und transparenteren Rändern, was im Vergleich zu scharfen Schatten einen visuell ansprechenderen Effekt ergibt.

Um das Paket zu verwenden, müssen das TikZ Paket und die Bibliothek shadows.blur in der Präambel geladen werden. Die Option blur shadow kann dann verwendet werden, um einen unscharfen Schatten zu einem Pfad oder einem Knoten hinzuzufügen. Das Aussehen des Schattens kann mit verschiedenen Optionen angepasst werden, wie shadow xshift, shadow yshift, shadow blur radius, shadow opacity und shadow blur extra rounding.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{tikz}
\usetikzlibrary{shadows.blur}
%...
\begin{document}
%...
\begin{tikzpicture}
\filldraw[fill=white, draw=black]
(0,0) circle (0.5);
\end{tikzpicture}
\quad 
\begin{tikzpicture}
\filldraw[fill=white, draw=black,
blur shadow={shadow xshift=1ex, shadow yshift=1ex,
shadow scale=1.2}]
(0,0) circle (0.5);
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/pgf-blur

pgf-cmykshadings   top

Das Paket war vor der Version 3.1.3 von pgf notwendig um auch mit CMYK shading betreiben zu können.


Quelle: https://ctan.org/pkg/pgf-cmykshadings

pgfmorepages   top

Das Paket pgfmorepages ist ein direkter Ersatz für das Paket pgfpages in TikZ/PGF. Es ist vollständig abwärtskompatibel mit pgfpages, bietet aber zusätzliche Funktionen. Während pgfpages es erlaubt, mehrere logische Seiten auf einer physischen Seite zu platzieren, erweitert pgfmorepages diese Fähigkeit, indem es erlaubt, mehrere logische Seiten auf mehrere physische Seiten zu verteilen.

Das Paket bietet verschiedene Layouts, darunter die ursprünglichen Layouts von pgfpages und einige zusätzliche Layouts, um diese verwenden zu können muss der Befehl \pgfmorepagesloadextralayouts in der Präampel gesetzt werden. Das Layout 4 on 2, book format zum Beispiel platziert vier logische Seiten auf zwei physische Seiten und erzeugt so eine Broschüre. Um ein Layout zu verwenden, wird der Befehl \pgfpagesuselayout{}[] verwendet.

Die optionalen Argumente für Layouts umfassen Angaben zur physischen Papiergröße, wie Breite und Höhe, sowie Optionen für Papiertypen (zum Beispiel A4-Papier, Briefpapier, etc.). Außerdem gibt es Optionen zur Einstellung von Rändern und Seitenausrichtung (zum Beispiel Querformat).


Quelle: https://ctan.org/pkg/pgfmorepages

pgfornament-han   top

Das pgfornament-han Paket stellt traditionelle chinesische Motive und Muster bereit.

\documentclass[margin=10mm]{standalone}
%...
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\usepackage{pgfornament-han}
%...
\begin{document}
%...
\begin{tikzpicture}[baseline={(current bounding box.center)}]
\tikzset{pgfornamentstyle/.style={
draw=Goldenrod,fill=Red,line width=1pt}}
\node[fill=black,circle,draw=Red,line width=2pt,inner sep=-8pt]
at (0,0) {\pgfornamenthan[scale=0.38]{56}};
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/pgfornament-han

pgf-interference   top

Das pgf-interference Paket bietet eine Lösung für die Visualisierung von Interferenzmustern mit monochromatischem Licht und regelmäßigen Spaltstrukturen, einschließlich Einzel-, Doppel- und Mehrfachspalten. Derzeit unterstützt das Paket die Darstellung von Interferenzstreifen, die das Ergebnis von vertikal expandiertem Licht sind.

Interferenzmuster, die sich ergeben, wenn Licht durch schmale Schlitze fällt, werden bereits in der Schule verwendet, um die wellenartige Natur des Lichts zu demonstrieren. Dabei sind jedoch die Ressourcen an Lichtquellen und Beugungsobjekten begrenzt, die in einer Schule vorhanden sind. An dieser Stelle bietet das Paket Abhilfe.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{pgf-interference}
%...
\begin{document}
%...
\pgfinterferencepattern{slits=4,wavelength=520e-9,slit-distance=3e-5,intensity=2}
%...
\end{document}

In das Bild lässt sich zusätzlich auch noch ein Lineal einfügen.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{pgf-interference}
%...
\begin{document}
%...
\pgfinterferencepattern{slits=4,wavelength=520e-9,slit-distance=3e-5,intensity=2,ruler=above}
%...
\end{document}

Es sollten nicht allzu viele Bilder gleichzeitig generiert werden.

Für das Paket gibt es eine detaillierte und mit vielen Beispielen versehen Dokumentation sowohl auf Englisch als auch auf Deutsch.


Quelle: https://www.ctan.org/pkg/pgf-interference

pgf-PeriodicTable   top

Das pgf-PeriodicTable Paket ermöglicht es auf einfache Art und Weise das Periodensystem der Elemente auf zu erstellen. Es ermöglicht ein vollständiges oder teilweises Periodensystem mit einer Vielzahl von Optionen und der Möglichkeit, die gewünschten Daten anzuzeigen. Dabei sind für alle 118 aktuellen Elementen die Ordnungszahl, Elementname, chemisches Symbol, relative Atommasse, relative Standard-Atommasse, Radioaktivität, Atomradius (empirisch), kovalenter Radius, Ionenradius, erste Ionisierungsenergie, Elektronegativität, Elektroaffinität, Oxidationsstufen, Schmelzpunkt (in Kelvin und Celsius Grad), Siedepunkt (in Kelvin und Celsius Grad), Elektronenverteilung, Elektronenkonfiguration, Dichte, spezifische Wärmekapazität, Wärmeleitfähigkeit, Gitterstruktur, Gitterkonstanten (a, b, c und c/a-Verhältnis), Entdeckungsjahr, Entdeckungsland und sichtbarer Bereich, Spektrallinien. Es ist möglich, das Periodensystem in sechs verschiedenen Sprachen zu nutzen: Englisch, Französisch, Deutsch, Portugiesisch (Portugal beziehungsweise Brasilien), Spanisch und Italienisch.

\documentclass[margin=10mm]{standalone}
%...
\usepackage[de]{pgf-PeriodicTable}
%...
\begin{document}
%...
\pgfPT[font=pnc,back color scheme=MNM]
%...
\end{document}

Quelle: https://ctan.org/pkg/pgf-periodictable

pgf-pie   top

Das pgf-pie Paket ist ein Zusatzpaket, mit dessen Hilfe sich einfache Kreisdiagramme in LaTeX setzen lassen. Das Paket ist ein typischer Vertreter aus der Rubrik TikZ Abkömmlinge, und es ist dadurch geprägt, dass es die notwendigen Befehle auf ein Mindestmaß reduziert hat, sodass eine Verwendung auch dann für den Anwender möglich ist, wenn er selbst keine Kenntnisse von TikZ hat. Daher ist es insbesondere für die Gruppe von Nutzern geeignet, die bisher kaum oder keine Erfahrung mit TikZ selbst gesammelt haben.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{pgf-pie} 
%...
\begin{document}
%...
\begin{tikzpicture}
\pie{10/ , 20/ , 30/ , 40/ } 
\end{tikzpicture}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%...
\usepackage{pgf-pie} 
%...
\begin{document}
%...
\begin{tikzpicture}
% Alle 
\pie[explode=0.2]
{10/ , 20/ , 30/ , 40/ } 
% Nur das Dritte
\pie[pos ={8,0}, 
explode={0, 0, 0.2, 0}]
{10/ , 20/ , 30/ , 40/ } 
\end{tikzpicture}
%...
\end{document}


Weiterführende Informationen: Viel mehr Beispiele zum pgf-pie Paket

Quelle: https://ctan.org/pkg/pgf-pie

pgfplots   top

Das pgfplots Paket ist ein sehr umfangreiches Paket, dass es der Benutzerin erlaubt vielfältige und verschiedene Varianten an Plots zu setzen. Dabei gibt es eine Vielzahl von Einstellungs- und Darstellungsmöglichkeiten, die das pgfplots Paket bietet.

Das pgfplots Paket basiert auf TikZ/pgf und umfasst mehrere verschiedene Koordinatensysteme, kann Daten aus unterschiedlichen Quellen verwenden und erlaubt neben der Regression noch sehr viel mehr.

Bei den Koordinatensystemen stehen neben dem klassischen linearen System, sowohl die halb- als auch doppellogarithmische zur Verfügung und darüber hinaus auch die Polarkoordinaten.

Als Datenquelle, für den Plot, können neben einer mathematischen Funktion (expression) die Daten manuell (coordinates) gesetzt werden oder aus einer externen Datei (table) eingelesen werden.

Mit den Befehlen \addplot wird die Kurve beziehungsweise der Graph gezeichnet und mit \legend{Inhalt} wird die entsprechende Legende eingefügt. Mit xlabel={Inhalt} und ylabel={Inhalt} lassen sich die x-Achse beziehungsweise die y-Achse beschriften.

Als Beispiele dienen hier Zeichnungen (Plots), die anhand einer vorgegeben logistischen Funktion, manuell gesetzten Koordinaten und anhand Daten aus einer externen Datei erzeugt werden.

Als Beispiel für die logistische Funktion dient hier: Spracherwerb bei Kindern (Best, S.45) p(x) = 5.2011 / (1 + 28.4423 · exp(−1.3545 · x)) Quelle: Karl-Heinz Best: Gesetzmäßigkeiten im Erstspracherwerb. In: Glottometrics 12, 2006, Seite 39 – 54. PDF Volltext

\documentclass[margin=5mm]{standalone}
%...
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.13}
%...
\begin{document}
%...
\pgfplotsset{legend style={at={(0.5,1.2)}, anchor=north}}
\begin{tikzpicture}[scale=0.75]
\begin{axis}
\addplot expression { 5.2011 / (1 + 28.4423 * exp(-1.3545*x)) };
\legend{W{\"o}rter pro Satz}
\end{axis}
\end{tikzpicture}
%...
\end{document}
\documentclass[margin=5mm]{standalone}
%...
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.13}
%...
\begin{document}
%...
\pgfplotsset{legend style={at={(0.5,1.2)}, anchor=north}}
\begin{tikzpicture}[domain=1.5:6, samples=54, scale=0.75]
\begin{axis}
\addplot expression { 5.2011 / (1 + 28.4423 * exp(-1.3545*x)) };
\legend{W{\"o}rter pro Satz bei Kindern zw. 1 $\frac{1}{2}$ -- 6 Jahren}
\end{axis}
\end{tikzpicture}
%...
\end{document}

Als Beispiel für manuelle Daten dienen hier die fiktiven Daten beziehungsweise Messwerte eines Praktikums.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.13}
%...
\begin{document}
%...
\pgfplotsset{
legend style={at={(0.7,0.45)}, anchor=north west}}
\begin{tikzpicture}[scale=1]
\begin{loglogaxis}[
    log ticks with fixed point,
        axis x line= bottom,
        xlabel={$U_{G} + D \cdot U_{A} $[V]},
        axis y line= left,
        ylabel={$I_{A} $[mA]},
        ymin = 2,
        ymax = 13,
        xmax = 2.7,
        xtick={1,2},
        ytick={2,3,4,5,6,7,8,9,10,11,12}
]
% minimale Steigung
\addplot[color=blue] coordinates {
(0.5, 2.7)
(2.6, 11)
};
%maximale Steigung
\addplot[color=red] coordinates {
(0.6, 2.7)
(1.6, 11)
};
% mit Fehlerbalken
\addplot+[color=black, mark=square*,
error bars/.cd, x dir=both, x explicit,]coordinates {
(0.55,2.7)+-(0.05,0)
(1.2,6.3)+-(0.3,0)
(2.1,11)+-(0.5,0)
};
\legend{minimale Steigung, maximale Steigung, Werte mit Fehlerbalken}
\end{loglogaxis}
\end{tikzpicture}
%...
\end{document}

Mit ebenso fiktiven Daten wurde eine externe Datei (data.dat) befüllt, die eingebunden wird, und neben der Zeichnung auch noch eine automatische Regression erstellt und das Ergebnis, also der Graph und die Formel, in die Zeichnung eingefügt wird.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.13}
%...
\begin{document}
%...
\pgfplotstableread[columns={[index]0,[index]1}]{data.dat}\daten
\pgfplotstablecreatecol[linear regression]{regression}{\daten}
\xdef\slope{\pgfplotstableregressiona}
\xdef\intercept{\pgfplotstableregressionb}
\pgfplotsset{legend style={at={(0.7,1)}, anchor=north west}}

\begin{tikzpicture}
\begin{axis}[
    axis x line= bottom,
    xlabel={Strom I/mA},
    axis y line= left,
    ylabel={Spannung U/V}]
\addplot+[only marks,error bars/.cd,y dir=both,y explicit]%
    table[x index=0,y index=1,y error index=2]{data.dat};
\addplot[red,no markers,domain=0.01:5.5] {\intercept+\slope*x};
\addlegendentry{Werte mit Fehlerbalken}
\addlegendentry{$\pgfmathprintnumber{\pgfplotstableregressiona} \cdot x
\pgfmathprintnumber[print sign]{\pgfplotstableregressionb}$}
\end{axis}
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/pgfplots

pgf-spectra   top

Mithilfe des pgf-spectra Paketes lassen sich von einer Vielzahl an Elementen das jeweilige Spektrum auf einfache Art zeichnen. Auch ermöglicht das Paket seinen Benutzern anhand eigener Daten ein Spektrum zu zeichnen. Das Paket pgf-spectra bietet zwei verschiedene Datensätze zum Zeichnen von Spektren.

Der erste Datensatz stammt aus der Referenz "Line Spectra of the Elements" im CRC Handbook of Chemistry and Physics. Dieser Datensatz enthält Linien für 98 Elemente, von Wasserstoff (Z = 1) bis Einsteinium (Z = 99), mit Ausnahme von Francium (Z = 87). Die Linien decken den Wellenlängenbereich von 10 nm bis 4000 nm ab. Um diesen Datensatz zu verwenden, muss das Paket pgf-spectra mit der Option LSE (Line Spectra of the Elements) \usepackage[LSE]{pgf-spectra} geladen werden.

Der NIST-Datensatz enthält Daten für neutrale und einfach ionisierte Atome. Dieser Datensatz ist standardmäßig geladen und deckt den gleichen Wellenlängenbereich ab. Um diesen Datensatz zu verwenden, laden Sie das Paket pgf-spectra ohne jegliche Optionen.

Das Paket bietet mehrere Befehle und Optionen zum Zeichnen von Spektren. Der Hauptbefehl ist \pgfspectra, der zum Zeichnen des sichtbaren kontinuierlichen Spektrums verwendet werden kann. Mit den Optionen können Breite, Höhe, Element, Ladung, Intensität, Farbkorrektur und andere Aspekte des Spektrums angepasst werden.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{pgf-spectra}
%...
\begin{document}
%...
\pgfspectra[width=\textwidth,element=Ne]
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%...
\usepackage{pgf-spectra}
%...
\begin{document}
%...
\pgfspectraStyle[width=\textwidth,axis,begin=100,end=1000,axis step=50]
\pgfspectra[element=Ne]
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%...
\usepackage{pgf-spectra}
%...
\begin{document}
%...
\pgfspectra[element={H,Ne}]
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%...
\usepackage{pgf-spectra}
%...
\begin{document}
%...
\pgfspectra[element=Ne,back=white]
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%...
\usepackage{pgf-spectra}
%...
\begin{document}
%...
\pgfspectra[element=Ne,absorption]
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%...
\usepackage{pgf-spectra}
%...
\begin{document}
%...
\pgfspectra[element=Ne,back=visible40,gamma=.6,axis,axis step=50,axis
ticks=4,begin=100,end=1000,redshift={D=.001/0},show redshift value]
%...
\end{document}

Alles in allem bietet das Paket pgf-spectra umfangreiche Funktionen zum Zeichnen von Spektren mit anpassbaren Optionen und Datensätzen aus verschiedenen Quellen.


Quelle: https://ctan.org/pkg/pgf-spectra

pgf-umlcd   top

Das pgf-umlcd Paket ist ein Paket um UML Klassendiagramme zu zeichnen. Es bietet verschiedene Befehle und Beispiele für das Zeichnen verschiedener Elemente von Klassendiagrammen.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{pgf-umlcd}
%...
\begin{document}
%...
\begin{tikzpicture}
\begin{class}[text width=7cm]{BankAccount}{0,0}
\attribute {+ owner : String}
\attribute {+ balance : Euros }
\operation {+ deposit ( amount : Euros )}
\operation {+ withdrawal ( amount : Euros )}
\operation {\# updateBalance ( newBalance : Euros)}
\end{class}
\end{tikzpicture}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%...
\usepackage{pgf-umlcd}
%...
\begin{document}
%...
\begin{tikzpicture}
\begin{interface}{Person}{0,0}
\attribute{ firstName : String }
\attribute{ lastName : String }
\end{interface}
\end{tikzpicture}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%...
\usepackage{pgf-umlcd}
%...
\begin{document}
%...
\begin{tikzpicture}
\begin{interface}{Person}{0,0}
\attribute{ firstName : String }
\attribute{ lastName : String }
\end{interface}

\begin{class}{Professor}{-5,-5}
\implement{Person}
\attribute{ salary : Dollars }
\end{class}

\begin{class}{Student}{5,-5}
\implement{Person}
\attribute{ major : String }
\end{class}
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/pgf-umlcd

pgf-umlsd   top

Das pgf-umlsd Paket ermöglicht das Zeichnen von UML Sequenz Diagrammen mit LaTeX. Das Paket bietet verschiedene Befehle und Beispiele für die Erstellung verschiedener Elemente von Sequenzdiagrammen.

Die Dokumentation beginnt mit den Grundlagen des Pakets, einschließlich grundlegender Grafikobjekte wie einem leeren Diagramm, Threads und Instanzen.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{pgf-umlsd}
%...
\begin{document}
%...
\begin{sequencediagram}
\newthread{name}{:Thread}
\end{sequencediagram}
\quad
\begin{sequencediagram}
\newinst{name}{:Instance}
\end{sequencediagram}
%...
\end{document}

Es wird erklärt, wie man den Abstand zwischen Threads und Instanzen einstellt und das Aussehen des Diagramms anpasst, einschließlich Optionen für Unterstreichung und abgerundete Ecken.
\documentclass[margin=10mm]{standalone}
%...
\usepackage{pgf-umlsd}
%...
\begin{document}
%...
\begin{sequencediagram}
\tikzstyle{threadstyle}+=[top color = blue, bottom color = white]
\newthread{b}{:Blue}
\tikzstyle{inststyle}+=[top color = purple, bottom color = white]
\newinst{y}{:Purple}
\tikzstyle{inststyle}+=[bottom color = purple, top color = white, rounded corners =3 mm]
\newinst{o}{:Rounded}
\end{sequencediagram}
%...
\end{document}

Anschließend werden die verschiedenen Arten von Aufrufen in Sequenzdiagrammen, einschließlich regulärer Aufrufe, Selbstaufrufe, Nachrichtenaufrufe und verschachtelte Aufrufe eingeführt.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{pgf-umlsd}
%...
\begin{document}
%...
\begin{sequencediagram}
\newthread{t}{:Thread}
\newinst[1]{i}{:Instance}
\begin{call}{t}{function()}{i}{return value}
\end{call}
\end{sequencediagram}
\quad
\begin{sequencediagram}
\newthread{t}{:Thread}
\newinst{a}{:A}
\newinst{b}{:B}
\begin{call}{t}{funcA()}{a}{return}
\begin{call}{a}{funcA()}{b}{return}
\end{call}
\end{call}
\end{sequencediagram}
%...
\end{document}

Quelle: https://ctan.org/pkg/pgf-umlsd

pinouTikZ   top

Das pinoutikz Paket enthält Makros zur Erstellung von Pinout Diagrammen von Chips. Mit anderen Worten, es ermöglicht die grafische Darstellung der Belegung der einzelnen Pins eines Chips.

Das Paket beinhaltet eine Gruppe von Befehlen, die zum Zeichnen von Pinout-Diagrammen dient. Diese Gruppe besteht dabei aus drei Bereichen, die der jeweiligen Bauart des darzustellenden Chips geschuldet sind. Der Befehl \PDIP wird verwendet, um einen Chip in der Bauart PDIP (Plastic Dual In-Line Package) mit einer allgemeinen Anzahl von Pins zu zeichnen. Das Diagramm kann als eigenständige Glyphe oder als Bild-Sub-Element verwendet werden. Der Befehl \TQFP wird zum Zeichnen eines Chips mit TQFP-Gehäuses (Thin Quad Flat Package) und einer allgemeinen Anzahl von Pins verwendet, und der Befehl \PLCC wird zum Zeichnen eines Chips mit PLCC-Gehäuses (Plastic Leaded Chip Carrier) verwendet. Jedes Makro erfordert die Angabe der Anzahl der Pins und eine Liste der Pins mit ihren entsprechenden Beschriftungen.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{pinoutikz}
%...
\begin{document}
%...
\PDIP(40){%
1/(T2) P1.0,2/(T2EX) P1.1, 3/P1.2,4/P1.3,5/P1.4,
6/P1.5,7/P1.6,8/P1.7,9/RST,10/(RXD) P3.0,
11/(TXD) P3.1,12/(INT0) P3.2,13/(INT1) P3.3,14/(T0) P3.4,15/(T1) P3.5,
16/(WR) P3.6,17/(RD) P3.7,18/XTAL2,19/XTAL1,20/GND,
21/P2.0 (A8),22/P2.1 (A9),23/P2.2 (A10),24/P2.3 (A11),25/P2.4 (A12),
26/P2.5 (A13),27/P2.6 (A14),28/P2.7 (A15),29/PSEN,30/{ALE/PROG},
31/{EA/VPP},32/P0.7 (AD7),33/P0.6 (AD6),34/P0.5 (AD5),35/P0.4 (AD4),
36/P0.3 (AD3),37/P0.2 (AD2),38/P0.1 (AD1),39/P0.0 (AD0),40/VCC}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%...
\usepackage{pinoutikz}
%...
\begin{document}
%...
\PLCC(44){%
1/NC,2/(T2) P1.0,3/(T2EX) P1.1, 4/P1.2,5/P1.3,
6/P1.4,7/P1.5,8/P1.6,9/P1.7,10/RST,
11/(RXD) P3.0,12/NC,13/(TXD) P3.1,14/(INT0) P3.2,15/(INT1) P3.3,
16/(T0) P3.4,17/(T1) P3.5,18/(WR) P3.6,19/(RD) P3.7,20/XTAL2,
21/XTAL1,22/GND,23/NC,24/P2.0 (A8),25/P2.1 (A9),
26/P2.2 (A10),27/P2.3 (A11),28/P2.4 (A12),29/P2.5 (A13),30/P2.6 (A14),
31/P2.7 (A15),32/PSEN,33/{ALE/PROG},34/NC,35/{EA/VPP},
36/P0.7 (AD7),37/P0.6 (AD6),38/P0.5 (AD5),39/P0.4 (AD4),40/P0.3 (AD3),
41/P0.2 (AD2),42/P0.1 (AD1),43/P0.0 (AD0),44/VCC}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%...
\usepackage{pinoutikz}
%...
\begin{document}
%...
\TQFP(44){%
1/P1.5,2/P1.6,3/P1.7,4/RST,5/(RXD) P3.0,
6/NC,7/(TXD) P3.1,8/(INT0) P3.2,9/(INT1) P3.3,10/(T0) P3.4,
11/(T1) P3.5,12/(WR) P3.6,13/(RD) P3.7,14/XTAL2,15/XTAL1,
16/GND,17/GND,18/(A8) P2.0,19/(A9) P2.1,20/(A10) P2.2,
21/(A11) P2.3,22/(A12) P2.4,23/P2.5 (A13),24/P2.6 (A14),25/P2.7 (A15),
26/PSEN,27/{ALE/PROG},28/NC,29/{EA/VPP},30/P0.7 (AD7),
31/P0.6 (AD6),32/P0.5 (AD5),33/P0.4 (AD4),34/P0.3 (AD3),35/P0.2 (AD2),
36/P0.1 (AD1),37/P0.0 (AD0),38/VCC,39/NC,40/P1.0 (T2),
41/P1.1 (T2EX),42/P1.2,43/P1.3,44/P1.4
}
%...
\end{document}
\end{document}

Quelle: https://ctan.org/pkg/pinouTikZ

pixelart   top

Das pixelart Paket ist ein Paket zum Zeichen von Pixel Art in LaTeX. Dabei sind nicht nur schwarz-weiß Zeichnungen möglich, sondern es ist auch möglich zusätzliche Farben zu verwenden. Daneben gibt es auch die Möglichkeit die Größe des Bildes anzupassen, was insbesondere bei diesen Bildern, also Pixel Art Bildern, zum Teil benötigt wird.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{pixelart}
%...
\begin{document}
%...
\begin{tikzpicture}
\fill[blue] (1,1) circle (2);
\tikzbwpixelart{(-0.5,2.5)}{
010
111
010
}
\end{tikzpicture}

\begin{tikzpicture}
\fill[red] (1,1) circle (2);
\tikzbwpixelart[color=blue,scale=0.1]{(0.925,1.075)}{
010
111
010
}
\end{tikzpicture}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%...
\usepackage{pixelart}
%...
\begin{document}
%...
\begin{tikzpicture}
\tikzbwpixelart[color=blue]{(0,0)}{
010
000
010
}
\tikzbwpixelart[color=red]{(0,0)}{
000
111
000
}
\tikzbwpixelart[color=violet]{(0,0)}{
000
010
000
}
\end{tikzpicture}
%...
\end{document}


Weiterführende Informationen: Mehr zum PixelArt

Quelle: https://ctan.org/pkg/pixelart

PixelArtTikz   top

Das PixelArtTikz Paket ist ein zum Erstellen von Pixel Art mittels LaTeX und im Unterschied zu den bereits bestehenden Paketen zu diesem Bereich, erlaubt das PixelArtTikz Paket das Einbinden von Dateien in denen sich die Informationen für die Gestaltung des Bildes befinden. Die Datei liegen dabei im CSV Format vor. Das Paket erlaubt dann auch die Veränderung der Farben und der Größe der Felder, auch kann der Rand beziehungsweise die Rahmen um die Kästchen weggelassen werden. Im nachfolgenden Beispiel wird mithilfe der filecontents Umgebung die CSV erzeugt.

\begin{filecontents*}[overwrite]{wave.csv}
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0
0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,2,1,2,2,1,2,1,2,1,1,1,0,0,0,0,0,0,0
0,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,2,2,2,1,1,2,2,2,2,1,2,1,1,1,0,0,0,0
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,2,2,2,2,2,1,1,1,0,0
0,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,2,2,1,2,1,1,1,1,2,1,1,1,2,0,1,0,0
1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,2,2,2,2,1,2,1,2,1,1,2,0,0,0,0,0
1,1,1,1,1,1,1,1,1,2,1,1,2,2,2,2,1,2,2,2,1,1,1,1,2,2,1,2,2,0,0,0,0,0
1,1,1,1,1,1,1,1,1,2,2,1,1,1,3,4,1,2,2,1,1,1,2,1,1,1,1,1,1,1,0,0,1,1
1,1,1,2,2,1,1,1,1,1,2,3,3,1,3,4,4,4,1,1,1,2,2,1,1,2,1,1,1,1,1,1,1,1
1,1,1,1,2,2,2,1,2,1,1,1,4,4,4,4,4,4,1,1,1,2,1,1,2,2,2,1,2,2,1,1,2,2
1,1,2,2,1,2,4,4,1,2,2,1,1,4,4,3,3,1,1,4,4,1,2,2,2,1,2,1,2,2,2,1,1,2
1,1,2,2,2,3,4,4,4,4,3,4,1,4,3,4,4,4,4,4,1,1,2,1,1,1,1,2,1,1,2,2,1,2
2,2,2,1,1,1,4,4,4,3,3,4,4,3,4,4,1,4,3,1,1,3,3,2,1,1,2,2,1,2,1,2,2,2
1,1,1,1,1,2,1,4,4,3,4,4,4,3,4,4,4,3,3,4,4,4,4,3,1,1,1,1,2,2,2,1,1,2
1,2,2,4,4,4,1,4,3,3,4,4,3,4,4,4,3,3,4,4,4,4,3,3,1,2,2,1,2,1,1,2,1,1
2,4,4,3,4,4,4,3,3,4,4,4,3,4,4,3,3,4,4,4,4,3,3,1,2,2,1,1,2,2,1,1,1,1
4,4,4,3,4,4,4,3,4,4,4,3,4,4,4,3,4,4,1,4,3,3,3,3,0,2,0,0,2,1,0,0,1,0
4,4,3,4,4,4,4,3,4,4,4,3,4,4,3,3,4,4,4,4,3,3,0,0,0,0,0,0,1,1,1,0,0,0
4,4,3,4,4,4,3,3,4,4,3,4,4,4,3,4,4,4,4,3,3,0,0,0,0,0,0,0,1,0,1,0,0,0
4,4,4,4,4,4,3,4,4,4,3,4,4,4,3,4,4,4,4,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0
1,4,4,4,1,4,1,1,1,4,3,4,4,4,3,4,4,4,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0
1,1,1,1,1,1,1,2,4,1,3,4,4,3,4,4,4,4,3,3,0,0,0,0,0,0,0,0,0,1,0,1,0,0
1,1,1,1,2,1,1,4,4,4,3,4,1,3,4,4,4,4,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1,1,1,1,2,2,2,1,4,4,3,4,4,3,4,4,4,3,3,5,0,0,0,0,0,0,0,0,0,0,0,0,0,1
2,2,2,1,1,1,4,4,4,1,1,1,4,3,4,4,4,3,3,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2,2,2,2,1,1,1,1,1,1,4,4,4,3,4,4,4,3,3,5,5,0,0,0,0,0,0,1,1,0,1,0,0,0
2,2,2,2,2,2,1,1,1,1,3,4,1,1,1,1,4,3,3,5,5,5,0,0,0,0,0,0,0,1,0,0,1,1
2,2,1,1,1,2,1,1,2,1,1,1,1,1,4,4,1,3,3,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0
4,1,1,1,1,1,2,2,2,1,1,2,1,2,4,4,4,3,3,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0
4,1,3,4,1,4,4,4,1,1,2,1,1,1,1,1,4,3,3,5,1,5,5,5,5,5,5,5,5,5,5,0,0,0
4,4,3,4,1,4,4,1,1,1,1,2,4,3,4,1,4,3,3,5,5,5,1,5,5,5,5,5,5,5,5,5,5,5
4,4,4,3,4,4,4,4,4,1,1,1,1,3,4,4,4,3,1,5,5,5,5,5,5,5,5,5,1,5,5,5,5,5
4,4,1,1,1,4,4,4,1,4,1,4,1,3,4,4,4,3,3,5,5,5,5,5,5,5,5,1,5,1,5,1,5,5
1,1,1,1,1,1,4,4,4,4,1,4,4,4,3,4,4,3,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5
1,1,2,2,1,1,1,1,4,4,4,4,4,4,3,4,4,3,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5
1,1,2,1,2,4,4,1,4,4,4,4,4,4,3,4,4,4,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,1
1,2,1,1,1,1,4,4,4,4,3,4,4,4,4,3,4,4,3,3,3,5,5,1,5,5,5,5,5,5,5,5,5,5
1,1,4,4,4,1,3,4,4,4,4,3,1,1,4,3,4,1,4,3,3,5,5,5,5,1,5,5,5,5,5,5,5,5
1,1,1,4,4,4,3,4,4,4,4,1,1,1,1,4,3,4,4,4,3,3,6,1,1,6,6,6,6,6,6,5,5,5
4,4,4,1,4,4,4,3,4,4,1,1,1,1,1,1,1,1,4,4,4,3,3,6,6,6,1,6,1,6,6,6,6,5
4,4,4,4,4,4,4,4,3,1,1,1,1,1,1,1,1,1,1,4,4,3,3,6,6,6,6,1,6,6,6,1,6,6
3,3,4,4,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,4,4,3,3,6,6,6,6,6,6,6,6,6,6
3,3,3,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,3,3,6,6,6,6,6,6,6,6,6
4,4,3,3,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,3,3,6,6,6,6,6,6,6,6,6
4,4,4,4,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,3,3,3,6,6,6,6,6,6,6
4,4,4,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,3,1,1,4,4,3,3,6,6,6,6,6,6
4,4,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,6,6,6,6,6
1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,6,6,6,6
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,2,2,1,1,2,2,1,1,1,6,6,6
1,1,1,1,2,2,1,1,2,2,2,1,1,1,2,1,1,2,2,1,1,1,1,2,2,1,1,2,2,2,1,1,6,6
1,1,1,1,2,2,2,1,1,2,2,2,1,2,2,1,2,2,2,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1
1,1,1,1,1,2,2,2,1,2,2,2,2,2,1,1,2,1,1,1,1,1,1,1,1,2,1,2,3,1,1,1,1,1
1,1,2,1,1,1,1,2,2,2,1,1,2,2,1,1,1,2,1,1,1,2,1,1,1,1,2,2,2,3,1,1,4,4
1,1,1,2,2,2,1,2,1,1,1,1,1,1,2,2,1,2,2,1,2,2,2,1,1,1,1,3,3,4,4,1,1,4
1,1,1,1,2,2,2,1,1,1,1,2,1,1,2,2,2,2,2,2,2,2,3,1,2,1,1,1,3,4,4,4,1,1
2,1,1,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,1,3,3,2,3,3,1,1,1,1,1,1,4,4,3,3
2,2,1,1,1,1,2,2,1,1,1,1,2,2,2,2,2,1,3,3,4,3,2,3,1,1,2,1,1,1,1,4,4,4
2,2,1,1,1,2,2,2,2,1,2,1,2,2,2,2,2,1,3,4,4,3,2,3,1,2,2,1,1,1,1,1,4,4
2,1,1,2,1,1,1,2,2,1,2,2,2,2,2,2,1,1,1,4,4,1,3,3,3,2,2,1,2,2,1,1,1,1
1,1,1,2,2,2,1,2,2,2,2,1,1,1,2,2,1,1,1,4,4,4,3,3,3,4,3,2,2,2,2,1,1,1
1,1,1,1,2,2,2,2,1,1,2,2,2,1,1,2,2,1,1,1,4,4,3,3,4,4,3,3,2,1,3,3,1,3
2,2,2,1,2,2,2,1,1,1,1,3,3,2,2,1,1,1,1,1,4,4,3,1,4,4,4,3,3,1,1,3,3,1
2,2,1,1,2,2,2,1,4,4,1,3,3,1,1,1,2,1,1,1,1,4,4,3,3,4,4,4,3,3,4,1,3,3
2,2,2,2,2,2,1,1,4,3,3,3,2,2,3,1,1,2,1,1,1,4,4,4,3,3,4,4,4,3,3,4,4,4
1,1,2,2,2,1,1,1,1,4,3,4,4,2,3,3,1,2,1,1,1,1,4,4,4,4,3,4,4,4,3,3,3,4
1,1,1,1,1,1,1,1,1,1,4,4,4,4,4,3,3,1,1,2,1,2,1,1,4,4,4,3,3,4,4,4,3,3
2,1,1,1,1,1,1,1,1,1,1,1,4,4,4,4,3,1,1,3,2,2,2,1,1,4,4,4,4,3,4,4,4,4
2,2,1,4,4,1,1,1,1,2,1,1,1,1,4,4,4,1,3,3,3,2,1,1,1,1,1,4,4,4,3,3,4,4
2,2,2,1,4,4,1,1,1,1,4,4,1,1,1,1,4,4,1,3,3,3,1,1,1,1,1,1,1,4,4,4,3,3
3,3,2,1,2,4,1,3,4,1,4,3,1,2,4,1,4,4,3,3,4,4,4,1,1,2,1,2,1,1,1,1,4,4
3,3,2,2,2,1,1,3,3,1,1,3,2,2,4,4,4,4,4,3,4,4,4,4,1,2,2,1,2,1,1,1,1,1
1,1,4,4,2,2,2,1,1,1,1,1,1,2,2,4,4,4,4,4,3,4,4,4,1,3,3,2,3,3,1,1,1,1
1,1,1,4,4,2,2,1,1,1,2,2,1,2,2,1,1,1,4,4,4,4,4,4,3,3,4,3,3,3,3,1,3,3
4,4,1,4,4,1,1,4,1,1,1,2,2,2,1,1,1,1,1,4,4,4,4,4,3,3,4,4,4,3,3,3,3,3
4,4,4,4,4,4,1,4,4,4,1,2,2,1,1,2,1,2,1,1,1,4,4,4,4,3,3,4,4,4,3,4,4,4
4,4,4,4,4,4,1,4,4,1,1,4,4,2,2,2,2,2,2,1,1,4,4,4,4,4,3,4,4,4,4,4,4,4
4,4,4,4,4,1,4,4,4,4,4,4,2,2,2,2,4,4,2,2,1,1,1,4,4,4,4,3,4,4,4,4,4,4
3,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,2,2,2,2,2,4,4,4,4,4,3,4,4,4,4
3,4,4,4,4,4,4,4,4,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,2,4,4,4,4,4,4,4,4,4
3,3,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4
3,3,3,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4
\end{filecontents*}
\documentclass[margin=10mm]{standalone}
%...
%\usepackage{PixelArtTikz} %LaTeX3
%...
\usepackage[csvii]{PixelArtTikz} %LaTeX2e 
%...
\begin{document}
%...
\PixlArtTikz[Codes=0123456,Colors={lightgray,magenta,pink,purple,red,gray,darkgray},Correction,Unit=0.35,Border=false]{wave.csv}
%...
\end{document}

Quelle: https://ctan.org/pkg/pixelarttikz

proflabo   top

Das proflabo Paket ermöglicht es, einfache Versuchsaufbauten beziehungsweise Versuchsanleitung für den Chemieunterricht an der Schule darzustellen. Die folgenden Elemente/Geräte können dabei dargestellt werden:

Die Darstellung der Geräte wird über die Optionen des jeweiligen Gerätebefehls festgelegt. Diese werden mithilfe des Schlüssel = Wert (Key=Value) System gesetzt. Da sowohl das Paket als auch die Dokumentation auf Französisch verfasst sind, sind auch die Befehle beziehungsweise die Optionen auf Französisch.

\Befehl[Key1 = Value1, Key2 = Value2, ...]{}
Schlüsseldt. BezeichnungDefault Wert
CouleursFarbenweiß
EchelleSkalaWert zwischen 0.5 und 1.5
LegendeLegendeleer (keine Legende)
HauteurHöhenumerischer Wert, der einen Prozentsatz darstellt.
\documentclass[margin=5mm]{standalone}
%...
\usepackage{proflabo}
%...
\begin{document}
%...
\TubeAEssai[Couleurs=lime!50,Echelle=0.75,
Hauteur=100, Legende=Natriumhydroxid in 
Anwesenheit von Eisenionen]{}
%...
\end{document}
\documentclass[margin=5mm]{standalone}
%...
\usepackage{proflabo}
%...
\begin{document}
%...
\EchelleTube[Echelle=0.5,Couleurs={magenta,
magenta!85,magenta!65,magenta!45,magenta!15},
Legendes={1,2,3,4,5}]{5}
%...
\end{document}
\documentclass[margin=5mm]{standalone}
%...
\usepackage{proflabo}
%...
\begin{document}
%...
\Becher[Couleurs=magenta!88,Echelle=1,Legende=Becherglas 
mit einer Lösung von Permanganat]{}
%...
\end{document}
\documentclass[margin=5mm]{standalone}
%...
\usepackage{proflabo}
%...
\begin{document}
%...
\FioleJaugee[Hauteur=100,Couleurs=cyan!40,
Legende=Unbekanntes Mineralwasser zum Dosieren]{} 
\FioleJaugee[Legende=Dies ist ein leeres Fläschchen]{}
%...
\end{document}
\documentclass[margin=5mm]{standalone}
%...
\usepackage{proflabo}
\usetikzlibrary{calc}
%...
\begin{document}
%...
\Erlen[Echelle=1.25,Hauteur=33,Couleurs=cyan, LegendeDessous=Produkt A]{}
\Erlen[Echelle=1.25,Hauteur=100,Legende=Produkt]{}
%...
\end{document}
\documentclass[margin=5mm]{standalone}
%...
\usepackage{siunitx}
\usepackage{proflabo}
%...
\begin{document}
%...
\Dosage[Echelle=1,Titrant=Soda \SI{0.1}{\mol\per\liter},
Titre=Verdünnte Essiglösung
\\ + Phenolphthalein \\ + Destilliertes Wasser,
CouleurTitrant=cyan!25,CouleurTitre=cyan!50]{}
%...
\end{document}

Je nach Anwendung ist es notwendig, das \usepackage{siunitx} Paket und oder die zusätzliche Bibliothek \usetikzlibrary{calc} einzubinden. Bei der Verwendung von Farbe ist das entsprechende Paket ebenfalls einzubinden.


Quelle: https://ctan.org/pkg/proflabo

prooftrees   top

Das prooftrees stellt eine Art Erweiterung des forest Paketes dar, mit dem Ziel den Satz von sogenannten Beweisbäumen, wie sie häufig in den Einführungskursen zum Bereich Logik verwendet werden, zu erleichtern beziehungsweise diesen zu verbessern.

Durchaus brauchbare und nachvollziehbare Beispiele für die Verwendung des Paketes zur Darstellung von Beweisbäumen finden sich hier.



Weiterführende Informationen: Tree Proof Generator

Quelle: https://ctan.org/pkg/prooftrees

ptolemaicastronomy   top

Die in diesem Paket enthaltenen Makros helfen bei der Konstruktion von Kugelmodelldiagrammen im Stil von Lewis.

Das Paket ptolemaicastronomy hat, anders als der Name es vermuten lässt, keine Verbindung zu Ptolemäus oder der Astronomie. Es handelt sich vielmehr um ein Paket zur Erstellung von Diagrammen von Sphärenmodellen für variabel strenge Konditionale, insbesondere Lewis-Kontrafaktuale, verwendet wird. Diese Kugelmodelldiagramme gehen dabei in ihrem Stil auf den Philosophen David Lewis zurück.

Mit dem Befehl \spheresystem{#Schichten} wird ein Sphärensystem mit der angegebenen Anzahl an Schichten gezeichnet. Diese Schichten können in ihrer Darstellung auch verändert werden.

\documentclass[tikz,margin=10mm]{standalone}
%...
\usepackage{ptolemaicastronomy}
%...
\begin{document}
%...
\begin{tikzpicture}
\spheresystem{3}
\end{tikzpicture}
%...
\end{document}

Die zwei Befehle \spherelayer und \spherefill lässt sich das Aussehen der Schichten verändern. Dabei wird der Verwendung der Befehle jeweils die zu veränderte Schicht als Argument angegeben. Zum Beispiel führt der Befehl \spherelayer{2} dazu, dass die zweite Schicht grau schattiert wird, während der Befehl \spherefill[green]{1} dazu führt, dass die Fläche der ersten Schicht in der Farbe Grün aufgefüllt wird. Bei der Verwendung dieses Befehls sollten Sie sich von innen nach außen arbeiten, da andernfalls mehr eingefärbt wird, als Sie möglicherweise wollten.

\documentclass[tikz,margin=10mm]{standalone}
%...
\usepackage{ptolemaicastronomy}
%...
\begin{document}
%...
\begin{tikzpicture}
\spheresystem{3}
\spherelayer{2}
\spherefill[green]{1}
\end{tikzpicture}
%...
\end{document}

Der Befehl \proposition wird verwendet, um eine Proposition zu zeichnen, die sich mit dem Kugelsystem schneidet. Bei einer Proposition handelt es sich Welten, die ein Sphärensystem schneidet. Die Proposition kann mit verschiedenen Winkeln, Breiten und Längen angepasst werden. Der Befehl \propositionintersect wird verwendet, um den Schnittpunkt zwischen einer Proposition und einer bestimmten Kugel hervorzuheben.

\documentclass[tikz,margin=10mm]{standalone}
%...
\usepackage{ptolemaicastronomy}
%...
\begin{document}
%...
\begin{tikzpicture}
\spheresystem{3}
\proposition{45}{3}{40}{3}
\end{tikzpicture}
%...
\end{document}
\documentclass[tikz,margin=10mm]{standalone}
%...
\usepackage{ptolemaicastronomy}
%...
\begin{document}
%...
\begin{tikzpicture}
\spheresystem{3}
\proposition{45}{3}{40}{3}
\propositionintersect{45}{3}{20}{3}
\end{tikzpicture}
%...
\end{document}

Der Befehl \spherepos wird verwendet, um Elemente innerhalb des Sphärensystems zu positionieren, sodass Beschriftungen oder andere Objekte platziert werden können. Ein Beispiel ist dafür eine Kugel im Zusammenspiel mit einer Proposition.

\documentclass[tikz,margin=10mm]{standalone}
%...
\usepackage{ptolemaicastronomy}
%...
\begin{document}
%...
\begin{tikzpicture}
\spheresystem{3}
\proposition{45}{3}{40}{3}
\propositionintersect{45}{3}{20}{3}
\spherepos[fill,red]{45}{3}{circle[radius=.1]}
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/ptolemaicastronomy

PuyoTikZ   top

Das PuyoTikZ Paket ist ein LaTeX-Paket, das für den Satz von Spielbrettzuständen von Puyo-Puyo-Spielen verwendet wird. Das Paket ermöglicht die Erstellung von Puyo-Puyo-Spielbrett Layouts mit Unterstützung für große und kleine Bretter, beliebige Formen, versteckte Reihen, aktuelle und nächste Puyos, Beschriftungen und Zugplanungsmarkierungen. Es erfordert jedoch auch die Installation von Python3 sowie der Pakete Pygments und Numpy. Die Kompilierung der damit gesetzten Dokumente erfodert auch den Einsatz von PythonTeX.

Von der Erstellung von vielen Bildern in einem einzelnen Dokument wird aufgrund der sehr langen Kompilierungsdauer abgeraten, es wird vielmehr empfohlen, die Bilder separat zu generieren und in das Dokument einzufügen.


Quelle: https://ctan.org/pkg/PuyoTikZ

quantikz   top

Das quantikz Paket kann für den Satz von Quantenschaltungen innerhalb von LaTeX verwendet werden. Wobei das Paket eine Art Matrixnotation für das Layout der Schaltungen und die Zellen durch ein & Symbol voneinander getrennt werden.

Innerhalb der quantikz Umgebung wird die Schaltung gesetzt. Durch das Setzen des & Zeichens wird in eine neue Spalte gewechselt. Wird aus diesem Zeichen kein weiteres Zeichen gesetzt, wird zumindest ein Draht, ein sogenannter Quantendraht gesetzt. Es stehen dabei mehrere Drahttypen zur Verfügung, die entweder per Umgebungsoption von quantikz oder per \setwiretype{Typ} Befehl ausgesucht werden können. Als mögliche Typen gibt es q (Quanten), c (klassisch), b (Bündel) und n (keine).

\documentclass[tikz,margin=10mm]{standalone}
%...
\usepackage{quantikz} %Version vom 2023-05-24
%...
\begin{document}
%...
\begin{quantikz}
&&&&&\setwiretype{q} \\
&&&&&\setwiretype{n} \\
&&&&&\setwiretype{c} \\
&&&&&\setwiretype{b} 
\end{quantikz}
%...
\end{document}

Der \gate Befehl wird zum Einfügen von Gattern in die Zellen verwendet. Die Gatter können Beschriftungen haben, die ihren Parametern entsprechen, und können sich über mehrere Qubit, das bedeutet über mehrere Zeilen erstrecken.

\documentclass[tikz,margin=10mm]{standalone}
%...
\usepackage{quantikz} %Version vom 2023-05-24
%...
\begin{document}
%...
\begin{quantikz}
&\gate{H}&\gate[2]{U}&\gate{R_Z(\theta)}& \meter{} \\
&\gate[2]{X}&&\phase{\alpha} & \\
&&\phase{\beta} &\meter{} & 
\end{quantikz}
%...
\end{document}

Sogenannte Controlled Gates, die aus einer Steuerung und einem Ziel bestehen, werden mit den Befehlen ctrl und targ erstellt. Zusätzliche Steuerungen können durch die Erstellung von vertikalen Drähten hinzugefügt werden.

\documentclass[tikz,margin=10mm]{standalone}
%...
\usepackage{quantikz} %Version vom 2023-05-24
%...
\begin{document}
%...
\begin{quantikz}
& \ctrl{1} & \targ{} & \swap{1} & \ctrl[verticalwire=c]{2} &\\
& \control{} & \ctrl[open]{-1} & \targX{} && \gate{X} \\
&\gate{H}&\phase{\beta} &\meter{} & 
\end{quantikz}
%...
\end{document}

Mit den Befehlen \lstick und \rstick können Sie die verschiedenen Teile der Schaltung beschriften.

\documentclass[tikz,margin=10mm]{standalone}
%...
\usepackage{quantikz} %Version vom 2023-05-24
%...
\begin{document}
%...
\begin{quantikz}
\lstick{\ket{0}} & \gate{U} &
\gate[2]{X} &\rstick[2]{out} \\
\lstick[2]{input} & \gate[2]{V} && \\
& & & \rstick{$\frac{1}{X}$}
\end{quantikz}
%...
\end{document}

Mit dem Befehl \gategroup können Sie Teile einer Schaltung mit einem Kasten oder einer Hintergrundfarbe (hier ist die Option background wichtig) zu markieren.

\documentclass[tikz,margin=10mm]{standalone}
%...
\usepackage{quantikz} %Version vom 2023-05-24
%...
\begin{document}
%...
\begin{quantikz}
& \gate{H} & \ctrl{1} &
\gate{H}\gategroup[2,steps=3,style={inner
sep=6pt}]{Beschriftung} &  &
\gate[2]{X} &  & & \\
& & \targ{} & \gate{H} &  &  &  &
\gate{H} &
\end{quantikz}
%...
\end{document}
\documentclass[tikz,margin=10mm]{standalone}
%...
\usepackage{quantikz} %Version vom 2023-05-24
%...
\begin{document}
%...
\begin{quantikz}
& \gate{H} & \ctrl{1} &
\gate{H}\gategroup[2,steps=3,style={inner sep=6pt, fill=purple!60},background]{Beschriftung} &  &
\gate[2]{X} &  & & \\
& & \targ{} & \gate{H} &  &  &  &
\gate{H} &
\end{quantikz}
%...
\end{document}

Mit dem Befehl \slice können Sie Schaltkreise in einzelne Schritte unterteilt werden. Das Paket bietet Optionen zur Anpassung des Stils und der Beschriftung der Slices.

\documentclass[tikz,margin=10mm]{standalone}
%...
\usepackage{quantikz} %Version vom 2023-05-24
%...
\begin{document}
%...
\begin{quantikz}
&\gate{H}\slice{Schritt}&\gate[2]{U}&\gate{R_Z(\theta)}& \meter{} \\
&\gate[2]{X}&&\phase{\alpha} & \\
&&\phase{\beta} &\meter{} & 
\end{quantikz}
%...
\end{document}

Quelle: https://ctan.org/pkg/quantikz

randomwalk   top

Das randomwalk Paket (Version v0.6 vom 28.12.2018) erstellt wie der Name bereits vermuten lässt einen Random Walk. Die Zeichnung basiert dabei im Wesentlichen auf drei Werten, der Anzahl der Schritte, die Länge der Schritte und in welchem Winkel die Schritte zueinander stehen.

Die Anzahl der Schritte kann dabei von Nutzer selbst festgelegt werden. Im Fall, dass die Anzahl nicht festgelegt wird, wird der Defaultwert 10 automatisch verwendet.
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{randomwalk}
\begin{document}
\RandomWalk{} vs. 
\RandomWalk{number = 100} vs. 
\RandomWalk{number = 1000}
\end{document}

Die Länge der Schritte kann auf einen festen Wert gesetzt werden oder in Form einer Liste in der die Werte mit Kommata getrennt vorgegeben werden. Im Fall, dass die Variante der Liste gewählt wurde, werden die Längen gleichverteilt nach dem Zufallsprinzip aus dieser Liste ausgewählt. Für den Fall, dass kein Wert für die Länge gesetzt wurde wird der Defaultwert mit 10pt verwendet.
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{randomwalk}
\begin{document}
\RandomWalk{} vs. 
\RandomWalk{length = {20pt}} vs. 
\RandomWalk{length = {1pt, 20pt}}
\end{document}

Bei den Winkeln wird entweder nach dem Zufallsprinzip und gleichverteilt ein Winkel aus einer gegebenen Liste, mit Kommata getrennte Werte, ausgesucht oder es wird auch nach dem Zufallsprinzip und gleichverteilt ein Winkel zwischen 0 und 360 Grad ausgewählt. Leteres ist die Defaulteinstellung. Bei den Winkel besteht zudem die Möglichkeit zwischen Bogenmaß (default) und Grad wechseln. Auch gibt es die Möglichkeit die Winkel so zu verwenden, dass sie relativ zum vorherigen Schritt sind und nicht absolut.
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{randomwalk}
\begin{document}
\RandomWalk{} vs. 
\RandomWalk{angles = {0,90}, degree} vs. 
\RandomWalk{angles = {0,90}, degree, angles-relative}
\end{document}

Der drei Werte lassen sich auch gleichzeitig setzen um den gewünschten Graph zu zeichnen.
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{randomwalk}
\begin{document}
\RandomWalk{number= 1000, length=1pt, angles = {-90,0,90}, degree}
\end{document}

Quelle: https://ctan.org/pkg/randomwalk


rank-2-roots   top

Das Paket rank-2-roots wurde für mathematische Zeichnungen, die in der Darstellungstheorie entstehen, gemacht. Der Zweck dieses Pakets ist es, das Zeichnen von Rang 2 Wurzelsystemen mit Weylkammern, Gewichtsgittern und parabolischen Untergruppen zu erleichtern, die sich an den Zeichnungen von Fulton und Harris orientieren. In der Mathematik ist die Weyl-Gruppe ein wichtiges Hilfsmittel zur Untersuchung von Lie-Gruppen und Lie-Algebren und allgemeiner von Wurzelsystemen.

Es steht eine große Auswahl an verschiedenen Zeichnungen bereits zur Verfügung.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{rank-2-roots}
%...
\begin{document}
%...
$A_{2}$ \quad \begin{tikzpicture}
\begin{rootSystem}{A}
\roots
\end{rootSystem}
\end{tikzpicture}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%...
\usepackage{rank-2-roots}
%...
\begin{document}
%...
\begin {tikzpicture}[baseline=-.5]
\begin {rootSystem}{A}
\roots
\wt [brown]{1}{0}
\wt [red]{0}{1}
\wt [multiplicity=4,blue]{1}{3}
\wt [blue,multiplicity=2]{2}{2}
\wt [blue]{-1}{3}
\end {rootSystem}
\end {tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/rank-2-roots

reotex   top

Das Paket definiert Makros und andere Hilfsmittel für den Entwurf von Reo-Schaltungen.

Zeichnen eines Reo-Kanals

Reo-Schaltungen sind die Zusammensetzung mehrerer Reo-Kanäle. Im reotex Paket wurden die Kanäle so umgesetzt, dass sie alle den gleichen Aufbau besitzen.

\Kanalname{Start}{Ziel}{Beschriftungen}
Reo-Kanäle

Wie bereits erwähnt, gibt es bereits 22 definierte Kanaltypen. Diese lasen sich in zwei Kategorien, synchrone und asynchrone Kanäle unterteilen. Eine entsprechende Übersicht findet sich in der Dokumentation.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{reotex}
%...
\begin{document}
%... synchrone Kanäle
\begin{tikzpicture}
\sync{(0,0)}{(2,0)}{}
\syncdrain{(0,-1)}{(2,-1)}{}
\end{tikzpicture}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%...
\usepackage{reotex}
%...
\begin{document}
%...asynchrone Kanäle
\begin{tikzpicture}
\fifoe{(0,0)}{(2,0)}{}
\fifoe*{(0,-1)}{(2,-1)}{}
\end{tikzpicture}
%...
\end{document}
Reo Knoten

Es gibt zwei Arten von Knoten in Reo-Schaltungen: die Randknoten und die gemischte Knoten. In diesem Paket unterscheiden sie sich nur durch ihre Farbe, der Aufbau ist jedoch für beide Arten von Knoten gleich.

\Knotenname{Referenz}{Punkt}{Labels}
Knoten

Neben dem Randknoten (\ionode) und den gemischten Knoten (\mixednode) gibt es noch eine dritte Variante, den Exklusiv-Router-Knoten (\xrouter). Er folgt genau der gleichen Notation wie die beiden anderen zuvor vorgestellten Knoten.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{reotex}
%...
\begin{document}
%...Konten
\begin{tikzpicture}
\ionode{(k1)}{(2,2)}{}
\mixednode{(k2)}{(2,1)}{}
\xrouter{(k3)}{(2,0)}{}
\end{tikzpicture}
%...
\end{document}
Reo Schaltung

Aus den gezeigten Elementen (Kanäle und Knoten) lässt sich dann eine Schaltung erstellen.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{reotex}
%...
\begin{document}
%...
\begin{tikzpicture}
\ionode{(io1)}{(0,1)}{}
\ionode{(io2)}{(0,3)}{}
\ionode{(io3)}{(3,0.5)}{}
\ionode{(io4)}{(6,1)}{}
\ionode{(io5)}{(6,3)}{}
\mixednode{(m1)}{(1,2)}{}
\mixednode{(m2)}{(3,2)}{}
\mixednode{(m3)}{(5,2)}{}
\sync{(io1)}{(m1)}{}
\sync{(io2)}{(m1)}{}
\fifoe{(m1)}{(m2)}{}
\syncdrain{(io3)}{(m2)}{}
\fifoe{(m2)}{(m3)}{}
\sync{(m3)}{(io4)}{}
\sync{(m3)}{(io5)}{}
\end{tikzpicture}
%...
\end{document}


Weiterführende Informationen:Reo Coordination Language

Quelle: https://ctan.org/pkg/reotex

robotarm   top

Mit dem Paket robotarm kann die Benutzerin sich einen Roboterarm zeichnen lassen. Der Befehl \robotArm[Optionen], der für die Zeichnungen sorgt, wird dabei selbst innerhalb einer tikzpicture Umgebung gesetzt. Neben der Möglichkeit verschiedene Positionen der Gelenke des Roboterarms zu zeigen, besteht auch die Möglichkeit die Anzahl der Glieder zu variieren und das Endstück des Armes zu verändern.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{robotarm}
%...
\begin{document}
%...
\begin{tikzpicture}
\robotArm[config={q1=60,q2=-40,q3=-50}]{3}
\end{tikzpicture}
%...
\end{document}

Anzahl der Glieder.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{robotarm}
%...
\begin{document}
%...
\begin{tikzpicture}
\robotArm{4}
\end{tikzpicture}
%...
\end{document}

Endstück des Armes

\documentclass[margin=5mm]{standalone}
%...
\usepackage{robotarm}
%...
\begin{document}
%...
\begin{tikzpicture}
\robotArm[
config={q1=100,q2=-100},
end effector/.cd,
    draw link/.code={
        \draw[line cap=round, double=lightgray,
        double distance=4mm]
        (0,0) to[bend left] (2, 0.8);},
    draw end effector/.code={
        \path[link style]
        (1.8, 0.8) arc (180:0:0.2) -- (2.1, 0.4)
        -- (1.9, 0.4) -- cycle;
        \path[link style]
        (2.05,0.4) rectangle (1.95,0.0);
        \fill (2,0) circle (0.05);}
    ]{2}
\end{tikzpicture}
%...
\end{document}

Quelle: https://www.ctan.org/pkg/robotarm

rulercompass   top

Die rulercompass TikZ Bibliothek bietet Befehle und Stille an, um das Zeichnen mit Zirkel und Lineal nachzubilden. Dies erfolgt in Anlehnungen an die euklidischen Geometrie, in dieser versteht man unter einer Konstruktion mit Zirkel und Lineal die Entwicklung der exakten zeichnerischen Darstellung einer Figur auf der Grundlage vorgegebener Größen, wobei in der Regel nur Zirkel und Lineal verwendet werden dürfen. Da das Lineal aber keine Markierungen besitzt, können damit nur Geraden gezeichnet werden, aber keine Strecken abgemessen werden. Trotz dieser Einschränkungen lassen sich dadurch auch kompliziertere algebraische Operationen wie die Quadratwurzel und das Potenzieren durchführen.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{tikz}
\usetikzlibrary{rulercompass}
%...
\begin{document}
%...
\begin{tikzpicture}[
stop jumping,
constrain
]
\path (0,0) node [name=0,ruler
compass/point=red, label={0}];
\path (0) ++(30:2) node[ruler
compass/point=red, label={a}];
\ruler{0}{a}
\compass{0}{a}
\compass{a}{0}
\point{c0a}{ca0}{1}
\point{c0a}{ca0}{2}
% Mittelsenkrechte
\ruler{b}{c}
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/rulercompass

sankey   top

Das sankey Paket bietet Befehle und eine Umgebung zur Erstellung von Sankey-Diagrammen, d. h. von Flussdiagrammen, bei denen die Breite der Pfeile proportional zur Flussrate ist, an. Wie Sie aber anhand des nachfolgenden Beispiels sehen können, ist die Umsetzung anspruchsvoll.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{sankey}
%...
\begin{document}
%...
\begin{tikzpicture}
\begin{sankeydiagram}
\colorlet{energy}{blue!30!cyan!80!black}
\colorlet{lost energy}{red!50!orange!90!black}
\sankeyset{
ratio=13em/100,
minimum radius=1em,
start style=simple,end style=simple,
draw/.style={draw=none,line width=0},
energy/.style={
fill/.style={
draw=energy,
line width=0,
fill=energy,
}
},
lost energy/.style={
fill/.style={
draw=lost energy,
line width=0,
fill=lost energy,
}
}
}
\newcommand\abovelabel[2]{ % valname, label
\node[anchor=south east,align=center,inner xsep=0] at (#1.left) {#2};
}
\newcommand\energylabel[1]{ % valname
\node[anchor=north east,text=energy,inner xsep=0] at (#1.right)
{{\sankeygetnodeqty{#1}}};
}

\newcommand\lostenergylabel[2]{ % valname, label
\node[anchor=north,text=lost energy] at ([yshift=-2.5mm]#1.center)
(value)
{{\sankeygetnodeqty{#1}}};
\node[anchor=north,inner sep=0,align=center] at (value.south) {#2};
}
\newcommand\lostenergylabelbottom[2]{ % valname, label
\draw[draw=lost energy,dashed,thick]
([yshift=-3mm]#1.center) coordinate (#1) -- ([yshift=-3mm]#1.center);
\lostenergylabel{#1}{#2}
}
\sankeynode{name=Co,quantity=100.0}
\path (Co.right) ++(0,-7mm) coordinate (c);
\newcommand\turnandstop[2]{ % valname, label
\begingroup
\sankeyset{lost energy}
\sankeyturnright{#1}{90}
\sankeynode{as=#1,name=#1-stop,at={#1 |- c}}
\sankeyoutin{#1}{#1-stop}
\sankeynode{as=#1-stop,name=#1}
\sankeyend{#1}
\lostenergylabel{#1}{#2}
\endgroup
}
\newcommand\turnandstopbottom[2]{ % valname, label
\begingroup
\sankeyset{lost energy}
\sankeyturnright{#1}{90}
\sankeynode{as=#1,name=#1-stop,at={#1 |- c}}
\sankeyoutin{#1}{#1-stop}
\sankeynode{as=#1-stop,name=#1}
\sankeyend{#1}
\lostenergylabelbottom{#1}{#2}
\endgroup
}
\sankeyadvance[energy]{Co}{8em}
\abovelabel{Co}{\textbf{Kohle}\\(Primärenergie)}
\energylabel{Co}
\sankeyfork{Co}{35/El1,65/Pg}
\turnandstop{Pg}{Abwärme}
\sankeyadvance[energy]{El1}{12em}
\abovelabel{El1}{\textbf{Elektrizität}\\(Sekundärenergie)}
\energylabel{El1}
\sankeyfork{El1}{30/El2,5/Tr}
\turnandstopbottom{Tr}{Übertragungsverluste\\ \emph{Verteilung} \\ \emph{Verkabelung}}
\sankeyadvance[energy]{El2}{12em}
\energylabel{El2}
\abovelabel{El2}{\textbf{Elektrizität}\\(Endenergie beim\\ Verbraucher)}
\end{sankeydiagram}
\end{tikzpicture}
%...
\end{document}


Weiterführende Informationen: Sankey-Diagramm

Quelle: https://ctan.org/pkg/sankey

schemabloc   top

Das schemabloc Paket enthält eine Reihe von Befehlen zur Erstellung von Blockdiagrammen unter Verwendung von TikZ. Die englischsprachige Version / Übersetzung ist das blox Paket.

Bei einem Blockdiagramm handelt es sich um ein spezielles Flussdiagramm, das zur Visualisierung von Systemen und deren Interaktion verwendet wird. Die Abstraktionshöhe von Blockdiagrammen sollen einen Überblick über ein System gewähren, es werden die wichtigsten Systemkomponenten berücksichtigen, Eingaben und Ausgaben visualisiert, mit dem Ziel Arbeitsbeziehungen innerhalb des Systems vermitteln zu können. Nachfolgendes Beispiel zeigt das Prinzip eines Regelkreises.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{schemabloc}
%...
\begin{document}
%...
\begin{tikzpicture}
\sbEntree{U}
\sbBoucleRetour[2]{U}{A/Controller,B/System}{C/Measurements}
\node[above of=CompU-A,node distance=0.5em]{$e$};
\node[above of=A-B,node distance=0.5em]{$u$};
\node[above of=B, node distance=3em, align=center]{Disturbances\\ $\downarrow$};
\node[above of=U,node distance=.5em]{$r$};
\sbSortie[5]{V}{B}\sbRelier[$y$]{B}{V}
\end{tikzpicture}
%...
\end{document}

Weiterführende Pakete:blox

Quelle: https://ctan.org/pkg/schemabloc

Scrabble   top

Das scrabble Paket basiert auf dem bekannten gleichnamigen Spiel und es erlaubt der Anwenderin, ein entsprechendes Spielbrett zu erstellen. Dabei werden mehrere Sprachen bei der Erstellung des Spielbrettes unterstützt, zurzeit sind das Englisch, Französisch, Spanisch und Deutsch. Als Default Einstellung wird Englisch verwendet. Die Sprachen sind über einen zweistelligen Code verfügbar, wobei EN für Englisch, FR für Französisch, ES für Spanisch und DE für Deutsch gesetzt wird.

\documentclass[margin=10mm]{standalone}
\usepackage{Scrabble}
%...
\begin{document}
%...
\begin{EnvScrabble}
\end{EnvScrabble}
%...
\end{document}

Es besteht zudem die Möglichkeit, eine Überschrift und bereits Wörter auf dem Spielfeld einzufügen. Auch lassen sich die bereits vorhandenen Beschriftungen der Felder über die Option Labels=false in der EnvScrabble Umgebung deaktivieren.

\documentclass[margin=25mm]{standalone}
\usepackage{Scrabble}
%...
\begin{document}
%...
\begin{EnvScrabble}<DE>
\ScrabblePutWord{pink}{1,13} \ScrabblePutWord[V]{Topmodel}{1,15}
\draw (7,15) node[font=\LARGE\sffamily] {Deutsche Version} ;
\end{EnvScrabble}
%...
\end{document}

Quelle: https://ctan.org/pkg/scrabble

scratch   top

Dieses Paket ermöglicht das Zeichnen von Programmdiagrammen im Stil des Scratch-Projekts. Wobei ab Version 3 von Scratch das Paket scratch3 verwendet werden soll. Da es eine Änderung im Design bei Scratch gegeben hat.



Weiterführende Informationen: Scratch Projekt

Weiterführende Pakete: scratch3

Quelle: https://ctan.org/pkg/scratch

scratch3   top

Dieses Paket ermöglicht das Zeichnen von Programmdiagrammen im Stil des Scratch-Projekts. Aufgrund eines Designwechsels soll ab der Scratch Version 3 dieses Paket anstatt des älteren scratch Paketes verwendet werden.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{scratch3}
%...
\begin{document}
%...
\begin{scratch}
\blockinit{When \selectmenu{space} key pressed}
\blockrepeat{forever}
{
\blockmove{wait \ovalnum{1} seconds}
\blockmove{turn \turnright{}  \ovalnum{30} degrees}
}
\end{scratch}
%...
\end{document}


Weiterführende Informationen:Scratch Projekt

Quelle: https://ctan.org/pkg/scratch3

ScratchX   top

Dieses Paket kann verwendet werden, um jede Art von Scratch-Programm in LaTeX-Dokumente einzubinden. Dies kann besonders für Lehrende nützlich sein.


Weiterführende Pakete: scratch und scratch3

Quelle: https://ctan.org/pkg/ScratchX

scsnowman   top

Das Paket scsnowman ist ein Paket zum Zeichnen von Schneemännern. Dabei bietet das Paket eine große Auswahl zusätzlichen Elementen wie zum Beispiel ein Schal oder einen Besen, auch ist es möglich die Farbe der Elemente zu verändern, sodass eine Vielzahl an verschiedenen Schneemännern erstellt werden können.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{scsnowman}
%...
\begin{document}
%...
\scsnowman[scale=5]
\scsnowman[scale=5,body,hat=red,muffler=blue]
\scsnowman[scale=5,hat,snow,arms,buttons,note]
\scsnowman[scale=8,muffler=red,arms,broom=brown]
\scsnowman[scale=5,mouthshape=frown,hat=green]
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%....
\usepackage{scsnowman}
%...
\begin{document}
%...
\scsnowman[scale=20,body=purple, eyes, mouth=red, nose=orange, sweat=blue, arms={purple!80}, hat=lightgray, muffler=red, buttons=pink,
snow=yellow, note=green, broom=brown]
%...
\end{document}

Quelle: https://ctan.org/pkg/scsnowman

setdeck   top

Mit dem Paket setdeck können die Karten für das Kartenspiel Set erzeugt werden.

Die Karten selbst werden mit dem Befehl \setcard erzeugt. Der Befehl besitzt fünf Parameter.

\setcard{Nummer}{Shading}{Farbe}{Form}{Skalierung}
\documentclass[margin=10mm]{standalone}
%....
\usepackage{setdeck}
%...
\begin{document}
%...
\setcard{2}{2}{3}{1}{1}   \setcard{3}{3}{1}{3}{0.5}
%...
\end{document}

Mithilfe des \smallsetcard Befehls lassen sich auch alle Karten auf einmal erzeugen. Im nachfolgenden Beispiel wird dies gezeigt.

\documentclass{article}
%....
\usepackage{setdeck}
\usepackage[margin=0.5cm,a5paper]{geometry}
%...
\setlength{\parindent}{0em}
\begin{document}
%...
\foreach \shading in {1,2,3}{
\foreach \shape in {1,2,3} {
\smallsetcard{1}{\shading}{1}{\shape}{0.25}\hspace{6pt}
\smallsetcard{2}{\shading}{1}{\shape}{0.25}\hspace{6pt}
\smallsetcard{3}{\shading}{1}{\shape}{0.25}\hspace{10pt}
\smallsetcard{1}{\shading}{2}{\shape}{0.25}\hspace{3pt}
\smallsetcard{2}{\shading}{2}{\shape}{0.25}\hspace{3pt}
\smallsetcard{3}{\shading}{2}{\shape}{0.25}\hspace{10pt}
\smallsetcard{1}{\shading}{3}{\shape}{0.25}\hspace{3pt}
\smallsetcard{2}{\shading}{3}{\shape}{0.25}\hspace{3pt}
\smallsetcard{3}{\shading}{3}{\shape}{0.25}
\\[3mm] 
}
\\
}
%...
\end{document}


Weiterführende Informationen: Set Kartenspiel

Quelle: https://ctan.org/pkg/setdeck

simplenodes   top

Das simplenodes Paket erlaubt es der Benutzerin Knoten (nodes) und Verbindungen (links) aus TikZ durch jeweils einen Befehl die Knoten zu erstellen und diese miteinander zu verbinden. Zu den Zielen des Paketes, die Erstellung der Knoten in TikZ zu professionalisieren, da es oft so ist, dass die Erstellung Knotensystemen zumeist auf eigenen mehr oder minder zusammen gebastelten Lösungen basieren, die immer wieder recycelt werden, was zum Konflikten mit Updates und anderen Neuerungen führen kann. Auch erhöht die Verwendung dieses Paketes die Konsistenz in der Darstellung innerhalb des Dokumentes und zwischen den Dokumenten.

Das Paket stellt vier Knotenbefehle bereit. Die Befehle unterscheiden sich dabei lediglich in der Gestaltung, der Farbe des Rahmens und der Hintergrundfarbe. Die Befehle besitzen jeweils zwei Parameter, wobei es sich bei dem ersten Parameter um den Namen des Knotens handelt, dieser Name wird, im Fall, dass der Knoten mit einem anderen Knoten verbunden werden soll, benötigt. Der zweite Parameter ist für den Inhalt des Knotens gedacht, zum Beispiel der Text, welcher im Knoten angezeigt werden soll.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{simplenodes}
%...
\begin{document}
%...
\simplenode{simple}{Normal}
\examplenode{example}{Beispiel}
\warnnode{warning}{Warnung}
\alertnode{alert}{Alarm}
%...
\end{document}

Mithilfe des Befehls \link{Name 1}{Name 2} werden die Knoten mit den entsprechenden Namen miteinander verbunden. Wobei der erste Name für den Start und der zweite Name für das Ziel des Pfeiles steht, der die Knoten miteinander verbindet.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{simplenodes}
%...
\begin{document}
%...
\simplenode{simple}{Normal}
\examplenode{example}{Beispiel}
\warnnode{warning}{Warnung}
\alertnode{alert}{Alarm}
%...
\link{simple}{example}
\link{example}{warning}
\link{warning}{alert}
\end{document}

Die Positionierung der Knoten erfolgt dabei im Regelfall mithilfe einer Tabelle. Aufgrund der Größe der Knoten ist es unter Umständen notwendig den Abstand zwischen den Tabellenzeilen, wie im nachfolgenden Beispiel geschehen, und den Tabellenspalten zu vergrößern.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{simplenodes}
%...
\begin{document}
%...
\begin{tabular}{ccc}
\simplenode{11}{Normal} &  & \examplenode{13}{Noch ein Beispiel} \\[1cm]
\examplenode{21}{Beispiel} & \alertnode{22}{Alarm} & \warnnode{23}{Neue Warnung}\\[1cm]
\warnnode{31}{Warnung} & \simplenode{32}{Doppel}& \simplenode{33}{Pfeil}\\
\end{tabular}
\link{11}{21}
\link{21}{31}
\link{31}{22}
\link{11}{13}
\link{13}{23}
\link{23}{22}
% Der Pfeil nach recht und nach links (rechts unten)
\link{32}{33}
\link{33}{32}
%...
\end{document}

Die Standardeinstellungen für die Knoten können über die Optionen des Paketes beim Einbinden (\usepackage[name1=value1,name2=value2,...]{simplenodes}) verändert werden.

NameDefaultBeschreibung
aligncenterAusrichtung des Textes innerhalb des Knotens.
width25mmDie Breite eines Knotens.
minheight7mmDie Mindesthöhe eines Knotens.
innersep2ptDer innere Abstand zwischen Text und Knoten.
outersep0ptDer äußere Abstand zwischen den Knoten.
thichness0.4ptDie Liniendicke (Strichstärke) der Knoten und der Pfeile.

Quelle: https://ctan.org/pkg/simplenodes

simpleoptics   top

Das simpleoptics Paket enthält einige Befehle zum Zeichnen von einfachen optischen Linsen und Spiegeln für die Verwendung in optischen Diagrammen. Der Satz der Linsen beziehungsweise der Spiegel muss dabei innerhalb einer tikzpicture Umgebung erfolgen.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{simpleoptics}
%...
\begin{document}
%...
\begin{tikzpicture}
\mirror{1}{0}{2.5}{3}
\convexconcavelens{3}{0}{2.5}{3}{0.7}
\biconvexlens{5}{0}{2.5}{3}{0.5}
\concaveconvexlens{7}{0}{2.5}{3}{0.6}
\biconcavelens{9}{0}{2.5}{3}{1.3}
\leftplanoconvexlens{11}{0}{4}{3}{0.5}
\concaveconvexlens{12}{0}{1}{3}{0.8}
\rightplanoconcavelens{15}{0}{5}{3}{0.8}
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/simpleoptics

smartdiagram   top

Das smartdiagram Paket dient dazu auf einfache Art und Weise Diagramme, anhand einer Liste von Items, zeichnen zu können. Die Diagramme selbst werden mithilfe von TikZ gesetzt. Das smartdiagram Paket erleichtert dabei dem Benutzer die Arbeit deutlich, da es bereits über eine geraume Anzahl von vorgefertigten Diagrammtypen verfügt und diese auch noch verändert werden können.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{smartdiagram}
%...
\begin{document}
%...
\smartdiagram[circular diagram]{
{bchart, Bal\-ken\-dia\-gramm},
{pgf-pie, Kreis\-dia\-gramm},
{fast-diagram, FAST-Diagramme},
{smartdiagram, Flowcharts etc.}}
%...
\end{document}
\documentclass[margin=5mm]{standalone}
%...
\usepackage{smartdiagram}
%...
\begin{document}
%...
\smartdiagram[priority descriptive diagram]{
{bchart, Bal\-ken\-dia\-gramm},
{pgf-pie, Kreis\-dia\-gramm},
{fast-diagram, FAST-Diagramme},
{smartdiagram, Flowcharts},
{wheelchart, Rad\-dia\-gramm},
{tikzviolinplots, Violin plot etc.}
}
%...
\end{document}
\documentclass[margin=5mm]{standalone}
%...
\usepackage{smartdiagram}
%...
\begin{document}
%...
\smartdiagram[constellation diagram]{
{\small Diagramme},
{bchart, Bal\-ken\-dia\-gramm},
{pgf-pie, Kreis\-dia\-gramm},
{fast-diagram, FAST-Diagramme},
{smartdiagram, Flowcharts},
{wheelchart, Rad\-dia\-gramm},
{tikzviolinplots, Violin plot etc.}
}
%...
\end{document}
\documentclass[margin=5mm]{standalone}
%...
\usepackage{smartdiagram}
%...
\begin{document}
%...
\smartdiagram[descriptive diagram]{
{bchart, {Bal\-ken\-dia\-gramm}},
{pgf-pie, {Kreis\-dia\-gramm}},
{fast-diagram, {FAST-Diagramme}},
{flowchart, {Flowcharts}},
{wheelchart, {Rad\-dia\-gramm}},
{tikzviolinplots, {Violin plot etc.}}}
%...
\end{document}
\documentclass[margin=5mm]{standalone}
%...
\usepackage{smartdiagram}
%...
\begin{document}
%...
\smartdiagram[bubble diagram]{
{bchart},
{pgf-pie},
{fast-diagram},
{flowchart},
{wheelchart},
{tikzviolinplots}
}
%...
\end{document}
\documentclass[margin=5mm]{standalone}
%...
\usepackage{smartdiagram}
%...
\begin{document}
%...
\smartdiagram[flow diagram:horizontal]{
{bchart},
{pgf-pie},
{fast-diagram},
{flowchart},
{wheelchart},
{tikzviolinplots}
}
%...
\end{document}


Weiterführende Informationen:Viele Beispiele zum smartdiagram Paket kurz erklärt

Quelle: https://ctan.org/pkg/smartdiagram

snaptodo   top

Das snaptodo Paket erzeugt To-do Einträge auf Basis von Tikz. Dadurch ergeben sich sehr viele Möglichkeiten bei der Gestaltung der Hinweise, wie etwa die Dicke der Striche, der Stil der Striche, die Farbe und anders mehr.

\documentclass{article}
%...
\usepackage{snaptodo}
%...
\begin{document}
%...

Dieser Text dient nur als Beispiel\snaptodo{Genauer!} um zu zeigen,
was snaptodo \snaptodo{Wird hier gezeigt.} kann.\par
Die Verwendung von snaptodo ist so einfach wie der Aufruf von \verb+\snaptodo+ und zweimal kompilieren. 
Wenn die aufrufende Stelle links auf der Seite liegt, erscheint die ToDo-Notiz \snaptodo[margin block/.style={font=\Huge, color=blue} ]{BLAU}- 
natürlich nach zweimaligem Kompilieren - am linken Rand. 
Natürlich - am linken Rand erscheinen. Und vice versa.
 %...
\end{document}


Quelle: https://ctan.org/pkg/snaptodo

spectralsequences   top

Das spectralsequences Paket bietet die Möglichkeit, Spektralsequenz Diagramme zu erstellen. Die Gestaltung des Layouts erfolgt dabei in wesentlichen Teilen automatisch, sodass hierfür keine Kenntnisse über TikZ aufseiten des Nutzers vorhanden seinen müssen. Dennoch ist auch möglich, die meisten automatisierten Layoutfunktionen auszuschalten und alternativ direkt mit TikZ-Befehlen zu zeichnen.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{spectralsequences}
%...
\begin{document}
%...
\begin{sseqdata}[ name = basic, xscale = 0.6,
cohomological Serre grading ]
\class(0,0)
\class(0,2)
\class(3,0)
\class(3,2)
\d3(0,2)
\end{sseqdata}
\printpage[ name = basic, page = 3 ] \quad
\printpage[ name = basic, page = 4 ]
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%....
\usepackage{spectralsequences}
%...
\begin{document}
%...
\begin{sseqpage}[ no axes, ymirror, yscale=0.8]
\class(0,0)
\class(1,0) \class(1,0)
\class(0,1) \class(0,1) \class(0,1)
\class(1,1) \class(1,1) \class(1,1)
\class(0,2) \class(0,2) \class(0,2)
\class(1,2) \class(1,2) \class(1,2)
\end{sseqpage}
%...
\end{document}

Quelle: https://ctan.org/pkg/spectralsequences

stanli   top

Das stanli Paket bietet ein umfangreiches Angebot an Befehlen und Elementen, die für die Darstellung einer Strukturanalyse benötigt werden. Die schrittweise gestaltet Dokumentation erleichtert die Nutzung sehr, auch ist die Dokumentation an den entscheidenden Stellen mit einer Vielzahl an direkt ausführbaren Beispielen ausgestattet, wodurch es keiner besonderen Kenntnis in TikZ bedarf, um die gewünschten Bilder der Strukturanalyse setzen zu können.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{stanli}
%...
\begin{document}
%...
\begin{tikzpicture}
\point{a}{0}{0};
\support{1}{a}[30];
\end{tikzpicture}\quad
\begin{tikzpicture}[coords]
\dpoint{a}{0}{0}{0};
\dscaling{3}{.6};
\daxis{1}{0,0,0}[right][above][right];
\end{tikzpicture}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%....
\usepackage{stanli}
%...
\begin{document}
%...
\begin{tikzpicture}
\point{a}{0}{0};
\point{b}{2}{1};
\point{c}{4}{1};
\beam{1}{a}{b}[0][1];
\beam{1}{b}{c}[1];
\lineload{2}{a}{b}[0];
\lineload{2}{b}{c};
\end{tikzpicture}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%....
\usepackage{stanli}
%...
\begin{document}
%...
%Dachkonstruktion
\begin{tikzpicture}
\scaling{.65};
\point{a}{0}{1};
\point{b}{3}{1};
\point{c}{11}{3};
\point{d}{19}{1};
\point{e}{22}{1};
\point{f}{3}{0};
\point{g}{11}{-2};
\point{h}{19}{0};
\beam{1}{a}{b}[0][1];
\beam{1}{b}{c}[1][1];
\beam{1}{c}{d}[1][1];
\beam{1}{d}{e}[1][0];
\beam{1}{f}{b};
\beam{1}{d}{h};
\beam{2}{f}{g};
\beam{2}{g}{h};
\beam{2}{g}{c};
\support{1}{f};
\support{2}{h};
\hinge{1}{f};
\hinge{1}{h};
\hinge{1}{g};
\hinge{2}{c}[b][d];
\lineload{2}{a}{b}[1][1][.5];
\lineload{2}{b}{c};
\dimensioning{1}{a}{b}{-2.5}[$3,0$];
\dimensioning{1}{b}{c}{-2.5}[$8,0$];
\dimensioning{1}{c}{d}{-2.5}[$8,0$];
\dimensioning{1}{d}{e}{-2.5}[$3,0$];
\dimensioning{2}{f}{a}{-1}[$1,0$];
\dimensioning{2}{g}{f}{-1}[$2,0$];
\dimensioning{2}{a}{c}{-1}[$2,0$];
\influenceline{a}{e}{3}[.3];
\notation{1}{a}{$1$}[left];
\notation{1}{b}{$2$}[below right=2mm];
\notation{1}{c}{$3$};
\notation{1}{d}{$4$}[above];
\notation{1}{e}{$5$}[above];
\notation{1}{f}{$6$}[left=2mm];
\notation{1}{g}{$7$}[below=2mm];
\notation{1}{h}{$8$}[right=2mm];
\notation{4}{f}{g}[$S$];
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/stanli

strands   top

Das strands Paket ermöglicht das Zeichnen von Objekten, die aus Strängen aufgebaut sind, wie Mengenpartitionen, Permutationen, Zöpfe etc.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{strands}
%...
\begin{document}
%...
\strands{p1-n3-e5*v2-t4-f6*s1-n3-p6*n1-e3-s5}
%...
\end{document}

Weiterführende Pakete: braids

Quelle: https://ctan.org/pkg/strands

structmech   top

Bei structmech handelt es sich um Paket zum Zeichnen von Kräften und weiteren Basiselementen der Strukturmechanik.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{structmech}
%...
\begin{document}
%...
\begin{tikzpicture}
\HingeSupport{0,0}
\HingeSupport[75]{2,0}{1.5}
\HingeSupport[150]{2,2}{2}
\HingeSupport[225]{0,2}{2.5}
\draw
 (0,0)node[draw,fill=white,circle,inner sep=0,minimum size=2mm]{}--
 (2,0)node[draw,fill=white,circle,inner sep=0,minimum size=2mm]{}--
 (2,2)node[draw,fill=white,circle,inner sep=0,minimum size=2mm]{}--
 (0,2)node[draw,fill=white,circle,inner sep=0,minimum size=2mm]{}--cycle;
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/structmech

syntaxdi   top

Das syntaxdi Paket bietet TikZ-Stile für die Erstellung spezieller Syntaxdiagramme, die als railroad-Diagramme bekannt sind. Die Railroad Diagramme wurden ursprünglich von Niklaus Wirth für die Dokumentation der Syntax von Pascal eingeführt.

Anhand des nachfolgenden Beispiels erklärt sich auch offensichtlich der Ursprung der Bezeichnung Railroad Diagramm.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{syntaxdi}
%...
\begin{document}
%...
\begin{tikzpicture}[syntaxdiagramm]
\node [] {};
\node [terminal] {if};
\node [nonterminal] {Bedingung};
\node [terminal] {:};
\node [nonterminal] {Anweisungsblock};
\node (ersteReiheEnde) [point] {};
\node (ersteReiheEndeUnten) [point, below=of ersteReiheEnde] {};
\node (zweiteReiheStartOben) [point, left=of ersteReiheEndeUnten, xshift=-75mm] {};
\node (zweiteReiheStart) [point, below=of zweiteReiheStartOben] {};
    {
[start chain=elif going right]
\chainin (zweiteReiheStart);
\node [terminal] {elif};
\node [nonterminal] {Bedingung};
\node [terminal] {:};
\node [nonterminal] {Anweisungsblock};
\node (elifEnde) [point] {};
\node (elifEndeOben) [point, above=of elifEnde] {};
\draw[->,left] (elifEndeOben) -- (ersteReiheEndeUnten);
    }
\node (dritteReiheStart) [point, below=of zweiteReiheStart,
yshift=-5mm] {};
\node (vierteReiheStart) [point, below=of dritteReiheStart, yshift=-5mm] {};
\node (vierteReiheEnde) [point, xshift=84mm] {};
    {
[start chain=else going right]
\chainin (dritteReiheStart);
\node [terminal] {else};
\node [terminal] {:};
\node (elseEnde) [nonterminal] {Anweisungsblock};
\draw[->] (elseEnde) -| (vierteReiheEnde);
    }
\node (ende) [endpoint] {};
\end{tikzpicture}
%...
\end{document}


Weiterführende Informationen: Syntax diagram

Quelle: https://ctan.org/pkg/syntaxdi

ticollege   top

Das ticollege Paket enthält Befehle zum Zeichnen der Tasten eines wissenschaftlichen Taschenrechners mithilfe von TikZ. Es bietet auch Befehle, um den Inhalt von Bildschirmen und Menüpunkten zu zeichnen. Das ticollege Paket stützt sich dabei stark auf das frühere Paket tipfr für grafische Taschenrechners des gleichen Paketautors. Um eine gemeinsame Verwendung der beiden Pakete zu gewährleisten, hat sich der Autor dafür entschieden, dass die Befehle, die die gleichen Aufgaben erfüllen, unterschiedliche Bezeichnungen in den Paketen besitzen.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{ticollege}
%...
\begin{document}
%...
\TiCCalc[title=Structure, colour calc=brown!20]
\begin{tikzpicture}[overlay, remember picture]
\draw[blue, line width=1pt,rounded corners = 5pt]
($(T0) + (-0.6,-0.3)$) -|
($(T9) + (0.5,0.4)$) -| cycle;
\node[blue] at ($(virgule)+(0,-0.65)$) {\textbf Touches numériques};
\end{tikzpicture}
%...
\end{document}


Quelle: https://ctan.org/pkg/ticollege

tikz-3dplot   top

Das tikz-3dplot Paket bietet die Möglichkeit, einen dreidimensionalen Koordinatenrahmen zu definieren, in dem das Bild geplottet werden kann. Um das TikZ Bild zu erstellen, können die Standard-Befehle und -Koordinaten von TikZ verwendet werden. Mithilfe eines zweiten Koordinatenrahmens können Rotationen und Translationen durchgeführt werden.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikz}
\usepackage{tikz-3dplot}
%...
\begin{document}
%...
\tdplotsetmaincoords{40}{0}
\begin{tikzpicture}[scale=2,line join=bevel,tdplot_main_coords,%
fill opacity=1]
\tdplotsphericalsurfaceplot[parametricfill]{72}{36}%
{sqrt(15/2)/2*sin(\tdplottheta)^2}{black}%
{2*\tdplotphi - 6 * \tdplottheta}{}{}{}%
\tdplotshowargcolorguide{3}{-.2}{.1}{1}
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/tikz-3dplot

tikz-among-us   top

Das tikz-among-us stellt AmongUs-Charaktere in TikZ-Umgebungen zur Verfügung. Daneben gibt es aber inzwischen zwei weitere Pakete, die die AmongUs-Charaktere verwenden. Zum einen handelt es sich um das tikz-among-us-fancyhdr Paket, welches es nun Anwendern ermöglicht, die Figuren auch innerhalb der Seiten Dekoration, wie etwa in der Form der Seitenzahl beziehungsweise als Hintergrund der Seitenzahl zu verwenden und zum anderen gibt es das tikz-among-us-watermark-eso-pic Paket, welches es ermöglicht, die Charaktere als Wasserzeichen auf einer Seite einzufügen.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikz-among-us}
%...
\begin{document}
%...
\begin{tikzpicture}
\amongUsI[scale=0.5]{cyan}{gray}
\amongUsI[scale=0.3, shift={(10,3)}, rotate around={180:(1.75,2.3)}]{green!50!black}{cyan}
\amongUsI[scale=0.1, shift={(50.5,0)}, rotate around={45:(1.75,2.3)}]{orange!50!black}{orange}
\end{tikzpicture}
%...
\end{document}


Weiterführende Informationen:Among Us

Quelle: https://ctan.org/pkg/tikz-among-us

TikZ-Bagua   top

Das Paket tikz-baguabietet TikZ-Stile zum Zeichnen von Symbolen, die im Buch der Wandlungen (I Ging) verwendet werden, wie Taiji (Yin-Yang), Liangyi, Sixiang, Bagua und Liu Yao Bagua.

Die vorhanden Befehle sind \taiji, \liangyi, \sixiang, \bagua und \Bagua, die zum Zeichnen von Taiji, Liangyi, Sixiang, Bagua und Liu Yao Bagua Symbolen verwendet werden können. Inzwischen gibt es auch eine Dokumentation auf Englisch.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikz-bagua}
%...
\begin{document}
%...
\begin{tikzpicture}
\node at (0,0) {\taiji};
\node at (1,0) {\sixiang*{0}};
\node at (2,0) {\sixiang*{1}};
\node at (3,0) {\sixiang*{2}};
\node at (4,0) {\sixiang*{3}};
\end{tikzpicture}
%...
\end{document}


Weiterführende Informationen: Acht Trigramme

Quelle: https://ctan.org/pkg/TikZ-Bagua

tikz-bayesnet   top

Bei tikz-bayesnet handelt es sich um TikZ-Bibliothek zum Zeichnen von Bayes'schen Netzwerken, grafischen Modellen und (gerichteten) Faktor Graphen in LaTeX.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikz}
\usetikzlibrary{bayesnet}
%...
\begin{document}
%...Factor with nodes
\begin{tikzpicture}
\node[obs] (y) {$y$} ; 
\node[latent, left=of y, yshift=0.5cm] (mu) {$\mu$} ; 
\node[latent, left=of y, yshift=-0.5cm] (tau) {$\tau$} ; 
\factor[left=of y] {y-factor} {$\mathcal{N}$} {} {};
\factoredge {mu,tau} {y-factor} {y} ;       
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/tikz-bayesnet

tikz-bbox   top

Die tikz-bbox Bibliothek enthält eine verbesserte Variante zur Bestimmung des Begrenzungsrahmens (bounding box) im Fall von Bezier Kurven.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikz}
\usetikzlibrary{bbox}
%...
\begin{document}
\begin{tikzpicture}[%
bullet/.style={circle,fill,
inner sep=1pt}]
\draw (0,0) .. controls (-1,1)
and (1,2) .. (2,0);
\draw (current bounding box.south west)
rectangle
(current bounding box.north east);
\draw[red,dashed]
(0,0) -- (-1,1)
node[bullet,label=above:{$(x_a,y_a)$}]{}
(2,0) -- (1,2)
node[bullet,label=above:{$(x_b,y_b)$}]{};
\path (0,0)
node[bullet,label=below:{$(x_0,y_0)$}]{}
(2,0)
node[bullet,label=below:{$(x_1,y_1)$}]{};
\end{tikzpicture}
vs.
\begin{tikzpicture}[bezier bounding box,%
bullet/.style={circle,fill,
inner sep=1pt}]
\draw (0,0) .. controls (-1,1)
and (1,2) .. (2,0);
\draw (current bounding box.south west)
rectangle
(current bounding box.north east);
\draw[red,dashed] (0,0) -- (-1,1)
node[bullet,label=above:{$(x_a,y_a)$}]{}
(2,0) -- (1,2)
node[bullet,label=above:{$(x_b,y_b)$}]{};
\path (0,0)
node[bullet,label=below:{$(x_0,y_0)$}]{}
(2,0)
node[bullet,label=below:{$(x_1,y_1)$}]{};
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/tikz-bbox

TikZbricks   top

Das tikzbricks Paket dient zur Darstellung von sogenannten Klemmbausteinen mithilfe von TikZ. Dabei kann sowohl die Form, die Farbe als auch der Blickwinkel der Klemmbausteine durch die Benutzerin verändert werden.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikzbricks}
%...
\begin{document}
%...
\begin{tikzpicture}
\brick{4}{2}  \brick[color=blue,xshift=4cm]{3}{2}
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/TikZbricks

tikz-cd   top

Das tikz-cd Paket ist eines von vielen Paketen, die es dem Nutzer ermöglichen sollen kommutative Diagramme zeichnen zu können. Im Vergleich mit den anderen Paketen ist es relativ neu und verwendet TikZ, was den Funktionsumfang deutlich erweitert.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{tikz-cd}
%...
\begin{document}
%...
\begin{tikzcd}
A \arrow[r, "\phi"] \arrow[d, red]
& B \arrow[d, "\psi" red] \\
C \arrow[r, red, "\eta" blue]
& D
\end{tikzcd}
\begin{tikzcd}
& A^{'}\arrow[rr] &  & B^{'}  \\
A\arrow[rr] \arrow[ur]&  & B\arrow[ur] &  \\
 & C^{'}\arrow[uu] \arrow[rr]& & D^{'} \arrow[uu]\\
C\arrow[rr] \arrow[ur] \arrow[uu]& & D\arrow[uu] \arrow[ur] &  
\end{tikzcd}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%...
\usepackage{tikz-cd}
%...
\begin{document}
%...
\begin{tikzcd}
      A \ar[r] \ar[d]  &  B \ar[d] \ar[ddr, bend left]  & \\
      C \ar[r] \ar[drr, bend right]  &  D \ar[dr]  &  \\
      &  &  E
\end{tikzcd}
%...
\end{document}


Weiterführende Informationen: Das tikz-cd Paket kurz erklärt

Quelle: https://ctan.org/pkg/tikz-cd

tikzcodeblocks   top

Das tikzcodeblocks Paket bietet die Möglichkeit für den Satz von blockweisen grafischen Programmiersprachen wie scratch, nepo oder pxt. Im Gegensatz zu dem scratch3 Paket ist hierbei der Aufbau deutlich komplexer und es sind deutlich mehr Kenntnisse in TikZ für die Verwendung des Paketes notwendig. Dafür ist es aber auch wesentlich flexibler in der Anwendung.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikzcodeblocks}
%...
\begin{document}
%...
\begin{tikzpicture}[codeblocks]
\ifthenblocks{When  \dropdown{space} key pressed}{\node (a) {wait \intbox{1} seconds}; 
\node [under={a}{1}{0}] {turn \intbox{30} degrees};};
\end{tikzpicture}
%...
\end{document}

Weiterführende Pakete:scratch und scratch3

Quelle: https://ctan.org/pkg/tikzcodeblocks

tikz-dependency   top

Das tikz-dependency Paket bietet eine komfortablen Umgebung für das Zeichnen von Abhängigkeitsgraphen wie sie im Bereich der Liguistik und der NLP (natural language processing) verwendet werden.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikz-dependency}
%...
\begin{document}
%...
\begin{dependency}
\begin{deptext}
My \& cat \& also \& likes \& eating \& tuna \\
\end{deptext}
\depedge{2}{1}{poss}
\depedge{4}{2}{nsubj}
\depedge{4}{3}{advmod}
\depedge{4}{5}{xcomp}
\depedge{5}{6}{dobj}
\end{dependency}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikz-dependency}
%...
\begin{document}
%...
\begin{dependency}
\begin{deptext}[column sep=.5cm]
PRP\$ \& NN \& RB \&[.5cm] VBZ \& VBG \& NN \\
My \& cat \& also \& likes \& eating \& tuna \\
\end{deptext}
\deproot{4}{root}
\depedge{2}{1}{poss}
\depedge{4}{2}{nsubj}
\depedge{4}{3}{advmod}
\depedge{4}{5}{xcomp}
\depedge{5}{6}{dobj}
\end{dependency}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikz-dependency}
%...
\begin{document}
%...
\begin{dependency}
\begin{deptext}[column sep=.5cm, row sep=.1ex]
PRP\$ \& NN \& RB \&[.5cm] VBZ \& VBG \& NN \\
My \& cat \& also \& likes \& eating \& tuna \\
\end{deptext}
\deproot{4}{root}
\depedge{2}{1}{poss}
\depedge{4}{2}{nsubj}
\depedge{4}{3}{advmod}
\depedge{4}{5}{xcomp}
\depedge{5}{6}{dobj}
\wordgroup{2}{4}{4}{pred}
\wordgroup{2}{1}{2}{a0}
\wordgroup{2}{5}{6}{a1}
\groupedge[edge below]{pred}{a0}{ARG0}{4ex} % pred -> a0 (ARG0, 4ex)
\groupedge[edge below]{pred}{a1}{ARG1}{6ex} % pred -> a1 (ARG1, 6ex)
\end{dependency}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikz-dependency}
%...
\begin{document}
%...
\begin{dependency}[theme=grassy]
\begin{deptext}[column sep=.5cm, row sep=.1ex]
PRP\$ \& NN \& RB \&[.5cm] VBZ \& VBG \& NN \\
My \& cat \& also \& likes \& eating \& tuna \\
\end{deptext}
\deproot{4}{root}
\depedge{2}{1}{poss}
\depedge{4}{2}{nsubj}
\depedge{4}{3}{advmod}
\depedge{4}{5}{xcomp}
\depedge{5}{6}{dobj}
\end{dependency}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikz-dependency}
%...
\begin{document}
%...
\begin{dependency}
\begin{deptext}[column sep=.5cm, row sep=.1ex]
PRP\$ \& NN \& RB \&[.5cm] VBZ \& VBG \& NN \\
My \& cat \& also \& likes \& eating \& tuna \\
\end{deptext}
\deproot{4}{root}
\depedge{2}{1}{poss}
\depedge{4}{2}{nsubj}
\depedge{4}{3}{advmod}
\depedge{4}{5}{xcomp}
\depedge{5}{6}{dobj}
\node (silly) [above right of = \rootref, xshift = 3cm] {This is the root node!};
\draw [->, very thick, red] (silly) -- (\rootref);
\draw [thick, blue] (\rootref)--(\wordref{1}{2})--(\wordref{2}{6})--(\rootref);
\end{dependency}
%...
\end{document}

Quelle: https://ctan.org/pkg/tikz-dependency

tikz-dimline   top

Das Paket tikz-dimline hilft beim Zeichnen von Technischen Abmessungen.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikz-dimline}
\usepackage{wasysym} %for \diameter 
%...
\begin{document}
%...
\begin{tikzpicture}
\draw[line width=1pt] (0,0) -- (0,4) -- (.5,4) -- (.5,5) -- (1.,5)
-- (1.,4) -- (1.5,4) -- (1.5,0) -- cycle;
\draw node (A) at (2.5,0) {};
\dimline[line style = {line width=0.7},
extension start length=-0.24,
extension end length=-0.24] {(A)}{($ (A) + (0,4) $)}{$4.0$};
\dimline[line style = {red, line width=0.7},
extension start length=0,
extension end length=0] {(0,2)}{(1.5, 2)}{ $\diameter 1.5$};
\dimline[label style={above=0.5ex,},
extension start path = {(0,6) (0,5.7) (0.5,5.4) (0.5,5.05)},
extension end path = {(1.5,6) (1.5,5.7) (1,5.4) (1,5.05)},]
{(0,6)}{(1.5,6)}{$\diameter 0.5$};
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/tikz-dimline

TikZducks   top

Ein Paket zum Zeichnen von Enten.

Das Paket tikzducks ist das Paket zum Zeichnen von Enten schlechthin. Es gibt auch eine Variante in der Form einer Bibliothek. Mithilfe dieses Paketes lässt sich eine Vielzahl an unterschiedlichen Entenvarianten erstellen.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikzducks}
%...
\begin{document}
%...
\begin{tikzpicture}
\duck
\end{tikzpicture}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikzducks}
%...
\begin{document}
%...
%Professor und seine zukünftigen Doktoranden.
\begin{tikzpicture}[scale=2]
\duck[jacket=gray,lapel=black,buttons,tophat=blue!20!black]
\duck[graduate=gray!20!black, tassel=red!70!black, xshift=90pt, scale=.3, yshift=150pt]
\duck[graduate=gray!20!black, tassel=red!70!black, body=red, head=red!80, xshift=60pt, scale=.3, yshift=180pt]
\duck[graduate=gray!20!black, tassel=red!70!black, body=blue!80, xshift=60pt, scale=.3, yshift=100pt]
\duck[graduate=gray!20!black, tassel=red!70!black, body=gray!50!white,head=gray!50!white,
xshift=80pt, scale=.3, yshift=50pt]
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/TikZducks

TikZ-FeynHand   top

Mit dem tikz-feynhand Paket können Feynman Diagramme in LaTeX gesetzt werden, ohne dass ein zusätzliches externes Programm verwendet wird und zugleich eine klare Struktur besitzen. Es handelt sich um eine Vereinfachung des tikz-feynman Paketes, die ohne LuaTeX auskommt.

\documentclass[margin=10mm]{standalone}
%....
\usepackage[compat=1.1.0]{tikz-feynhand}
%...
\begin{document}
%...
\begin{tikzpicture}
\begin{feynhand}
\vertex (a) at (-1,-1); \vertex (b) at (1,-1); \vertex (c) at (0,1);
\vertex [dot, orange] (o) at (0,0) {}; \propag [photon, orange] (a) to (o);
\propag [photon, orange] (b) to (o); \propag [photon, orange] (c) to (o);
\end{feynhand}
\end{tikzpicture}
%...
\end{document}

Weiterführende Pakete: tikz-feynman

Quelle: https://ctan.org/pkg/TikZ-FeynHand

tikz-feynman   top

Mit dem tikz-feynhand Paket können Feynman Diagramme in Latex gesetzt werden ohne das ein zusätzliches externes Programm verwendet wird. Im Fall, dass die Diagramme automatisch gezeichnet werden soll ist unter Umstände LuaTeX notwendig.


Weiterführende Pakete: TikZ-FeynHand

Quelle: https://ctan.org/pkg/tikz-feynman

tikz-imagelabels   top

Das tikz-imagelabels Paket ist ein Paket, mit dessen Hilfe man Bilder beschriften kann beziehungsweise Annotationen zu einem Bild hinzufügen kann. Dies lässt sich zwar auch schon durch die picture Umgebung von LaTeX realisieren, ist aber in diesem Paket ähnlich wie in dem overpic Paket deutlich einfacher realisiert worden. So bietet es wie das overpic Paket auch ein Gitter an, dass es ermöglicht die gewünschte Positionierung relativ einfach zu bestimmen, erlaubt aber darüber hinaus auch die Verwendung von relativen Koordinaten wie zum Beispiel code>south east um ein Objekt in unteren rechten Ecke eines Bildes zu positionieren.

Es gibt noch zwei weitere Pakete die ähnliche Funktionen zur Verfügung stellen, zum einen das callout Paket welches ebenfalls auf tikz basiert und zum anderen das overpic Paket. Im Vergleich zu diesen zwei Paketen hat das imagelabels Paket den Vorteil, dass sich die Größe des Bildes ändern lässt und sich die Beschriftung automatisch anpasst.

Durch die Gestaltung des Gitters, wie sie hier im tikz-imagelabels Paket vorgenommen wurde, bleiben die Markierungen an der gewünschten Stelle, auch wenn später die Größe des Bildes verändert wird.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{tikz-imagelabels}
%...
\begin{document}
%...
\begin{annotationimage}{width=6cm}{picture}
\draw[coordinate label = {{\Huge Poolkatze} at (0.5,0.85)}];
\draw[annotation left = {Ohr at 0.5}] to (0.4,0.72);
\end{annotationimage}
%...
\end{document}


Weiterführende Informationen: Das tikz-imagelabels Paket kurz erklärt

Weiterführende Pakete: callout

Quelle: https://ctan.org/pkg/tikz-imagelabels

tikz-kalender   top

Bei der Klasse tikz-kalender handelt es sich um eine Klasse zur Erstellung eines Kalenders. In diesem Kalender können bereits bei der Erstellung wichtige Termine wie etwa Geburtstage, Schulferien, Urlaub und so weiter eingetragen werden. Es wird dabei ein zweiseitiges Dokument erstellt.

\begin{filecontents}{Schulferien-2023.events}
\period{2022-12-21}{2023-01-07}[color=LightGreen]% Weihnachtsferien in Baden-Württemberg
\period{2023-04-11}{2023-04-15}[color=LightGreen]% Osterferien in Baden-Württemberg
\period{2023-05-30}{2023-06-09}[color=LightGreen]% Pfingstferien in Baden-Württemberg
\period{2023-07-27}{2023-09-09}[color=LightGreen]% Sommerferien in Baden-Württemberg
\period{2023-10-30}{2023-11-03}[color=LightGreen]% Herbstferien in Baden-Württemberg
\period{2023-12-23}{2024-01-05}[color=LightGreen]% Weihnachtsferien in Baden-Württemberg
\endinput
\end{filecontents}

\begin{filecontents}{Urlaub.events}
\period{2023-09-25}{2023-10-8}[color=red!30,name=Urlaub]
\endinput
\end{filecontents}


\documentclass{tikz-kalender}
\setup{%
,year=2023
,title={Termine}
,events={Schulferien-2023,Urlaub}
}

\begin{document}
  \makeKalender
\end{document}

Quelle: https://ctan.org/pkg/tikz-kalender

tikz-ladder   top

Bei tikz-ladder handelt es sich um eine weitere Bibliothek zum Zeichnen von Kontaktplänen (Ladder Diagram). Es setzt dabei in der Anwendung tiefergehende TikZ Kenntnisse voraus, wie das bei der Anwendung vom alternativen Paket ladder der Fall ist. Dadurch ist es aber flexibler als die Alternative.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikz}
\usetikzlibrary{circuits.plc.ladder}
%...
\begin{document}
%...
\begin{tikzpicture} [circuit plc ladder,thick,
label distance=-3pt,y=6\tikzcircuitssizeunit]

\draw(0,0)
to [contact NO={info={[label={[blue]E1}]}}] ++(2,0)
coordinate(laddercoil)
to [coil={info={[label={[blue]A1}]}}] ++(1,0)
coordinate(laddertopright);

\draw(0,-1)
to [contact NC={info={[label={[blue]E2}]}}] ++(1,0)
to [contact NO={info={[label={[blue]A1}]}}] ++(1,0)
-- (laddercoil);
\ladderrungend{2}
\ladderpowerrails
\end{tikzpicture}
%...
\end{document}

Weiterführende Pakete: ladder

Quelle: https://ctan.org/pkg/tikz-ladder

tikz-layers   top

TikZ-layers ist ein kleines Paket, das neben dem Hintergrund typische grafische Ebenen auf TikZ bereitstellt: dahinter, darüber und Glas.

Das tikz-layers Paket bietet zusätzliche Ebenen an. Damit erweitert das tikz-layers Paket die bisher von PGF/TikZ bereitgestellten Ebenen. Es lädt selbst noch die backgrounds Bibliothek und führt drei neue Ebenen ein: behind, above und glass.

Das Paket ermöglicht die einfache Verwendung dieser Ebenen durch die Bereitstellung entsprechender Stile innerhalb einer scope Umgebung. Die logische Reihenfolge der Ebenen ist wie folgt: background (niedrigste Ebene), behind, main, above und glass (höchste Ebene). Die Ebene main ist die Standardebene, wenn keine Ebenenspezifikation verwendet wird. Das Paket bietet Stile für jede dieser Ebenen, sodass das Material innerhalb der scope Umgebung in der angegebenen Ebene gezeichnet werden kann.

Um Fehler zu vermeiden, sollte zusätzlich die folgende TikZ Bibliothek eingebunden werden: \usetikzlibrary{positioning}

\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikz-layers}
\usetikzlibrary{positioning}
%...
\begin{document}
%...
\begin{tikzpicture}[
node distance=-1mm,
every node/.style={circle, text width=2cm, align=center, node font=\scriptsize}]%
\node[rectangle, fill=red, minimum height=1cm, opacity=.9, text width=6cm, align=left, outer sep=5mm]
(main) at (0,0) {main layer};
\begin{scope}[on glass layer]
\node[fill=blue!20, above=of main.center] (glass) {glass\\layer};
\end{scope}
\begin{scope}[on background layer={fill=yellow!90!black}]
\fill (main.south west) rectangle (main.north east)
node [rectangle, anchor=north east, minimum size=0pt] {background};
\end{scope}
\begin{scope}[on above layer]
\node[fill=green!80, below right=of main.center] (above) {above\\layer};
\end{scope}
\begin{scope}[on behind layer]
\node[fill=magenta!90, below left=of main.center] (behind) {behind\\layer};
\end{scope}
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/tikz-layers

tikz-mirror-lens   top

Das tikz-mirror-lens Paket erlaubt das automatische Zeichnen des Bildes von Objekten in sphärischen Spiegeln und Linsen aus den Daten des aus den Daten des Fokus, der Position und der Höhe des Objekts, der Berechnung der Position und der Höhe des Bildes und die Darstellung der markanten Strahlen.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{tikz-mirror-lens}
%...
\begin{document}
%...
\begin{tikzpicture}[
      extended line/.style={shorten >=-#1,shorten <=-#1},
      extended line/.default=1cm]
      \mirrorBase{2}{2}{-2}{4.5}
      \mirrorPts{0}{2}{4}
      \mirrorLensObjIma{1}{-2}{1}{2}
      \draw[red] (0,0) node[above left] {(0,0)};
      \draw[-latex] (0,-1) -- ++(1,0) node[midway, above]{$p > 0$};
      \draw[thin] (1,-1.2) -- ++(0,1);
      \draw[-latex] (0,-1) -- ++(-2,0) node[midway, above]{$p^{\prime} < 0$};
      \draw[thin] (-2,-1.2) -- ++(0,1);
      \begin{scope}[purple]
        \draw (4.5,0) node[above] {$x+$};
        \draw (0,2) node[right] {$y+$};
        \draw (-2.5,0) node[above] {$x-$};
        \draw (0,-2) node[right] {$y-$};
      \end{scope}
    \end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/tikz-mirror-lens

tikzfill   top

Das tikzfill Paket ermöglicht es innerhalb von Tikz Flächen mit einem Bild auszufüllen beziehungsweise das Bild, als Hintergrund der gezeichneten Fläche erscheinen zu lassen.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{tikzfill}
%...
\begin{document}
%...
\begin{tikzpicture}
\path[fill stretch image=picture.png]
(2.75,-0.75) -- (3,0) -- (2.75,0.75)
\foreach \w in {45,90,...,315}
{ -- (\w:1.5cm) } -- cycle;
\end{tikzpicture}
%...
\end{document}

Es ist dabei aber auch möglich, die Größe des Bildes mithilfe von overzoom zu verändern.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{tikzfill}
%...
\begin{document}
%...
\begin{tikzpicture}
\path[fill overzoom image=picture.png]
(2.75,-0.75) -- (3,0) -- (2.75,0.75)
\foreach \w in {45,90,...,315}
{ -- (\w:1.5cm) } -- cycle;
\end{tikzpicture}
%...
\end{document}

Darüber hinaus besteht auch die Möglichkeit, das eingebundene Bild um einen Punkt zu drehen.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{tikzfill}
%...
\begin{document}
%...
\begin{tikzpicture}
\path[fill overzoom image*={origin=c, angle=30}{picture}]
(2.75,-0.75) -- (3,0) -- (2.75,0.75)
\foreach \w in {45,90,...,315}
{ -- (\w:1.5cm) } -- cycle;
\end{tikzpicture}
%...
\end{document}

Neben dem Auffüllen von Formen und anderen geometrischen Objekten mit Bildern ist es auch möglich diese mit einem Muster aus Rhomben und Sechsecken aufzufüllen.

\documentclass[margin=5mm]{standalone}
%...
\usepackage{tikzfill}
%...
\begin{document}
%...
\begin{tikzpicture}
\draw[
pattern = { rhombus
[
size = 8mm, angle = 15
]},
pattern color=red
]
(0,0) rectangle (4,4);
\end{tikzpicture}
%...
\end{document}
\documentclass[margin=5mm]{standalone}
%...
\usepackage{tikzfill}
%...
\begin{document}
%...
\begin{tikzpicture}
\draw[
pattern hexagon =
{
size = 5mm, angle = 15, line width = 1mm
},
pattern color=red
]
(0,0) rectangle (4,4);
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/tikzfill

TikZlings   top

Das Paket TikZlings ist eine Sammlung von niedlichen kleinen Tieren und ähnlichen Kreaturen. Diese lassen sich auch in Hinblick auf ihr Äußeres leicht verändern.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikzlings}
%...
\begin{document}
%...
\begin{tabular}{|c|c|c|c|c|}
\hline
\tikz{\anteater} & \tikz{\bat} & \tikz{\bear} & \tikz{\bee} & \tikz{\bug} \\
\hline
\tikz{\cat} & \tikz{\chicken} & \tikz{\coati} & \tikz{\elephant} & \tikz{\hippo}\\
\hline
\tikz{\koala} & \tikz{\marmot} & \tikz{\mouse} & \tikz{\moles} & \tikz{\owl}\\
\hline
\tikz{\panda} & \tikz{\penguin} & \tikz{\pig} & \tikz{\rhino} & \tikz{\sheep} \\
\hline
\tikz{\sloth} & \tikz{\snowman} & \tikz{\squirrel} & &  \\
\hline
\end{tabular}
%...
\end{document}

Weiterführende Pakete: bearwear

Quelle: https://ctan.org/pkg/TikZlings

tikzmark   top

Die tikzmark Bibliothek definiert einen Befehl, um sich eine Position auf einer Seite für die spätere (oder frühere) Verwendung zu merken, hauptsächlich (aber nicht ausschließlich) mit TikZ.

\documentclass[margin=10mm]{article}
%....
\usepackage{tikz}
\usetikzlibrary{tikzmark}
%...
\begin{document}
%...
\tikzset{tikzmark prefix=ex1-}
\[\tikzmark{a} e^{i \pi/2} = i \] 
Das \tikz[remember picture,overlay,baseline=0pt] \draw[->] (0,1em)
to[bend left] ([shift={(-1ex,1ex)}]pic cs:a); ist ein Beispiel für tikzmark!
%...
\end{document}

Quelle: https://ctan.org/pkg/tikzmark

TikZmarmots   top

TikZmarmots ist ein LaTeX-Paket für Murmeltiere, die in TikZ-Bildern verwendet werden können. Diese kleinen Figuren sind so konstruiert, dass sie sogar einige Kleidungsstücke und andere Attribute von den TikZducks ausleihen können.

Inzwischen sind die Figuren Teil des tikzlings Pakets.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikzlings-marmots}
%...
\begin{document}
%...
\begin{tikzpicture}[scale=2]
\marmot
\marmot[xshift=90pt, scale=.5, yshift=150pt,body=brown!80!gray]
\marmot[xshift=60pt, scale=.5, yshift=100pt,body=brown!80!yellow]
\marmot[xshift=80pt, scale=.5, yshift=50pt,body=brown!80!red]
\end{tikzpicture}
%...
\end{document}

Weiterführende Pakete: TikZducks

Quelle: https://ctan.org/pkg/TikZmarmots

tikz-nef   top

Die nef TikZ-Bibliothek bietet vordefinierte Stile und Formen zur Erstellung von Diagrammen für neuronale Netze, die mit den Methoden des Neural Engineering Framework (NEF) konstruiert wurden.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikz}
\usetikzlibrary{graphs}
\usetikzlibrary{nef}
\usetikzlibrary{quotes}
%...
\begin{document}
% ....
\begin{tikzpicture}[nef]
\graph {
input [ext] -> gate [ens] -> integrator/$x$ [ens] -> output [ext];
integrator -> [bend right, "$-1$"] gate;
integrator -> [recurrent] integrator;
store -> [inhibit] gate;
};
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/tikz-nef

tikz-network   top

Dieses Paket ermöglicht die Erstellung von Bildern komplexer Netzwerke, die nahtlos in die zugrunde liegende LaTeX-Datei integriert werden können.

\begin{filecontents}{ml_vertices.csv}
id, x, y ,size, color,opacity,label,layer
A, 0, 0, .4 , green, .9 , a , 1
B, 1, .7, .6 , , .5 , b , 1
C, 2, 1, .8 ,orange, .3 , c , 1
D, 2, 0, .5 , red, .7 , d , 2
E,.2,1.5, .5 , gray, , e , 1
F,.1, .5, .7 , blue, .3 , f , 2
G, 2, 1, .4 , cyan, .7 , g , 2
H, 1, 1, .4 ,yellow, .7 , h , 2
\end{filecontents}
\begin{filecontents}{ml_edges.csv}
u,v,label,lw,color ,opacity,bend,Direct
A,B, ab ,.5,red , 1 , 30,false
B,C, bc ,.7,blue , 1 , -60,false
A,E, ae , 1,green , 1 , 45,true
C,E, ce , 2,orange, 1 , 0,false
A,A, aa ,.3,black , .5 , 75,false
C,G, cg , 1,blue , .5 , 0,false
E,H, eh , 1,gray , .5 , 0,false
F,A, fa ,.7,red , .7 , 0,true
D,F, df ,.7,cyan , 1 , 30,true
F,H, fh ,.7,purple, 1 , 60,false
D,G, dg ,.7,blue , .7 , 60,false
\end{filecontents}

\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikz-network}
%...
\begin{document}
% ....
 \SetCoordinates[xAngle=-30,yLength=1.2,xLength=.8]
\begin{tikzpicture}[multilayer=3d]
\Vertices[layer=1]{ml_vertices.csv}
\Edges[layer={1,1}]{ml_edges.csv}
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/tikz-network

tikz-opm   top

OPM-Diagramme (Object-Process Methodology) mit LaTeX setzen.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikz-opm}
%...
\begin{document}
% ....
\begin{tikzpicture}
\node [opmobject] (object) {Object};
\node [opmaggregation, below=of object] (object-aggr) {};
\path (object) edge (object-aggr);
\node [opmobject, below=of object-aggr] (system) {System};
\path (object-aggr) edge (system);
\node [opmprocess, below left=of system] (commercializing)
{Commercializing};
\path (system) edge [opmagent] (commercializing);
\node [opmaggregation, below=of system] (system-aggr) {};
\node [opmobject, below=of system-aggr] (product) {Product};
\path (system) edge (system-aggr) edge (product);
\path (commercializing) edge[opmoutput] (product.north west);
\node [opmgeneralization, below right=25pt of system, xshift=10pt] (system-gen) {};
\node [opmobject, below=15pt of system-gen] (function) {Function};
\draw [thick] (system.east) -| (system-gen.north);
\path (system-gen.south) edge (function);
\node [opmprocess, below=of function, yshift=-20pt] (benefitting) {Benefitting};
\path (function) edge[opmagent] (benefitting);
\node [opmobject, right=of function] (beneficiary) {Beneficiary};
\path (benefitting) edge[opmeffect] (beneficiary);
\end{tikzpicture}
%...
\end{document}


Weiterführende Informationen: Object Process Methodology

Quelle: https://ctan.org/pkg/tikz-opm

tikz-optics   top

Mit der optics Bibliothek lassen sich optische Geräte und Versuche darstellen. Je nach Verwendung muss auch die Bibliothek calc und weitere Pakete eingebunden werden.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikz}
\usetikzlibrary{optics}
\usetikzlibrary{calc}
\usepackage[version=4]{mhchem}
%...
\begin{document}
% ....
\begin{tikzpicture}[use optics]
\node[laser] (L) at (0,0) {\ce{HeNe}};
\node[semi-transparent mirror,rotate=45] (ST) at ($(L)+(3cm,0)$) {};
\node[above] at (ST.north) {halbtransparenter Spiegel};
\node[mirror,rotate=-135] (M1) at ($(ST)+(0,-3cm)$) {};
\node[mirror,rotate=-45] (M2) at ($(M1)+(5cm,0)$) {};
\node[sensor line,rotate=45,anchor=pixel 3 west,
label={[label distance=0.5cm]above right:Sensoren}]
(Sensor) at ($(ST)+(5cm,0)$) {};
\draw[red] (L.aperture east) -- (ST.center) -- (M1.center) --
(M2.center) -- (Sensor.pixel 3 west);
\draw[red] (L.aperture east) -- (ST.center) -- (Sensor.pixel 3 west);
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/tikz-optics

tikzpackets   top

Mit dem tikzPackets Paket können Netzwerkpakete grafisch dargestellt werden.

\documentclass[margin=10mm]{standalone}
%....
\usepackage{tikzPackets}
%...
\begin{document}
% ....
\begin{tikzpicture}
\packetsInit
\packetsBitWidth=4.5mm
\packetsPrintBitScale{31}
\packetsPutField{16}{Source Port}
\packetsPutField{16}{Destination Port}
\packetsEndLine{0}{}
\packetsPutField{16}{Length}
\packetsPutField{16}{Checksum}
\packetsEndLine{32}{}
\packetsPutField[protocolsField, minimum height=1.5cm]{32}{Data}
\packetsEndLine{64}{}
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/tikzpackets

tikz-page   top

Das tikz-page ermöglicht es ähnlich wie fancyhdr Paket Seitendekoration zur Verschönerung beziehungsweise zur Gestaltung von Seitendekoration einzufügen. Im Vergleich zu fancyhdr stellt es wesentlich mehr Landmarken zur Verfügung. Die Verwendung des Pakets dürfte aber eine gewisse Grundkenntnis im Umgang mit TikZ erfordern.

\documentclass{article}
%...
\usepackage{tikz-page}
\newcommand{\tikzpagelayout}{\node [outer sep=0,inner sep=0,
anchor=base] at (page.footer east) {\thepage};}
\pagestyle{plain}
\begin{document}
Test Seite 1
\end{document}
%...

Quelle: https://ctan.org/pkg/tikz-page

tikzpagenodes   top

Das Paket bietet spezielle PGF/TikZ-Knoten für den Text-, Rand-, Fuß- und Kopfbereich der aktuellen Seite.

\documentclass{article}
%...
\usepackage{tikzpagenodes}

\begin{document}
%...
\tikz[remember picture,overlay] {%
\draw [blue,line width=2mm] (current page.south west) rectangle (current page.north east);
\draw [green] (current page text area.south west) rectangle (current page text area.north east);
\draw [yellow] (current page marginpar area.south west) rectangle (current page marginpar area.north east);
\draw [red] (current page header area.south west) rectangle (current page header area.north east);
\draw [orange] (current page footer area.south west) rectangle (current page footer area.north east);}%
%...
\end{document}

Quelle: https://ctan.org/pkg/tikzpagenodes

tikz-palattice   top

Ein Paket zur schematischen Darstellung des Aufbaus eines Partikelbeschleunigers.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{tikz-palattice}
%...
\begin{document}
%...
\begin{lattice}
\source{Gun}{0.4}
\drift{0.267}
\quadrupole{Q1}{0.4}
\drift{0.29}
\dipole{M1}{0.8}{30}
\drift{0.29}
\kicker{VC1}{0.1}
\drift{0.2}
\end{lattice}
%...
\end{document}

Quelle: https://ctan.org/pkg/tikz-palattice

tikzpeople   top

Mithilfe des tikzpeople Paketes ist nun möglich den Knoten (node<) in TikZ eine menschliche Form zu geben. Dabei haben Sie als Anwender die Auswahl zwischen mehrere vorgefertigten Figuren, die mehrheitlich bestimmten Berufen angelehnt sind. Diese lassen sich aber noch in den Details verändern

\documentclass[margin=10mm]{standalone}
%...
\usepackage{tikzpeople}
%...
\begin{document}
%...
\begin{tikzpicture}
\node[conductor,minimum size=1cm,xshift=-1.2cm]{};
\node[conductor,female,minimum size=1cm]{};
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/tikzpeople

tikz-relay   top

Dieses Paket enthält eine Sammlung von Symbolen für den Satz von elektrischen Schaltplänen für Relaissteuerungen.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{tikz}
\usepackage{units}
\usetikzlibrary{circuits.ee.IEC.relay}
%...
\begin{document}
%...
\begin{tikzpicture}[circuit ee IEC relay,thick, x=5\tikzcircuitssizeunit,y=4\tikzcircuitssizeunit]
\draw (0,0)
node[contact,name=N0L]{}
to [relay coil={info=$K_1$}] ++(0,1)
to [break contact={thermal switch={info=$F_R$}}] ++(0,1)
to [break contact={push button={info=$b_0$}}] ++(0,1)
node[contact,name=N1]{}
to [make contact={push button={info=$b_1$}}] ++(0,1)
node[contact,name=N24L]{};
\draw (N1) -- ++(1,0)
to [make contact={info=$K_1$}] ++(0,1)
node[contact,name=N24R]{};
% power rails
\draw (N24L) ++(-0.8,0) node[left]{$\unit[+24]{V}$} -- (N24R) -- ++(0.3,0)
(N0L) ++(-0.8,0) node[left]{$\unit[0]{V}$} -- (N0L -| N24R) -- ++(0.3,0);
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/tikz-relay

tikz-sfc   top

Dieses Paket enthält eine Sammlung von Symbolen für den Satz von Sequenzfunktionsdiagrammen (SFC).

\documentclass[margin=10mm]{standalone}
%...
\usepackage{tikz}
\usetikzlibrary{circuits.plc.sfc}
%...
\begin{document}
%...
\begin{tikzpicture}[circuit plc sfc,thick,x=2.6\tikzcircuitssizeunit,
y=1.3\tikzcircuitssizeunit,sfcaqw=8\tikzcircuitssizeunit]
\draw (0,0)
to [flow direction={pos=0.95}] ++(0,-1)
to [sfcstepi={info=O}] ++(0,-4)
node [sfctransition={info=b1 AND NOT b0}] {}
to [sfcstep={info=I,
sfcaction={info=K1,qualifier=N},
sfcaction={info=K2,qualifier=L,time=T\#3s},
sfcaction={info=K3,qualifier=D,time=T\#3s400ms}}] ++(0,-4)
node [sfctransition={info=b0}]{}
|- ++(-1,-1) |- (0,0);
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/tikz-sfc

tikz-swigs   top

Dieses Paket bietet horizontal und vertikal geteilte elliptische (Paare von) Knoten in TikZ.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{amsmath,amssymb,xcolor}
\usepackage{pgf,tikz}
\usetikzlibrary{arrows,shapes.arrows,shapes.geometric,
shapes.multipart,decorations.pathmorphing,positioning,
swigs}
%...
\begin{document}
%...
\begin{tikzpicture}
\node[name=a1,shape=swig hsplit]{
\nodepart{upper}{$A_1$}
\nodepart{lower}{$a_1$} };
\node[name=a2,shape=swig hsplit,right=of a1]{
\nodepart{upper}{$A_2(a_1)$}
\nodepart{lower}{$a_2$} };
\draw[->](a1) to[out=350,in=170] (a2);
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/tikz-swigs

tikzsymbols   top

Das Paket enthält sehr viel verschiedene Emoticons, Kochsymbole und Bäume.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{tikzsymbols}
%...
\begin{document}
%...
\tikz{\BasicTree[10]{orange!95!black}{orange!80!black}{orange!70!black}{leaf}} \qquad \qquad \tikz{\Sieb[2]} 
%...
\end{document}

Quelle: https://ctan.org/pkg/tikzsymbols

tikz-truchet   top

Dies ist ein Paket für LaTeX, das Truchet-Kacheln zeichnet.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{tikz-truchet}
%...
\begin{document}
%...
\tikzset {x=2cm,y=2cm, line cap = round, line join = round, every picture }

\begin{tikzpicture}
\truchetsquare{b}{w}{b}{w}{b}
\truchetsquare[(1.2,0)]{w}{b}{w}{b}{w}
\truchetsquare[(0,-1.2)]{b}{b}{w}{b}{w}
\truchetsquare[(1.2,-1.2)]{w}{w}{b}{w}{b}
\end{tikzpicture}
%...
\end{document}


Weiterführende Informationen:Too good to be Truchet

Quelle: https://ctan.org/pkg/tikz-truchet

tipfr   top

Das tipfr Paket ermöglicht das Darstellen eines grafischen Taschenrechners, kurz GTR. Dazu enthält das Paket die Befehle zum Zeichnen von Rechnertasten mithilfe von TikZ. Darüber hinaus bietet es auch Befehle an, um den Inhalt von Bildschirmen und Menüpunkten zu zeichnen zu können.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{tipfr}
%...
\begin{document}
%...
\begin{tikzpicture}
\Ecran[graphic=true, height=2.75, width=6.5, nbgradx=15, origin={(0.5,0.5)}]%
{sqrt(\x)/0:15}
\end{tikzpicture}
%...
\end{document}

Weiterführende Pakete: ticollege

Quelle: https://ctan.org/pkg/tipfr

tkz-base   top

Das tkz-base Paket ist ein Paket, das auf TikZ basiert, um Grafiken so einfach wie möglich zu erstellen. Es ist die Basis, auf der eine Reihe von Paketen aufgebaut wird, die als gemeinsamen Punkt die Erstellung von Zeichnungen haben, die für den Mathematikunterricht nützlich sind. Die Hauptfunktion von tkz-base ist es, ein kartesisches Koordinatensystem bereitzustellen und dem Benutzer die Wahl der grafischen Einheiten zu überlassen. Dieses Paket benötigt Version 3 oder höher von TikZ. Sie müssen tkz-base vor tkz-euclide beziehungsweise vor tkz-fct laden, für den Fall, dass eines der zwei genannten Paket zusätzlich verwenden möchten.

\documentclass[margin=10mm]{standalone}
%...
%\usepackage{tikz}
\usepackage{tkz-base}
%...
\begin{document}
%...
\begin{tikzpicture}

\draw[thick] (-0.5,0) -- (7,0);
\draw[thick] (0,-0.5) -- (0,7);



\draw [decorate,decoration={brace,amplitude=10pt},xshift=2pt,yshift=0pt]
(-0.1,0.1) -- (-0.1,5.9) node [black,midway,xshift=-1cm] 
{$ b$};
\node at (1,-0.5) {1};
\node at (2,-0.5) {2};
\node at (3,-0.5) {3};
\node at (4,-0.5) {4};
\node at (5,-0.5) {5};
\node at (6,-0.5) {6};
\node at (-0.25,7) {Y};
\node at (7,-0.25) {X};

\node at (-0.25,-0.25) {O};



\draw[color=blue, dashed] (1,0) -- (1,4.5);
\draw[color=blue, dashed] (2,0) -- (2,3.375);
\draw[color=blue, dashed] (3,0) -- (3,2.53);
\draw[color=blue, dashed] (4,0) -- (4,1.9);
\draw[color=blue, dashed] (5,0) -- (5,1.42);
\draw[color=blue, dashed] (6,0) -- (6,1.07);

\tkzDefSetOfPoints[prefix=P]{
0/6,
1/4.5,
2/3.375,
3/2.53,
4/1.9,
5/1.42,
6/1.07,
7/0.80
}


\draw (0,6) -- (1,6) -- (1,4.5);
\draw (1,4.5) -- (2,4.5) -- (2,3.375);
\draw (2,3.375) -- (3,3.375) -- (3,2.53);
\draw (3,2.53) -- (4,2.53) -- (4,1.9);
\draw (4,1.9) -- (5,1.9) -- (5,1.42);
\draw (5,1.42) -- (6,1.42) -- (6,1.07);


\tkzText(3.5,-1.5){\textsf{ \Large Abb.~42.}}
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/tkz-base

tkz-euclide   top

Das tkz-euclide Paket soll Mathematiklehrern und LaTeX-Benutzern helfen, auf einfache Weise Figuren der euklidischen Geometrie zu erstellen. Der Autor wollte ein Werkzeug bereitstellen, das es den Benutzern ermöglicht, den Prozess der Konstruktion von Figuren von Hand zu wiederholen, wobei eine Syntax verwendet wird, die der Sprache der Mathematiker ähnelt und der LaTeX-Syntax nahekommt. Das Paket definiert Objekte wie Punkte, Segmente, Linien, Dreiecke, Polygone und Kreise und bietet Aktionen zum Definieren, Erstellen, Zeichnen, Markieren und Beschriften dieser Objekte. Der Autor betont, dass tkz-euclide in Verbindung mit TikZ verwendet werden kann und dass es Benutzer nicht daran hindert, bei Bedarf TikZ-Code zu verwenden. Die beiden Werkzeuge dienen jedoch unterschiedlichen Zwecken, wobei TikZ ein breiteres Spektrum an Fähigkeiten bietet, die über das Zeichnen von Geometrie hinausgehen. Das Paket tkz-euclide konzentriert sich speziell auf die euklidische Geometrie und zielt darauf ab, den Prozess der Konstruktion geometrischer Figuren zu vereinfachen, indem es Schritt-für-Schritt-Anweisungen abarbeitet, ähnlich wie bei der Verwendung eines Zirkels und Lineals. Bei bestimmten Aktionen, wie zum Beispiel das Einfärben von Flächen, ist es durchaus notwendig auf TikZ zurückzugreifen. Insgesamt zielt tkz-euclide darauf ab, ein leicht zugängliches und benutzerfreundliches Werkzeug für die Erstellung euklidischer geometrischer Figuren innerhalb der LaTeX-Umgebung bereitzustellen.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{tkz-euclide}
%...
\begin{document}
%...
\begin{tikzpicture}[scale=0.5]
\tkzDefPoint(0,0){O}
\tkzDefPoint(2,0){A}
\foreach \ang in {5,10,...,360}{%
\tkzDefPoint(\ang:2){M}
\tkzDrawCircle(M,A)
}
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/tkz-euclide

tkz-fct   top

Das tkz-fct Paket dient zur einfachen Erstellung von Funktionsgraphen mit TikZ in LaTeX verwendet wird. Das Paket tkz-fct wurde entwickelt, um Mathematiklehrern und Schülern einen einfachen Zugang zur Programmierung von Funktionsgraphen mit TikZ und gnuplot zu ermöglichen. In der Dokumentation wird daher auch auf die Verwendung von gnuplot eingegangen, womit sich Ergebnisse wie mit pgfmath erzeugen lassen. Das Paket enthält das Makro \tkzFct, das den Befehl \draw plot function ersetzt und zusätzliche Aufgaben wie das Speichern des Funktionsausdrucks sowohl in gnuplot- als auch in fp-Syntax zur späteren Verwendung übernimmt. Das Makro \tkzFct berücksichtigt auch die für die x-Achse und die y-Achse verwendeten Einheiten und ermöglicht so eine präzise Punktpositionierung und Berechnung. Anhand sehr vieler Beispiele wird die Verwendung des Pakets demonstriert, einschließlich der Anpassung von Achsenlängen, Bereichsgrenzen und der Verwendung verschiedener Stile. Der Text erklärt auch die Schritte, die mit der Verwendung von gnuplot mit TikZ verbunden sind, einschließlich der Erstellung einer gnuplot-Datei, der Erzeugung einer Koordinatentabelle und dem Plotten der Kurve.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{tkz-fct}
%...
\begin{document}
%...
\begin{tikzpicture}[scale=0.4]
\tkzInit[xmax=30,ymax=90,ystep=6]
\tkzDrawX[right,label=$t$]
\tkzDrawY[above,label=$P$]
\tkzFct[line width=1pt,color=red,dashed,domain=0:30]{80.0}
\tkzFct[line width=1pt,color=blue,domain=0:30]{80/(1.0+8*exp(-0.25*x))}
\tkzText[above,color=red](20,80){$P=80$}
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/tkz-fct

tkz-graph   top

Das Paket tkz-graph bietet Werkzeuge zur Erstellung von Graphen mit TikZ in LaTeX. Es vereinfacht die Konstruktion von Graphen, indem es Makros und Stile bereitstellt, die speziell für die Erstellung von Graphen entwickelt wurden. Das Paket zielt darauf ab, eine benutzerfreundlichere Herangehensweise an das Zeichnen von Graphen zu bieten, insbesondere für Benutzer, die sich nicht in die Komplexität der TikZ-Syntax vertiefen wollen. Es ermöglicht die einfache Anpassung von Knoten- und Kantenstilen sowie die bequeme Positionierung von Graphelementen. Das Paket unterstützt verschiedene Arten von Graphen, einschließlich klassischer Graphen der Graphentheorie. Es kann als sanfte Einführung in die Verwendung von TikZ dienen und bietet einen sanften Übergang zu fortgeschritteneren Optionen. Das Paket erleichtert die Verwaltung von Vertex- und Kantenstilen und bietet bequeme Positionierungsoptionen. Die Dokumentation enthält sehr viele Beispiele, die die Verwendung des Pakets demonstrieren, darunter einfache und klassische Diagrammbeispiele. Es wird auch gezeigt, wie man Stile modifizieren kann, um ästhetische Variationen in Visualisierungen von Graphen zu erreichen.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{tkz-graph}
%...
\begin{document}
%...
% Königsberger Brücken Problem
\begin{tikzpicture}
\SetGraphUnit{3}
\GraphInit[vstyle=Shade]
\tikzset{LabelStyle/.style= {draw,
fill = yellow,
text = red}}
\Vertex{A}
\EA(A){B}
\EA(B){C}
\SetGraphUnit{6}

\NO(B){D}
\Edge[label=1](B)(D)
\tikzset{EdgeStyle/.append style = {bend left}}
\Edge[label=4](A)(B)
\Edge[label=5](B)(A)
\Edge[label=6](B)(C)
\Edge[label=7](C)(B)
\Edge[label=2](A)(D)
\Edge[label=3](D)(C)
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/tkz-graph

tkz-orm   top

Das Paket tkz-orm ist ein Werkzeug zur Erstellung von Objekt-Rollen-Modell (ORM)-Diagrammen mit LaTeX. Es basiert auf den Paketen pgf und TikZ und bietet Stile und Befehle, die speziell für ORM2-Diagramme entwickelt wurden. Das Paket bietet Funktionalitäten zum Zeichnen von Objekttypen, Prädikaten, Rollen, Constraints, Subtypen und weiteren Features. Es zielt darauf ab, die Erstellung von ORM-Diagrammen zu erleichtern, indem es einen programmatischen Ansatz ähnlich der Erstellung von LaTeX-Dokumenten bietet. Das Paket kann mit Whiteboards, Papier und Stiften für die manuelle Diagrammerstellung kombiniert oder zur automatischen Generierung von ORM-Diagrammen verwendet werden. Das Paket befindet sich noch in der Entwicklung, und Feedback ist für weitere Verbesserungen erwünscht. ORM ist eine faktenorientierte Modellierungssprache, mit der Informationsobjekte, Beziehungen und Regeln identifiziert und abstrahiert werden können. Sie umfasst eine grafische Notation und unterstützt eine präzise Formulierung in natürlicher Sprache.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{tkz-orm}
\usetikzlibrary{positioning}
%...
\begin{document}
%...
\begin{tikzpicture}[orm]

\entity (person) {Person\\(.name)};
\entity (author) [left=6mm of person] {Autor};

\unary (dead) [right=of person,yshift=7mm,label=\ldots ist tot] {};

\binary (wrote) [left=15mm of author,
  label=\ldots geschrieben von \ldots,
  label=below:\ormleft{\ldots schreibt \ldots}] {};

\node[role name,anchor=north east] at (wrote.west) {[work]};
\node[role name,anchor=north west] at (wrote.east) {[creator]};
\plays (person) to (dead.west);

\entity (novel) [left=10mm of wrote] {Roman\\(.title)};
\plays[mandatory] (author) to (wrote);
\plays (wrote) to (novel);

\ternary (died) [right=of person,yshift=-7mm,unique=-1,
                 label=below:{\ldots starb\ldots in\ldots}] {};
\plays (person) to (died.west)
   (died.east) to +(4mm,0) node[entity,anchor=west] (place) {Ort\\(.name)};

\value (year) [above=of place.north west,anchor=south west] {Year};
\plays (died.north) to (year.west);

\draw[subtype] (person) to (author);

\draw[limits to] (died.one north) to (dead.south);
\node[constraint=subset] at ($(died.one north)!0.4!(dead.south)$) {};

\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/tkz-orm

toneval   top

Dieses Paket bietet eine TikZ-basierte Lösung für die Visualisierung von Tonwerten. Derzeit ist das Modell von unt implementiert.

\documentclass[margin=10mm]{standalone}
% das Paket laden und den vordefinierten Farbsatz verwenden
\usepackage[defaultcolors]{tonevalue}
%...
\begin{document}
%...
% showlabels auf true setzen
% Bereich der Tonwerte auf 1 bis 4 setzen
% Skala des Diagramms auf 0.8 setzen
\begin{untVisualisation}[showlabels=true, minmax={1,4}, scale=0.8]
% T1
\untpoint[bgcolor=1, label=left]{312}{T1}
\untpoint[bgcolor=1]{33}{T1}
% Änderung des Tonwerts
\linkuntpoints[color=1, bend=bend right]{{312}{T1}}{{33}{T1}}
\end{untVisualisation}
%...
\end{document}

Quelle: https://ctan.org/pkg/toneval

tzplot   top

Das tzplot Paket ist ein von In-Sung Cho entwickeltes LaTeX-Paket, das bequeme, auf TikZ basierende Makros zum Zeichnen von Diagrammen bereitstellt. Das Paket bietet stark vereinfachte Abkürzungen für TikZ-Code, die komplex sein können, um das Zeichnen von Diagrammen zu erleichtern, insbesondere wenn sie wiederholt erstellt werden. Die im tzplot Paket enthaltenen Makros sind speziell für das Zeichnen von Diagrammen im Bereich der Wirtschaftswissenschaften konzipiert, können aber natürlich auch in anderen Bereichen verwendet werden. Sie umfassen verschiedene Elemente wie Linien, Punkte, Kurven, Achsen, Funktionen, Projektionen, Häkchen, Schnittpunkte und Tangenten. Das Paket zielt darauf ab, den Prozess der Diagrammerstellung zu vereinfachen und die Effizienz zu steigern.

\documentclass[margin=10mm]{standalone}
\usepackage{tzplot}
%...
\begin{document}
%...
\begin{tikzpicture}[x=0.05cm,y=0.05cm,scale=.7]
\tzhelplines[step=.5cm](110,110)
\tzaxes(110,110){$Q$}{$P$}
\tzto[bend right=15]"Nachfrage"(0,100)(100,0){$D$}[a]
\tzto[bend right=15]"Angebot"(0,10)(100,90){$S$}[ar]
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/tzplot

utfsym   top

Das utfsym-Paket ist ein LaTeX-Paket, das von Daniel Spittank und Johannes Pieper entwickelt wurde. Es stellt verschiedene Unicode-Symbole zur Verfügung, die im schulischen Kontext verwendet werden können, z.B. in Arbeitsblättern oder Hausarbeiten. Das Paket zielt darauf ab, die Verwendung dieser Symbole zu vereinfachen, die sich nur schwer direkt in LaTeX integrieren lassen. Das Paket setzt das tikz-Paket voraus. Es enthält Symbole aus verschiedenen Unicode-Blöcken, wie zum Beispiel verschiedene Symbole und Pfeile, Dingbats, Mahjong-Steine, Domino-Steine, Spielkarten, verschiedene Symbole und Piktogramme, Emoticons/Emoji und Transport- und Kartensymbole. Die Symbole können direkt in LaTeX-Dokumente eingefügt oder als Bilder mit eigener Skalierung eingebunden werden. Auch ist eine farbliche Anpassung möglich. Die Paketdokumentation bietet detaillierte Informationen über die verfügbaren Symbole und Befehle.

\documentclass[margin=10mm]{standalone}
\usepackage{utfsym}
%...
\begin{document}
%...
\color{red}\usymW{1F393}{3cm}
%...
\end{document}

Quelle: https://ctan.org/pkg/utfsym

venndiagram   top

Das von Nicola L. C. Talbot entwickelte Venndiagramm-Paket ermöglicht es, einfache Zwei- und Drei-Satz-Venn-Diagramme für Vorlesungen oder Aufgabenstellungen zu erstellen. Das Paket ist für einfache Venn-Diagramme gedacht, diese können benutzerfreundlich erstellt werden. Wenn komplexere Diagramme oder andere Layouts benötigt werden, empfiehlt es sich, direkt das tikz-Paket zu verwenden. Das Paket bietet zwei Umgebungen: venndiagram3sets für Diagramme mit drei Sätzen und venndiagram2sets für Diagramme mit zwei Sätzen. Diese Umgebungen akzeptieren optionale, durch Komma getrennte Key-Value (Schlüssel-Wert) Einstellungen zur Anpassung. Das Paket zeichnet die Umrisse der Mengen und den rechteckigen Umriss der Universalmenge und bietet Befehle zum Schattieren bestimmter Regionen innerhalb des Venn-Diagramms. Die Umrisse und Beschriftungen der Mengen werden am Ende der Umgebung gezeichnet.

\documentclass[margin=10mm]{standalone}
\usepackage{venndiagram}
%...
\begin{document}
%...
\begin{venndiagram2sets}
\fillACapB
\end{venndiagram2sets}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
\usepackage{venndiagram}
%...
\begin{document}
%...
\begin{venndiagram3sets}
\fillA \fillB \fillC
\end{venndiagram3sets}
%...
\end{document}

Quelle: https://ctan.org/pkg/venndiagram

wheelchart   top

Mithilfe des wheelchart Paketes können verschiedene Wheel Chart Varianten gesetzt werden. Im Deutschen wird dieses Diagramm auch als Rad Diagramm bezeichnet.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{wheelchart}
%...
\begin{document}
%...
\begin{tikzpicture}
\wheelchart{
14/red/Rot/{A, B, C, E, K},
40/lime/Lime/{B, C},
20/blue/Blau/{A, C},
16/green/Grün/{A, B, E, K},
28/orange/Orange/{A, B, C, E, K},
32/purple/Purple/{A, B, C, E, K},
50/yellow/Gelb/{B, C, E, K}
}
\end{tikzpicture}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%...
\usepackage{wheelchart}
%...
\begin{document}
%...
\begin{tikzpicture}
\wheelchart[slices arc={1}{0}]{
14/red/Rot/{A, B, C, E, K},
40/lime/Lime/{B, C},
20/blue/Blau/{A, C},
16/green/Grün/{A, B, E, K},
28/orange/Orange/{A, B, C, E, K},
32/purple/Purple/{A, B, C, E, K},
50/yellow/Gelb/{B, C, E, K}
}
\end{tikzpicture}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%...
\usepackage{wheelchart}
%...
\begin{document}
%...
\begin{tikzpicture}
\wheelchart[
    data={},
    gap=0.015,
    middle={%
    {\Huge 25\% }\\%
Anteil der TikZ Nutzer\\%
},
slices style={
    /utils/exec={
        \ifnum\WCcount>25
        \def\WCcolor{gray}
        \else
        \def\WCcolor{blue}
        \fi
    },
\WCcolor
},
total count=100,
value=1
]{}
\end{tikzpicture}
%...
\end{document}


Quelle: https://www.ctan.org/pkg/wheelchart

witharrows   top

Das Paket witharrows in LaTeX bietet die Umgebungen WithArrows und DispWithArrows, mit denen man Pfeile auf der rechten Seite von ausgerichteten Gleichungen zeichnen kann. Diese Pfeile werden üblicherweise verwendet, um Erklärungen für die dargestellten mathematischen Berechnungen zu liefern.

Die Pfeile werden mit Tikz gezeichnet, und es können mehrere Kompilierungen erforderlich sein. Die WithArrows-Umgebung ähnelt der aligned-Umgebung von amsmath (und mathtools), während die DispWithArrows-Umgebung der align-Umgebung ähnelt. Pfeile werden mit dem Befehl \Pfeil gezeichnet, der in der zweiten Spalte der Ausrichtung platziert wird.
\documentclass[margin=25mm]{standalone}
\usepackage{witharrows}
%...
\begin{document}
%...
$\begin{WithArrows}
A & = (a+1)^{2} \Arrow[tikz=dick]{erweitern} \\
& = a^{2} + 2a + 1
\end{WithArrows}$
%...
\end{document}

Das Paket bietet Optionen zur Anpassung der Pfeile, wie z.B. jump (um die Anzahl der Zeilen anzugeben, die der Pfeil springen soll), xoffset (um den Pfeil nach rechts zu verschieben), tikz (um Tikz-Optionen für den Pfeil anzugeben), und mehr. Pfeile können auch aus der gleichen Zeile oder aus verschiedenen Zeilen kombiniert werden. Die Form und das Aussehen der Pfeile können mit Tikz-Optionen wie Pfeilspitzen, Krümmung, Dicke und Textbreite verändert werden. Es bietet auch zusätzliche Optionen wie displaystyle (um Gleichungen im Anzeigestil zu setzen), format (um das Format der Spalten festzulegen) und Optionen zur Steuerung der Schriftart und des Zeilenumbruchs.

Die WithArrows-Umgebung bietet Funktionen wie linke und rechte Knoten zur präzisen Positionierung von Pfeilen, Gruppierung von Pfeilen und Unterstützung für individuelle Pfeile mit Optionen wie lr, rl, ll, rr, i und o. Das Paket enthält auch Optionen für Auf- und Abwärtspfeile, die eine Anpassung von Pfeilbreite und -radius ermöglichen.

Insgesamt bietet das witharrows-Paket eine flexible und bequeme Möglichkeit, Gleichungen auszurichten und Pfeile für Erklärungen in LaTeX-Dokumenten zu zeichnen.


Quelle: https://ctan.org/pkg/witharrows

worldflags   top

Das Paket worldflags ermöglicht das Zeichnen von Flaggen unabhängiger Nationen und verschiedener Organisationen unter Verwendung von TikZ. Flaggen können als eigenständige Bilder oder als Elemente innerhalb eines TikZ-Bildes gezeichnet werden. Optionale Parameter können verwendet werden, um das Aussehen der Flaggen anzupassen.

Flaggen können als einzelne TikZ-Bilder mit dem Befehl \worldflag gezeichnet werden, der den Flaggencode (zum Beispiel DE) und optionale Parameter benötigt. Der Befehl \flagsdefault setzt Standardwerte für die Optionen. Das Dokument enthält Beispiele für die Verwendung der Befehle, um Flaggen in verschiedenen Größen und Erscheinungsbildern zu zeichnen.

\documentclass[margin=10mm]{standalone}
\usepackage{worldflags}
%...
\begin{document}
%...
\worldflag{DE} \worldflag{US}
%...
\end{document}

Der Abschnitt Interna richtet sich an diejenigen, die das Paket erweitern und neue Flaggen erstellen wollen. Er erklärt den Aufbau einer Flaggenbeschreibungsdatei, die die Geometrie und Eigenschaften einer Flagge enthält. Variablen und Befehle, die in den Flaggenbeschreibungsdateien verwendet werden, werden beschrieben.

Das Dokument enthält auch Beispiele für die Befehle und geometrischen Elemente, die für die Erstellung von Flaggen zur Verfügung stehen, wie horizontale und vertikale Streifen, Balken, Chevrons, Sterne und den Union Jack.


Quelle: https://ctan.org/pkg/worldflags

WriteOnGrid   top

Das WriteOnGrid Paket erlaubt es Gitter zu erstellen auf dem geschrieben werden kann. Wobei es sich bei diesem Gitter um die klassischen Kästchen beziehungsweise Linien von Schulheften handelt. Es bietet also die Möglichkeit ein Schulheft beziehungsweise den Inhalt eines solchen nachzustellen.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{WriteOnGrid}
%...
\begin{document}
%...
\begin{EnvGrid}[NumSquares=36x6]
\WriteLine[Scale=1.5]{Eine bekannte Gleichung ist}
\PassLine % Überspringe eine Linie
\WriteLine[Scale=2, OffsetH=3]{$a^{2} + b^{2} = c^{2}$}
\PassLine
\WriteLine[Scale=1.5]{Sie beschreibt das Verhältnis zwischen den Katheten und der Hypotenuse.}
\end{EnvGrid}
%...
\end{document}
\documentclass[margin=10mm]{standalone}
%...
\usepackage[T1]{fontenc}
%...
\usepackage{WriteOnGrid}
%...
\begin{document}
\usefont{T1}{wela}{m}{sl} % Wegen der Schreibschrift
%...
\begin{EnvGrid}[NumSquares=24x6,Grid=Ruled]
\WriteLine[Scale=2]{Dieser Text ist ein Beispiel für einen Text, der der Schreibschrift doch ziemlich nahekommt. Es handelt sich dabei um die lateinische Ausgangsschrift. Inzwischen lernen die Schüler die vereinfachte Ausgangsschrift.}
\end{EnvGrid}
%...
\end{document}

Quelle: https://ctan.org/pkg/writeongrid

xistercian   top

Das Paket ermöglicht es zisterziensische Ziffern in LaTeX zu verwenden. Die Glyphen werden mit PGF erstellt und sind bis zu einem gewissen Grad konfigurierbar.

Das Paket xistercian ist ein LaTeX-Paket, das zisterziensische Ziffern für den Schriftsatz bereitstellt. Zisterziensische Ziffern sind ein System zur Darstellung von Zahlen von 1 bis 9999 mit einer einzigen Glyphe. Das Paket ermöglicht die horizontale und vertikale Darstellung dieser Ziffern und bietet Optionen, um ihr Aussehen anzupassen.

Die Paketdokumentation enthält eine Einführung in die zisterziensischen Ziffern, in der ihre Struktur und Verwendung erklärt wird. Sie beschreibt auch die Makros und Optionen, die das Paket bietet. Die Makros ermöglichen den Druck von Zisterzienserzahlen auf der Grundlage von LaTeX-Zählern oder vom Benutzer bereitgestellten ganzen Zahlen. Die Optionen steuern verschiedene Aspekte des Erscheinungsbildes der Ziffern, wie Breite, Höhe, Strichstärke und alternative Formen für bestimmte Ziffern.

Das Paket nutzt das pgf-Paket zum Zeichnen der Glyphen und speichert sie aus Leistungsgründen in TEX-Box-Registern. Es unterstützt das erneute Zeichnen der Glyphen, wenn sich die Schriftgröße ändert oder bestimmte Schriftmerkmale modifiziert werden. Das Paket behandelt auch negative Zahlen und Zahlen größer als 9999, indem es mehrere zisterziensische Ziffern anzeigt.

Die Dokumentation enthält Beispiele für die Verwendung der Makros und Optionen des Pakets sowie Erklärungen zu ihren Auswirkungen. Sie bietet auch einige historische Hintergründe zu zisterziensischen Ziffern.

\documentclass[margin=10mm]{standalone}
%...
\usepackage{xistercian}
%...
\begin{document}
%...
\begin{tabular}{*{10}{c}}
\cisterciannum{1} & \cisterciannum{2} & \cisterciannum{3} & \cisterciannum{4} & \cisterciannum{5} & \cisterciannum{6} & \cisterciannum{7} & \cisterciannum{8} & \cisterciannum{9} \\[6pt]
 1  &  2  &  3  &  4  &  5  &  6  &  7  &  8  &  9  \\[12pt]
\cisterciannum{10} & \cisterciannum{20} & \cisterciannum{30} & \cisterciannum{40} & \cisterciannum{50} & \cisterciannum{60} & \cisterciannum{70} & \cisterciannum{80} & \cisterciannum{90} \\[6pt]
 10  &  20  &  30  &  40  &  50  &  60  &  70  &  80  &  90  \\[12pt]
\cisterciannum{100} & \cisterciannum{200} & \cisterciannum{300} & \cisterciannum{400} & \cisterciannum{500} & \cisterciannum{600} & \cisterciannum{700} & \cisterciannum{800} & \cisterciannum{900} \\[6pt]
 100  &  200  &  300  &  400  &  500  &  600  &  700  &  800  &  900  \\[12pt]
\cisterciannum{1000} & \cisterciannum{2000} & \cisterciannum{3000} & \cisterciannum{4000} & \cisterciannum{5000} & \cisterciannum{6000} & \cisterciannum{7000} & \cisterciannum{8000} & \cisterciannum{9000} \\[6pt]
 1000  &  2000  &  3000  &  4000  &  5000  &  6000  &  7000  &  8000  &  9000  \\
\end{tabular}
%...
\end{document}

Insgesamt bietet das Paket xistercian eine einfache Möglichkeit, zisterziensische Ziffern in LaTeX zu setzen, mit Optionen, um ihr Aussehen anzupassen und sie in Dokumente zu integrieren.


Quelle: https://ctan.org/pkg/xistercian

yquant   top

Das yquant Paket dient zum Setzen von Quantenschaltungen in LaTeX. Die aktuelle Version (0.7.4) wird als stabil angesehen, und es ist nicht zu erwarten, dass zukünftige Änderungen inkompatibel sein werden. Der Zweck von yquant ist es, den Satz von Quantenschaltungen zu erleichtern. Es jedoch auch gezeigt, dass auch andere Methoden verwendet werden können, um Quantenschaltungen in LaTeX zu setzen. Einige alternative Methoden, die erwähnt werden, umfassen die Verwendung externer Programme zum Zeichnen der Schaltkreise und das Einfügen der Ausgabe als Grafik, die Verwendung der TEX-eigenen Zeichenfunktionen oder anderer Zeichenpakete wie TikZ oder pstricks und die Verwendung anderer spezieller Pakete, die für das Zeichnen von Quantenschaltungen entwickelt wurden, wie qasm, qcircuit, quantikz und qpic.

\documentclass[margin=25mm]{standalone}
\usepackage[compat=0.3]{yquant}
%...
\begin{document}
%...
\begin{tikzpicture}
\begin{yquant}
qubit q[3];
h q[1];
cnot q[2] | q[1];
cnot q[1] | q[0];
h q[0];
measure q[0-1];
z q[2] | q[1];
x q[2] | q[0];
\end{yquant}
\end{tikzpicture}
%...
\end{document}

Quelle: https://ctan.org/pkg/yquant

annehmen ablehnen

Diese Website verwendet Cookies und Pixel-Tags, um Ihnen das beste Erlebnis auf unserer Website zu bieten. mehr zum Thema Cookies und siehe auch Datenschutz