为什么 /includegraphics 在进程中运行时找不到图像

为什么 /includegraphics 在进程中运行时找不到图像

我有一个tex文件,其中包含\includegraphics一个图像,位于同一目录中。如果运行该文件,texstudio则会包含该图像。

如果在从程序启动的进程中运行同一个文件,则找不到该文件。如果地址是完整路径,则可以找到它,但找不到相对路径(相对于文件tex,如)\includegraphics{DSC08138.JPG}。这是什么原因造成的?

lualatex使用参数调用,-interaction=nonstopmode --output-directory=dir1 filename.tex其中 是存储图像的dir1目录。filename.tex

代码的相关部分是:

putIOwords ["writePDF2text 1 infn", showT infn]
let dir1 = getParentDir fnres :: FilePath
let out1 = "--output-directory=" <> (dir1)
putIOwords ["writePDF2text 2 out1", showT out1]
callIO $ Sys.callProcess
    "lualatex"
    [out1, "-interaction=nonstopmode", toFilePath infn]

答案1

您的程序应该从 filename.tex 所在的目录启动,或者cd在运行 lualatex 之前应该执行(更改目录)到该目录(变量 dir1)(luatex 没有“--input-directory”开关)。

抱歉,我不认识该代码示例(Basic-ish?),所以我现在无法展示确切的修复方法。

如果它是“DOS”样式的批处理脚本,那么该cd命令就是您想要的。

相关内容