Je n'ai pas la réponse mais je sais que le traitement des formules mathématiques est totalement différent entre les documents et les exercices.
Il y a un prétraitement "intelligent (trop ?)" des formules qui permet par exemple d'interpréter correctement (pour les matheux) l'expression \(exp(2ipix)). Et ce prétraitement est fait différemment suivant que c'est un document ou un exercice (les variables sont anonymées dans le cas des exos, pas des documents). Mais dans la plupart des cas, c'est fait de façon à donner le même résultat.
Le résultat, c'est que
1/ On s'habitue au comportement similaire et on s'étonne quand il ne l'est pas.
2/ Des fois, l'un des deux traitements (doc ou exo), ou les deux, ne donne pas ce qu'on voudrait.
A mon avis, il y a sans doute une discussion à mener (ici ou ailleurs ?) sur ce qu'on attend de ces traitements intelligents, et voir aussi techniquement comment ça marche exactement actuellement et ce qu'on peut y changer. J'ai abordé le sujet dans le rapport de bug
https://sourcesup.cru.fr/tracker/index.php?func=detail&aid=6910&group_id=379&atid=1607 du projet wimsdev.
Quant à ta question "comment faire ?", il faudrait préciser un peu faire quoi, car bien sûr la réponse idiote est d'écrire \(\nearrow) directement dans le texte. Je suppose que tu veux pouvoir donner un nom simple à une formule éventuellement compliquée.
Une dernière remarque : si on remplace nearrow par rightarrow, on a un comportement encore différent (et mauvais) sous doc (et toujours correct avec createxo).
Eric