メモワールを含むインデックス パッケージをロードしています

メモワールを含むインデックス パッケージをロードしています

標準makeidxパッケージは、LaTeX の内部表現ファイルに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}

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}

関連情報