我终于得到了词汇表包'工作'。不确定我是否安装不正确,或者我在代码中是否做错了什么。我想要两种类型的词汇表、符号和缩写。我得到了一个生成的列表,但它只显示每个使用的类型的第一个值。
\documentclass{IEEEtran}
\usepackage[nomain,acronym,xindy,toc,nopostdot]{glossaries}
\newglossary[slg] {symbols} {not} {ntn} {Symbols}
\newglossary[alg] {abbreviations} {abb} {abr} {Abbreviations}
\makeglossaries
\newglossaryentry{LA}% label
{%
type=abbreviations,% glossary type
name={LA},%
description={Los Angeles},%
sort={S}%
}
\newglossaryentry{NY}% label
{%
type=abbreviations,% glossary type
name={NY},%
description={New York City},%
sort={S}%
}
\newglossaryentry{theta}% label
{%
type=symbols,% glossary type
name={$\theta$},%
description={The angle of attack},%
sort={S}%
}
\newglossaryentry{alpha}% label
{%
type=symbols,% glossary type
name={$\alpha$},%
description={The angle of measurements},%
sort={S}%
}
\begin{document}
\printglossary[type=symbols, title={List of Symbols}]
\printglossary[type=abbreviations, title={List of Abbreviations}]
\section{Section One}
Here are my two abbreviations \gls{LA} and \gls{NY}.\\
Here are my two symbols \gls{alpha} and \gls{theta}.
\end{document}
答案1
您为所有条目赋予了相同的sort
值 ( S
)。这意味着xindy
无法区分它们并将它们合并。如果插入分页符,您可以更清楚地看到这一点:
Here are my two abbreviations \gls{LA} and
\clearpage
\gls{NY}.
Here are my two symbols \gls{alpha} and
\clearpage
\gls{theta}.
的条目alpha
具有位置 2 (对应于\gls{alpha}
) 和 3 (对应于\gls{theta}
)。同样,的条目LA
具有位置 1 (对应于\gls{LA}
) 和 2 (对应于NY
)。
xindy
这只是处理具有相同排序值的条目的方式,makeindex
尽管无法对它们进行排序,但会将它们分开。
您对全部条目使用相同的方法有什么特别的原因吗sort
?如果您想要一个未排序的列表,最好只使用\makenoidxglossaries
(而不是\makeglossaries
) 和\printnoidxglossary[sort=def,...]
(或sort=use
)。如果您希望条目按字母顺序排序,则只需sort
从缩写中删除键(因为name
提供了自然排序)并sort
为符号提供唯一值。例如:
\documentclass{IEEEtran}
\usepackage[nomain,acronym,xindy,toc,nopostdot]{glossaries}
\newglossary[slg] {symbols} {not} {ntn} {Symbols}
\newglossary[alg] {abbreviations} {abb} {abr} {Abbreviations}
\makeglossaries
\newglossaryentry{LA}% label
{%
type=abbreviations,% glossary type
name={LA},%
description={Los Angeles}%
}
\newglossaryentry{NY}% label
{%
type=abbreviations,% glossary type
name={NY},%
description={New York City}%
}
\newglossaryentry{theta}% label
{%
type=symbols,% glossary type
name={$\theta$},%
description={The angle of attack},%
sort={theta}%
}
\newglossaryentry{alpha}% label
{%
type=symbols,% glossary type
name={$\alpha$},%
description={The angle of measurements},%
sort={alpha}%
}
\begin{document}
\printglossary[type=symbols, title={List of Symbols}]
\printglossary[type=abbreviations, title={List of Abbreviations}]
\section{Section One}
Here are my two abbreviations \gls{LA} and \gls{NY}.
Here are my two symbols \gls{alpha} and \gls{theta}.
\end{document}
顺便说一下,glossaries-extra
package 在使用 package 选项\glsxtrnewsymbol
时会提供命令,将字段设置为标签而不是值。因此上面的代码可以改为:symbols
sort
name
\documentclass{IEEEtran}
\usepackage[nomain,symbols,abbreviations,xindy]{glossaries-extra}
\makeglossaries
\setabbreviationstyle{short}
\newabbreviation{LA}{LA}{Los Angeles}
\newabbreviation{NY}{NY}{New York City}
\glsxtrnewsymbol[description={The angle of attack}]{theta}{$\theta$}
\glsxtrnewsymbol[description={The angle of measurement}]{alpha}{$\alpha$}
\begin{document}
\printsymbols[title={List of Symbols}]
\printabbreviations[title={List of Abbreviations}]
\section{Section One}
Here are my two abbreviations \gls{LA} and \gls{NY}.
Here are my two symbols \gls{alpha} and \gls{theta}.
\end{document}
产生相同的结果。