Gnuplot epslatex输出路径问题:\includegraphics含多余相对路径
Gnuplot epslatex终端相对路径输出的引用问题
用Gnuplot的epslatex终端输出带相对路径的文件时,会出现一个问题:如果把.tex和.eps文件指定保存到上级两级目录,比如这么写:
set terminal epslatex color size 6, 3 # 其他绘图配置 set output "../../filename.tex" # 执行绘图
生成的../../filename.tex里,\includegraphics命令会带着同样的相对路径:
% ... \put(0,0){\includegraphics{../../filename}}% % ...
但实际上tex和eps文件已经在../../目录了,LaTeX编译时会从这个目录再往上两级找文件,自然找不到目标eps。
两种临时解决办法
方法1:用终端的file参数单独指定图形名
设置终端时,通过file选项指定eps文件的名称(不带路径),这样生成的tex文件里的引用就只会用这个文件名,不会带路径:
set terminal epslatex color size 6, 3 file "filename" set output "../../filename.tex" # 绘图命令
这样生成的tex文件里的引用就变成:
\put(0,0){\includegraphics{filename}}%
eps文件也会和tex一起存到../../目录,路径完全正确。
方法2:先在当前目录生成,再移动文件
先在当前目录生成tex和eps,之后用命令行把两个文件移到目标目录:
set terminal epslatex color size 6, 3 set output "filename.tex" # 绘图命令 set output # 关闭输出文件
然后执行移动命令:
mv filename.tex filename.eps ../../
因为两个文件在同一目录,tex里的\includegraphics{filename}引用完全正常。
功能改进建议
希望Gnuplot后续版本能支持分开设置:一个参数指定文件保存的路径,另一个参数指定LaTeX引用时用的文件名,从根源上避免这种相对路径导致的引用错误。
内容的提问来源于stack exchange,提问作者Alberto López
相关产品推荐
相关产品推荐

