When trying to use a specific package (ling-macros) I get this error. Never had it before. It wont compile most of the time. Rarely it compiles,but then my macro (\lam{P}{s,t} in the example) wont show up in the PDF.

here is my MRE:




so this is the end.\\

  • 1
    You may have come across some kind of incompatibility between the ling-macros and biblatex packages.
    – Mico
    Commented Jan 23, 2023 at 22:46
  • @Mico: How can I find out the way it interacts with biblatex? It's my basic setup and it never caused problems till now
    – hal3m
    Commented Jan 23, 2023 at 23:21

1 Answer 1


The error happens when logreq.def is being read, precisely at the first line of code

\DeclareLogreqContainer{requests}{(internal | external)*}

as shown in your log file

! TeX capacity exceeded, sorry [parameter stack size=20000].
\gb@ifnextchar #1#2#3->
                       \let \reserved@d =#1\def \reserved@a {#2}\def \reserv...
l.8 ...Container{requests}{(internal | external)*}

The problem is with gb4e.sty that makes _ and ^ active.

I believe it's better to use \noautomath whenever gb4e is loaded (in this case by ling-macros), but you can solve your issue by loading ling-macros after biblatex.






In gb4e.sty we read

%  This file allows _ and ^ to be used in ordinary text, hence must be
%  loaded AFTER any file that uses them in their TeX meaning. Hence
%  cgloss(n).sty is loaded early in this file.  This feature is known to
%  cause some problems with other packages, but is maintained for backward
%  compatibility. If you have problems, you can try disabling it by
%  placing the command \noautomath immediately after loading the gb4e package.
%  [Added 2009/12/28]
  • 1
    switching the order was sufficient indeed. I will keep in mind the \noautomath part. Thank you, all you wizards!
    – hal3m
    Commented Jan 23, 2023 at 23:29

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .