我正在使用 htlatex 创建电子书。
由于某些自定义原因,我需要使用 imakeidx 而不是 makeidx。此外,我的一些索引条目使用 \textit{},例如 \index{\textit{example}}。
这对于标准 latex 来说很好。但对于 htlatex 来说,这是一个问题。具体来说,对于索引,我需要运行:
tex '\def\filename{{doc}{idx}{4dx}{ind}} \input idxmake.4ht'
并且它被索引条目中的 \textit{} 绊倒了。错误消息是:
! Undefined control sequence.
l.1 \indexentry{\textit
{example}}{1}
以下是 MWE:
\documentclass{book}
\usepackage{imakeidx}
\makeindex
\begin{document}
An \textit{example}\index{\textit{example}}.
\printindex
\end{document}
我用来处理这个问题的命令是:
htlatex doc "xhtml,charset=utf-8" " -cunihtf -utf8"
tex '\def\filename{{doc}{idx}{4dx}{ind}} \input idxmake.4ht'
makeindex -o doc.ind doc.4dx
htlatex doc "xhtml,charset=utf-8" " -cunihtf -utf8"
如果我将 imakeidx 更改为 makeidx,它就可以正常工作。但是,我需要使用 imakeidx。