索引错误:\mathit 仅允许在数学模式下使用

索引错误:\mathit 仅允许在数学模式下使用

我正在寻找任何可能的线索,试图找出在编写或处理.ind类文档文件memoir(使用latexmkwith pdflatex)时出现以下错误的原因:

\mathit allowed only in math mode

这种情况首先发生在.ind进入

\item \idxmark{Urysohn Metrization Theorem}, \hyperpage{506}, 
    \mainref{580}

该函数\mainref定义如下:

\newcommand{\mainref}[1]{\textbf{\emph{\hyperpage{#1}}}}

但即使我将其更改为,也会出现错误\mainref\newcommand{\mainref}[1]{#1}

日志显示:

./book.ind:1772: LaTeX Error: \mathit allowed only in math mode.

 ...                                              

l.1772 \item \idxmark{Urysohn Metrization Theorem}
                                                  , \hyperpage{502},

序言hyperref如下:

\usepackage{hyperref}
\hypersetup{
  plainpages=false,pdfpagelabels,
  bookmarksnumbered,
  breaklinks=true,
  colorlinks, citecolor=red, filecolor=black, linkcolor=blue, urlcolor=blue,
  linktocpage=true,linktoc=all, %
}

doc.ind所引用行周围的部分是:

\item \idxmark{upper semicontinuous map}, \hyperpage{317}, 
        \hyperpage{497}
\item \idxmark{Urysohn Metrization Theorem}, \hyperpage{502}, 
        \mainref{578}
\item \idxmark{Urysohn's Lemma}, \hyperpage{200}, \hyperpage{577}, 
        \mainref{577}, \hyperpage{578}
\item \idxmark{usual ordering}, \hyperpage{12--13}

结尾book.idx是:

\indexentry{Urysohn's Lemma|mainref}{585}
\indexentry{Urysohn's Lemma|hyperpage}{585}
\indexentry{Urysohn's Lemma|)hyperpage}{586}
\indexentry{Tietze Extension Theorem|mainref}{586}
\indexentry{normal space!and Tietze Extension Theorem|hyperpage}{586}
\indexentry{normal space|)hyperpage}{586}
\indexentry{Urysohn Metrization Theorem|mainref}{586}

该文件的.ist文件是:

item_0  "\n\\item \\idxmark{"
delim_0 "}, "
% not forgetting the subitem case
item_x1 "} \n \\subitem "
headings_flag 1
heading_prefix "{\\medskip\\hfill\\large\\textsf{\\textbf{"
heading_suffix "}}\\hfill}\\medskip\\nopagebreak\n"

\idxmark在我的序言中定义为:

\providecommand\gobbleone[1]{}
\newcommand{\idxmark}[1]{{\let\gobbleone\relax\markboth{\sffamily\bfseries#1}{\sffamily\bfseries#1}}#1}

目的\idxmark是使每个索引页上的标题显示页面上的第一个和最后一个条目(第一页除外)。

如果我注释掉\index“Urysohn 度量化定理”的条目,那么其他条目或子条目也会出现同样的错误。

我可以(尴尬地)通过忽略错误并再次使用处理源来解决该错误pdflatex,但显然有些地方不对劲。

如果有帮助的话,有问题的索引条目会出现在输出的最后一页,如下所示:

索引结尾包含导致错误的条目

可能的解决方案:

错误源于我对repeatindex包的不当使用,我没有通过以 的形式创建索引条目来修改索引条目\item [Main Item A], 1, 3, 6 )。这可以通过使用 来实现makeindex -s repeatindex,即使用包repeatindex.ist中的文件repeatindex。但这可能与.ist上面显示的现有自定义文件冲突。我已将此事推迟到如何修改自定义 .ist 以包含 repeatindex

我道歉因为尚未提供完整的、最小的工作示例来重现错误,但我认为一些线索可能会帮助我设计这样的示例。有问题的文档有一本书那么长,源结构复杂,包括构成序言的多个样式文件。

相关内容