Création de macro aux arguments séparés par des virgules
Sur [http://tex.stackexchange.com/q/19693/18401](http://tex.stackexchange.com/q/19693/18401 "Arguments [ce fil du site *tex.stackexchange*](http://tex.stackexchange.com/q/19693/18401), intitulé *Arguments of custom commands as comma separated list?"), list?*, on trouve différentes propositions pour écrire une macro dont les arguments sont séparés par des virgules.
Désireux de m'en servir pour taper les intervalles de façon plus générique, j'ai essayé d'adapter le code :
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\def\my@intervalle #1,#2\@eolst{%
\ifx\relax#2\relax
#1
\else
\my@intervalle #2\@eolst%
\fi}
\newcommand{\interff}[1]{%
\left[
\my@intervalle #1, \relax\noexpand\@eolst%
\right]
}
\newcommand{\interffold}[2]{\left[#1~;~#2\right]}
\makeatother
\begin{document}
$\interff{1,2}$
$\interffold{1,2}$
\end{document}
J'obtiens le message suivant lors de la compilation :
Runaway argument?
\relax \noexpand \@eolst \fi \fi \right ] $
! Paragraph ended before \my@intervalle was complete.
<to be read again>
\par l.38
?
! Missing $ inserted.
<inserted text>
$ l.38
?
! Missing \right. inserted.
<inserted text>
\right . l.38
?
Est-ce que quelqu'un peut m'aider à obtenir le résultat souhaité ?