Le code ci-après bloque sur le input, avec une erreur Ouvrir dans l'éditeur Overleaf
! 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 Quelqu'un a-t-il une idée ? Ouvrir dans l'éditeur Overleaf
%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} |
Une possibilité sans Ouvrir dans l'éditeur Overleaf
%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}} \def\numeroex{\ifnum\value{exo}<10 0\fi\arabic{exo}} %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 \numeroex \end{document} Publiée 01 Sep '19, 17:30 samcarter Merci beaucoup samcarter, cela fonctionne... et sans besoin de
(01 Sep '19, 20:37)
izb
|