Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Possible Duplicate:
Gnuplot subdirectory not found using epstopdf

Hello i have been folowing a procedure to insert a high quality graph into my document using gnuplot 4.6. This is what i did step by step:

  1. i created a sample.gp file with a source code as follows:

    set terminal epslatex
    set output 'test.tex'
    f(x) = sin(x)
    plot f(x)
    
  2. i converted source file using gnuplot sample.gp and got 2 files named test.eps and test.tex.

  3. But .eps format doesnt suit me as i want to compile a Latex document using PDFLatex. this is why i used ghostscript command ps2pdf13 -dEPSCrop test.eps test.pdf to produce a PDF file test.pdf.

  4. I included my test.tex into a latex document using a line of code \input{test.tex}

After compiling with PDFLatex i get an error:

test.tex:96:File 'test' not found, \put(0,0){\includegraphics{test}}

I am confused, because picture test.pdf is in the same folder as test.tex, but both are in a subfolder "pictures" of my root Latex folder.

Well here is the source code for test.tex that gnuplot produces. I hope it helps. The line that reports error is near the end of the file.

% 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
share|improve this question

marked as duplicate by Ian Thompson, Marco Daniel, percusse, Claudio Fiandrino, zeroth Sep 22 '12 at 7:19

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

1  
I would use pgfplots. It has a gnuplot command that can call scripts. Gnuplot then returns a .table file that is then plotted by pgfplots. –  Martin H Aug 30 '12 at 11:45
add comment

1 Answer 1

up vote 1 down vote accepted

After doing some research i found that test.tex produced by gnuplot holds a line \put(0,0){\includegraphics{test}}% which was suppose to include the test.pdf image.

I thought that if a command \includegraphics{test} is used in a test.tex destination of test.pdf would be relative to the destination of test.tex which is in a subfolder "pictures" of my root Latex folder.

But because i used a command \input{./pictures/test} inside my main Latex document, command \includegraphics{test} destinations inside it become relative to my root Latex folder.

Soo i could easily fix the problem modifying a line inside test.tex into a \put(0,0)\includegraphics{./pictures/test}.

share|improve this answer
1  
Now i wonder, is there a Latex command like \input which doesn't change relative adressing inside inputted file? –  71GA Aug 30 '12 at 11:43
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.