我正在使用带有首字母缩略词选项的词汇表包\usepackage[acronym,toc,shortcuts]{glossaries}
。生成索引时,首字母缩略词不是按字母顺序排列,而是作为索引中的“符号”条目列出(下图)。我正在写一篇论文,有一个单独的首字母缩略词列表,因此索引中的这个“符号”条目对我来说毫无用处。有没有办法让索引中的首字母缩略词像其他条目一样按字母顺序排序?
梅威瑟:
\documentclass[11pt]{article}
\usepackage{makeidx}
\makeindex
\usepackage[acronym,toc,shortcuts]{glossaries}
\makeglossaries
\newacronym{cd}{CD}{compact disk}
\begin{document}
\noindent
First\index{first} use of \gls{cd}\\
subsequent\index{subsequent} use of \gls{cd}\index{\glsfirst{cd}}
\printglossaries
\printindex
\end{document}
答案1
的参数\index
在写入文件时不会扩展.idx
,因此makeindex
尝试对 进行排序也是如此\glsfirst{cd}
。由于makeindex
不解释 TeX 命令,它将其视为以反斜杠字符开头的字符串,这就是该条目被视为符号的原因。以下是一种自动索引首字母缩略词的后续使用的方法,它会在将索引术语写入文件之前将其扩展.idx
:
\documentclass[11pt]{article}
\usepackage{makeidx}
\makeindex
\usepackage[acronym,toc,shortcuts]{glossaries}
\makeglossaries
\renewcommand*{\CustomAcronymFields}{%
name={\the\glsshorttok},%
symbol={\the\glsshorttok},%
text={\the\glsshorttok\protect\index{\the\glslongtok\space(\the\glsshorttok)}},%
plural={\the\glsshorttok\noexpand\acrpluralsuffix\protect\index{\the\glslongtok\space(\the\glsshorttok)}},%
first={\the\glslongtok\space(\the\glsshorttok)},%
firstplural={\the\glslongtok\noexpand\acrpluralsuffix\space(\the\glsshorttok)},%
description={\the\glslongtok}%
}
\SetCustomStyle
\newacronym{cd}{CD}{compact disk}
\begin{document}
\noindent
First\index{first} use of \gls{cd}\\
subsequent\index{subsequent} use of \gls{cd}.
\printglossaries
\printindex
\end{document}
假设我已makeindex
设置标题标志(通过文件headings_flag 1
中.ist
),我得到以下索引:
如果您只想索引一些后续条目而不是全部条目,这里是另一种方法,即使用字段中的扩展参数保存索引命令user1
:
\documentclass[11pt]{article}
\usepackage{makeidx}
\makeindex
\usepackage[acronym,toc,shortcuts]{glossaries}
\makeglossaries
\renewcommand*{\CustomAcronymFields}{%
name={\the\glsshorttok},%
symbol={\the\glsshorttok},%
text={\the\glsshorttok},%
plural={\the\glsshorttok\noexpand\acrpluralsuffix},%
first={\the\glslongtok\space(\the\glsshorttok)},%
firstplural={\the\glslongtok\noexpand\acrpluralsuffix\space(\the\glsshorttok)},%
description={\the\glslongtok},%
user1={\protect\index{\the\glslongtok\space(\the\glsshorttok)}}%
}
\SetCustomStyle
\newacronym{cd}{CD}{compact disk}
\begin{document}
\noindent
First\index{first} use of \gls{cd}\\
subsequent\index{subsequent} use of \gls{cd}.
\newpage
Another use of \gls{cd}\glsuseri{cd}.
\printglossaries
\printindex
\end{document}
该索引现在如下所示: