::
I nomi dei contatori TeX (a differenza dei conatatori LaTeX) sono costituiti da control sequence a cui, con \newcount viene associato il numero di un contatore.
I comandi nativi come \count si riferiscono con il numero che lo segue, per esempio \count213, il contento del registro numerico 213; quindi se si accede al registro tramite \count, il suo contenuto è quello di inizializzazione della memoria del programma di composizione, generalmente zero, o l’ultimo valore che quel registro conteneva per usi precedenti, fatti esplicitamente o implicitamente nell’elaborazione precedente.
Quindi, anche se non è mai stato assegnato un valore a un contatore, esso comunque non è indefinito, ma di solito contiene il valore zero.
Quando si definisce il nome di un contatore con \newcount (per TeX} o \newcounter (per LaTeX) alla c.s. viene associato un contatore inizializzato al valore 0; se si facesse riferimento a un nome di contatore senza prima aver assegnato a quella c.s. il numero di un registro numerico, la compilazione darebbe il messaggio “Undefinded control sequence”.
Regole generali:
1) In teoria si possono mescolare contatori TeX e contatori LaTeX, ma sarebbe troppo facile fare confusione e commettere errori di cui non si capisce la natura, perciò non si mescolino i contatori TeX con i contatori LaTeX.
2) I registri numerici da 0 a circa 30 sono riservati per TeX e LaTeX; non li si usi per nessun motivo al mondo; si usu sempre l’associazione di un registro numerico con una c.s. perché il comando \newcounter (e anche \newcount) controllano che quel nome sia associato ad un registro che non è stato ancora assegnato.
3) il registro 0 è usato dal sistema; i registri da 1 a 10 dovrebbero contenere i numeri di pagina per usare delle numerazioni strutturate; i registri dall’11 al 29 o 30 (non ricordo bene) dovrebbero servire per l’allocazione dei registri numerici, dimensionali, delle scatole, delle inserzioni e via di questo passo, fino all’assegnazione di un nome di lingua al numero che identifica i suoi pattern di sillabazione; come si vede una cosa piuttosto complessa sulla quale non è opportuno mettere le mani.
4) TeX normale (quello che oggi usa solo Knuth) permette di associare a d altrettante control sequence fino a 256 contatori, 256 lunghezze, 256 lunghezze elastiche, eccetera. Per poterne associare di più bisogna usare etex, pdftex, xetex, eccetera nelle rispettive versioni estese, e bisogna caricare il pacchetto e tex per modificare la procedure con cui vengono allocati i registri e collegati con una c.s. assolutamente unica fino ad un massimo di oltre 32000 registri o altre cose. Senza usare il pacchetto etex i registri e gli altri oggetti che corrispondono a numeri superiori a 255 solo usando l’indirizzo/numero esplicito, senza poter usare nomi o c.s. Per i contatori LaTeX è sempre necessario disporre del nome perché al contatorie pippo, viene associata la c.s. \c@pippo, al quale è associato un registro numerico.
5) Sui contatori TeX o LaTeX sui registri lunghezza (fissa o elastica, testuale o matematica) è possibile eseguire operazioni di calcolo senza usare il pacchetto calc. Vedi la documentazione di etex con texdoc etex.
6) Di solito prima di usare un contatore bisogna incrementarlo di una unità, tranne che con il numero della pagina che viene internamente incrementato quando si spedisce fuori ogni pagina composta in modo definitivo. Ma di fatto finché la routine di output non ha spedito fuori la pagina, il numero di pagina non è esattamente conosciuto dal compositore.
Detto questo visto che nel tuo esempio usi \count0 e \count1, direi che quella è programmazione con comandi nativi e senza usare contatori identificati con c.s. Se uno sa che cosa sta facendo la cosa è possibile, ma in ogni caso è molto imprudente; per esperienza diretto sconsigli vivamente di fare quei giochetti con i quali ci si può ficcare in guai inenarrabili. Bisogna salvarsi nel “rifugio atomico” di proteggersi dentro un gruppo e di usare solo comandi di assegnazione locale; all’occorrenza bisogna conoscere i trucchi necessari per portare i contenuti dei contatori fuori dal gruppo, ristabilendo i contatori ai valori che avevano prima di entrare nel gruppo.
@Mago_Gandalf, non ti impegolare in queste cose; è una raccomandazione, non una minaccia 🙂 😉 😀