將 xindy 與 MiKteX 一起使用(tex2xindy 似乎壞了)

將 xindy 與 MiKteX 一起使用(tex2xindy 似乎壞了)

我正在拼命嘗試將該xindy實用程式(v.2.5.1,打包於 2022-03-29)與imakeidxpackage 一起使用。 (順便說一句,我的目標是使用 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運行or時會出現問題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) 可執行文件,它在路徑中。

相關內容