我无法包含存储在主 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 中,路径组件必须始终以目录分隔符结尾(通常是/
)。