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 :

\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{xifthen}
\theoremstyle{definition}
\newtheorem{exo}{Exercice}
\newenvironment{exercice}[1]{\begin{exo}[#1 \ifthenelse{#1<2}{point}{points}]~\\}{\end{exo} \vspace*{0.5cm}}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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 :

\documentclass[french]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{xifthen}
\usepackage{babel}
\theoremstyle{definition}
\newtheorem{exo}{Exercice}
\newenvironment{exercice}[1]{\begin{exo}[#1 \ifthenelse{#1<2}{point}{points}]~\\}{\end{exo} \vspace*{0.5cm}}
\begin{document}
\begin{exercice}{1}
azerty
\end{exercice}
\begin{exercice}{2}
azerty
\end{exercice}
\begin{exercice}{1,5}
azerty
\end{exercice}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Posée 22 Mar '23, 10:03

endomorphisme's gravatar image

endomorphisme
411318
Taux d'acceptation : 0%

Modifiée 22 Mar '23, 10:09


Voici une réponse faisant usage des facilités de programmation offertes par expl3. Au passage, j'ai tiré parti des styles fournis par amsthm afin d'éviter certaines bidouilles ;) Enfin, plutôt qu'une dimension fixe telle que 0.5cm pour séparer les exercices, une longueur élastique telle que 0.5cm plus 0.1cm minus 0.2cm permettrait probablement un remplissage de page plus harmonieux.

\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}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Lien permanent

Publiée 22 Mar '23, 11:19

denis's gravatar image

denis ♦♦
7.3k2510
Taux d'acceptation : 53%

Modifiée 22 Mar '23, 11:19

Votre réponse
[Masquer l'aperçu]

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Mots-clés de la question :

×5
×4
×3
×3
×2

Question posée : 22 Mar '23, 10:03

Question vue : 2,676 fois

Dernière mise à jour : 22 Mar '23, 12:46

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

×