使用 \include 和更高级别的目录时出错

使用 \include 和更高级别的目录时出错

我在子文件夹中有许多单独的文档,每个\include文档在父目录中都是一个包含宏的 *.tex 文件。上次我编译这些文件时,大约 10 年前,在 PC 上使用 MikTeX,这很顺利。现在我在 Mac 上使用 TeXShop,出现了错误。

以下是 MWE:

\documentclass{report}

\include{../mwe_macros}

\begin{document}

    Main file

\end{document}  

的内容mwe_macros.tex,位于父目录中:

\usepackage{graphicx}

这是控制台窗口,其中包含错误消息:

在此处输入图片描述

有什么建议吗?谢谢。

答案1

\include实际上是用于包含文档的块,您可能希望在处理它们时单独编译它们,例如作为书籍一部分的章节。因此,它是为这种情况设计的,并且带有某些限制。它不应在序言中使用,它不能嵌套等等。

\input旨在更通用的情况下读取文件。它不能以相同的方式用于支持文档部分的独立编译,但它不受\include诸如可以嵌套之类的限制。

与 不同\include\input不会将任何文件写入包含文件的目录。这意味着您可以写入\input不在工作目录或工作目录子目录中的文件,而不会违反默认设置(通常阻止写入工作目录上方的目录)。虽然这些设置可以更改,但不建议这样做,因为该设置旨在缓解潜在的安全问题。

因此,\input在这种情况下更合适、更直接,并且不会导致因(误)使用而引起的错误\include

\documentclass{report}

\input{../mwe_macros}

\begin{document}

    Main file

\end{document}  

相关内容