scilicet
26-01-2011, 14:14
Hallo miteinander!
Ich bin derzeit damit beschäftigt meine Diplomarbeit zu erstellen. Dies tue ich in LaTeX und die benötigten Diagramme erstelle ich in Gnuplot. Jetzt habe ich - dank dieses tollen Forums!:) - herausgefunden, dass das Einbinden von Diagrammen mit dem Paket "gnuplottex" wesentlich komfortabler von statten geht.
Allerdings tauchen dabei bei mir immer wieder unverhoffte Probleme auf. Wenn ich einzelne Diagramme mittels gnuplottex erstelle funktioniert alles wunderbar, jedoch ab dem vierten Diagramm treten immer wieder 6 Fehlermeldungen (3x "! Missing { inserted <to be read again>" und 3x "! Missing } inserted <to be read again>") auf. Die Reihenfolge, in der die Diagramme eingebunden werden spielt dabei keine Rolle. Ersetze ich meine Diagramme durch einfache Plots (wie z. B.: plot sin(x) ) kann ich auch mehr als vier einfügen.
Wie gesagt, jedes Diagramm für sich funktioniert prima!
Hier der Code des Hauptdokumentes:
%
% mein Hauptdokument, in dem alle Pakete usw. eingebunden werden
%
\documentclass[
headsepline,
a4paper,
10pt
]{scrbook}
\usepackage[miktex]{gnuplottex}
\usepackage{pifont}
\usepackage[ngerman]{babel}
\usepackage[T1] {fontenc}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{framed}
\usepackage{courier}
\usepackage{makeidx}
\usepackage{picins}
\usepackage{longtable}
\usepackage{geometry}
\usepackage{pdflscape}
\usepackage{rotating}
\usepackage[ugly]{units}
\usepackage[numbers]{natbib}
\usepackage{url}
\usepackage{multibib}
\newcites{s,ns,pub,inet}%
{Schriften,%
Normen \& Standards,%
Publikationen,%
{Netzquellen}}
\usepackage{scrpage2}
\setlength {\parindent}{0em}
\setlength {\parskip} {2.0ex plus 1.0ex minus 0.5ex}
\begin {document}
\pagenumbering{Roman}
\newcommand{\grad}{\ensuremath{^\circ}}
\pagestyle {empty}
%\input {Titel}
\pagestyle {empty}
%\input{blank}
%\input{vers}
%\input{dank}
\tableofcontents
\pagestyle {scrheadings}
\automark[section]{chapter}
%\newpage
\pagenumbering{arabic}
%\input {kapitel1}
\input {kapitel2}
%\input {konstrukt}
%\input {kapitel4}
%\input {kapitel5}
%\input{schluss}
\bibliographystyle{natdin}
\bibliography{Diplomarbeit}
\let\origchap\chapter
\let\chapter\section
\manualmark
\markboth{Literaturverzeichnis}{Literaturverzeichn is}
\bibliographystyles{natdin}
\bibliographys{Diplomarbeit}
\bibliographystylens{natdin}
\bibliographyns{Diplomarbeit}
\bibliographystylepub{natdin}
\bibliographypub{Diplomarbeit}
\bibliographystyleinet{natdin}
\bibliographyinet{Diplomarbeit}
\let\chapter\origchap
\automark[section]{chapter}
\listoffigures
\listoftables
\newpage
\addcontentsline{toc}{chapter}{Anhang}
\begin{appendix}
%\input{anhtfv}
%\input{anhzehn}
\end{appendix}
\end {document}
In meiner Datei kapitel2.tex (\input{kapitel2}) sollen dann die Diagramme eingefügt werden. Hier nun die Befehlszeilen zum Aufruf von gnuplottex (gekürzt):
%
% Die Aufrufe der einzelnen Diagramme mittels \begin{gnuplot} ... \end{gnuplot}
%
%
%Diagramm 1
%
\begin{figure}
\begin{gnuplot}[terminal=epslatex,terminaloptions=color]
set xlabel 'Wellenlänge $\lambda$ in $[nm]$'
set ylabel 'relative Hellempfindung (durchgezogen)'
set y2label 'absolute Hellempfindung [$\frac{lm}{W}$] (gestrichelt)'
set xrange [360:830]
set yrange [0:1.2]
set y2range[0:1800]
set xtics 300,100,900
set ytics 0,0.2,1.2
set y2tics 0,300,1800
set mxtics 5
set mytics 2
set my2tics 2
plot 'purkinje.dat' using 1:2 title '$v(\lambda)$' with lines lw 2 lc 2 lt 1,\
'purkinje.dat' using 1:3 title '$v`(\lambda)$' with lines lw 2 lc 3 lt 1,\
'purkinje.dat' using 1:4 axes x1y2 title '$K(\lambda)$' with lines lw 2 lc 2 lt 2,\
'purkinje.dat' using 1:5 axes x1y2 title '$K`(\lambda)$' with lines lw 2 lc 3 lt 2
\end{gnuplot}
\caption[Purkinje - Effekt]{Die Hellempfindlichkeitsfunktionen des menschlichen Sehapparates}
\label{vlambda}
\end{figure}
%
% Diagram 2
%
\begin{figure}
\begin{gnuplot}[terminal=epslatex,terminaloptions=color solid]
set xlabel 'Wellenlänge $\lambda$ in $[nm]$'
set ylabel 'Spektralwerte'
set xrange [380:800]
set yrange [-0.15:0.4]
set xtics 400,100,900
set ytics -0.1,0.1,0.4
set mxtics 5
set mytics 2
f(x)=0
plot f(x) with lines lw 1 lc 0 notitle,\
'rgb.dat' using 1:2 title '$\bar{r}(\lambda)$' with lines lw 2 lc 1,\
'rgb.dat' using 1:3 title '$\bar{g}(\lambda)$' with lines lw 2 lc 2,\
'rgb.dat' using 1:4 title '$\bar{b}(\lambda)$' with lines lw 2 lc 3
\end{gnuplot}
\caption[RGB Normspektralwertfunktionen]{Die RGB Normspektralwertfunktionen}
\label{swfrgb}
\end{figure}
%
% Diagram 3
%
\begin{figure}
\begin{gnuplot}[terminal=epslatex,terminaloptions=color solid]
set xlabel 'Wellenlänge $\lambda$ in $[nm]$'
set ylabel 'Spektralwerte'
set xrange [360:830]
set yrange [0:2]
set xtics 300,100,900
set ytics 0,0.5,2
set mxtics 5
set mytics 2
plot 'xyz1931.dat' using 1:2 title '$\bar{x}(\lambda)$' with lines lw 2 lc 1,\
'xyz1931.dat' using 1:3 title '$\bar{y}(\lambda)$' with lines lw 2 lc 2,\
'xyz1931.dat' using 1:4 title '$\bar{z}(\lambda)$' with lines lw 2 lc 3
\end{gnuplot}
\caption[CIE 1931 Normspektralwertfunktionen]{Die CIE 1931 Normspektralwertfunktionen}
\label{swfxyz31}
\end{figure}
%
% Diagram 4
%
\begin{figure}
\begin{gnuplot}[terminal=epslatex,terminaloptions=color solid]
set xlabel 'Wellenlänge $\lambda$ in $[nm]$'
set ylabel 'Spektralwerte'
set xrange [360:830]
set yrange [0:2.5]
set xtics 300,100,900
set ytics 0,0.5,2.5
set mxtics 5
set mytics 2
plot 'xyz1964.dat' using 1:2 title '$\bar{x}_{10^\grad}(\lambda)$' with lines lw 2 lc 1,\
'xyz1964.dat' using 1:3 title '$\bar{y}_{10^\grad}(\lambda)$' with lines lw 2 lc 2,\
'xyz1964.dat' using 1:4 title '$\bar{z}_{10^\grad}(\lambda)$' with lines lw 2 lc 3
\end{gnuplot}
\caption[CIE 1964 Normspektralwertfunktionen]{Die CIE 1964 Normspektralwertfunktionen}
\label{swfxyz64}
\end{figure}
Die *.dat Dateien, die die Messwerte beinhalten sind aus *.txt Dateien, die in MS - Excel erstellt wurden, durch Umbenennen entstanden und liegen im entsprechenden LaTeX - Projektordner. (Ich habe sie hier als *.txt angehängt, da *.dat nicht erlaubt sind)
Nach dem kompilieren des TeX - Dokumentes öffnete ich die *.gnuplot Datei in Gnuplot und erstellte manuell mittels epstopdf.exe eine entsprechende *.pdf Datei. Anschließend komplilierte ich erneut das TeX - Dokument, um die Diagramme endgültig einzubinden.
Beim kompilieren meines Minimalbeispieles zeigt er an, dass die Fehler in der von gnuplottex erstellten "***-gnuplottex-fig4.tex" Datei in der Zeile \gplfronttext enthalten ist. Jedoch kann man dort keine Klammern einfügen. :confused:
Meine Systemdaten:
Betriebssystem: Windows 7 Home Premium Version 6.1 (Build 7600) 64bit
TeX Distribution: MikTeX 2.8
Editor: TexnicCenter 1.0 Stable Release Candidate 1 (1999-2008)
Compiler: pdflatex
Ausgabeprofil: LaTeX => PDF
übergebene Argumente: -interaction=nonstopmode „%pm“
BibTeX: bibtex8.exe
Argumente: -H „%bm“
Gnuplot: Version 4.4 patchlevel 2
Weiß irgendjemand wo der Fehler liegt bzw. (viel wichtiger :) ) wie ich diesen Fehler beheben und beliebig viele gnuplottex - Diagramme (fehlerfrei ;) ) einfügen kann? :confused:
mfG
Frank
Ich bin derzeit damit beschäftigt meine Diplomarbeit zu erstellen. Dies tue ich in LaTeX und die benötigten Diagramme erstelle ich in Gnuplot. Jetzt habe ich - dank dieses tollen Forums!:) - herausgefunden, dass das Einbinden von Diagrammen mit dem Paket "gnuplottex" wesentlich komfortabler von statten geht.
Allerdings tauchen dabei bei mir immer wieder unverhoffte Probleme auf. Wenn ich einzelne Diagramme mittels gnuplottex erstelle funktioniert alles wunderbar, jedoch ab dem vierten Diagramm treten immer wieder 6 Fehlermeldungen (3x "! Missing { inserted <to be read again>" und 3x "! Missing } inserted <to be read again>") auf. Die Reihenfolge, in der die Diagramme eingebunden werden spielt dabei keine Rolle. Ersetze ich meine Diagramme durch einfache Plots (wie z. B.: plot sin(x) ) kann ich auch mehr als vier einfügen.
Wie gesagt, jedes Diagramm für sich funktioniert prima!
Hier der Code des Hauptdokumentes:
%
% mein Hauptdokument, in dem alle Pakete usw. eingebunden werden
%
\documentclass[
headsepline,
a4paper,
10pt
]{scrbook}
\usepackage[miktex]{gnuplottex}
\usepackage{pifont}
\usepackage[ngerman]{babel}
\usepackage[T1] {fontenc}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{framed}
\usepackage{courier}
\usepackage{makeidx}
\usepackage{picins}
\usepackage{longtable}
\usepackage{geometry}
\usepackage{pdflscape}
\usepackage{rotating}
\usepackage[ugly]{units}
\usepackage[numbers]{natbib}
\usepackage{url}
\usepackage{multibib}
\newcites{s,ns,pub,inet}%
{Schriften,%
Normen \& Standards,%
Publikationen,%
{Netzquellen}}
\usepackage{scrpage2}
\setlength {\parindent}{0em}
\setlength {\parskip} {2.0ex plus 1.0ex minus 0.5ex}
\begin {document}
\pagenumbering{Roman}
\newcommand{\grad}{\ensuremath{^\circ}}
\pagestyle {empty}
%\input {Titel}
\pagestyle {empty}
%\input{blank}
%\input{vers}
%\input{dank}
\tableofcontents
\pagestyle {scrheadings}
\automark[section]{chapter}
%\newpage
\pagenumbering{arabic}
%\input {kapitel1}
\input {kapitel2}
%\input {konstrukt}
%\input {kapitel4}
%\input {kapitel5}
%\input{schluss}
\bibliographystyle{natdin}
\bibliography{Diplomarbeit}
\let\origchap\chapter
\let\chapter\section
\manualmark
\markboth{Literaturverzeichnis}{Literaturverzeichn is}
\bibliographystyles{natdin}
\bibliographys{Diplomarbeit}
\bibliographystylens{natdin}
\bibliographyns{Diplomarbeit}
\bibliographystylepub{natdin}
\bibliographypub{Diplomarbeit}
\bibliographystyleinet{natdin}
\bibliographyinet{Diplomarbeit}
\let\chapter\origchap
\automark[section]{chapter}
\listoffigures
\listoftables
\newpage
\addcontentsline{toc}{chapter}{Anhang}
\begin{appendix}
%\input{anhtfv}
%\input{anhzehn}
\end{appendix}
\end {document}
In meiner Datei kapitel2.tex (\input{kapitel2}) sollen dann die Diagramme eingefügt werden. Hier nun die Befehlszeilen zum Aufruf von gnuplottex (gekürzt):
%
% Die Aufrufe der einzelnen Diagramme mittels \begin{gnuplot} ... \end{gnuplot}
%
%
%Diagramm 1
%
\begin{figure}
\begin{gnuplot}[terminal=epslatex,terminaloptions=color]
set xlabel 'Wellenlänge $\lambda$ in $[nm]$'
set ylabel 'relative Hellempfindung (durchgezogen)'
set y2label 'absolute Hellempfindung [$\frac{lm}{W}$] (gestrichelt)'
set xrange [360:830]
set yrange [0:1.2]
set y2range[0:1800]
set xtics 300,100,900
set ytics 0,0.2,1.2
set y2tics 0,300,1800
set mxtics 5
set mytics 2
set my2tics 2
plot 'purkinje.dat' using 1:2 title '$v(\lambda)$' with lines lw 2 lc 2 lt 1,\
'purkinje.dat' using 1:3 title '$v`(\lambda)$' with lines lw 2 lc 3 lt 1,\
'purkinje.dat' using 1:4 axes x1y2 title '$K(\lambda)$' with lines lw 2 lc 2 lt 2,\
'purkinje.dat' using 1:5 axes x1y2 title '$K`(\lambda)$' with lines lw 2 lc 3 lt 2
\end{gnuplot}
\caption[Purkinje - Effekt]{Die Hellempfindlichkeitsfunktionen des menschlichen Sehapparates}
\label{vlambda}
\end{figure}
%
% Diagram 2
%
\begin{figure}
\begin{gnuplot}[terminal=epslatex,terminaloptions=color solid]
set xlabel 'Wellenlänge $\lambda$ in $[nm]$'
set ylabel 'Spektralwerte'
set xrange [380:800]
set yrange [-0.15:0.4]
set xtics 400,100,900
set ytics -0.1,0.1,0.4
set mxtics 5
set mytics 2
f(x)=0
plot f(x) with lines lw 1 lc 0 notitle,\
'rgb.dat' using 1:2 title '$\bar{r}(\lambda)$' with lines lw 2 lc 1,\
'rgb.dat' using 1:3 title '$\bar{g}(\lambda)$' with lines lw 2 lc 2,\
'rgb.dat' using 1:4 title '$\bar{b}(\lambda)$' with lines lw 2 lc 3
\end{gnuplot}
\caption[RGB Normspektralwertfunktionen]{Die RGB Normspektralwertfunktionen}
\label{swfrgb}
\end{figure}
%
% Diagram 3
%
\begin{figure}
\begin{gnuplot}[terminal=epslatex,terminaloptions=color solid]
set xlabel 'Wellenlänge $\lambda$ in $[nm]$'
set ylabel 'Spektralwerte'
set xrange [360:830]
set yrange [0:2]
set xtics 300,100,900
set ytics 0,0.5,2
set mxtics 5
set mytics 2
plot 'xyz1931.dat' using 1:2 title '$\bar{x}(\lambda)$' with lines lw 2 lc 1,\
'xyz1931.dat' using 1:3 title '$\bar{y}(\lambda)$' with lines lw 2 lc 2,\
'xyz1931.dat' using 1:4 title '$\bar{z}(\lambda)$' with lines lw 2 lc 3
\end{gnuplot}
\caption[CIE 1931 Normspektralwertfunktionen]{Die CIE 1931 Normspektralwertfunktionen}
\label{swfxyz31}
\end{figure}
%
% Diagram 4
%
\begin{figure}
\begin{gnuplot}[terminal=epslatex,terminaloptions=color solid]
set xlabel 'Wellenlänge $\lambda$ in $[nm]$'
set ylabel 'Spektralwerte'
set xrange [360:830]
set yrange [0:2.5]
set xtics 300,100,900
set ytics 0,0.5,2.5
set mxtics 5
set mytics 2
plot 'xyz1964.dat' using 1:2 title '$\bar{x}_{10^\grad}(\lambda)$' with lines lw 2 lc 1,\
'xyz1964.dat' using 1:3 title '$\bar{y}_{10^\grad}(\lambda)$' with lines lw 2 lc 2,\
'xyz1964.dat' using 1:4 title '$\bar{z}_{10^\grad}(\lambda)$' with lines lw 2 lc 3
\end{gnuplot}
\caption[CIE 1964 Normspektralwertfunktionen]{Die CIE 1964 Normspektralwertfunktionen}
\label{swfxyz64}
\end{figure}
Die *.dat Dateien, die die Messwerte beinhalten sind aus *.txt Dateien, die in MS - Excel erstellt wurden, durch Umbenennen entstanden und liegen im entsprechenden LaTeX - Projektordner. (Ich habe sie hier als *.txt angehängt, da *.dat nicht erlaubt sind)
Nach dem kompilieren des TeX - Dokumentes öffnete ich die *.gnuplot Datei in Gnuplot und erstellte manuell mittels epstopdf.exe eine entsprechende *.pdf Datei. Anschließend komplilierte ich erneut das TeX - Dokument, um die Diagramme endgültig einzubinden.
Beim kompilieren meines Minimalbeispieles zeigt er an, dass die Fehler in der von gnuplottex erstellten "***-gnuplottex-fig4.tex" Datei in der Zeile \gplfronttext enthalten ist. Jedoch kann man dort keine Klammern einfügen. :confused:
Meine Systemdaten:
Betriebssystem: Windows 7 Home Premium Version 6.1 (Build 7600) 64bit
TeX Distribution: MikTeX 2.8
Editor: TexnicCenter 1.0 Stable Release Candidate 1 (1999-2008)
Compiler: pdflatex
Ausgabeprofil: LaTeX => PDF
übergebene Argumente: -interaction=nonstopmode „%pm“
BibTeX: bibtex8.exe
Argumente: -H „%bm“
Gnuplot: Version 4.4 patchlevel 2
Weiß irgendjemand wo der Fehler liegt bzw. (viel wichtiger :) ) wie ich diesen Fehler beheben und beliebig viele gnuplottex - Diagramme (fehlerfrei ;) ) einfügen kann? :confused:
mfG
Frank