Quel problème y a-t-il avec mes commandes \item ? Je reçois le message suivant pour chaque ligne commencant par \item : ! LaTeX Error: Something's wrong--perhaps a missing \item.

(Il est possible que mon ECM ne soit pas assez concis, mais comme c'est m'a première journée d'utilisation de TeX et de TeXnique, je n'ai aucune idée d'où provient l'erreur et je préfère vous donner toutes les informations susceptibles de vous donner la clé de mon erreur).

Ouvrir dans l'éditeur Overleaf
% This file was converted to LaTeX by Writer2LaTeX ver. 1.4
% see http://writer2latex.sourceforge.net for more info
\documentclass[a4paper]{report}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english,french]{babel}
\usepackage{amsmath}
\usepackage{amssymb,amsfonts,textcomp}
\usepackage{color}
\usepackage{array}
\usepackage{supertabular}
\usepackage{hhline}
\usepackage{hyperref}
\hypersetup{colorlinks=true, linkcolor=blue, citecolor=blue, filecolor=blue, urlcolor=blue}
% Outline numbering
\setcounter{secnumdepth}{0}
\makeatletter
\newcommand\arraybslash{\let\\\@arraycr}
\makeatother
\begin{document}
\begin{enumerate}[{art.} 1]
 \item En cas de lacunes ou de silence des dispositions normatives du règlement d'ordre intérieur, les présentes s'interprètent la lumière de la Charte,
\item Il est arrêté, entre toutes les entités copropriétaires, un
règlement d'ordre intérieur, établi par acte sous seing privé,
obligatoire pour eux et pour leurs héritiers, successeurs, ayants-droit
et ayants-cause à tout titre.
\item règlement et ses modifications doivent être imposés par les
aliénateurs du droit de propriété ou de jouissance à leurs contractants
\end{enumerate}
 \section{Titre I - Définition, modifications, portée}
\hypertarget{RefHeading7001291715310}{}art. 1\ \ Ce règlement d'ordre
intérieur est relatif à la jouissance de l'ensemble immobilier et aux
détails de la vie en commun, conformément au règlement de copropriété.
\end {document}

Posée 30 Jul '17, 17:28

ameli's gravatar image

ameli
111237
Taux d'acceptation : 0%

Modifiée 28 Aoû '17, 01:41

Pathe's gravatar image

Pathe ♦♦
7.4k28196245


Tout d'abord, pour l'ECM, enlève tout ce que tu peux tout en conservant l'erreur :

Ouvrir dans l'éditeur Overleaf
\documentclass{report}

\begin{document}

\begin{enumerate}[{art.} 1]
\item toto
\item titi
\end{enumerate}

\end {document}

Pour l'erreur, il suffit d'enlever le [{art.} 1] pour que cela marche. Pourquoi ? Il ne s'agit pas d'une option possible pour le enumerate de base. Pour que cela marche, il faut utiliser le package enumerate. Et donc ceci fonctionne :

Ouvrir dans l'éditeur Overleaf
\documentclass{report}
\usepackage{enumerate}

\begin{document}

\begin{enumerate}[{art.} 1]
\item toto
\item titi
\end{enumerate}

\end {document}
Lien permanent

Publiée 30 Jul '17, 19:20

the_alf's gravatar image

the_alf
5864
Taux d'acceptation : 27%

Modifiée 28 Aoû '17, 01:42

Pathe's gravatar image

Pathe ♦♦
7.4k28196245

Il me semble qu'il vaut mieux personnaliser l'énumération avec l'extension enumitem, qui a beaucoup plus de possibilités. Par ailleurs, je ne saurais trop vous engager à enregistrer votre code-source au format utf8 (seul format universel avec l'ascii !), que gèrent par défaut tous les éditeurs modernes.

Pour ne pas toucher aux listes standard, je propose de définir un nouvel environnement de liste numérotée, baptisé articles. C'est très simple à faire avec enumitem. D'autre part, il est possible d'interrompre un tel environnement pour insérer tout autre chose, puis d'en ouvrir un autre en continuant la numérotation grâce à la clef resume.

L'extension cleveref (à charger après hyperref) permet une gestion intelligente des références croisées avec les commandes \cref et \Cref. Un exemple est donné, où \Cref{art-1} produit L'article 1.

Ouvrir dans l'éditeur Overleaf
\documentclass[a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english,french]{babel}
\usepackage{amsmath}
\usepackage{amssymb,amsfonts,textcomp}
\usepackage{erewhon, fourier}%{lmodern}
\usepackage{xcolor}
\usepackage{array}
\usepackage{supertabular}
\usepackage{hhline}
\usepackage{hyperref}
\hypersetup{colorlinks=true, linkcolor=blue, citecolor=blue, filecolor=blue, urlcolor=blue}
\usepackage{cleveref}
% Outline numbering
\setcounter{secnumdepth}{0}
\makeatletter
\newcommand\arraybslash{\let\\\@arraycr}
\makeatother
\usepackage{cleveref} 
\usepackage{enumitem}
\newlist{articles}{enumerate}{1}
\setlist[articles]{label =Art.~\arabic*, wide=0pt, leftmargin=\parindent, font=\bfseries, ref = \arabic*}
\crefname{articlesi}{l’article}{les articles}
\Crefname{articlesi}{L’article}{Les articles}

\begin{document}

\begin{articles}%
 \item \label{art-1}En cas de lacunes ou de silence des dispositions normatives du règlement d'ordre intérieur, les présentes s'interprètent à la lumière de la Charte.
\item Il est arrêté, entre toutes les entités copropriétaires, un règlement d'ordre intérieur, établi par acte sous seing privé, obligatoire pour eux et pour leurs héritiers, successeurs, ayants-droit et ayants-cause à tout titre.
\item Le règlement et ses modifications doivent être imposés par les aliénateurs du droit de propriété ou de jouissance à leurs contractants
\end{articles}

\section{Titre I – Définition, modifications, portée}

\hypertarget{RefHeading7001291715310}{Lalala…}\\
 \Cref{art-1}. Ce règlement d'ordre
intérieur est relatif à la jouissance de l'ensemble immobilier et aux détails de la vie en commun, conformément au règlement de copropriété.

\begin{articles}[resume]
  \item Un article totalement idiot pour illustrer l’utilisation de la clef « resume ».
\end{articles}

\end {document}
Lien permanent

Publiée 31 Jul '17, 03:40

Bernard's gravatar image

Bernard
4.6k15
Taux d'acceptation : 35%

Modifiée 03 Déc '17, 18:25

Pathe's gravatar image

Pathe ♦♦
7.4k28196245

2

@Bernard, le grand avantage du package enumerate est la simplicité de sa syntaxe pour modifier la numérotation de l'énumération. Il suffit de placer un exemple générique entre crochets. Enumerate suffit amplement dans la grande majorité des cas.

Le package enumitem pour ce faire utilise une syntaxe proche de celle utilisée par tikz pour les noeuds (node) avec l'option label= qui est beaucoup plus verbeuse. Enumitem en revanche permet de modifier l'espacement et les marges entre les items ce que ne fait pas enumerate.

(31 Jul '17, 10:39) AndréC Andr%C3%A9C's gravatar image
1

Pour avoir la même syntaxe pour les labels, il suffit de charger l'option shortlabels. Personnellement, je trouve la syntaxe d'enumitem bien plus proche de celle de pstricks (et de keyval) que de celle de tikz.

(31 Jul '17, 13:00) Bernard Bernard's gravatar image

@Bernard, j'ignorais cette syntaxe courte de enumitem, merci beaucoup, je vais désormais pouvoir uniquement utiliser exclusivement enumitem. Quant à pstricks et keyval, je ne les utilise pas, alors je ne peux pas comparer avec leur syntaxe. Je vous fais confiance à ce sujet.

(31 Jul '17, 13:11) AndréC Andr%C3%A9C's gravatar image

Comme vous l'avez vu, mon document est un règlement d'ordre intérieur et donc la numérotation des articles cours du début à la fin du document. Ai-je bien compris les principes suivants:

  1. enumerate et enumitem sont 2 environnements incompatibles, donc inutilisables dans un même document?
  2. un environnement ne peut pas être imbriqué dans un autre?
  3. si oui aux 2 questions, je dois, pour pouvoir insérer des listes simples (à puces et numérotées) dans mon document utiliser une commande plutôt qu'un environnement.
  4. et cette commande doit être itemize ou newcommand{theenumi} ?
(01 Aoû '17, 02:52) ameli ameli's gravatar image

@ameli: 1. Oui, ils sont incompatibles. De toute façon, enumitem est plus puissant que enumerate (entre autres il permet de définit de nouveaux environments de listes, avec leur propre mise en forme, très facilement). Ici j'aurais pu créer un environnment articles, p. ex., pour ne pas toucher aux environnements enumerate « normaux ». 2. Cele veut dire quoi ? Une liste de sous-articles, p. ex. ? C'est tout à fait possible, jusqu' 4 niveaux par défaut. 3. et 4. Donc, si j'ai bien compris, ces questions sont sans objet.

(01 Aoû '17, 13:26) Bernard Bernard's gravatar image
1

J'oubliais: s'il est nécessaire d'insérer du texte (commentaire, &c.) entre deux articles, enumitem permet de fermer l'environnement, d'insérer ce texte, puis d'ouvrir un nouvel environnement enumerate (ou article s'il a été défini) en continuant la numérotation et la mise en forme, grâce à la clef resume.

(01 Aoû '17, 13:32) Bernard Bernard's gravatar image

Merci, j'ai trouvé mon chemin et quasiment terminé mon règlement d'ordre intérieur ;-)

(02 Aoû '17, 23:59) ameli ameli's gravatar image

1 je ne sais pas

2 On peut imbriquer les environnements, avec une limite a-priori (modifiable je crois) pour les listes

3 On peut imbriquer des listes de différentes natures, qui sont des environnements

4 L'environnement est itemize, enumérate, description --- ou autre «list». \itemize est la commande commune qui définit chaque élément de liste et qui peut contenir des paragraphes (alinéa) et des liste imbriquées.

Une description en français ici:http://www.latex-howto.be/files/LaTeX-HowTo-ch3.pdf

(23 Oct '17, 18:15) joseph-tux joseph-tux's gravatar image

@joseph-tux Attention ! Cette réponse était un commentaire plutôt qu'une réponse et a été convertie comme tel. Par ailleurs, il est recommandé de contextualiser un minimum les commentaires en indiquant à qui ils s'adressent.

(23 Oct '17, 18:23) denis ♦♦ denis's gravatar image

Autre amélioration possible sans lien avec la question, mais exposé ici: d'après ce que j'ai lu, il est prudent de charger babel vers la fin, avant hyperref.

(23 Nov '20, 18:15) joseph-tux joseph-tux's gravatar image
Affichage de 5 parmi 10 Afficher 5 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.