51 votes

Latex : Comment créer des listes imbriquées qui ressemblent à ceci 1.1, 1.1.1, 1.1.2, 1.2

Comment puis-je créer des listes qui ressemblent à ceci :

1\. Topic
1.1 First Subtopic
1.2 Second Subtopic

J'ai essayé d'utiliser la liste d'énumération

\begin{enumerate}
\item Topic
\begin{enumerate}
\item First Subtopic
\item Second Subtopic
\end{enumerate}
\end{enumerate}

Mais la sortie ressemble à :

1\. Topic
  (a) First Subtopic
  (b) Second Subtopic

Alors comment puis-je obtenir la liste ? Y a-t-il un autre environnement pour la liste ou peut-être un paquet supplémentaire ?

72voto

Alok Singhal Points 33073

Vous pouvez utiliser enumitem paquet :

\documentclass{article}
\usepackage{enumitem}
\begin{document}

\begin{enumerate}
  \item Topic
  \begin{enumerate}[label*=\arabic*.]
    \item First Subtopic
    \item Second Subtopic
    \begin{enumerate}[label*=\arabic*.]
      \item First Sub-Subtopic
      \item Second Sub-Subtopic
    \end{enumerate}
  \end{enumerate}
\end{enumerate}

\end{document}

Voir le entrée de catalogue pour enumitem pour plus.

1 votes

Comment puis-je le faire fonctionner pour le deuxième niveau d'imbrication - comme 1.1.1 ? Pour l'instant, j'ai comme 1.11 et 1.12 quand je passe au deuxième niveau.

0 votes

@bikashg : J'ai mis à jour mon exemple. L'ancien avait un bug :-)

1 votes

La clé ici est le *= sur [label*=\arabic*.] . S'il est omis, la liste sera recommencée et vous n'obtiendrez pas 1.1, 1.2 etc.

18voto

miku Points 63392

Voir : http://www.giss.nasa.gov/tools/latex/ltx-222.html

Le style de numérotation de l'énumération est déterminé par les commandes, \labelenumi , \labelenumii etc., pour les niveaux imbriqués. Ceux-ci peuvent être redéfinis avec l'option \renewcommand commandement.

Par exemple, pour utiliser des lettres majuscules pour le premier niveau et des lettres minuscules pour le deuxième niveau d'énumération :

\renewcommand{\labelenumi}{\Alph{enumi}}
\renewcommand{\labelenumii}{\alph{enumii}}

Et ici : http://www.mackichan.com/index.html?techtalk/484.htm~mainFrame

... Les commandes concrètes seraient

\renewcommand{\labelenumi}{\arabic{enumi}.} 
\renewcommand{\labelenumii}{\arabic{enumi}.\arabic{enumii}}

Ou, si vous pensez que votre contenu peut être considéré comme une section, utilisez quelque chose comme :

\section{Name}
...
\subsection{Subtopic}
...
\subsubsection{Yet another nesting}
...

4 votes

Les commandes concrètes seraient les suivantes \renewcommand{\labelenumi}{\arabic{enumi}.} et \renewcommand{\labelenumii}{\arabic{enumi}.\arabic{enumii}} .

6voto

Prakhar Agarwal Points 1374

Il n'est pas nécessaire d'utiliser un paquet supplémentaire

\begin{enumerate}
   \item[1.] Topic
   \begin{enumerate}
       \item[1.1] First Subtopic
       \item[1.2] Second Subtopic
    \end{enumerate}
\end{enumerate}

0 votes

Bien que cette approche soit manuelle, je pense qu'elle est la meilleure, pour une occurrence unique d'une telle liste. Si vous en avez besoin plus d'une fois, alors j'opterais pour enumitem comme décrit ci-dessus. Cependant, faites attention lorsque vous réorganisez de telles listes, d'adapter les étiquettes au nouvel ordre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X