Some glossary entries do not show up. But I am using \glsaddall
.
What am I missing here?
\documentclass[10pt,ngerman]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[xindy]{imakeidx}
\usepackage[xindy,acronym]{glossaries}
\newglossary{symbolslist}{syiX1}{sygX1}{Symbolverzeichnis}
\makeglossaries
\makeindex
\newglossaryentry{physical_t}{
type=symbolslist,
name={\ensuremath{t}},
description={text t}
}
\newglossaryentry{physical_dt}{
type=symbolslist,
name={\ensuremath{\Delta t}},
description={missing text delta}
}
\newglossaryentry{tau_k}{
type=symbolslist,
name={\ensuremath{\tau_k}},
description={text tau}
}
\newglossaryentry{gamma_k}{
type=symbolslist,
name={\ensuremath{\gamma_k}},
description={missing text gamma}
}
\newacronym{abc}{ABC}{the ABC thing}
\begin{document}
\glsaddall
\printglossary[type=\acronymtype,style=long]
\printglossary[type=symbolslist,style=long]
\end{document}
After running
pdflatex MWE
the file MWE.sygX1 contains all four entries. Now running
makeglossaries MWE
creates MWE.syiX1, which contains only the entry for "tau_k" and "physical_t", but not "physical_dt" or "gamma_k".
Running
makeglossaries -n MWE
reveals:
makeglossaries version 2.15 (2014-07-30)
[..]
xindy -L ngerman -C utf8 -I xindy -M "MWE" -t "MWE.glg" -o "MWE.syiX1" "MWE.sygX1"
As the xindy module for ngerman cannot be located, the effective call is
xindy -L general -I xindy -M "MWE" -t "MWE.glg" -o "MWE.syiX1" "MWE.sygX1"
as far as i can see, the missing entries were both assigned to the "default" letter group by xindy. (this was seen by directly invoking xindy and examining the logfile MWE.glg afterwards)
Best Answer
The explanation why it happens is as follows:
xindy makes use of merge-rules that bring differently formatted keys into a canonical form. The file "/usr/share/xindy/base/tex.xdy" contains:
Therefor "\Delta" and "\gamma" are dropped. Now there is key clash:
As there are now only two keys, xindy picks one entry for each key and is done.
I suppose this behavior is not intended by the authors of "tex.xdy". I am not deep enough into the subject to tell whether a sort-rule would fit better.
My way to get around it:
provide each entry with sort=.. making it unique by adding trailing gibberish.