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}