LaTeX Extra > LaTeX Pakete > Imagelabels


Das tikz-imagelabels Paket (2019/06/27 v0.2) ist ein Paket mit dessen Hilfe man Bilder beschriften kann beziehungsweise Annotationen zu einem Bild hinzufügen kann.[1] 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 south east um ein Objekt in unteren rechten Ecke eines Bildes zu positionieren.

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

Wie man anhand des Names des Paketes erkennen kann basiert es auf dem tikz Paket und bindet dieses und das xifthen Paket mit ein. Zusätzlich werden noch einige tikz Bibliotheken mit eingebunden. Im Prinzip kann daher darauf verzichtet werden, das graphicx Paket separat einzubinden, da es bereits durch die vom tikz-imagelabels Paket mit eingebunden Pakete automatisch mit eingebunden wird.

 
Das Paket wird mit \usepackage{tikz-imagelabels} eingebunden. Zur Zeit verfügt es über keine Optionen.

1.1  annotationimage Umgebung

Die annotationimage Umgebung wird für das Setzen des Bildes und der Beschriftung verwendet. Die Umgebung verfügt über eine Option grid wird diese gesetzt wird ein temporäres Gitter über das eingefügte Bild gelegt. Wenn die Option wieder entfernt wird verschwindet auch wieder das Gitter. Die Umgebung hat zwei Pflichtangaben. Dies beziehen sich auf das Bild, zum einen in erster Linie auf die Größe mit der es eingebunden werden soll und zum anderen der Name der Bilddatei.

Bei der Angabe zur Größe sind relative und absolute Angaben zur Breite (width) beziehungsweise zur Höhe (height) möglich. Darüber hinaus können innerhalb dieses Feldes auch weiter Optionen des includegraphics Befehls wie etwa der Winkel gesetzt werden. Im Prinzip kann die Angabe zur Größe auch weggelassen werden, wobei dabei zu beachten ist, dass die geschweiften Klammern dennoch gesetzt werden müssen.

Beispiel mit Gitter und absoluter Größenangabe bezüglich der Breite
\begin{annotationimage}[grid]{width=6cm}{picture}
...
\end{annotationimage}

Beispiel mit Gitter und relative Größenangabe bezüglich der Höhe
\begin{annotationimage}[grid]{height=0.2\paperheight}{picture}
...
\end{annotationimage}

Beispiel ohne Gitter und ohne Größenangabe, d.h. das Bild wird in Orginalgröße eingebunden.
\begin{annotationimage}{}{picture}
...
\end{annotationimage}

Beispiel mit zusätzlichen includegraphics Optionen.
\begin{annotationimage}{scale=0.5, angle=90}{picture}

\end{annotationimage}

1.2   Labels im Bild

Wie eingangs bereits erwähnt ist es nun möglich Labels mit Hilfe von relativen Angaben zu setzen. Die Werte für die neun möglichen Positionen orientieren sich, bis auf eine Ausnahme, in ihrer Bezeichnung an den Bezeichnungen einer Windrose. Lediglich die Angabe für die Position in der Mitte weicht mit dem Ausdruck center davon ab.

\begin{annotationimage}{width=6cm}{picture}
\draw[image label = {north west at north west}];
\draw[image label = {north at north}];
\draw[image label = {north east at north east}];
\draw[image label = {west at west}];
\draw[image label = {center at center}];
\draw[image label = {east at east}];
\draw[image label = {south west at south west}];
\draw[image label = {south at south}];
\draw[image label = {south east at south east}];
\end{annotationimage}

Daneben besteht die Möglichkeit Labels (Beschriftungen) an bestimmte Koordinaten zu setzen. Dazu wird am besten die grid Option gesetzt.

\begin{annotationimage}[grid]{width=6cm}{picture}
\end{annotationimage}

Beim Einfügen ist darauf zu achten, dass die gesetzten Koordinaten sich auf das Zentrum (Schwerpunkt) der Beschriftung beziehen.

1.3  Anpassen der Erscheinung

Über den Befehl \imagelabelset{ key 1 = value 1, ..., key n = value n} kann die Darstellung der Beschriftung einfach verändert werden.

Default Werte
\imagelabelset{
coarse grid color = red,
fine grid color = gray,
image label font = \sffamily\bfseries\small,
image label distance = 2mm,
image label back = black,
image label text = white,
coordinate label font = \sffamily\bfseries\scriptsize,
coordinate label distance = 2mm,
coordinate label back = black,
coordinate label text = white,
annotation font = \normalfont\small,
arrow distance = 1.5mm,
border thickness = 0.6pt,
arrow thickness = 0.4pt,
tip size = 1.2mm,
outer dist = 0.5cm,
}

Wenn jetzt ein Wert verändert werden soll ist es ausreichend nur diesen Wert neu zu setzen. Zum Beispiel wenn die Schrift rot sein soll:

\imagelabelset{
image label text = red,
coordinate label text= red}

Die Änderungen wirken ab der Stelle an der Befehle \imagelabelset{...} eingefügt wurde. Wenn etwas für alle Bilder gelten soll, sollte man die Änderung daher in der Präambel des Dokumentes setzen.

Für den Fall, dass man die Hintergrundfarbe löschen will, einen transparenten Hintergrund haben will, ist dies auch möglich nur muss dazu der style geändert werden. Im nachfolgenden Beispiel wurde einfach das fill auskommentiert, wodurch der Hintergrund transparent wird/bleibt.

\begin{annotationimage}{width=6cm}{picture}
\imagelabelset{
coordinate label text = black,
 coordinate label style/.style = {
    rectangle,
    minimum width = 3mm,
    minimum height = 3mm,
    %fill = \coordinatelabelback, %Auskommentiert!
    text = \coordinatelabeltext,
    font = \coordinatelabelfont,
  }}
\draw[coordinate label = {{\Huge Poolkatze} at (0.5,0.85)}];
\end{annotationimage}

1.4 Annotationen mit Pfeilen

Es besteht auch die Möglichkeit von außen auf Elemente im Bild zu verweisen. Dazu stehen die Positionen left, above, right und below zur Verfügung.

\begin{annotationimage}{width=6cm}{picture}
\draw[annotation left = {Links at 0.5}] to (0.3,0.5);
\draw[annotation above = {Oben at 0.5}]to (0.5,0.7);
\draw[annotation right = {Rechts at 0.5}] to (0.7,0.5);
\draw[annotation below = {Unten at 0.5}] to (0.5,0.3);
\end{annotationimage}
\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}

1.5 Vorteil

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.

Literatur

[1]  Tobias Plüss, The tikz-imagelabels package, 2019/06/27
http://mirrors.ctan.org/graphics/pgf/contrib/tikz-imagelabels/tikz-imagelabels.pdf