! TeX capacity exceeded, sorry [semantic nest size=100]. ... If you really absolutely need more capacity, you can ask a wizard to enlarge me.Apesar de o TeX sugerir (como sempre) que um mago pode lhe ajudar aumentando a capacidade, essa mensagem geralmente é resultado de uma macro quebrada ou de parâmetros ruins em uma macro funcional. O “semantic nest” do qual o TeX está falando é o aninhamento de caixas dentro de caixas. Uma macro burra pode provocar o erro facilmente:
O rastreio extendido (veja conselhos gerais em Como lidar com erros) realmente ajuda, apesar de ser um tanto longo. No caso acima, o rastreio consiste de\def\silly{\hbox{here's \silly being executed}} \silly
\silly ->\hbox { here's \silly being executed}followed by 100 instances of
\silly ->\hbox {here's \silly being executed}As linhas repetidas estão quebradas exatamente na macro transgressora; claro que o loop não precisa ser tão simples assim — se o
\silly
chama o \dopy
que, por sua vez, encaixota o \silly
, o efeito é o mesmo e linhas alternadas do rastreio são quebradas em posições alternadas.
Há, na verdade, dois itens sendo consumidos quando você coloca caixas dentro de caixas: o outro é o nível de agrupamento. Se você vai esgotar primeiro o seu semantic nest ou os seus níveis de agrupamento permitidos, depende inteiramente do tamanho relativo dos dois diferentes conjuntos de buffers do seu executável de (La)TeX.
This question on the Web: http://latex.net.br/faq/FAQ-semanticnest.html
Do you have any question? Ask on: latex.net.br - we love qood questions!