我使用词汇表包创建符号列表。我的问题是词汇表中并非所有符号都显示。它遵循一个最小(不)工作示例。
\documentclass[11pt,a4paper,twoside]{book}
\usepackage{amsmath} % assumes amsmath package installed
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{dsfont}
\usepackage[english,germanb]{babel}
\usepackage[xindy,nomain]{glossaries}
\newglossary[slg]{symbols}{sym}{sbl}{List of Symbols}
\makeglossaries
\newglossaryentry{symb:m}{%
type=symbols,
name={$m$},
text={m},
description={symb m}}
\newglossaryentry{symb:m2}{%
type=symbols,
name={$\widetilde{m}$},
text={\widetilde{m}},
description={symbol m2}}
\newglossaryentry{symb:f}{%
type=symbols,
name={$f(\cdot)$},
text={f},
description={This is a function}}
\begin{document}
\chapter{Test}
Here comes the first symbol: $\gls{symb:m}$; and now the second: $\gls{symb:m2}$.
Here is a function: $\gls{symb:f}(t)$.
\printglossary[type=symbols, nonumberlist]
%\glsaddall[types={symbols}]
\end{document}
总共定义了三个符号,它们也在测试章节中引用。编译此代码只会列出两个符号:米和F。\widetilde{m}缺少了它,尽管它应该在那里。另外,如果取消注释\glsaddall结果没有改变。如果我更改 \widetilde{m} 的符号条目名称,它确实有效。但这当然会产生错误的符号。似乎词汇表包对 widetilde 有问题。是这样吗?如果是,有解决方法吗?
答案1
xindy
忽略字段中包含的命令sort
,因此它将排序值视为\widetilde{m}
公正的m
,但您已经有一个具有该排序值的条目,因此第二个条目与第一个条目合并。当显示数字列表并且两个条目位于不同的页面上时,您可以更清楚地看到这一点:
\documentclass[11pt,a4paper,twoside]{book}
\usepackage[xindy,nomain]{glossaries}
\newglossary[slg]{symbols}{sym}{sbl}{List of Symbols}
\makeglossaries
\newglossaryentry{symb:m}{%
type=symbols,
name={$m$},
text={m},
description={symb m}}
\newglossaryentry{symb:m2}{%
type=symbols,
name={$\widetilde{m}$},
text={\widetilde{m}},
description={symbol m2}}
\newglossaryentry{symb:f}{%
type=symbols,
name={$f(\cdot)$},
text={f},
description={This is a function}}
\begin{document}
\chapter{Test}
Here comes the first symbol: $\gls{symb:m}$;
\newpage
and now the second: $\gls{symb:m2}$.
Here is a function: $\gls{symb:f}(t)$.
\printglossary[type=symbols]
\end{document}
符号列表现在如下所示:
该m
条目在页面列表中有两个页面。第一个页面(第 1 页)是条目
symb:m
,第二个页面(第 2 页)是symb:m2
条目。由于xindy
此操作是默默进行的,因此如果您有任何包含命令的条目,最好始终使用该sort
键。例如:
\newglossaryentry{symb:m2}{%
type=symbols,
name={$\widetilde{m}$},
text={\widetilde{m}},
sort=m2,
description={symbol m2}}