标准包在 LaTeX 的内部表示文件中makeidx
写入ind
/。该包以 utf-8 格式写入,并且与、、标准类配合良好。但是当尝试将包与 一起使用时,输出仍然与包一样。可以使用包关闭或覆盖模拟吗?idx
index
book
article
report
index
memoir
makeidx
makeidx
index
memoir
这是一个简单的例子:
\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}
现在改为memoir
并book
重新重建索引和文档。现在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}