Возможный дубликат:
Подкаталог Gnuplot не найден с помощью epstopdf
Здравствуйте, я следовал процедуре вставки высококачественного графика в мой документ с помощью gnuplot 4.6. Вот что я сделал пошагово:
Я создал
sample.gp
файл с исходным кодом следующего вида:set terminal epslatex set output 'test.tex' f(x) = sin(x) plot f(x)
Я преобразовал исходный файл с помощью
gnuplot sample.gp
и получил 2 файла с именамитест.epsитест.текс.Но.epsФормат мне не подходит, так как я хочу скомпилировать документ Latex с помощью PDFLatex. Вот почему я использовал команду ghostscript
ps2pdf13 -dEPSCrop test.eps test.pdf
для создания файла PDF.тест.pdf.Я включил свойтест.тексв латексный документ с помощью строки кода
\input{test.tex}
После компиляции с помощью PDFLatex я получаю ошибку:
test.tex:96:Файл 'test' не найден, \put(0,0){\includegraphics{test}}
Я в замешательстве, потому что картинкатест.pdfнаходится в той же папке, что итест.текс, но оба находятся в подпапке "pictures" моей корневой папки Latex.
Ну вот исходный код длятест.тексчто выдает gnuplot. Надеюсь, это поможет. Строка, сообщающая об ошибке, находится ближе к концу файла.
% 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
решение1
Проведя небольшое исследование, я обнаружил, чтотест.текссозданный gnuplot содержит строку \put(0,0){\includegraphics{test}}%
, которая должна была включатьтест.pdfизображение.
Я думал, что если команда \includegraphics{test}
используется втест.текспункт назначениятест.pdfбудет относительно пункта назначениятест.текскоторый находится в подпапке "pictures" моей корневой папки Latex.
Но поскольку я использовал команду \input{./pictures/test}
внутри моего основного документа Latex, \includegraphics{test}
назначения команд внутри него стали относительными к моей корневой папке Latex.
Так что я мог бы легко решить эту проблему, изменив строку внутритест.тексв \put(0,0)\includegraphics{./pictures/test}
.