为什么使用数学模式的“相同”索引条目不会连接?

为什么使用数学模式的“相同”索引条目不会连接?

我有一个 LaTeX 文档,其中包含以下两个索引条目:

\index{Farbmodell!$\text{LCh}_{ab}$|main}
\index{Farbmodell!$\text{LCh}_{ab}$}

虽然在我看来是“相同的”,但文件中创建了两个不同的条目.ind

  \item Farbmodell
    \subitem $\text  {LCh}_{ab}$\hspace{1em}\dotfill\hspace{1em}61
    \subitem $\text{LCh}_{ab}$\hspace{1em}\dotfill\hspace{1em}\main{39}

|main仅表示主索引条目,使用\newcommand{\main}[1]{\textbf{#1}}。我不明白这些额外的空格是从哪里来的。

使用的 LaTeX 软件包有:

\documentclass[a4paper,twoside]{report}
\usepackage{german}
\usepackage[latin1]{inputenc}
\usepackage{a4}
\usepackage{makeidx}
\usepackage{showidx}
\usepackage{amsmath}
\usepackage{url}
\usepackage{graphicx}
\usepackage{ifthen}
%
\makeindex
\begin{document}

在输出时,相关索引部分如下所示:部分索引输出

第一个索引直接输入在章节中的某个部分内,而第二个索引则输入在附录中某个部分内的表格标题内。该标题(表格后的表格内)如下所示:

\caption[Pr... im $\text{LCh}_{ab}$ Farbmodell]%
{\label{\Lt{PRMG}}Pr... im $\text{LCh}_{ab}$ Farbmodell%
\index{Farbmodell!$\text{LCh}_{ab}$}
nach \cite[Table~10, S.~15]{ICC.1:2010}}

答案1

sed我决定使用(无论如何我都有一个)来解决这个问题Makefile

Makefile有点复杂,因为它做了一些其他聪明的事情,但这是解决方案的核心:

#...
echo "\# fixing $(MAIN).idx"; \
sed -E -e 's/(\\[^ ]+) +\{/\1{/' $(MAIN).idx > $(MAIN).idx~ && \
mv $(MAIN).idx~ $(MAIN).idx; \
echo "\# running makeindex on $(MAIN).idx"; \
$(Do.Makeindex) $(MAIN); \
#...

(其实我觉得 LaTeX 还是makeindex应该这么做)

相关内容