帶有 epslatex 終端的 Gnuplot

帶有 epslatex 終端的 Gnuplot

可能的重複:
使用 epstopdf 找不到 Gnuplot 子目錄

您好,我一直在遵循使用 gnuplot 4.6 將高品質圖表插入我的文件中的流程。這就是我一步一步所做的:

  1. 我創建了一個sample.gp文件,其原始碼如下:

    set terminal epslatex
    set output 'test.tex'
    f(x) = sin(x)
    plot f(x)
    
  2. 我使用轉換原始檔gnuplot sample.gp並得到了 2 個名為測試.eps測試文件

  3. .eps格式不適合我,因為我想使用 PDFLatex 編譯 Latex 文件。這就是為什麼我使用 Ghostscript 命令ps2pdf13 -dEPSCrop test.eps test.pdf來產生 PDF 文件測試.pdf

  4. 我包括了我的測試文件使用一行程式碼進入乳膠文檔\input{test.tex}

使用 PDFLatex 編譯後出現錯誤:

test.tex:96: 找不到檔案“測試”,\put(0,0){\includegraphics{test}}

我很困惑,因為圖片測試.pdf與以下內容位於同一資料夾中測試文件,但兩者都位於我的 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將相對於目的地測試文件它位於我的 Latex 根資料夾的子資料夾「圖片」中。

\input{./pictures/test}但因為我在主 Latex 文件中使用了命令,所以其中的命令\includegraphics{test}目的地變得相對於我的根 Latex 資料夾。

Soo我可以很容易地解決修改裡面的一行的問題測試文件變成\put(0,0)\includegraphics{./pictures/test}.

相關內容