我使用了 sanitize-umlaut 软件包,以便更方便地使用德语索引。但制作电子书时,索引缺少指向索引条目的链接。
以下是 MWE:
\documentclass{report}
\usepackage[ngerman]{babel}
\begin{filecontents}{sanitize-umlaut-file.ist}
actual '=' % as replacement for @
quote '!' % as replacement for "
level '>' % as replacement for !
\end{filecontents}
\usepackage{tex4ebook}
\providecommand\phantomsection{}
\ifdefined\HCode
%\usepackage[texindy,noautomatic]{imakeidx}
\usepackage[noautomatic]{imakeidx}
\else
%\usepackage[texindy]{imakeidx}
\usepackage{imakeidx}
\fi
\usepackage{sanitize-umlaut}% Für Umlaute in index
\makeindex[options=-s sanitize-umlaut-file.ist -g]
\begin{document}
Über den Wolken\index{Über den Wolken}
muss die Freiheit wohl grenzenlos sein\index{muss die Freiheit wohl grenzenlos sein}
Übung macht den Meister\index{Übung macht den Meister}
\clearpage
\printindex
\end{document}
我是否缺少任何代码?或者是否需要一些新代码才能tex4ebook
与 兼容sanitize-umlaut
?
答案1
您必须使用make4ht
构建文件才能使索引正常工作,因为我们需要特殊命令来准备辅助文件,使其具有正确的格式。对于您来说,构建文件可能如下所示:
Make:htlatex {}
Make:makeindex {options = "-s sanitize-umlaut-file.ist -g"}
Make:htlatex{}
该Make:makeindex
命令应该运行makeindex
命令。您也可以尝试Make:xindex
或Make:xindy
,它应该比 Makeindex 对德语的支持更好。更多信息请参见此处如何使用 TeX4ht 进行索引。
例如,要使用xindex
,请使用此构建文件:
Make:htlatex {}
Make:xindex {language="de"}
Make:htlatex{}
您将需要sanitize-umlaut
从文档中删除该包,因为xindex
需要 UTF-8 输入。
编译使用:
$ tex4ebook -e 构建.lua 文件名.tex
这是结果索引: