LaTeX:索引条目被 makeindex 更改而没有警告

LaTeX:索引条目被 makeindex 更改而没有警告

makeindex -g我在引用和使用时遇到问题Y'

我创建了两个这样的索引条目:

\index{Y'@$Y'$|see{Luma}}
\index{Farbmodell!Y'CBCR@$Y'C_BC_R'$|main}

(和\newcommand{\main}[1]{\textbf{#1}}

这将生成以下.idx条目:

\indexentry{Y'@$Y'$|see{Luma}}{43}
\indexentry{Farbmodell!$'CBCR@$Y'C_BC_R'$|main}{43}

为了使用-g(我也使用-r),我设置了索引样式quote '\''(以及一些其他格式)。这似乎与'索引条目中的有混淆,而makeindex(版本 2.15 [TeX Live 2017](kpathsea + Thai 支持))不会打印与之相关的错误。

输出.ind为:

  \item Farbmodell
    \subitem $YC_BC_R$\hspace{1em}\dotfill\hspace{1em}\main{43}
  \item Y@$Y$\hspace{1em}\dotfill\hspace{1em}\see{Luma}{43}

因此,'第一个输出中丢失了,而Y@第二个输出中则显示了。不幸的是,我不知道如何修复它(可用的引号字符集似乎非常有限)。

如果这很重要,以下是我的文件序言:

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

答案1

如果将引号字符设置为',则在索引条目中使用它时必须将其引用。

以下是一个示意性解决方案。filecontents*环境只是为了使示例自成一体。如果当前目录包含与主 TeX 文件同名且扩展名为 的文件.mst,则 MakeIndex 将自动使用该文件。

文件main.tex

\begin{filecontents*}{\jobname.mst}
quote '\''
\end{filecontents*}

\documentclass{article}

\usepackage{makeidx}
\makeindex

\providecommand{\main}[1]{#1} % I don't know what \main should do

\begin{document}

Some text

\index{Y''@$Y''$|see{Luma}}
\index{Farbmodell!Y''CBCR@$Y''C_BC_R''$|main}

\printindex

\end{document}

文件main.idx

\indexentry{Y''@$Y''$|see{Luma}}{1}
\indexentry{Farbmodell!Y''CBCR@$Y''C_BC_R''$|main}{1}

文件main.ind(运行 MakeIndex 之后)

\begin{theindex}

  \item Farbmodell
    \subitem $Y'C_BC_R'$, \main{1}

  \indexspace

  \item $Y'$, \see{Luma}{1}

\end{theindex}

输出

在此处输入图片描述

相关内容