載入帶有回憶錄的索引包

載入帶有回憶錄的索引包

標準makeidx包將ind/寫入idxLaTeX 的內部表示檔中。該index套件以 utf-8 編寫,並且可以與bookarticlereport標準類別一起正常工作。但是當嘗試將index包與 一起使用時memoir,輸出仍然與該makeidx包一樣。可以使用套件makeidx關閉或覆蓋模擬嗎?indexmemoir

這是一個最小的例子:

\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任何套件(包括 )的功能,將阻止載入它們。index要覆蓋這一點,必須\DisemulatePackage{index}在 之前添加\usepackage{index}。以下 MWE 產生「預期」.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}

相關內容