加载带有回忆录的索引包

加载带有回忆录的索引包

标准包在 LaTeX 的内部表示文件中makeidx写入ind/。该包以 utf-8 格式写入,并且与、、标准类配合良好。但是当尝试将包与 一起使用时,输出仍然与包一样。可以使用包关闭或覆盖模拟吗?idxindexbookarticlereportindexmemoirmakeidxmakeidxindexmemoir

这是一个简单的例子:

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

文件idx内容是

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

现在改为memoirbook重新重建索引和文档。现在idx文件内容是

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

正如预期的那样。

答案1

默认情况下,如果类模拟了包的功能,memoir则将阻止加载任何包(包括)。要覆盖此设置,必须在之前添加。以下 MWE 生成“预期”文件内容。(用于更正索引名称。)index\DisemulatePackage{index}\usepackage{index}.idx\renewindex

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

相关内容