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

01 Sep '19, 23:32

Pathe's gravatar image

Pathe
7.6k49210252

Réutiliser le résultat d'une macro dans une autre macro

Bonjour, Le code ci-après bloque sur le "input", *input*, avec une erreur ! Incomplete \iffalse; all text was ignored after line 23. En lisant pas mal de documentation sur le sujet (je ne connais pas grand chose en programmation TeX), je crois comprendre que le problème est un problème d'expansion : il faudrait que la macro à l'intérieur de input *input* soit exécutée avant le input *input* et ce n'est pas le mode de fonctionnement naturel de TeX. J'ai essayé des `\expandafter`, du `\edef` et plusieurs autres choses, mais sans succès. Quelqu'un a-t-il une idée ? %ECM \documentclass[10pt,a4paper]{article} \usepackage[utf8]{inputenc} \usepackage[french]{babel} \usepackage[T1]{fontenc} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{lmodern} \usepackage{ifthen} \begin{document} \newcounter{exo} %on fait un numéro d'exercice sur deux chiffres \setcounter{exo}{2} \def\numeroex {\ifthenelse{\value{exo}<10}{0\theexo}{\theexo}} %on tente de réutiliser le numéro de l'exercice dans une autre macro %il y a un fichier exo02.tex dans le répertoire de travail \input{exo\numeroex} %:( ça veut pas \end{document}
cliquez ici pour masquer/afficher la révision 3
Correction d'une coquille dans le titre

01 Sep '19, 17:28

Bernard's gravatar image

Bernard
4.6k15

Réutliser Réutiliser le résultat d'une macro dans une autre macro

Bonjour, Le code ci-après bloque sur le "input", avec une erreur ! Incomplete \iffalse; all text was ignored after line 23. En lisant pas mal de documentation sur le sujet (je ne connais pas grand chose en programmation TeX), je crois comprendre que le problème est un problème d'expansion : il faudrait que la macro à l'intérieur de input soit exécutée avant le input et ce n'est pas le mode de fonctionnement naturel de TeX. J'ai essayé des `\expandafter`, du `\edef` et plusieurs autres choses, mais sans succès. Quelqu'un a-t-il une idée ? %ECM \documentclass[10pt,a4paper]{article} \usepackage[utf8]{inputenc} \usepackage[french]{babel} \usepackage[T1]{fontenc} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{lmodern} \usepackage{ifthen} \begin{document} \newcounter{exo} %on fait un numéro d'exercice sur deux chiffres \setcounter{exo}{2} \def\numeroex {\ifthenelse{\value{exo}<10}{0\theexo}{\theexo}} %on tente de réutiliser le numéro de l'exercice dans une autre macro %il y a un fichier exo02.tex dans le répertoire de travail \input{exo\numeroex} %:( ça veut pas \end{document}
cliquez ici pour masquer/afficher la révision 2
code

01 Sep '19, 17:16

samcarter's gravatar image

samcarter
8.6k2817

cliquez ici pour masquer/afficher la révision 1

01 Sep '19, 16:14

izb's gravatar image

izb
5325