
El paquete estándar makeidx
escribe ind
/ idx
en el archivo de representación interno de LaTeX. El index
paquete escribe en utf-8 y funciona bien con las book
clases article
estándar report
. Pero al intentar utilizar el index
paquete con memoir
, el resultado sigue siendo el mismo que el del makeidx
paquete. ¿ makeidx
Se puede desactivar o anular la emulación con el index
paquete con memoir
?
Aquí hay un ejemplo mínimo:
\documentclass[a4paper,9pt]{memoir}
\usepackage[T1,T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\usepackage{index}
\makeindex
\begin{document}
\section{Indexing something}
\index{здравствуйте}здравствуйте
\printindex
\end{document}
El idx
contenido del archivo es
\indexentry{\IeC {\cyrz }\IeC {\cyrd }\IeC {\cyrr }\IeC {\cyra }\IeC {\cyrv }\IeC {\cyrs }
\IeC {\cyrt }\IeC {\cyrv }\IeC {\cyru }\IeC {\cyrishrt }\IeC {\cyrt }\IeC {\cyre }}{1}
Ahora cambie memoir
y book
reconstruya el índice y el documento nuevamente. Ahora el idx
contenido del archivo es
\indexentry {здравствуйте}{1}
como se esperaba.
Respuesta1
De forma predeterminada, memoir
evitará index
que se cargue cualquier paquete (incluido ) si la clase emula su funcionalidad. Para anular esto, se debe agregar \DisemulatePackage{index}
antes \usepackage{index}
. El siguiente MWE produce el .idx
contenido del archivo "esperado". ( \renewindex
se utiliza para corregir el nombre del índice).
\documentclass[a4paper,9pt]{memoir}
\usepackage[T1,T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\DisemulatePackage{index}
\usepackage{index}
\makeindex
\renewindex{default}{idx}{ind}{Предметный указатель}
\begin{document}
\section{Indexing something}
\index{здравствуйте}здравствуйте
\printindex
\end{document}