为 gnuplot epslatex 图定义本地图形路径

为 gnuplot epslatex 图定义本地图形路径

我无法包含存储在主 tex 子目录中的 gnuplot 图(epslatex 终端)。

以下是我在 gnuplot 中创建绘图的方法:

set datafile separator ","
set terminal epslatex input color size 3.2in,2.8in font 8 header \
   "\\scriptsize"

set out 'test.tex'
plot    "../data/points.csv"  using 22:$11 with lines title 'curve'
set out

因为我对许多不同的数据集使用了相同的 gnuplot 代码,所以我无法为输出分配一个唯一的名称而不是“test.tex”,而只能通过存储数据集的子目录来区分它们。

假设我的 main.tex 的子目录“subdir1”和“subdir2”中各有一组“test.tex”和“test.eps”。现在考虑以下内容不是工作最小示例:

\documentclass{scrbook}
\usepackage{graphicx}
\usepackage{epstopdf}

\begin{document}
  \input{./subdir1/test}
  \input{./subdir2/test}
\end{document}

这不起作用,因为 epslatex 终端写入

\put(0,0){\includegraphics{test}}

进入 test.tex,但它包含在主目录中。此外,我不能使用

\graphicspath{{./subdir1}{./subdir2}} 

因为所有具有相同名称的 .eps 文件都会混淆。

有没有办法在 \input{} 或 test.tex 内定义本地图形路径,或者至少在环境(本身可以包含在子浮点数中)内定义本地图形路径,我可以将 \input{} 命令放入其中?

到目前为止,我必须转到每个包含的 test.tex 并指定 test.eps 的确切路径,这很繁琐,因为每次我在 gnuplot 中重做绘图时,这个更正都会被覆盖。

答案1

{\graphicspath{{./subdir1/}} \input{./subdir1/test}} 

应该可以工作,在本地组中设置路径。请注意,在 graphicspath 中,路径组件必须始终以目录分隔符结尾(通常是/)。

相关内容