Friends, as you probably know, I have a quite complex document for cataloging songs. :)
As my normal workflow, I use the book document class with some dozens of packages loaded. I've been playing with memoir in other documents for a while and obtained very nice results. The idea of a "batteries-included" class is tempting and some of its features make much of my stuff very easy to achieve.
So everything was settled for migration, except for one thing: indices.
This particular document of mine requires several indices, up to 30. As we know, with a setting this crazy TeX can run out of registers in a blink of an eye. I've been using either splitidx or imakeidx to output the indices in only one big .idx file and then use the splitindex command line app to, well, split indices. :)
memoir has a built-in indexing support. As far as I went in the documentation, there's no mention of a limitation of number of indices, but it seems it's implied there, since we also define the index extension. I could not find any references on relying on an external indexing package, and it's known that imakeidx is not compatible with memoir. Sob! Edit: From version 1.1 on, imakeidx now supports memoir, yay! :)
I beseech for your wisdom, o memoir power users: how can I use a indexing package with memoir or, if possible, make it provide support for 16+ indices? :)
Edit: Terribly sorry, I should've made a M(n)WE. :)
\documentclass{memoir}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\makeindex[aaa]
\makeindex[bbb]
\makeindex[ccc]
\makeindex[ddd]
\makeindex[eee]
\makeindex[fff]
\makeindex[ggg]
\makeindex[hhh]
\makeindex[iii]
\makeindex[jjj]
\makeindex[kkk]
\makeindex[lll]
\makeindex[mmm]
\makeindex[nnn]
\makeindex[ooo]
\makeindex[ppp]
\makeindex[qqq]
\makeindex[rrr]
\makeindex[sss]
\makeindex[ttt]
\makeindex[uuu]
\makeindex[vvv]
\makeindex[www]
\makeindex[xxx]
\makeindex[yyy]
\makeindex[zzz]
\begin{document}
Hello world.
\end{document}
which blows up the evil
Writing index file lll.idx
! No room for a new \write .
\alloc@ ...else \errmessage {No room for a new #2}
\fi \fi
l.49 \makeindex[mmm]
?
memoirmanual to suggest there was a built-in limit. I think you define the index filenames, rather than extensions (all .idx). Of course, registers may be a problem, but "have you tried it"? – Brent.Longborough May 08 '12 at 20:06:(– Paulo Cereda May 08 '12 at 20:19\makeindexopen a new write each time it is used, and the number of simultaneous writes is limited. But theidxfiles are actually first populated at end document (AFAIR). But (again AFAIR) theauxis only executed once at the end of the document, so one would in any case need too many simultaneous writes. One solution might be to change some internals, write all index entries into the mainaux, write a tool to extract these lines from the mainaux, and then process those files. It is doable. – daleif May 08 '12 at 20:47