.png)
Estou tentando desesperadamente usar o xindy
utilitário (v. 2.5.1, empacotado em 29/03/2022) com o imakeidx
pacote . (Aliás meu objetivo é usar XeLaTeX, com a intenção de criar vários índices usando também scripts não latinos).
EDITAR:Todas as questões relativas no TeX.SE e outros fóruns estão obsoletas e as soluções propostas não funcionam para mim.
O lado LaTeX funciona bem e no caso (muito) mínimo:
\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}
Eu recebo o .idx
arquivo esperado, consistindo em:
\indexentry{a}{1}
\indexentry{b}{1}
O problema ocorre ao executar texindy
or xindy
, que nunca cria um arquivo adequado .idn
, o máximo que consigo é um índice vazio.
O comando :
`texindy.exe -d script -d keep_tmpfiles -d level=3 -C utf8 -L french -I latex -t testxindy.ilg testxindy.idx`
não faz nada exceto imprimir:
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
Executar este comando (independentemente de eu acrescentar perl
e corrigir o problema de space_in_path de várias maneiras) não funciona. Mas chamando xindy.exe
com os argumentos citados acima:
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
fornece um monte de informações, das quais as linhas relevantes são:
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
Minha conclusão é queo tex2xindy.exe
utilitário não funciona. Como consertar isto ?
Com algumas variações do comando, ou versão editada dos scripts perl, o arquivo temporário "2iExgBvNHa" é criado, mas permanece vazio, e recebo um .idn
arquivo contendo apenas:
\begin{theindex}
\providecommand*\lettergroupDefault[1]{}
\providecommand*\lettergroup[1]{%
\par\textbf{#1}\par
\nopagebreak
}
\end{theindex}
Estou executando uma distribuição MiKTeX atualizada no Windows 10 (x64), os componentes `xindy` estão aqui:
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
e eu tenho umexecutável perl.exe compacto (v5), que está no caminho.