Donnerstag, 20. Januar 2011

TiKZ - Schönere Grafiken und Bilder in LaTeX

Kürzlich bin ich auf TikZ/PGF gestoßen. Damit lassen sich sehr anspruchsvolle Grafiken in LaTeX realisieren. Allerdings ist der Einstieg nicht ganz einfach, da man vor eine Vielzahl von Möglichkeiten bei der Umsetzung gestellt wird. Ich beschränke mich daher auf einfache Dinge, die leicht anzupassen sind.

Hier ein Beispiel wie ich Pixelbilder einbinde und dann mit TikZ einfach unter Angabe der Pixelkoordinaten auf das Bild zeichne. Man trägt als \pgfmathsetlength{\imagewidth}{0.64\textwidth} einfach die gewünschte Bildbreite in Prozent der Textbreite ein und in dernächsten Zeile die aktuelle Breite des Bildes in Pixeln. Alles ist nun so skaliert, dass man mit den üblichen \draw Befehl von TikZ unter Angabe der Pixelposition zeichnen kann. Schön einfach, oder? Bei wissenschaftlichen Veröffentlichungen lassen sich so leicht Maßstabsbalken, Pfeile und Kringel um hervorzuhebende Merkmale einfügen.
\NeedsTeXFormat{LaTeX2e}
\documentclass[fontsize=11pt, paper=a4]{scrbook}
\usepackage[final]{graphicx}
\usepackage[rgb]{xcolor}
\usepackage{tikz,pgfplots}
  \usetikzlibrary{calc}
  \pgfplotsset{compat=1.3}
  \newlength\imagewidth
  \newlength\imagescale

\begin{document}
  \pgfmathsetlength{\imagewidth}{0.64\textwidth} % desired displayed width of image
     \pgfmathsetlength{\imagescale}{\imagewidth/300} % pixel width of image
     % adjust scale of tikzpicture (and direction of y) such that pixel
     % coordinates can be used for drawing overlays:
     \begin{tikzpicture}[x=\imagescale,y=-\imagescale]
     \node[anchor=north west,inner sep=0pt,outer sep=0pt] at (-0.5,-0.5)
       {\includegraphics[width=\imagewidth]{JanisJoplin}};
     ;
     \definecolor{GoemonXColor}{rgb}{0.79,0.79,0.4}
     \draw[thick, color=GoemonXColor, -latex]
       (115,15) node[anchor=west] {\huge\textbf{Janis Joplin}} --(88,27)
    ;
  \end{tikzpicture}
\end{document}
Und so sieht dann das Ergebnis aus (PDF).

Keine Kommentare:

Kommentar veröffentlichen