Carregando pacote de índice com memórias

Carregando pacote de índice com memórias

O makeidxpacote padrão escreve ind/ idxno arquivo de representação interno do LaTeX. O indexpacote escreve em utf-8 e funciona bem com as classes padrão book, article, . reportMas ao tentar usar o indexpacote with memoir, a saída ainda é a mesma do makeidxpacote. A makeidxemulação pode ser desativada ou substituída pelo indexpacote com memoir?

Aqui está um exemplo 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} 

O idxconteúdo do arquivo é

\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}

Agora mude memoire bookreconstrua o índice e o documento novamente. Agora o idxconteúdo do arquivo é

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

como esperado.

Responder1

Por padrão, memoirimpedirá que qualquer pacote (incluindo index) seja carregado se sua funcionalidade for emulada pela classe. Para substituir isso, é necessário adicionar \DisemulatePackage{index}before \usepackage{index}. O MWE a seguir produz o .idxconteúdo do arquivo "esperado". ( \renewindexé usado para corrigir o nome do í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}

informação relacionada