Latest news 2021-09-06: new blog post "Legacy Documents and TeX Live Docker Images".

glossaries package FAQ

I get the error: “no room for a new \write🔗

TeX has a limited number of write registers. If you exceed this number, you will get this error. The glossaries package by default assigns a new write register for the .ist / .xdy file and one new register per glossary. Other packages also assign new write registers, so if you load a lot of packages that write to external files, you may end up with this error.

You can reduced the number of write registers by one if you ensure you define all your entries in the preamble instead of in the document environment. You can also reduce the write registers if you use the savewrites package option. However this will slow down the document build and the locations can be incorrect.

As from version 4.04, the write register used for the .ist / .xdy is only defined if \makeglossaries is used. If you use \makenoidxglossaries no write registers will be created by glossaries. (However, this is a much slower approach than using \makeglossaries.)

If the above doesn’t help, the simplest solution is to use the scrwfile package (comes with the KOMA-Script bundle).

\usepackage{scrwfile}
Alternative solutions and a more detailed explanation of the problem are given in my answer on TeX.SX.

Note that if you switch to glossaries-extra and bib2gls, no new write registers are required as all indexing information is written to the .aux file.

2020-07-01 11:11:13


Permalink: https://www.dickimaw-books.com/faq.php?id=175
Alternative link: https://www.dickimaw-books.com/faq.php?itemlabel=glsnewwriteexceeded

Category: glossaries package
Topic: (La)TeX Errors