Quello che era successo è che dopo aver aperto l’ambiente proof non è necessario chiuderlo, e un capitolo successivo non chiudeva l’ambiente…e non da nessun errore del tipo
\proof ended with \end{document}
ilMartins
Chi l’ha detto che non è necessario chiudere l’ambiente proof? A che cosa pensi che serva il comando \begin{ambiente}? serve appunto a memorizzare il nome dell’ambiente dentro ad una variabile definita solo dentro l’ambiente. se questo ambiente ne contiene un altro, viene definita localmente un’altra variabile con il nome del nuovo ambiente. come si dà il comando \end{ambiente}, prima di chiudere il gruppo, \end{verifica che l’ambiente che si vuole chiudere sia quello che era stato aperto con il precedente \begin, ma non appena la verifica è giusta, il gruppo viene chiuso e l’ultima variabile che conservava il nome viene ripristinata al nome che conteneva prima di entrare nel gruppo. Non vedo perché a te \end{document} non desse nessun messaggio d’errore; Forse una graffa chiusa di troppo prima di \end{document}?
La cosa che descrivi è più subdola di quanto tu la voglia fare apparire, ma è certo che se controlli che ogni ambiente sia chiuso correttamente, al massimo nel file log trovi scritto … file ended whithin a group at level 1 (per esempio) e quello ti dice che un gruppo era ancora aperto alla fine del documento. (Un gruppo non vuol dire necessariamente un ambiente). Se ci fosse una graffa chiusa di troppo e se tu fai girare pdflatex in modalità nonstopmode non te ne accorgi, ma lo trovi scritto da qualche parte nel file log. Se invece fai girare in modalità errorsstopmode il compilatore si ferma alla graffa chiusa di troppo e aspetta istruzioni, ma ti dice in quale riga c’è la graffa di troppo.