Historique des modifications [retour]
cliquez ici pour masquer/afficher la révision 5
typo

15 Nov '15, 21:08

Pathe's gravatar image

Pathe
7.6k53211254

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é ?
cliquez ici pour masquer/afficher la révision 4

15 Nov '15, 18:16

denis's gravatar image

denis
7.4k2510

Création de macro aux arguments séparés par des virgules

Sur :[http://tex.stackexchange.com/questions/19693/arguments-of-custom-commands-as-comma-separated-list](http://tex.stackexchange.com/questions/19693/arguments-of-custom-commands-as-comma-separated-list [http://tex.stackexchange.com/q/19693/18401](http://tex.stackexchange.com/q/19693/18401 "Arguments of custom commands as comma separated list?") list?"), on trouve différentes proposition 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 : générique, j'ai essayé d'adapté 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é. souhaité ?
cliquez ici pour masquer/afficher la révision 3

15 Nov '15, 18:08

vincentxavier's gravatar image

vincentxavier
3315

cliquez ici pour masquer/afficher la révision 2

15 Nov '15, 18:08

vincentxavier's gravatar image

vincentxavier
3315

cliquez ici pour masquer/afficher la révision 1

15 Nov '15, 18:04

vincentxavier's gravatar image

vincentxavier
3315

C'est votre première visite ici ? Consultez la FAQ !

×