如果我写:
\index{axioms!Zermelo–Fraenkel}
LaTeX 生成
axioms, 184
ZermeloFraenkel, 203, 208
如何才能防止连字符消失?
編輯:MWE......
\documentclass{article}
\usepackage{makeidx}
\makeindex
\begin{document}
\printindex
\index{axioms!Zermelo–Fraenkel}axioms
\end{document}
(也(MiKTeX 版本 2.9);通过 WinEdt 的 pdftexify 选项编译)
答案1
您使用了“短划线”字符 Unicode U+2013,而没有将输入设置为将 Unicode 解释为 UTF-8。这是不同的来自连字符。
通过编译代码,.idx
文件的内容是
\indexentry{axioms!Zermelo<E2><80><93>Fraenkel}{2}
其中我使用“字节”表示非 ASCII(0-127)字符。该.ind
文件包含
\begin{theindex}
\item axioms
\subitem Zermelo<E2><80><93>Fraenkel, 1
\end{theindex}
毫不奇怪,.log
文件报告
(./mohan.ind
Missing character: There is no <E2> in font cmr10!
Missing character: There is no <80> in font cmr10!
Missing character: There is no <93> in font cmr10!
添加\usepackage[utf8]{inputenc}
可解决问题:
答案2
-
您的代码片段中给出的代码似乎存在问题。
以下 MWE 在我的系统上编译时没有问题(错误和警告)并提供您想要的打印:
%http://tex.stackexchange.com/questions/75242/hyphens-in-index-entries
\documentclass{book}
\usepackage{makeidx} % load package
\makeindex % make file(s) *.idx
\begin{document}
Test\index{Test} Text\index{Text|textbf}
test\index{axioms!Zermelo-Fraenkel} % - should be printed
\printindex % print index here
\end{document}
(MiKTeX 版本 2.9)