Makeindex 警告

Makeindex 警告

运行过程中\makeglossaries我收到警告:

进程已启动:makeglossaries“设置”

makeglossaries 版本 2.12(2014-01-20)添加了词汇表类型“main”(glg、gls、glo)makeindex -s“settings.ist”-t“settings.glg”-o“settings.gls”“settings.glo”

警告:无法分叉“makeindex”:文件描述符错误,不重定向重试。这是 makeindex,版本 2.15 [MiKTeX 2.9](kpathsea + 泰语支持)。扫描样式文件 C:/Users/asus/Downloads/settings.ist................................完成(重新定义 29 个属性,忽略 0 个属性)。扫描输入文件 settings.glo....完成(接受 1 个条目,拒绝 0 个条目)。排序条目...完成(0 次比较)。生成输出文件 settings.gls....完成(写入 6 行,0 个警告)。输出写入 settings.gls。抄录写入 settings.glg。

进程正常退出

\documentclass{article}

\usepackage{glossaries}
\makeglossaries

\newglossaryentry{gloss}{
name=glossaries,
description=A package for generating glossaries in many styles
}

\begin{document}
\texttt{\gls{gloss}} is a great package!ds
\printglossaries
\end{document}

如何避免这个警告?

我的设置有什么问题?

答案1

简短回答:

这不是错误,也不是您的设置有问题。您使用的操作系统不支持 的makeglossaries首选运行makeindex/方法xindy,因此它改用平台无关方法。下一个版本glossaries(4.04) 将包含一个新版本makeglossaries(2.14),它将具有一个新-Q开关,您可以使用它来抑制警告。(我计划在未来几天将新版本上传到 CTAN,但我需要先对用户指南进行一些修改。)

技术答案:

makeglossaries尝试通过使用管道重定向分叉应用程序来运行makeindex/ 。这样做有两个原因:xindy2>&1 |

  1. makeindex/xindy不要将所有错误消息都放在记录文件中。此方法会抓取标准输出流中的消息和标准错误流中的错误,以便makeglossaries检查常见错误并提供建议的修复方法。
  2. makeglossaries这是使选项-q正常工作的唯一方法。

并非所有操作系统都支持这种运行应用程序的方法,因此,如果这种方法失败,makeglossaries则会采用更简单的方式运行应用程序,然后再解析记录文件,但这意味着如果出现问题,您将不会收到那么多诊断消息,并且该-q选项可能不会像您预期的那样安静。

但是,如果makeindex/xindy运行成功并且您不介意抑制他们的消息,那么您不必担心这一点。

更新:

我已将glossaries版本 4.04 上传到 CTAN。它有新版本makeglossaries2.14,提供了两个新开关:(-Q抑制此警告)和-k(防止makeglossaries尝试管道重定向方法,因此它只会尝试独立于平台的方法)。我还添加了一些诊断检查。

相关内容