我正拼命尝试使用该xindy
实用程序(v. 2.5.1,打包于 2022-03-29)和软件包imakeidx
。(顺便说一句,我的目标是使用 XeLaTeX,意图使用非拉丁文字创建多个索引)。
编辑:TeX.SE 和其他论坛上的所有相关问题都已过时,他们提出的解决方案对我来说不起作用。
LaTeX 方面运行良好,在(非常)最小的情况下:
\documentclass{article}
\usepackage{fontspec} % with XeLaTeX
\usepackage[xindy]{imakeidx}
\makeindex[program=texindy,options= -L french -C utf8]
\begin{document}
A \TeX\index{a} test\index{b}
\printindex
\end{document}
我得到了预期的.idx
文件,包括:
\indexentry{a}{1}
\indexentry{b}{1}
texindy
运行或时出现问题xindy
,它们从未创建适当的.idn
文件,我能得到的最大值是一个空索引。
命令 :
`texindy.exe -d script -d keep_tmpfiles -d level=3 -C utf8 -L french -I latex -t testxindy.ilg testxindy.idx`
除了打印之外不做任何事情:
Calling xindy as: C:/Program Files/MiKTeX/scripts/xindy/xindy.pl -d script -d keep_tmpfiles -d level=2 -t testxindy.ilg -L french -C utf8 -M tex/inputenc/utf8 -M texindy -M page-ranges -M word-order -I latex testxindy.idx
运行此命令(无论我是否perl
以各种方式添加并修复 space_in_path 问题)均不起作用。但xindy.exe
使用上面引用的参数进行调用:
xindy.exe -d script -d keep_tmpfiles -d level=2 -C utf8 -t testxindy.ilg -L french -M texindy -M page-ranges -M word-order -I latex -t testxindy.ilg testxindy.idx
给出了一堆信息,其中相关的行是:
concatenated xindy input file: "FXFmfaN5Gb"
Running filter: "C:/Program Files/MiKTeX/scripts/xindy/../../miktex/bin/x64/internal/tex2xindy" <"FXFmfaN5Gb" >"2iExgBvNHa"
filtered xindy input file: "2iExgBvNHa"
Found language module C:/Program Files/MiKTeX/xindy/modules/lang/french/utf8-lang.xdy
xindy startup file: "wYayV891eS"
modules directory: C:/Program Files/MiKTeX/xindy/modules.
command: C:/Program Files/MiKTeX/scripts/xindy/../../miktex/bin/x64/internal/xindy-lisp.exe -M C:/Program Files/MiKTeX/scripts/xindy/../../miktex/bin/x64/internal/xindy.mem -E iso-8859-1 "wYayV891eS"
Opening logfile "testxindy.ilg" (done)
Reading indexstyle...
Loading module "lKuqmNCawW"...
... *(other modules)*
Finished reading indexstyle.
Finalizing indexstyle... (done)
Reading raw-index "2iExgBvNHa"...
ERROR: LOAD: A file with name 2iExgBvNHa does not exist
我的结论是该tex2xindy.exe
实用程序不起作用。如何修复?
通过命令的一些变化或 perl 脚本的编辑版本,临时的“2iExgBvNHa”文件被创建但保持为空,并且我得到一个.idn
仅包含以下内容的文件:
\begin{theindex}
\providecommand*\lettergroupDefault[1]{}
\providecommand*\lettergroup[1]{%
\par\textbf{#1}\par
\nopagebreak
}
\end{theindex}
我在 Windows 10(x64) 下运行最新的 MiKTeX 发行版,“xindy”组件在这里:
C:\Program Files\MiKTeX\scripts\xindy : the perl scripts texindy.pl, xindy.pl
C:\Program Files\MiKTeX\miktex\bin\x64 : texindy.exe, xindy.exe, apparently wrappers to the formers
C:\Program Files\MiKTeX\miktex\bin\x64\internal : tex2xindy.exe, xindy.mem, xindy-lisp.exe
C:\Program Files\MiKTeX\xindy\modules : the folders of modules
我有一个紧凑型 perl.exe (v5) 可执行文件,位于路径中。