langsci/langscibook

"No room for a new \count" and other errors

Closed this issue · 5 comments

Trying to compile any document using the latest github version of the langscibook class and the freshly updated (via tlmgr) TeXLive 2020 leads to the following errors:

In the floatrow package:

(/usr/local/texlive/2020/texmf-dist/tex/latex/floatrow/floatrow.sty
(/usr/local/texlive/2020/texmf-dist/tex/latex/caption/caption3.sty
(/usr/local/texlive/2020/texmf-dist/tex/latex/caption/caption-koma.sto))
! No room for a new \count .
\ch@ck ...\else \errmessage {No room for a new #3}
                                                  \fi 
l.485 ...finable\flrow@foot{\newinsert\flrow@foot}                                                 
)

In the index package:

(/usr/local/texlive/2020/texmf-dist/tex/latex/index/index.sty
! No room for a new \count .
\ch@ck ...\else \errmessage {No room for a new #3}
                                                  \fi 
l.322 \newinsert\@indexbox
                          
! Undefined control sequence.
l.324 \dimen\@indexbox
                      \maxdimen
! Bad register code (1073741823).
l.324 \dimen\@indexbox\maxdimen
                               
! Missing number, treated as zero.
<to be read again> 
                   \begingroup 
l.325 \begingroup
                 
! Illegal unit of measure (pt inserted).
<to be read again> 
                   \begingroup 
l.325 \begingroup
                 

LaTeX Warning: Command \markboth  has changed.
               Check if current package is valid.


LaTeX Warning: Command \markright  has changed.
               Check if current package is valid.

)

The floatrow and index packages themselves are not the culprits, because \usepackage{floatrow} and \usepackage{index} in a class other than langscibook work fine. There must be something in the class code or in the extra packages that overloads the registers (a loop?).

An MWE could be as simple as just loading the package and having \begin{document} \end{document}. But in fact, minimal-test.tex does not compile on my machine. Reverting to earlier commits doesn't help, so something must have changed in TeXLive that breaks the document class.

We have seen sth like this before (like, three years ago). Can you try

%\usepackage{etex} 
\reserveinserts{18}

in the preamble?
Try increasing 18 if it is not sufficient, and remove the % as required.

We have seen sth like this before (like, three years ago). Can you try

%\usepackage{etex} 
\reserveinserts{18}

in the preamble?
Try increasing 18 if it is not sufficient, and remove the % as required.

This works, thanks! But only if the two lines are put before \documentclass, and \usepackage replaced with \RequirePackage, as in:

\RequirePackage{etex} 
\reserveinserts{18}
\documentclass[output=paper]{langscibook}

This fix works for me, but there is another, older problem which is that it also demands scrpage2.sty, a file from an obsolete version of the koma-script package, which is also involved in the \count problem, so perhaps getting koma-script sorted out and integrated properly would be helpful. (It's not that hard to dig up scrpage2.sty and stick in your system somewhere, but it is another annoyance). Or is perhaps my system screwed up in some subtle way?

For me, the \count problem showed up after I did a Texlive Utility package update, presumably getting something inconsistent in some way. Not knowing about the suggested fix above, I did a whole reinstall of Texlive on the mac, and the problem went away.

I also had the scrpage2.sty problem some time ago. Felix (langsci) said the problem was fixed in a more recent version of their templates than the one that they have on ctan. (One issue: they update ctan only sporadically, even though they knew about this issue)

Thank you for the error reports. These errors are resolved in the 2020-1.0 release. This release will appear soon on CTAN.