Einbinden von Grafiken in L^{A}TEX-Dokumente

1 TEX Grafiken mit GNUPLOT

Die Stärke der picture-Umgebung ist es, ausgabeunabhängig zu sein, wobei ihr Nachteil ist, daß sie nicht bzw. nur schlecht Skaliert werden kann.

Wir wollen die einfache Funktion f(x) = sin(2 · x) erstellen und in dieses L^{A}TEX-Dokument einfügen. Nach dem Start von GNUPLOT wird die Funktion eingegeben.

         G N U P L O T
         Linux version 3.5 (pre 3.6)
         patchlevel beta 347
         last modified Mon Jun 22 13:22:33 BST 1998
         Copyright(C) 1986 - 1993, 1998
         Thomas Williams, Colin Kelley and many others
 Terminal type set to 'x11'
 gnuplot> f(x)=sin(2*x)
 gnuplot> set terminal latex
 Terminal type set to 'latex'
 Options are 'roman 10'
 gnuplot> set output "sin.tex"
 gnuplot> plot f(x)
 gnuplot> quit

Nach dem Einkopieren des L^{A}TEX-Files, hier ein Ausschnitt:

% GNUPLOT: LaTeX picture
\setlength{\unitlength}{0.240900pt}
\ifx\plotpoint\undefined\newsavebox{\plotpoint}\fi
\sbox{\plotpoint}{\rule[-0.200pt]{0.400pt}{0.400pt}}%
\begin{picture}(1500,900)(0,0)
\font\gnuplot=cmr10 at 10pt
\gnuplot
\sbox{\plotpoint}{\rule[-0.200pt]{0.400pt}{0.400pt}}%
\put(120.0,82.0){\rule[-0.200pt]{4.818pt}{0.400pt}}
\put(100,82){\makebox(0,0)[r]{-1}}
...
\multiput(1432.17,602.00)(13.000,124.299){2}{\rule{0.400pt}{2.096pt}}
\multiput(1446.58,735.00)(0.494,3.325){25}{\rule{0.119pt}{2.700pt}}
\multiput(1445.17,735.00)(14.000,85.396){2}{\rule{0.400pt}{1.350pt}}
\put(1257.0,852.0){\rule[-0.200pt]{3.373pt}{0.400pt}}
\end{picture}

erhält man folgende Grafik:

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-10  -5  0  5  10 f(x)

Die Kurve sieht so abgehackt aus, da diese Funktion linear angenähert wird, wenn man sich für eine gegebene Funktion einen L^{A}TEX-picture Grafik erstellen läßt.

2 PostScript Grafiken mit GNUPLOT

Ein x−y-Plot für die Funktion f(x, y) = sin(x)∗cos(y) im Bereich von -3.14 bis 3.14 für die x- und y-Koordinate als Encapsulated PostScript wird unter GNUPLOT wie folgt erstellt:

 gnuplot> f(x,y)=sin(x)*cos(y)
 gnuplot> set terminal postscript
 Terminal type set to 'postscript'
 Options are 'landscape noenhanced monochrome dashed
 defaultplex "Helvetica" 14'
 gnuplot> set output"sincos.ps"
 gnuplot> splot [-3.14:3.14][-3.14:3.14] f(x,y)

Als Ergebnis erhält man eine Datei sincos.ps die dann so eingebunden wird. Dafür wird das Paket epsfig benötigt.

\begin{figure}[hbt] %hbt hier sonst Seitenende bzw Anfang naechste Seite
\begin{center}
\fbox{\epsfig{file=sincos.ps,width=5cm,angle=-45}}
\caption{Die Funktion $f(x)=sin(x)\cdot cos(y)$ unter einem Winkel von
  $-45^\circ$ }
\end{center}
\end{figure}

Abbildung 1: Die Funktion f(x) = sin(x) · cos(y) unter einem Winkel von −45^{∘}

Diese Grafik sieht viel glatter aus. Dies liegt daran, das PostScript die einzelnen Punkte der Funktion durch Bezier-Kurven bzw. kubischen-Splines verbindet. Post-Script Dateien sind übrigens human readable. Es handelt sich dabei um eine Interpreter Sprache mit merkmalen einer Hochsprache.

3 PostScript Grafiken mit Xfig

Die folgende Grafik wurde unter Xfig erstellt und nach Encapsulated PostScript exportiert. Anschließend wird diese wieder eingebunden. Es wird wiederum das Paket epsfig benötigt. Da PostScript auch Farben unterstützt, sind farbige Grafiken kein Problem.

\begin{figure}[hbt]
\begin{center}
\fbox{\epsfig{file=xfig.eps,width=8cm,angle=0}}
\caption{Schematischer Aufbau eines REM's }
\end{center}
\end{figure}

Abbildung 2: Schematischer Aufbau eines REM’s

4 Balken Grafiken mit L^{A}TEX

Diese Balkengrafik:

Kurs für Aktien der Firma XyZ

[figure: \overline{0}; 10; 20; 30; 40; 50; 60; 70; 80; 90; 100; 110; 120; 130; 140; 150; 160; 70; 105; …; …; ….; . . . . .; . . . . .; . . . . .; . . . . .; . . . . .; . . . . .; 100; . . . . .; . . . . .; . . . . .; . . . . .; . . . . .; . . . . .; 150; …; …; …; …; . . . . .; . . . . .; 125; . . . . .; 140; …; . . . . .; . . . . .; . . . . .; 115; . . . . .; . . . . .; 105; . . . . .; . . . . .; . . . . .; . . . . .; . . . . .; 105; . . . . .; . . . . .; . . . . .; . . . . .; . . . . .; . . . . .; 90; . . . . .; . . . . .; . . . . .; . . . . .; . . . . .; . . . . .; 70; . . . . .; . . . . .; . . . . .; . . . . .; . . . . .; . . . . .; . . . . .; . . . . .; . . . . .; . . . . .; . . . . .; . . . . .; . . . . .; . . . . .; . . . . .; . . . . .; 1982; 1983; 1984; 1985; 1986; 1987; 1988; 1989; 1990; 1991; 1992; Jahr; US-Dollar; ^{...}; ^{...}; ^{...}; ^{...}; ^{...}; ^{...}; ^{...}; ^{...}; ^{...}]

Legende: [figure] Gut  Mäßig  Schlecht

wurde mit folgendem L^{A}TEX-Text erstellt:

\begin{center}
 \textbf{\Large Kurs f"ur Aktien der Firma \textsf{XyZ}}\\[5mm]
\begin{barenv}
\setstretch{1}
\setnumberpos{down}

\setwidth{25} \setdepth{10}
\setstyle{\small\bfseries}
\setxname{Jahr} \setyname{US-Dollar}
\setstyle{\small\itshape} \setxaxis{1982}{1992}{1}
\setstyle{\small\bfseries} \setyaxis[10]{0}{160}{10}
\setlinestyle{dotted}
\hlineon
\setnumberpos{axis}
\bar{70}{5}  \bar{105}{4} \bar{100}{4} \bar{150}{6}
\bar{125}{6} \bar{140}{6} \bar{115}{4} \bar{105}{4}
\bar{105}{4} \bar{90}{5} \bar{70}{5}
\end{barenv}
\end{center}
\par \vspace{\baselineskip}
Legende: \legend6{Gut} \qquad
\legend4{M"a"sig} \qquad
\legend5{Schlecht}

5 Grafiken in der picture-Umgebung

Hier am Beispiel der Bezier-Kurven. Diese ermöglichen es auch recht komplizierte mathematische Kurven durch Näherungsverfahren mit Bezier-Splines zu erzeugen. Die Bezier-Kurve wird hierbei durch drei Punkte charakterisiert. Die beiden Endpunkte (AX,AY),(CX,CY) und einen Kontrollpunkt (BX,BY). Der optionale Parameter N, gibt sofern vorhanden, an, daß zur Annäherung der Kurve N+1 Punkte geplottet werden.

 \qbezier[N](AX,AY)(BX,BY)(CX,CY)

                                    \setlength{\unitlength}{1.0mm}
                                    \begin{picture}(50,30)(-10,0)
                                     \linethickness{1pt}
                                     \qbezier(0,0)(10,30)(50,30)
                                     \thinlines
                                     \put(0,0){\line(1,3){10}}
                                     \put(50,30){\line(-1,0){40}}
                                     \put(0,0){\circle*{1}}
                                     \put(0,-1){\makebox(0,0)[t]{$A_{(0,0)}$}}
                                     \put(10,30){\circle{1}}
                                     \put(10,31){\makebox(0,0)[b]{$B_{(10,30)}$}}
                                     \put(50,30){\circle*{1}}
                                     \put(50,31){\makebox(0,0)[b]{$C_{(50,30)}$}}
                                    \end{picture}

Es fällt auf, das er Punkt (0,0) für Grafiken im Ursprung eines rechtwinkeligen Koordinatensystems liegt, bezüglich des ersten Quadranten betrachtet.

[figure: A_{(0,0)}; B_{(10,30)}; C_{(50,30)}]

Hier noch ein paar Kurven bei denen die Anzahl der Punkte und der Kontrollpunkt variiert werden.

[figure]

\setlength{\unitlength}{0.5mm}
\begin{picture}(120,100)(-5,0)
\linethickness{0.5pt}
\qbezier [50](0,0)(0,100)(100,0)
\qbezier     (0,0)(30,80)(100,0)
\qbezier[150](0,0)(60,60)(100,0)
\qbezier[200](0,0)(90,40)(100,0)
\qbezier     (0,0)(120,20)(100,0)
% markieren der Endpunkte
\put(0,0){\circle*{3}}
\put(100,0){\circle*{3}}
% und der Kontrollpunkte
\multiput (0,100)(30,-20){5}{\circle{2}}
\end{picture}