Il codice che hai copiato è una prcheria, come qualcuno ha supposto correttamente. Tanto per commentare la porcheria, il codice`\newenvironment{eq}
{\begin{eqnarray}}
{\end{eqnarray}}`è una porcheria per due motivi:
1) è ridicolo cambiare nome ad un ambiente soltanto per scrivere qualche lettera in meno: [tt]\begin{eq}[/tt] invece di [tt]\begin{eqnarray}[/tt]; non lo si deve mai fare, anche se funziona, perché diminuisce la leggibilità del codice (non perché [tt]eq[/tt] non ricordi le equazioni, ma perché si perde il concetto di «sistema di» equazioni dato da nome [tt]eqnarray[/tt].
2) qualunque guida ricorda che LaTeX2e contiene ancora l’ambiente eqnarray per compatibilità con i vecchi documenti, ma che non lo si deve usare con i nuovi documenti perché contiene un errore tipografico visibile a occhio nudo da chiunque abbia un minimo di attenzione: lo spazio attorno all’operatore di relazione rispetto al quale è eseguito l’incolonnamento è troppo grande rispetto a quello che appare se la stesa equazione è scritta fuori di quell’ambiente. Qualunque guida raccomanda di usare l’ambiente align del pacchetto amsmath, anzi consigia di caricare sempre questo pacchetto anche se non si usa matematica avanzata. Esso diventa assolutamente indispensabile per scrivere sistemi di equazioni, per identificare le singole equazioni di un sistema con il loro \label e l’intero sistema con il suo \label, per comporre matrici, per comporre liste di casi (nell’ambiente cases) e per tante altre cose che puoi leggere da solo aprendo il terminale e scrivendoci dentro il comando texdoc amsmath e premendo poi il tasto INVIO. La guida tematica liberamente tradotta in italiano e commentata con il LaTeX Reference Manual commentato, scaricabile dalla sezione Documentazione di questo sito, descrive l’ambiente eqnarray come comando del mark up di LaTeX e commentandolo negativamente spiega bene anche il perché.
Conclusione di questa “reprimenda”: non prendere mai codice scritto da altri se non sai esattamente che cosa fa, cioè se non sei in grado di decifrare ogni definizione di comando in ogni suo minimo dettaglio; al posto di quelle cose c’è sempre un apposito pacchetto che le fa meglio. Sei tu solo autorizzato a scriverti i comandi che ti fanno comodo, perché tu solo sai che cosa vuoi veramente fare; ma se non riesci a scrivere da solo questi comandi personali, lascia stare e cerca qualche pacchetto di estensione che lo faccia per te.