J'ai besoin d'un compteur palindromique (qui affiche les numéros du plus haut vers le plus bas) d'entrées dans un environnement description. En m'inspirant d'un backward counter, voici ce que j'ai obtenu :

Ouvrir dans l'éditeur Overleaf
\documentclass{article}
\pagestyle{empty}
\usepackage{zref-lastpage}
\usepackage{xcolor}
\newcounter{myCounter}

\makeatletter
\zref@newprop{myCounter}{\the\value{myCounter}}
\zref@addprop{LastPage}{myCounter}
\newcommand*{\myCounterLast}{%
  \zref@extractdefault{LastPage}{myCounter}{0}%
}
\renewcommand*{\themyCounter}{%
  \@arabic{\numexpr\myCounterLast+1-\value{myCounter}\relax}%
}
\makeatother

\newcommand\addcounter{\stepcounter{myCounter}\makebox[0cm][r]{\makebox[3cm][l]{\small\textcolor{black!50}{[\themyCounter]}}}}

\begin{document}
First list
\begin{description}
\item[titre 1] \addcounter description 1
\item[titre 2] \addcounter description 2
\item[titre 3] \addcounter description 3
\item[titre 4] \addcounter description 4
\end{description}
Second list
\begin{description}
\item[titre 5] \addcounter description 5
\item[titre 6] \addcounter description 6
\end{description}
\end{document}

Évidemment, j'aimerais que le compteur en question soit réinitialisé pour chaque nouvelle liste, ce qui complique la tâche !

Posée 11 Aoû '17, 00:00

pluton's gravatar image

pluton
1.2k22937
Taux d'acceptation : 34%

Modifiée 28 Aoû '17, 21:50

Pathe's gravatar image

Pathe ♦♦
7.5k42204251

Il est préférable d'utiliser des étiquette de longueurs différentes et des items sur plusieurs lignes. De plus, je vous recommande d'utiliser \usepackage{showframe}.

(11 Aoû '17, 15:42) touhami touhami's gravatar image

À l'aide de l'extension etaremune et de deux adaptations, il semblerait que j'obtienne quelque chose qui ressemble à ce que vous souhaitez.

Ouvrir dans l'éditeur Overleaf
\documentclass{article}
 \usepackage[labelsep=50pt]{etaremune} 
 \renewcommand{\labelenumi}{[\theenumi]}
 \begin{document}
 \noindent premi\`ere liste :
 \begin{etaremune}
 \item description 1
 \item description 2
 \item description 3
 \end{etaremune}
 \noindent dexi\`eme liste :
 \begin{etaremune}
 \item description 1
 \item description 2
 \item description 3
 \end{etaremune}
 \end{document}

alt text

EDIT : Suite aux demande du PO.

Deux solutions qui intègrent les titres, la première redéfinit \item afin de l'avoir à la manière de l'environnement description : il suffit de remplacer \item par \myitem dans l'environnement etaremune.

Ouvrir dans l'éditeur Overleaf
\documentclass{article}
\usepackage[labelsep=10pt]{etaremune}
\usepackage{enumitem}
\def\myitem#1#2{\item\begin{description}
\item[#1 :]#2%
\end{description}}
\renewcommand{\labelenumi}{[\theenumi]}
\begin{document} 
\noindent premi\`ere liste :
\begin{etaremune}
   \myitem{titre 1}{ description 1}
   \myitem{titre 2}{ description 2}
   \myitem{titre 3}{ description 3}
\end{etaremune}

\noindent dexi\`eme liste :
\begin{etaremune}
   \myitem{titre 1}{ description 1}
   \myitem{titre 2}{ description 2}
   \myitem{titre 3}{ description 3}
\end{etaremune}
\end{document}

La deuxième redéfinit l'environnement etaremune afin qu'il s'affiche comme l'environnement description : il suffit de remplacer etaremune par madescription comme nom de l'environnement.

Ouvrir dans l'éditeur Overleaf
\documentclass{article}
\usepackage[labelsep=10pt]{etaremune}
\usepackage{enumitem}
\renewcommand{\labelenumi}{[\theenumi]}

\newenvironment{madescription}{%
\let\olditem\item% 
\renewcommand\item[2][]{\olditem  ##1  {\bf ##2 :}}%
\begin{etaremune}}{\end{etaremune}%
}

\begin{document}
\noindent premi\`ere liste :
\begin{madescription}
 \item{titre 1}{ description 1}
 \item{titre 2}{ description 2}
 \item{titre 3}{ description 3}
\end{madescription}

\noindent deux\`eme liste :
\begin{madescription}
 \item{titre 1}{ description 1}
 \item{titre 2}{ description 2}
 \item{titre 3}{ description 3}
\end{madescription}
\end{document}

Les deux solutions produisent ceci :

alt text

Lien permanent

Publiée 11 Aoû '17, 00:37

Nikopol's gravatar image

Nikopol
1.0k614
Taux d'acceptation : 42%

Modifiée 28 Aoû '17, 21:52

Pathe's gravatar image

Pathe ♦♦
7.5k42204251

intéressant mais non parce qu'en fait j'utilise déjà l'entrée item[titre] dans l'environnement description. J'ai mis à jour ma question.

(11 Aoû '17, 01:01) pluton pluton's gravatar image

avec\renewenvironment je pense qu'il est possible d'insérer un titre dans cette solution.

(11 Aoû '17, 01:38) Nikopol Nikopol's gravatar image

ah oui mais ça n'est pas toujours le même titre! J'ai encore mis à jour

(11 Aoû '17, 02:25) pluton pluton's gravatar image

enfin, c'est vrai que je pourrais indiquer les titre i à la main sans utiliser le champ optionnel de la commande item.

(11 Aoû '17, 19:29) pluton pluton's gravatar image

En définissant une commande cela semble être ce que vous souhaitez.

\def\myitem#1#2{\begin{description} \item[#1]#2% \end{description}}

J'édite ma réponse en ce sens.

(11 Aoû '17, 22:34) Nikopol Nikopol's gravatar image

Pour l'instant j'ai réussi à obtenir ce que je veux en "hackant" l'extension etaremune. Je n'indique pas la solution ici parce que c'est trop compliqué et pas vraiment beau. Ca revient à faire ce que vous proposez mais sans utiliser l'environnement description à chaque entrée de l'environnement itemize. Il y a probablement mieux à faire mais j'ai l'impression qu'il faudrait écrire toute une extension dans l'esprit de l'extension etaremune.

(12 Aoû '17, 00:51) pluton pluton's gravatar image

@pluton est-ce résolu? ou doit on continuer de proposer des solutions?

(12 Aoû '17, 01:23) Nikopol Nikopol's gravatar image

En fait, la question est probablement trop ardue pour une réponse simple. Elle nécessite sans doute une extension du type etaremune qui me semble sophistiquée.

(12 Aoû '17, 19:30) pluton pluton's gravatar image

J'ai mis à jour ma réponse en fonction des demandes du PO. @pluton, je ne vois pas en quoi ces solutions sont complexes (une a déjà été proposée). Elles font appel à une code simple de moins de 5 lignes.

(12 Aoû '17, 22:27) Nikopol Nikopol's gravatar image

votre solution est presque acceptable. J'aimerais conserver la syntaxe usuelle \begin{descriptionetaremune} \item[option] texte \end{descriptionetaremune} Pour cela, il faudrait que je regarde attentivement comment les environnements description et etaremune sont définis.

(13 Aoû '17, 18:20) pluton pluton's gravatar image

@pluton, je n'arrive pas à vous comprendre, la deuxième solution propose un environnement \begin{madescription} vous n'avez qu'à changé le nom en descriptionetaremune. les crochets [ fonction pour l'option, la seule contrainte est de mettre des accolades sur le deuxième argument. Je trouve que ce n'est pas si difficile vu votre demande.

(13 Aoû '17, 22:36) Nikopol Nikopol's gravatar image

@Nikopol Je ne vois le rôle des accolades sur { description 1}

@pluton avez vous remarquez que dans votre ECM les numéros sont dans la marge gauche?

(13 Aoû '17, 23:06) touhami touhami's gravatar image

@touhami, au temps pour moi. Les accolades sont en effet inutiles (j'avais modifié mon code pour faire des tests). Donc on a le même comportement que l'environnement description.

(13 Aoû '17, 23:49) Nikopol Nikopol's gravatar image
Affichage de 5 parmi 13 Afficher 8 commentaire(s) en plus
Votre réponse
(dés)activer 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

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.