Il ciclo for è implementato dentro il nucleo di plain TeX, anzi plain TeX è quasi tutto contenuto nel nucleo di LaTeX; Ogni cosa è descritta nel TeXbook.
Ma a parte questo il ciclo for e il ciclo while sono sostanzialmente la stessa cosa, ecco perché il pacchetto ifthen definisce solo while.
Un informatico mi darebbe dell’ignorante se prendesse alla lettera la mia affermazione di prima; for a while sono due cicli sostanzialmente diversi, ma differiscono solo per il momento in cui viene verificata la condizione, dopo o prima del corpo del ciclo; di fatto tutto sta a definire il test in modo adeguato e poi tutti e due i cicli portano allo stesso risultato.
se poi ne test e nel ciclo usi dei contatori TeX scratch, non hai bisogno di definire niente, e quando hai finito il ciclo abbandoni lì i contatori scratch e se vengono usati da altri brani di testo non ha più importanza. Sarebbe diverso se volessi dei cicli ricorsivi,[erché allora dovresti proteggere i tuoi contatori dentro dei gruppi, perché non vengano sovrascritti da altri pezzi di programma. Ma qui, me ne rendo conto, vuol dire scendere a dettagli di programmazione in linguaggio primitivo, che certamente possono essere ottenuti anche con comandi di livello superiore, meno efficaci, ma più comprensibili.