\包括在 Mac 上工作,但不在 Windows 上工作

\包括在 Mac 上工作,但不在 Windows 上工作

我正在处理一个大型 LaTeX 文档(论文),它被分解为多个 .tex 文件,因此我只需要编译一个使用 \include 的 thesismain.tex 文件。在 MacBook 上,编译过程很顺利。然而,在 Win10 机器上复制整个文件夹会导致系统性“文件未找到”错误,尽管文件也已复制。

我把问题缩小到以下几点:我的主文件中的文件路径都包含字母“ô”。当我在 tex 文件中点击删除键时,无论是在 Mac 还是 Windows 上,奇怪的是这个字母“ô”并没有整体消失;首先是 ^ 消失了,我必须再次按下该键才能让 o 消失。如果我再次输入“ô”,那么它会在一次击键中被删除。将“两部分”的 ô 替换为“一部分”的 ô 后,文件未找到问题就解决了。然而,这个伪解决方案

  • 是非常不切实际的,因为在某个时候会导入很多很多的文件(请注意,使用 \includegraphics 时问题仍然存在,解决办法也是一样的)。
  • 并没有解释问题从何而来,也没有防止问题再次发生。

有没有更准确的线索可以告诉我到底发生了什么,以及我该如何解决这个问题?谢谢!

答案1

这个答案只是猜测,因为我无法检查......但无论如何。

一些重音字符(至少是最常见的重音字符)可以用两种不同的方式表示:作为单个代码点或作为一对代码点:普通元音(在本例中)加上组合重音。

理论上,每个应用程序都应该使用最紧凑的方式,但具体怎么做则取决于编辑器、文件系统等。例如,类 Unix 文件系统将使用文件名作为输入,不进行任何处理,并且会认为两个文件具有不同的编码。我不知道 Mac 或 Windows 文件系统会怎么做。

似乎文件或文件系统中混合了这两种表示形式。如果在文件中,应该有一种方法可以告诉编辑器使用规范化编码来避免这种情况。

https://unicode.org/faq/char_combmark.htmlhttps://unicode.org/faq/normalization.html了解更多信息。

所以是的,这确实很乱...我通常会尽量避免在文件和目录名中使用非 ASCII 字符(还有空格...还有冒号,:这些在大多数文件系统上都是合法的,但在某些 Windows 上却不合法...请参阅https://superuser.com/a/748264为最小公分母)。

另一方面,不必担心 / 与 \ 的问题,LaTeX 对所有内容都使用第一个……即使在 Windows 上。

相关内容