# Missing glossaries entry despite using \glsaddall

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}
\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)

• Welcome to TeX.SX! If you don't use xindy for the glossaries it will work. Thanks for the working MWE! – user31729 Sep 7 '15 at 17:22
• I think this is some xindy problem – user31729 Sep 7 '15 at 17:57
• There's also some problem with style=long that produces Overfull \hbox (4587.61314pt too wide), though this seems unrelated. – egreg Sep 8 '15 at 10:07

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:

(merge-rule "\\[a-zA-Z@]+ *" "" :eregexp)


Therefor "\Delta" and "\gamma" are dropped. Now there is key clash:

• "\Delta t" == "t" and
• "\gamma_k" == "\tau_k".

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.

\newglossaryentry{physical_dt}{
type=symbolslist,
name={\ensuremath{\Delta t}},
sort={\ensuremath{\Delta t}uniqtrailer01212},
description={missing text delta}
}

• As I wrote in a previous comment: Use the more traditional makeindex, i.e. omit xindy for the glossaries here. I am no xindy expert too – user31729 Sep 8 '15 at 14:51
• pointed [xindy] mailing list towards this entry. Thank you Christian. – Fabian Sep 8 '15 at 16:22