為什麼 memoir 類別對 .idx 檔案的內容進行編碼?

為什麼 memoir 類別對 .idx 檔案的內容進行編碼?

當使用回答我在第二遍時遇到以下錯誤訊息(帶有pdflatex):

未定義的控制序列。 \項目\T

它源自於.ind文件中的條目:

\item \T2A\CYRD \T2A\cyro \T2A\cyrz , \hyperpage{224}

反過來,它是由文件中的以下條目產生的.idx

\indexentry{\T2A\CYRD \T2A\cyro \T2A\cyrz |hyperpage}{224}

如果我切換memoirarticlebook那麼索引包含文件中逐字定義的條目,而不對它們進行編碼。

以下MWE可用於驗證:

\documentclass{memoir}
\usepackage[utf8]{inputenc}
\usepackage[T1,T2A]{fontenc}
\usepackage[main=russian]{babel}
\usepackage{lipsum}
\usepackage{makeidx}
\makeindex

\newcommand{\rindex}[1]{\expandafter\index\expandafter{\detokenize{#1}}}

\begin{document} 
жзи\rindex{жзи}
\clearpage
где\rindex{где}
\clearpage
абв\rindex{абв}
\clearpage
эюя\rindex{эюя}
\clearpage
шщы\rindex{шщы}
\clearpage
клм\rindex{клм}

\printindex
\end{document}

它通過了第一遍,然後命令texindy -L russian -C utf8 "document.idx"產生.ind文件,第二遍失敗。

答案1

我在發布問題後立即找到了答案,就像經常發生的那樣。

為此,必須包含以下軟體包:

\usepackage[xindy]{imakeidx}

\usepackage{makeindex}

必須刪除。

相關內容