您好,我一直在按照程序使用 gnuplot 4.6 将高质量图表插入我的文档中。以下是我一步步执行的操作:
我创建了一个
sample.gp
文件,其源代码如下:set terminal epslatex set output 'test.tex' f(x) = sin(x) plot f(x)
我使用转换源文件
gnuplot sample.gp
并得到 2 个名为的文件测试.eps和测试.tex。但.eps格式不适合我,因为我想使用 PDFLatex 编译 Latex 文档。这就是我使用 ghostscript 命令
ps2pdf13 -dEPSCrop test.eps test.pdf
生成 PDF 文件的原因测试.pdf。我包括我的测试.tex使用一行代码写入乳胶文档
\input{test.tex}
使用 PDFLatex 编译后我收到一个错误:
test.tex:96:未找到文件“test”,\put(0,0){\includegraphics{test}}
我很困惑,因为图片测试.pdf与以下文件夹位于同一文件夹中测试.tex,但两者都位于我的根 Latex 文件夹的子文件夹“图片”中。
这是源代码测试.texgnuplot 生成的。希望对您有帮助。报告错误的行位于文件末尾附近。
% 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
经过一番研究我发现测试.texgnuplot 生成的一行\put(0,0){\includegraphics{test}}%
应该包括测试.pdf图像。
我认为如果\includegraphics{test}
在测试.tex目的地测试.pdf相对于目的地测试.tex它位于我的根 Latex 文件夹的子文件夹“图片”中。
\input{./pictures/test}
但是因为我使用了主 Latex 文档中的命令,\includegraphics{test}
所以其中的命令目标变为相对于我的根 Latex 文件夹。
所以我可以轻松修复修改里面一行的问题测试.tex变成\put(0,0)\includegraphics{./pictures/test}
。