J'ai eu besoin de créer une macro avec paramètres délimités, \def\make@matrix#1:#2|#3{contenu de la macro}. En compilant mon texte qui utilise cette macro je reçois le message d'erreur
"Paragraph ended before \make@matrix was complete"
J'ai d'abord mis en cause le contenu de \make@matrix mais je n'y ai trouvé aucune erreur. J'ai donc testé à nouveau cette macro en la réduisant au minimum, \def\make@matrix#1:#2|#3{\wlog{ #1 ; #2 ; #3}}. Je recompile et j'obtiens la même erreur. Autre test, je modifie les paramètres de la macro avec \def\make@matrix#1#2#3 ; bien entendu le résultat n'est pas celui que je souhaitais mais l'essentiel était de vérifier que le message
"Paragraph ended before \make@matrix was complete"
ne s'affiche plus.
Donc, visiblement l'erreur est causée par la structure \def\make@matrix#1:#2|#3, pourtant j'ai consulté l'ouvrage de Lachand-Robert qui ne signale aucune précaution particulière quant à la programmation de ces macros avec paramètres délimités. Si quelqu'un a une idée je la prends volontiers et je l'en remercie d'avance.