abntex / abntex2

:books: Classe LaTeX e estilo bibliográfico compatíveis com as normas da ABNT
http://www.abntex.net.br
LaTeX Project Public License v1.3c
1.05k stars 218 forks source link

Incompatibilidade com tocloft que acontece com os contadores chapter, section, ... #248

Closed xexeo closed 3 years ago

xexeo commented 3 years ago

Problema/Erro

Para reportar seu problema forneça as informações abaixo:

Qual o sistema operacional e versão que está utilizado? Testado no Overleaf e no Windows 10 com MiKTeX 2.9 Qual versão do latex está utilizando? (latex --version) pdflatex MiKTeX-pdfTeX 4.6 (MiKTeX 21.3) © 1982 D. E. Knuth, © 1996-2021 Hàn Thế Thành TeX is a trademark of the American Mathematical Society. using bzip2 version 1.0.8, 13-Jul-2019 compiled with curl version 7.72.0; using libcurl/7.72.0 Schannel compiled with expat version 2.2.10; using expat_2.2.10 compiled with jpeg version 9.4 compiled with liblzma version 50020052; using 50020052 compiled with libpng version 1.6.37; using 1.6.37 compiled with libressl version LibreSSL 3.1.4; using LibreSSL 3.1.4 compiled with MiKTeX Application Framework version 4.1; using 4.1 compiled with MiKTeX Core version 4.5; using 4.5 compiled with MiKTeX Archive Extractor version 4.0; using 4.0 compiled with MiKTeX Package Manager version 4.2.1; using 4.2.1 compiled with uriparser version 0.9.4 compiled with xpdf version 4.02 compiled with zlib version 1.2.11; using 1.2.11

Você está utilizando alguma personalização? Qual?

Descrição do problema

Ao usar o comando \newlistof do pacote tocloft, é possível escolher um counter que reseta o counter sendo criado. Se essa opção for chamada para os counters section e chapter (que aparecem no book, etc.) a compilação dá erro.

A expectativa é que qualquer classe mantenha esses counters, já que outros estilos se aproveitam dele para controlar numerações.

O exemplo abaixo mostra que basta inserir esses dois comandos antes do \begin{document} para replicar o erro.

É possível que esse erro aconteça com outros counters semelhantes (subsection)

\usepackage{tocloft}
\newlistof[section]{aviao}{avi}{Aviões}
\begin{document}

O erro que aparece é

! LaTeX Error: Missing \begin{document}.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.26 \newlistof[sub
                   section]{aviao}{avi}{Aviões}
You're in trouble here.  Try typing  <return>  to proceed.
If that doesn't work, type  X <return>  to quit.

Esse erro foi encontrado na criação de outro pacote que funciona bem com book e article, e cria listas de comentários de autor. http://github.com/xexeo/coop-writing.

Na verdade, o erro foi detectado usando um pacote que testa se chapter existe, e usa esse comando.

O uso de chapter como opção pode estar causando alguma interferência com o \chapter.

Passos para reprodução do problema

  1. Inclua os comandos mostrados acima no código
  2. Compile
xexeo commented 3 years ago

Ok, looking further on, this is a problem with MEMOIR, that is quite messy. It ignores /usepackage{tocloft} and implement a "tocloft emulation". I will learn to use memoir and I will close it.