pdflatex 指定输出目录未在子目录中找到图像

pdflatex 指定输出目录未在子目录中找到图像

我的项目根目录位于名为的目录中tex。此目录包含几个用于不同章节的子目录:

$ tree
.
└── tex
    ├── root.tex
    └── sub
        ├── chapter.tex
        └── image.png

这些文件包含:

根目录

\documentclass[a4paper,10pt]{scrartcl}
\usepackage{graphicx}
\usepackage[utf8]{inputenc}

\begin{document}

\graphicspath{{sub/}}
\input{sub/chapter.tex}

\end{document}

子/章节.tex

\includegraphics{image.png}

当我cd tex通过构建项目时pdflatex root.tex,一切都正常。但是,当我想通过选项从其他地方构建项目时,-output-directory它不起作用。当我在父目录中tex运行时pdflatex -output-directory tex root.tex,它似乎找不到图像:

! Package pdftex.def Error: File `sub/image.png' not found.

然而man pdflatex我读到的是:

-output-directory 目录 将输出文件写入目录而不是当前目录。首先在目录中查找输入文件,然后沿着正常搜索路径。

第二部分建议directory也用于搜索与其相关的输入文件。sub/image.png存在于tex所以我不明白为什么它找不到图像。

答案1

尝试使用 包含文件\input{../tex/sub/chapter.tex},这样可以向上移动一个目录,然后向下移动同一个目录。这应该可以确保文件是相对于主 tex 文件而不是pdflatex运行命令的目录来查找的,谁知道那是在哪里……

一定要包含.tex扩展名!在我的例子中,这是一个断点,没有扩展名(通常包含文件的方式),它就无法工作。

有关此主题的更多信息,请访问输入文件夹

PS 如果您在像 Travis 这样的持续集成服务器上工作,您可以先更改工作目录,然后文件包含即可正常工作。

相关内容