1 GnuPlot |
Die Terminals cairolatex und tikz |
DIN 461 |
cm-Raster |
Für die Benutzung von Gnuplot mit LaTeX kommen verschiedene Terminals in Betracht. Hier werden "cairolatex" und "tikz" vorgestellt.
Das cairolatex-Terminal erzeugt zwei Ausgabedateien, je nach
Verwendungszweck: *.pdf+*.tex für die Arbeit mit pdfLaTeX oder
*.eps+*.tex für die Arbeit mit LaTeX/dvixx.
Die *.pdf- bzw. *.eps-Datei enthält alle Graphikelemente mit
Ausnahme der Textlabels. Die *.tex-Datei bindet die *.pdf- bzw.
*.eps-Datei ein und platziert die Text-Labels darüber.
Im LaTeX-Dokument wird die *.tex-Datei eingebunden.
Das tikz-Terminal erzeugt nur eine *.tex-Ausgabedatei, diese enthält sowohl die Graphikelemente als auch die Textlabels.
Vorteil des cairolatex-Terminals ist, dass die Graphikelemente in der *.pdf- bzw. *.eps-Datei bereits im PDF- bzw. EPS-Format vorliegen. Beim Lauf von pdfLaTeX bzw. dvips können die Graphikelemente nahezu unverändert übernommen werden, nur die Textlabels werden jedes Mal verarbeitet. Damit ist das Verfahren recht schnell, insbesondere bei mehreren Durchläufen.
Vorteil des tikz-Terminals ist, dass die Diagrammgröße
festgelegt werden kann, z.B. um das Gitter auf ein cm-Raster
anzupassen.
Nachteilig ist, dass alle Graphikelemente in jedem Durchlauf von
pdfLaTeX bzw. LaTeX verarbeitet werden müssen. Damit kann dieses
Verfahren länger dauern als die Verwendung des
cairolatex-Terminals.
Beiden Terminals ist gemeinsam, dass in Textlabels auch
LaTeX-Anweisungen benutzt werden können. Zeichen, die in Gnuplot
eine Bedeutung haben, muss ein Backslash vorangestellt werden.
Soll z.B. in der *.tex-Ausgabedatei in einem Label ein Backslash
erscheinen, müssen in der Gnuplot-Datei zwei Backslashes
geschrieben werden.
Die Beispieldatei
set terminal cairolatex pdf input set output 'gp0037.tex' rpar(R1,R2)=((R1 > 0.0) ? ((R2 > 0.0) ? ((R1 * R2)/(R1 + R2)) : 0.0) : 0.0) set xrange [0:10] set xlabel "\(R_1\)" set ylabel "\(R_{\textrm{ges}}\)" set key left top set grid show grid plot rpar(x,10.0) title "\(R_{\textrm{ges}}\)"
erzeugt eine Datei "gp0037.tex".
Diese kann in ein LaTeX-Dokument eingebunden werden, z.B. mit:
\begin{figure}% {\centering% \input{gp0037.tex}\caption{Mein Diagramm}\label{fig:mein-diagramm}% }% \end{figure}
DIN 461 gibt vor, wie Diagramme zu zeichnen sind. Die DIN
beschreibt verschiedene Diagrammarten, mit Gnuplot sind
Arbeitsdiagramme realisierbar.
Für Qualifikationsnachweise im Rahmen einer Ausbildung (z.B.
Bachelor- oder Masterarbeiten) sollten Diagramme DIN-gerecht
gestaltet werden.
Dies beinhaltet insbesondere folgende Punkte:
set terminal cairolatex pdf standalone header \
"\\usepackage[T1]{fontenc}\n\\usepackage{mathptmx}\n\\usepackage{helvet}\n\\usepackage{amsmath}"
set output 'gp0038.tex'
rpar(R1,R2)=((R1 > 0.0) ? ((R2 > 0.0) ? ((R1 * R2)/(R1 + R2)) : 0.0) : 0.0)
set xrange [0:10]
set xlabel "\\(\\frac{R_1}{\\Omega}\\rightarrow\\)"
set ylabel "\\(\\overset{\\uparrow\\vspace{0.3em}}{\\frac{R_{\\text{ges}}}{\\Omega}}\\)" rotate by 0
set key left top
set grid
show grid
plot rpar(x,10.0) title "\\(R_{\\text{ges}}\\)"
Die Beispieldatei erzeugt eine *.tex-Datei, aus der mit
pdflatex gp0038
eine PDF-Datei erzeugt werden kann.
Soll ein bestimmter Gitterabstand benutzt werden, muss eine
Größe für die Diagrammfläche vorgegeben werden, nicht für das
gesamte Bild einschließlich der Beschriftungen.
Dies ist nur möglich, wenn das tikz-Terminal verwendet wird.
Wird eine mit dem tikz-Terminal erstellte *.tex-Datei in ein LaTeX-Dokument eingebunden, muss in der Präambel
\usepackage{tikz} \usepackage{gnuplot-lua-tikz}
verwendet werden.
Die Datei "gnuplot-lua-tikz.sty" und weitere zugehörige Dateien
befinden sich im Verzeichnis
"$GNUPLOTPREFIX/share/texmf/tex/latex/gnuplot". Dieses Verzeichnis
muss in den texmf-Tree integriert werden.
set terminal lua tikz latex standalone color solid clip plotsize 10.0cm,10.0cm header \
"\\usepackage[T1]{fontenc}\n\\usepackage{mathptmx}\n\\usepackage{helvet}\n\\usepackage{amsmath}"
set output 'gp0039.tex'
rpar(R1,R2)=((R1 > 0.0) ? ((R2 > 0.0) ? ((R1 * R2)/(R1 + R2)) : 0.0) : 0.0)
set xrange [0:10]
set yrange [0:5]
set xtics 0,1,10
set ytics 0,0.5,5
set xlabel "\\(\\frac{R_1}{\\Omega}\\rightarrow\\)"
set ylabel "\\(\\overset{\\uparrow\\vspace{0.3em}}{\\frac{R_{\\text{ges}}}{\\Omega}}\\)" rotate by 0
set key left top
set grid
show grid
plot rpar(x,10.0) title "\\(R_{\\text{ges}}\\)"