使用 tex4ebook 和 sanitize-umlaut 时索引出现问题

使用 tex4ebook 和 sanitize-umlaut 时索引出现问题

我使用了 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:xindexMake:xindy,它应该比 Makeindex 对德语的支持更好。更多信息请参见此处如何使用 TeX4ht 进行索引

例如,要使用xindex,请使用此构建文件:

Make:htlatex {} 
Make:xindex {language="de"}
Make:htlatex{}

您将需要sanitize-umlaut从文档中删除该包,因为xindex需要 UTF-8 输入。

编译使用:

$ tex4ebook -e 构建.lua 文件名.tex

这是结果索引:

在此处输入图片描述

相关内容