Aggiungo ancora che il fatto che con la codifica di entrata impostata a utf8 è normale che TeX non ti accetti la definizione; TeX (in effetti pdftex) non accetta definizioni di macro se i nomid elle macro:
a) non sono dei caratteri attivi
b) non sono un bacslash seguito da una stringa di lettere ASCII con codice di categoria 11
c) non sono un backslash seguito da un solo carattere ASCII con codice di categoria 12
Il punto è che i caratteri NON ASCII, come è, con la codifica utf8 sono definiti internamente mediante due byte, nessuno dei due con la categoria 11, quindi l’interprete pdftex non può accettare quella definizione.
Volendo eseguire acrobazie si potrebbe usare il comando del nucleo di LaTeX \@namedef il cui argomento può essere una stringa di caratteri qualsiasi, ma poi per eseguire il comando per esempio, \@#&$ (definito mediante \@namedef{@#&$}{definizione}) bisogna usare la scrittura \@nameuse{@#&$}. Queste cose è meglio lasciarle nel kernel di LaTeX.
Secondo me, posso sbagliarmi, è molto più comodo definire un comando usando le lettere maiuscole, per esempio,
`
\newcommand\E{\`E}
`
e, volendo, vi si può aggiungere uno spazio nella definizione
`
\newcommand\E{\`E }
`
in modo che si possa cominciare un periodo con la terza persona del verbo essere:
`
\E vero che \LaTeX\ ha bisogno di essere usato bene.
`
così non bisogna ricordarsi di mettere lo spazio esplicito dopo la macro, come si è dovuto fare dopo \LaTeX.