Des étoiles devant un exercice
Je profite de cette semaine de vacances pour améliorer ma technique de mise en page sur Latex (j'avais appris dans la précipitation, en particulier je viens de découvrir les environnements, c'est dire).
En ce dimanche soir, il me reste une seule chose à faire et je viens à vous, car je sèche.
J'ai défini un "newtheorem" tout simple, appelé Exercice, qui numérote mes exercices, de la façon générique suivante :
$\mathbf{Exercice} \ \mathbf{1}$ (Titre de l'exercice s'il en est) Texte de l'exercice.
J'ai utilisé la commande theorem simplement pour avoir une numérotation automatique, je ne suis pas contre l'idée de changer.
Je voudrais que, dans la marge, s'affiche une petite image que j'ai pré-concoctée (affichant la difficulté de l'exercice au moyen de petites étoiles). Avant de découvrir tout cela, je faisais ainsi :
mais bien sûr, la numérotation n'est pas automatique.
Maintenant, je n'arrive pas à allier les deux, car ma petite manipulation de boîte dans la marge ne s'aligne jamais avec mon environnement Exercice : en effet, \begin{Exercice} induit toujours un retour à la ligne.
Idée ? Soit pour numéroter sans recours à theorem, soit pour personnaliser mon theorem.
En ce dimanche soir, il me reste une seule chose à faire et je viens à vous, car je sèche.
J'ai défini un "newtheorem" tout simple, appelé Exercice, qui numérote mes exercices, de la façon générique suivante :
$\mathbf{Exercice} \ \mathbf{1}$ (Titre de l'exercice s'il en est) Texte de l'exercice.
J'ai utilisé la commande theorem simplement pour avoir une numérotation automatique, je ne suis pas contre l'idée de changer.
Je voudrais que, dans la marge, s'affiche une petite image que j'ai pré-concoctée (affichant la difficulté de l'exercice au moyen de petites étoiles). Avant de découvrir tout cela, je faisais ainsi :
\noindent \makebox[0pt][r]{%
\includegraphics[scale=0.115]{1star.png}}
\textcolor{blue}{\textbf{Exercice 1.}} \textit{(Titre de l'exercice s'il en est)} Texte de l'exercice.
mais bien sûr, la numérotation n'est pas automatique.
Maintenant, je n'arrive pas à allier les deux, car ma petite manipulation de boîte dans la marge ne s'aligne jamais avec mon environnement Exercice : en effet, \begin{Exercice} induit toujours un retour à la ligne.
Idée ? Soit pour numéroter sans recours à theorem, soit pour personnaliser mon theorem.
La pensée ne préexiste pas à la langue et à ses formes, car c’est en parlant, fût-ce en soliloquant, que je pense. — Hegel
Réponses
-
Bonjour, une solution est de créer un environnement pour ton exercice, et de le mettre dans un autre environnement où tu vas ajouter les étoiles dans la marge. Je rajoute des choses dans la marge avec le package marginnote et mes étoiles sont faites à l'aide de TikZ (voir ici), mais tu peux utiliser ton image si tu veux. Je crée un environnement inner pour les exercices, puis un environnement exercise qui a un paramètre obligatoire (un nombre entre 1 et 5 pour la difficulté de l'exercice) et un paramètre facultatif (le nom de l'exercice), et qui utilise l'environnement inner.
\documentclass[french]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{ntheorem} \usepackage{marginnote} \usepackage{xparse} \usepackage{tikz} \usepackage{babel} \usepackage[babel=true]{microtype} \usetikzlibrary{shapes.geometric} \newcommand{\stars}[2][fill=yellow,draw=orange]{ \begin{tikzpicture}[baseline=-0.35em,#1] \foreach \X in {1,...,5} { \pgfmathsetmacro{\xfill}{min(1,max(1+#2-\X,0))} \path (\X*1.1em,0) node[star,draw,star point height=0.25em,minimum size=1em,inner sep=0pt, path picture={\fill (path picture bounding box.south west) rectangle ([xshift=\xfill*1em]path picture bounding box.north west);}]{}; } \end{tikzpicture} } \newcommand{\marginstars}[1]{\reversemarginpar\marginnote{\stars{#1}}\normalmarginpar} \newtheorem{inner}{Exercice} \NewDocumentEnvironment{exercise}{mo} {\IfNoValueTF{#2}{\inner\marginstars{#1}}{\inner[#2]\marginstars{#1}}} {\endinner} \begin{document} \section{Test} \begin{exercise}{2.25} Contenu de l'exercice. \end{exercise} \begin{exercise}{4}[Nom] Contenu de l'exercice. \end{exercise} \end{document}
-
@Karnaj OK, merci pour votre aide, ça pourrait me convenir facilement.
Seul problème, voilà ce que j'obtiens pour l'instant avec votre texte :
La pensée ne préexiste pas à la langue et à ses formes, car c’est en parlant, fût-ce en soliloquant, que je pense. — Hegel -
Précisions : j'ai ré-essayé en remplaçant simplement la ligne \usepackage{ntheorem} par \usepackage{amsthm} (ce qui est mieux pour moi, j'utilisais déjà le second). Cette fois-ci, les étoiles s'alignent bien à gauche. Le seul problème est qu'elles sont beaucoup trop grosses et dépassent de la page.
Mais je me suis débrouillé en les rétrécissant ! Donc tout va bien.La pensée ne préexiste pas à la langue et à ses formes, car c’est en parlant, fût-ce en soliloquant, que je pense. — Hegel -
Parfait si t'as réussi à obtenir ce que tu voulais. Sinon si tu ne les voulais pas dans la marge, voici un code d'exemple où je crée mon propre environnement pour le faire.
\documentclass[french]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{xparse} \usepackage{tikz} \usepackage{babel} \usepackage[babel=true]{microtype} \usetikzlibrary{shapes.geometric} \newcommand{\stars}[2][fill=yellow,draw=orange]{ \begin{tikzpicture}[baseline=-0.6ex,#1] \foreach \X in {1,...,5} { \pgfmathsetmacro{\xfill}{min(1,max(1+#2-\X,0))} \path (\X*2ex,0) node[star,draw,star point height=0.3ex,minimum size=1.7ex,inner sep=0pt, path picture={\fill (path picture bounding box.south west) rectangle ([xshift=\xfill*1em]path picture bounding box.north west);}]{}; } \end{tikzpicture} } \newcounter{exercise} \NewDocumentEnvironment{exercise}{mo} {\stepcounter{exercise}\par\noindent\stars{#1} \bfseries\upshape\rmfamily Exercice \arabic{exercise}\IfNoValueTF{#2}{}{ (#2)}\mdseries\itshape} {\vspace{1ex}\newline} \begin{document} Un premier exercice. \begin{exercise}{2.5} Contenu de l'exercice. \end{exercise} Il est plutôt simple; Et un autre, un peu plus compliqué. \begin{exercise}{4}[Nom] Contenu de l'exercice. \end{exercise} \end{document}
-
La pensée ne préexiste pas à la langue et à ses formes, car c’est en parlant, fût-ce en soliloquant, que je pense. — Hegel
Connectez-vous ou Inscrivez-vous pour répondre.
Bonjour!
Catégories
- 165.1K Toutes les catégories
- 58 Collège/Lycée
- 22.1K Algèbre
- 37.5K Analyse
- 6.3K Arithmétique
- 58 Catégories et structures
- 1.1K Combinatoire et Graphes
- 13 Sciences des données
- 5.1K Concours et Examens
- 20 CultureMath
- 51 Enseignement à distance
- 2.9K Fondements et Logique
- 10.7K Géométrie
- 83 Géométrie différentielle
- 1.1K Histoire des Mathématiques
- 79 Informatique théorique
- 3.9K LaTeX
- 39K Les-mathématiques
- 3.5K Livres, articles, revues, (...)
- 2.7K Logiciels pour les mathématiques
- 24 Mathématiques et finance
- 337 Mathématiques et Physique
- 5K Mathématiques et Société
- 3.3K Pédagogie, enseignement, orientation
- 10.1K Probabilités, théorie de la mesure
- 801 Shtam
- 4.2K Statistiques
- 3.8K Topologie
- 1.4K Vie du Forum et de ses membres