Cargando paquete de índice con memorias

Cargando paquete de índice con memorias

El paquete estándar makeidxescribe ind/ idxen el archivo de representación interno de LaTeX. El indexpaquete escribe en utf-8 y funciona bien con las bookclases articleestándar report. Pero al intentar utilizar el indexpaquete con memoir, el resultado sigue siendo el mismo que el del makeidxpaquete. ¿ makeidxSe puede desactivar o anular la emulación con el indexpaquete 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 idxcontenido 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 memoiry bookreconstruya el índice y el documento nuevamente. Ahora el idxcontenido del archivo es

\indexentry {здравствуйте}{1}

como se esperaba.

Respuesta1

De forma predeterminada, memoirevitará indexque 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 .idxcontenido del archivo "esperado". ( \renewindexse 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}

información relacionada