PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit gnuplottex



scilicet
26-01-2011, 13: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

Curryhunter
26-01-2011, 14:53
Hallo,
ich hab leider gerade keine Zeit, mir Dein Beispiel lauffähig zu machen. Kannst Du das bitte erledigen, dann gucke ich mir das gerne an. Bitte erstell ein lauffähiges Minimalbeispiel, das den Fehler bei dir zeigt, dann teste ich es hier aus. (habe letztens erst ein Bericht mit >25 Diagrammen mit gnuplot erstellt, der Fehler ist nicht normal)

Kürze es bitte auch um die Bibliographie, sowie um die ganzen input/include-Befehle, und pack einfach die Diagramme mit in das Hauptdokument (NEUES Dokument). Warum stellst du eigentlich nur 4 Diagramme hier ein, wenn der Fehler erst ab 6 Diagrammen auftritt?

Warum machst du den Umweg:
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. ??? Mittels shell escape (oder enable write18) und dem eingebundenen
\usepackage{epstopdf} kannst Du dir das locker sparen.

Und das hier:
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. Deutet eher auf einen (Tipp-)Fehler im gnuplot-Aufruf in der tex-Datei hin, als auf einen gnuplottex-Fehler.

Ach und noch eins:
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. ist unnötig, gnuplot kann auch mit *.txt oder *.csv Dateien umgehen.

Grüße
Stefan

scilicet
26-01-2011, 15:37
Zunächst vielen Dank für die schnelle Antwort und die vielen guten Ratschläge!

Hier nun die "abgespeckte" Version meines Minimalbeispiels: (ich hab mal die ganzen Paketeinbindungen dringelassen, für den Fall dass sich evtl. manche Pakete nicht vertragen o.ä.)



\documentclass[
headsepline,
a4paper,
10pt
]{scrbook}

\usepackage[miktex]{gnuplottex}

\usepackage{epstopdf}

\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}

\newcommand{\grad}{\ensuremath{^\circ}}

%
% 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}

%
% Diagramm 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}

%
% Diagramm 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}

%
% Diagramm 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}

\end {document}


Wenn ich dieses Beispiel kompiliere werden zwar die vier Diagramm erzeugt, jedoch tauchen die 6 Fehlermeldungen mit den eingefügten geschweiften Klammern auf.



Warum stellst du eigentlich nur 4 Diagramme hier ein, wenn der Fehler erst ab 6 Diagrammen auftritt?


Der Fehler tritt ab dem vierten einzufügenden Diagramm auf. Es ist dabei unerheblich welches der vier Diagramme aus dem Minimalbeispiel ich entferne.



Warum machst du den Umweg:
Zitat:
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.

??? Mittels shell escape (oder enable write18) und dem eingebundenen
Code:
\usepackage{epstopdf}kannst Du dir das locker sparen.


Wenn ich mein Ausgabeprofil umdefiniere, indem ich "--enable write18" hinzufüge, kann ich zwar die Datei kompilieren, jedoch nicht mehr betrachten, es erscheint folgende Fehlermeldung: [DocOpen("%bm.pdf")][FileOpen("%bm.pdf")] Der Befehl konnte nicht ausgeführt werden. Was mache ich falsch?

Curryhunter
26-01-2011, 17:06
Hallo,
habe das Paket units auskommentiert (nicht installiert bei mir) und durch das aktuelle siunitx ersetzt. Bei mir kamen dann auch beim 4. Bild 6 Fehlermeldungen bzgl. einer fehlenden Klammerstruktur in der von gnuplot erstellten .tex-Datei.

Unten stehendes Beispiel läuft jedoch einwandfrei durch.


\documentclass[
headsepline,
a4paper,
10pt
]{scrbook}

\usepackage[miktex]{gnuplottex}

\usepackage{epstopdf}

\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{siunitx}
\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}

%\newcommand{\grad}{\ensuremath{\circ}}

%
% 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.txt' using 1:2 title '$v(\lambda)$' with lines lw 2 lc 2 lt 1,\
'purkinje.txt' using 1:3 title '$v`(\lambda)$' with lines lw 2 lc 3 lt 1,\
'purkinje.txt' using 1:4 axes x1y2 title '$K(\lambda)$' with lines lw 2 lc 2 lt 2,\
'purkinje.txt' 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}

%
% Diagramm 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.txt' using 1:2 title '$\bar{r}(\lambda)$' with lines lw 2 lc 1,\
'rgb.txt' using 1:3 title '$\bar{g}(\lambda)$' with lines lw 2 lc 2,\
'rgb.txt' 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}

%
% Diagramm 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.txt' using 1:2 title '$\bar{x}(\lambda)$' with lines lw 2 lc 1,\
'xyz1931.txt' using 1:3 title '$\bar{y}(\lambda)$' with lines lw 2 lc 2,\
'xyz1931.txt' 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}

%
% Diagramm 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]
set xtics 300,100,900
set ytics 0,0.5,2
set mxtics 5
set mytics 2
plot 'xyz1931.txt' using 1:2 title '$\bar{x}(\lambda)$' with lines lw 2 lc 1,\
'xyz1931.txt' using 1:3 title '$\bar{y}(\lambda)$' with lines lw 2 lc 2,\
'xyz1931.txt' 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}

\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.txt' using 1:2 title '$\bar{x}_{10\degree}(\lambda)$' with lines lw 2 lc 1,\
'xyz1964.txt' using 1:3 title '$\bar{y}_{10\degree}(\lambda)$' with lines lw 2 lc 2,\
'xyz1964.txt' using 1:4 title '$\bar{z}_{10\degree}(\lambda)$' with lines lw 2 lc 3
\end{gnuplot}
\caption[CIE 1964 Normspektralwertfunktionen]{Die CIE 1964 Normspektralwertfunktionen}
\label{swfxyz64}
\end{figure}

\end {document}

Mein Profil Latex --> pdf:
--shell-escape --src -interaction=nonstopmode "%Wm" das enable write18 war nen Fehler von mir (das braucht man unter Linux, wenn ich nicht irre...)

Grüße
Stefan

scilicet
26-01-2011, 18:05
Hallo Stefan,

vielen Dank für deine Mühe!

Ich habe deinen Code durchlaufen lassen und es hat soweit funktioniert. So weit, so gut. :)

Jedoch musste ich die entstandenen *.gnuplot Dateien erneut manuell konvertieren.

"Package gnuplottex warning: Conversion of test-gnuplottex-fig1.gnuplot failed"
"Package gnuplottex warning: Please convert test-gnuplottex-fig1.gnuplot manuall"

(für die anderen vier Dateien äquivalent)

Nachdem ich die Dateien manuell umgewandelt hatte und TeX erneut ablaufen ließ, erschienen drei neue Fehler, in denen er mir mitteilte, dass er den Befehl "\degree" nicht kennt:
"!Undefined control sequence.
\degree ->\ERROR"

Die fünf Diagramme aus deinem Minimalbsp. waren jedoch alle in der fertigen *.pdf enthalten (bloß eben ohne das ° Zeichen im letzten Diagramm...)

Lag die Fehlermeldung mit den Klammern also an der Zeile "\newcommand{\grad}{\ensuremath{\circ}}" oder doch am units - Paket?

Grüße

Frank

Curryhunter
27-01-2011, 08:14
Mmmmh,
irgend etwas stimmt da immer noch nicht.
Deine Definition des Grad-Zeichen hab ich rausgenommen, da sie eine doppelte Hochstellung beinhaltet und daher nicht funktionieren kann. Es stand ja zum einen das ^-Zeichen in der Definition und dann noch einmal im Aufruf an der Stelle der Einheit. Der hierfür richtige Befehl \degree stammt aus dem siunitx-Paket, daher hab ich das eingebunden.
Solltest Dir sowieso überlegen dieses paket für SI-Einheiten zu nutzen (aber das nur am Rande).

Die Fehler, die dir nun noch angezeigt werden, kenne ich nicht.
Versuch bitte einmal, ob das von mir erstellte Beispiel läuft, wenn du das Paket siunitx installiert hast.

Grüße
Stefan

localghost
27-01-2011, 08:29
[…] Jedoch musste ich die entstandenen *.gnuplot Dateien erneut manuell konvertieren. […]
Öffne mal eine Kommandozeile (Eingabeaufforderung) und versuche von dort aus, gnuplot aufzurufen.


Thorsten

scilicet
27-01-2011, 09:57
Hallo,

jetzt bin ich total verwirrt!



Versuch bitte einmal, ob das von mir erstellte Beispiel läuft, wenn du das Paket siunitx installiert hast.


Ich habe dein Beispiel kompiliert (siunitx ist installiert) und erhielt erneut die Fehlermeldung, dass \degree nicht bekannt ist. Daraufhin habe ich das paket unit wieder mit aufgerufen, meine Grad - Definition wieder aktiviert und "\degree" durch "\grad" ersetzt und es hat fehlerfrei funktioniert!:confused:
Nur entspricht das dann meinem ursprünglichen Code, der anfangs nicht funktionierte. Wie kann das sein???

Und wie kann ich das dann auf mein eigentliches Dokument meiner Diplomarbeit anwenden? (Mir ist nicht so ganz klar, wo der eigentliche Fehler lag/liegt.)

Bzgl. des Aufrufs von Gnuplot:



Öffne mal eine Kommandozeile (Eingabeaufforderung) und versuche von dort aus, gnuplot aufzurufen.


Also aus der Eingabeaufforderung und aus dem "Ausführen" - Prompt heraus kann ich gnuplot starten. (wgnuplot.exe und gnuplot.exe)

Mal blöd gefragt: Muss ich TeX trotz des Paketes gnuplottex noch irgendwie mitteilen, wo die (w)gnuplot.exe liegt?

mfG

Frank

Curryhunter
27-01-2011, 10:03
keine Ahnung :(

hast du die von den diversen Durchläufen erstellten Hilfsdateien zwischendurch mal gelöscht? Oder sind die immer noch vorhanden?

scilicet
27-01-2011, 10:07
Nein, ich habe nichts gelöscht.

Curryhunter
27-01-2011, 10:10
mach mal folgendes:
pack mein Beispielcode in ein neues Verzeichnis (nur die .tex-datei mit den Wertedateien) und lass dann den Code noch einmal durchlaufen.

Ich denke, dass mittlerweile verschiedene alte Hilfsdateien in Deinem Verzeichnis drin sind und diese den Fehler mal verursachen und mal nicht.

Grüße
Stefan

rstuby
27-01-2011, 10:11
Dann mach das mal. Die Hilfsdateien, die von selber erscheinen, sollte man ab und zu mal löschen, besonders wenn man Fehler behandelt.

scilicet
27-01-2011, 10:14
mach mal folgendes:
pack mein Beispielcode in ein neues Verzeichnis (nur die .tex-datei mit den Wertedateien) und lass dann den Code noch einmal durchlaufen.


Wenn ich das tue, beschwert er sich zunächst, dass ich die .gnuplot Dateien manuell umwandeln soll. Habe ich dies erledigt und kompiliere erneut kommen die drei Fehlermeldungen, dass er \degree nicht kennt.

mfG

Frank

Curryhunter
27-01-2011, 10:24
Da drehen wir uns wohl im Kreis :confused:


Wenn ich das tue, beschwert er sich zunächst, dass ich die .gnuplot Dateien manuell umwandeln soll. Habe ich dies erledigt und kompiliere erneut kommen die drei Fehlermeldungen, dass er \degree nicht kennt.

mfG

Frank

Das manuelle Umwandeln sollte durch den korrekten Aufruf von gnuplot nicht notwendig sein. Hast du mal auf einer Kommandozeile gnuplot aufgerufen? Funktioniert das?

Das \degree unbekannt ist, kann nur mit Deiner Paketversion von siunitx zusammenhängen, denke ich. Kannst du mal deine Paketversionen posten? (\listfiles vor documentclass einfügen, dann stehen in der .log-Datei die Paketversionen)

Grüße
Stefan

scilicet
27-01-2011, 11:05
Das manuelle Umwandeln sollte durch den korrekten Aufruf von gnuplot nicht notwendig sein. Hast du mal auf einer Kommandozeile gnuplot aufgerufen? Funktioniert das?


Wenn ich bei "ausführen" oder in der Eingabeaufforderung C:\Program Files\gnuplot\binary\wgnuplot.exe eintippe, startet gnuplot. (Geht auch mit gnuplot.exe) Muss ich TeX ggf. noch das Verzeichnis "C:\Program Files\gnuplot\binary\" mitteilen?



Das \degree unbekannt ist, kann nur mit Deiner Paketversion von siunitx zusammenhängen, denke ich. Kannst du mal deine Paketversionen posten? (\listfiles vor documentclass einfügen, dann stehen in der .log-Datei die Paketversionen)


Das Paket siunits ist aus 2010 (siehe logfile im Anhang: "Package: siunitx 2010/08/24 v2.0t A comprehensive (SI) units package")

mfG

Frank

Curryhunter
27-01-2011, 11:14
Wenn ich bei "ausführen" oder in der Eingabeaufforderung C:\Program Files\gnuplot\binary\wgnuplot.exe eintippe, startet gnuplot. (Geht auch mit gnuplot.exe) Muss ich TeX ggf. noch das Verzeichnis "C:\Program Files\gnuplot\binary\" mitteilen?

startet gnuplot auch, wenn du direkt in c: nur gnuplot eintippst? Wenn nciht, musst du Windows noch beibringen, dass der gnuplot-Pfad ein global anzuwendender Pfad ist (Stichwort PATH anpassen).

zu den paketversionen: Hab gerade festgestellt, das meine Version älter ist. Werde mal nachher updaten und mit der neuen Version testen.

Grüße
Stefan

localghost
27-01-2011, 11:24
Wenn ich bei "ausführen" oder in der Eingabeaufforderung C:\Program Files\gnuplot\binary\wgnuplot.exe eintippe, startet gnuplot. (Geht auch mit gnuplot.exe) Muss ich TeX ggf. noch das Verzeichnis "C:\Program Files\gnuplot\binary\" mitteilen? […]
Du solltest eigentlich nur gnuplot eingeben und prüfen, ob das funktioniert. Nichts anderes. Funktioniert das nicht, muss die Systemvariable PATH angepasst werden. Ich habe das mal an anderer Stelle beschrieben (Beitrag #9) [1]. Der erste Schritt kann dabei entfallen, weil mittlerweile gnuplot.exe existiert und die Umbenennung damit hinfällig ist.

[1] shell escape aus latex für gnuplot?? (http://www.mrunix.de/forums/showthread.php?t=58963)

scilicet
27-01-2011, 12:44
Hallo!

Juhu, jetzt klappt es! :D Endlich keine fehler und Warnungen mehr!;)

Ich habe gnuplot mit path verknüpft, die entsprechenden Einträge in die Ausgabeprofildefinition eingetragen und die entsprechenden gnuplottex - Aufrufe verwendet und jetzt funktioniert alles so, wie es soll!

Vielen Dank für eure tolle Unterstützung, ihr habt mir den Tag gerettet! ;)
Echt ein klasse Forum hier!

mfG

Frank

Curryhunter
27-01-2011, 13:12
Sehr schön, dass es nun klappt.

Ich möchte nur noch meinen "Fehler"mit dem \degree korrigieren: In der neuen siunitx-Fassung (2.1h) funktioniert \degree nur noch im normalen Aufruf der SI-Einheiten, also mit:
\SI{10}{\degree}
Dies ist wohl mit einer der neuen Versionen eingebaut worden.

Daher möchte ich Dir nur noch den Tipp mitgeben, Einheiten nicht mit units zu setzen, sondern mit dem deutlich aktuelleren siunitx.

Grüße
Stefan