Je souhaite créer une nouvelle commande "exercice" dans LaTeX, qui prend en paramètre le nombre de points attribué à l'exercice et qui affiche "Exercice n (p point)" si p<2 et "Exercice n (p points)" sinon. Voici mon code :
Tout se passe bien lorsque les paramètres sont des entiers. Mais dès que l'on met des flottants (par exemple, 1,5 ou 1.5), ça ne marche plus... Voici un ECM :
Posée 22 Mar '23, 10:03 endomorphisme |
Voici une réponse faisant usage des facilités de programmation offertes par \documentclass[french]{article} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{lmodern} \usepackage{amsmath} \usepackage{amssymb} \usepackage{amsthm} \usepackage{babel} \newtheoremstyle{break} % ⟨name⟩ {} % ⟨Space above⟩ {0.5cm} % ⟨Space below⟩ {\normalfont} % ⟨Body font⟩ {} % ⟨Indent amount⟩ {\bfseries} % ⟨Theorem head font⟩ {} % ⟨Punctuation after theorem head⟩ {\newline} % ⟨Space after theorem head⟩ {} % ⟨Theorem head spec (can be left empty, meaning ‘normal’ )⟩ \theoremstyle{break} \newtheorem{exo}{Exercice} \ExplSyntaxOn \newenvironment{exercice}[1]{% \begin{exo}[#1~point \fp_compare:nF {#1<2}{s}]% }{% \end{exo} } \ExplSyntaxOff \begin{document} \begin{exercice}{1} azerty \end{exercice} \begin{exercice}{2} azerty \end{exercice} \begin{exercice}{1,5} azerty \end{exercice} \end{document} Publiée 22 Mar '23, 11:19 denis ♦♦ |