让 xindy 从路径中包含变音符号的目录运行

让 xindy 从路径中包含变音符号的目录运行

我使用安装了 MiKTeX 的 Windows 10 设置,并尝试使用 xindy 生成索引(用于 tex4ebook 和helpers4ht包中)。xindy 脚本安装在以下位置:

C:\Users\Jürgen\AppData\Local\Programs\MiKTeX 2.9\scripts\xindy\xindy.pl

但是,当我尝试编译文件(通过 Windows 命令控制台)时,tex4ebook 脚本中断并显示以下错误消息:

xindy 错误

显然,xindy.pl 脚本无法处理我的用户名中的变音符号。有办法解决这个问题吗?

答案1

回顾一下,问题出现是因为 xindy.pl 脚本调用的 xindy_lisp.exe 可执行文件无法处理文件和目录名称中的变音符号(或者可能是其他特殊字符)。这篇文章对我来说是个问题,因为我的用户名是“Jürgen”,所以我的许多文件和应用程序都位于我的“C:\Users\Jürgen”文件夹中

此外,即使我从“C:\Users\Jürgen”文件中删除了 MiKTeX 安装和测试 .tex 文件,问题仍然存在。按照我在这里收到的建议后,我检查了我的环境变量,发现 HOMEPATH 和 LOCALAPPDATA 都使用了“\Users\Jürgen”,而 xindy_lisp.exe 不知何故尝试访问这两个目录之一或两个目录但失败了(即使那里没有任何相关内容)。

因此,我需要更改这些环境变量。但是,由于我不知道其他哪些软件使用了这些变量,因此我希望原始目录仍然可访问。因此,我决定设置一个硬符号链接。在 Windows 终端中:

mklink /J C:\User_Juergen C:\Users\Jürgen

这还有一个额外的好处,就是使得 xindy-lisp.exe 可以访问我 Google Drive 中的 .tex 文件,因为我的 Google Drive 文件夹也在我的 C:\Users\Jürgen 层次结构中。

因此,我设置了 HOMEPATH="\User_Juergen" 和 LOCALAPPDATA="C:\User_Juergen\AppData\Local",xindy-lisp.exe 就不再引发问题了。

感谢所有帮助我解决这个问题的人!

相关内容