Mögliches Duplikat:
Gnuplot-Unterverzeichnis mit epstopdf nicht gefunden
Hallo, ich habe ein Verfahren befolgt, um mit Gnuplot 4.6 ein qualitativ hochwertiges Diagramm in mein Dokument einzufügen. So habe ich es Schritt für Schritt gemacht:
ich habe eine
sample.gp
Datei mit einem Quellcode wie folgt erstellt:set terminal epslatex set output 'test.tex' f(x) = sin(x) plot f(x)
Ich konvertierte die Quelldatei mit
gnuplot sample.gp
und erhielt 2 Dateien mit dem Namentest.epsUndtest.tex.Aber.epsDas Format passt nicht zu mir, da ich ein Latex-Dokument mit PDFLatex kompilieren möchte. Aus diesem Grund habe ich den Ghostscript-Befehl verwendet,
ps2pdf13 -dEPSCrop test.eps test.pdf
um eine PDF-Datei zu erstellentest.pdf.Ich habe meinetest.texin ein Latex-Dokument mithilfe einer Codezeile
\input{test.tex}
Nach dem Kompilieren mit PDFLatex erhalte ich eine Fehlermeldung:
test.tex:96:Datei „test“ nicht gefunden, \put(0,0){\includegraphics{test}}
Ich bin verwirrt, denn Bildtest.pdfbefindet sich im selben Ordner wietest.tex, aber beide befinden sich in einem Unterordner „Bilder“ meines Stammordners Latex.
Hier ist der Quellcode fürtest.texdas Gnuplot erzeugt. Ich hoffe, es hilft. Die Zeile, die den Fehler meldet, befindet sich nahe dem Ende der Datei.
% GNUPLOT: LaTeX picture with Postscript
\begingroup
\makeatletter
\providecommand\color[2][]{%
\GenericError{(gnuplot) \space\space\space\@spaces}{%
Package color not loaded in conjunction with
terminal option `colourtext'%
}{See the gnuplot documentation for explanation.%
}{Either use 'blacktext' in gnuplot or load the package
color.sty in LaTeX.}%
\renewcommand\color[2][]{}%
}%
\providecommand\includegraphics[2][]{%
\GenericError{(gnuplot) \space\space\space\@spaces}{%
Package graphicx or graphics not loaded%
}{See the gnuplot documentation for explanation.%
}{The gnuplot epslatex terminal needs graphicx.sty or graphics.sty.}%
\renewcommand\includegraphics[2][]{}%
}%
\providecommand\rotatebox[2]{#2}%
\@ifundefined{ifGPcolor}{%
\newif\ifGPcolor
\GPcolorfalse
}{}%
\@ifundefined{ifGPblacktext}{%
\newif\ifGPblacktext
\GPblacktexttrue
}{}%
% define a \g@addto@macro without @ in the name:
\let\gplgaddtomacro\g@addto@macro
% define empty templates for all commands taking text:
\gdef\gplbacktext{}%
\gdef\gplfronttext{}%
\makeatother
\ifGPblacktext
% no textcolor at all
\def\colorrgb#1{}%
\def\colorgray#1{}%
\else
% gray or color?
\ifGPcolor
\def\colorrgb#1{\color[rgb]{#1}}%
\def\colorgray#1{\color[gray]{#1}}%
\expandafter\def\csname LTw\endcsname{\color{white}}%
\expandafter\def\csname LTb\endcsname{\color{black}}%
\expandafter\def\csname LTa\endcsname{\color{black}}%
\expandafter\def\csname LT0\endcsname{\color[rgb]{1,0,0}}%
\expandafter\def\csname LT1\endcsname{\color[rgb]{0,1,0}}%
\expandafter\def\csname LT2\endcsname{\color[rgb]{0,0,1}}%
\expandafter\def\csname LT3\endcsname{\color[rgb]{1,0,1}}%
\expandafter\def\csname LT4\endcsname{\color[rgb]{0,1,1}}%
\expandafter\def\csname LT5\endcsname{\color[rgb]{1,1,0}}%
\expandafter\def\csname LT6\endcsname{\color[rgb]{0,0,0}}%
\expandafter\def\csname LT7\endcsname{\color[rgb]{1,0.3,0}}%
\expandafter\def\csname LT8\endcsname{\color[rgb]{0.5,0.5,0.5}}%
\else
% gray
\def\colorrgb#1{\color{black}}%
\def\colorgray#1{\color[gray]{#1}}%
\expandafter\def\csname LTw\endcsname{\color{white}}%
\expandafter\def\csname LTb\endcsname{\color{black}}%
\expandafter\def\csname LTa\endcsname{\color{black}}%
\expandafter\def\csname LT0\endcsname{\color{black}}%
\expandafter\def\csname LT1\endcsname{\color{black}}%
\expandafter\def\csname LT2\endcsname{\color{black}}%
\expandafter\def\csname LT3\endcsname{\color{black}}%
\expandafter\def\csname LT4\endcsname{\color{black}}%
\expandafter\def\csname LT5\endcsname{\color{black}}%
\expandafter\def\csname LT6\endcsname{\color{black}}%
\expandafter\def\csname LT7\endcsname{\color{black}}%
\expandafter\def\csname LT8\endcsname{\color{black}}%
\fi
\fi
\setlength{\unitlength}{0.0500bp}%
\begin{picture}(7200.00,5040.00)%
\gplgaddtomacro\gplbacktext{%
\csname LTb\endcsname%
\put(462,440){\makebox(0,0)[r]{\strut{} 0}}%
\put(462,1307){\makebox(0,0)[r]{\strut{} 1}}%
\put(462,2174){\makebox(0,0)[r]{\strut{} 2}}%
\put(462,3041){\makebox(0,0)[r]{\strut{} 3}}%
\put(462,3908){\makebox(0,0)[r]{\strut{} 4}}%
\put(462,4775){\makebox(0,0)[r]{\strut{} 5}}%
\put(594,220){\makebox(0,0){\strut{} 0}}%
\put(1836,220){\makebox(0,0){\strut{} 2}}%
\put(3078,220){\makebox(0,0){\strut{} 4}}%
\put(4319,220){\makebox(0,0){\strut{} 6}}%
\put(5561,220){\makebox(0,0){\strut{} 8}}%
\put(6803,220){\makebox(0,0){\strut{} 10}}%
}%
\gplgaddtomacro\gplfronttext{%
\csname LTb\endcsname%
\put(5816,4602){\makebox(0,0)[r]{\strut{}f(x)}}%
}%
\gplbacktext
\put(0,0){\includegraphics{test}}%
\gplfronttext
\end{picture}%
\endgroup
Antwort1
Nach einigen Recherchen fand ich heraus, dasstest.texvon gnuplot erzeugt enthält eine Zeile \put(0,0){\includegraphics{test}}%
, die eigentlich enthalten sollte dietest.pdfBild.
Ich dachte, wenn ein Befehl \includegraphics{test}
in einemtest.texZiel vontest.pdfwäre relativ zum Ziel vontest.texdas sich in einem Unterordner „Bilder“ meines Stammordners Latex befindet.
Da ich jedoch einen Befehl \input{./pictures/test}
in meinem Haupt-Latex-Dokument verwendet habe, \includegraphics{test}
werden die darin enthaltenen Befehlsziele relativ zu meinem Stamm-Latex-Ordner.
Soo, ich könnte das Problem leicht beheben, indem ich eine Zeile darin änderetest.texin ein \put(0,0)\includegraphics{./pictures/test}
.