.png)
Estoy intentando desesperadamente utilizar la xindy
utilidad (v. 2.5.1, empaquetada el 29 de marzo de 2022) con el imakeidx
paquete. (Por cierto, mi objetivo es utilizar XeLaTeX, con la intención de crear varios índices utilizando también escrituras no latinas).
EDITAR:Todas las preguntas relativas en TeX.SE y otros foros están obsoletas y las soluciones propuestas no me funcionan.
El lado LaTeX funciona bien, y en el caso (muy) 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}
Obtengo el .idx
archivo esperado, que consiste en:
\indexentry{a}{1}
\indexentry{b}{1}
El problema ocurre cuando ejecuto texindy
o xindy
, que nunca crea un archivo adecuado .idn
, lo máximo que puedo obtener es un índice vacío.
El comando :
`texindy.exe -d script -d keep_tmpfiles -d level=3 -C utf8 -L french -I latex -t testxindy.ilg testxindy.idx`
no hace nada excepto 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
Ejecutar este comando (ya sea que anteponga perl
y solucione el problema de space_in_path de varias maneras) no funciona. Pero llamando xindy.exe
con los argumentos citados anteriormente:
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
proporciona un montón de información, de las cuales las líneas relevantes son:
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
Mi conclusión es quela tex2xindy.exe
utilidad no funciona. Cómo arreglar esto ?
Con algunas variaciones del comando, o la versión editada de los scripts de Perl, se crea el archivo temporal "2iExgBvNHa", pero permanece vacío y obtengo un .idn
archivo que contiene solo:
\begin{theindex}
\providecommand*\lettergroupDefault[1]{}
\providecommand*\lettergroup[1]{%
\par\textbf{#1}\par
\nopagebreak
}
\end{theindex}
Estoy ejecutando una distribución MiKTeX actualizada en Windows 10 (x64), los componentes `xindy` están aquí:
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
y tengo unejecutable compacto perl.exe (v5), que está en el camino.