Un \label inserito nell’argomento di \chapter (o \section…) potrebbe creare problemi se finisse nell’indice generale o nelle testatine, ma ciò non accade. Come ha anticipato Claudio, \addtocontents lo annulla, perché pone \let\label\@gobble e poi lo fa espandere (l’espansione avviene sempre quando si scrive nei file ausiliari, è per questo che ogni tanto serve un \protect): se noti, nel file .toc non c’è più traccia di \label.
😉
Una cosa analoga fanno \markboth e \markright, eliminandolo dalle testatine.
Domanda per esperti: perché \markright e \markboth fanno \let\label\relax anziché \let\label\@gobble come mi aspetterei, per eliminare anche l’argomento? Non è la prima volta che trovo dei \let “incongrui” (e che non me li spiego; per esempio anche un \let\thepart\@gobble in classicthesis)…
😕
In ogni caso, io preferisco porre il \label fuori. Sarebbe bene tenere sempre a mente la regola che scrive Tommaso: di darlo dopo il comando associato (tranne che per casi particolari o ambienti, ovvio). Ancora meglio sotto:
`\chapter{Un gran bel capitolo}
\label{chap:bel-capitolo}`
Ciao,
Antonio