Comment numéroter les lignes d’un document ?#
1. Dans du texte classique#
1.1. Avec l’extension lineno#
L’extension lineno permet d’obtenir cette numérotation en modifiant
la routine de sortie LaTeX. Il suffit d’insérer la commande \linenumbers
là où vous souhaitez activer la numérotation. Cette méthode marche
raisonnablement bien, y compris quand la taille de caractère et l’interligne
sont modifiés (par exemple pour les titres), mais n’est pas sans faille ;
l’utilisateur doit donc rester vigilant.
\documentclass[french]{article}
\usepackage[T1]{fontenc} % Encodage T1 (adapté au français)
\usepackage{lmodern} % Caractères plus lisibles
\usepackage{babel} % Réglages linguistiques (avec french)
\pagestyle{empty} % N'affiche pas de numéro de page
\usepackage{lineno}
\title{À la recherche\dots}
\author{M. P.}
\date{1913}
\begin{document}
\linenumbers
\maketitle
\thispagestyle{empty} % Empêche la numérotation de la page titre
\section{Le coucher}
Longtemps, je me suis couché de bonne heure. Parfois, à peine ma bougie
éteinte, mes yeux se fermaient si vite que je n'avais pas le temps de me
dire : \og{}Je m'endors.\fg{} Et, une demi-heure après, la pensée qu'il
était temps de chercher le sommeil m'éveillait\dots
\end{document}
Si vous souhaitez numéroter les lignes d’une partie du document seulement,
vous pouvez utiliser l’environnement linenumbers
:
\begin{linenumbers}
Longtemps, je me suis couché
de bonne heure...
\end{linenumbers}
Par défaut, la numérotation se poursuit tout le long du document,
mais il est possible de la faire revenir à 1
à chaque nouvelle page,
avec l’option pagewise
. Voici d’ailleurs quelques autres options
de l’extension :
left
pour afficher les numéros dans la marge de gauche (comportement par défaut) ;right
pour afficher les numéros dans la marge de droite ;switch
pour afficher les numéros dans la marge extérieure ;modulo
pour numéroter toutes les cinq lignes.
La documentation de lineno propose de nombreuses autres options de configuration.
Si vous placez une étiquette dans votre document avec \linelabel{ICI}
,
vous pourrez faire référence à son numéro de ligne avec \ref{ICI}
.
Il faut noter que cette fonctionnalité peut être étendue aux notes de bas de page avec l’extension fnlineno :
\documentclass[french]{article}
\usepackage[T1]{fontenc} % Encodage T1 (adapté au français)
\usepackage{lmodern} % Caractères plus lisibles
\usepackage{babel} % Réglages linguistiques (avec french)
\pagestyle{empty} % N'affiche pas de numéro de page
\usepackage{lineno,fnlineno}
\title{À la recherche\dots}
\author{M. P.}
\date{1913}
\begin{document}
\linenumbers
\section{Le coucher}
Longtemps, je me suis couché de bonne heure\footnote{Vers 18h ou 19h,
rarement plus tard sauf en cas d'impératif mondain.}.
Parfois, à peine ma bougie éteinte, mes yeux se fermaient
si vite que je n'avais pas le temps de me dire :
\og{}Je m'endors.\fg{} Et, une demi-heure après,
la pensée qu'il était temps de chercher le sommeil m'éveillait\dots
\end{document}
1.2. Avec l’extension reledmac#
Les éditions critiques de textes font souvent appel à la numérotation des lignes de texte. Pour ce type de travaux, l’extension reledmac offre une solution complète. Cette extension remplace edmac et ledmac, devenues obsolètes.
À faire
Ajouter un exemple
1.3. Avec l’extension vruler#
L’extension vruler évite de nombreux problèmes associés à la numérotation des lignes, en permettant de placer sur les pages une règle rectangulaire contenant la numérotation. L’effet est tout à fait correct lorsqu’il est appliqué à un texte d’apparence uniforme, mais il reste médiocre dans les textes qui impliquent des ruptures telles que les mathématiques interpolées ou les figures.
À faire
Ajouter un exemple
1.4. Avec l’extension numline#
L’extension numline, à l’image de lineno, retraite également la routine de sortie. L’utilisateur doit donc rester prudent.
2. Dans du texte en mode verbatim#
2.1. Avec les extensions moreverb ou fancyvrb#
Dans ce cas particulier, les extensions moreverb ou fancyvrb, dédiées au mode verbatim, peuvent être utilisées. Chacune propose un environnement dédié et paramétrable :
l’environnement
listing
de moreverb demande comme argument obligatoire le numéro de la première ligne numérotée ;le riche environnement
Verbatim
de fancyvrb dispose de l’optionnumbers=left
pour activer la numérotation à gauche. L’optionnumbers=right
place la numérotation à droite.
\documentclass[french]{article}
\usepackage[T1]{fontenc} % Encodage T1 (adapté au français)
\usepackage{lmodern} % Caractères plus lisibles
\usepackage{babel} % Réglages linguistiques (avec french)
\pagestyle{empty} % N'affiche pas de numéro de page
\usepackage{moreverb}
\usepackage{fancyvrb}
\begin{document}
\section*{Le coucher (avec \textsf{moreverb})}
\begin{listing}{1}
Longtemps, je me suis couché de bonne heure. Parfois, à
peine ma bougie éteinte, mes yeux se fermaient si vite
que je n'avais pas le temps de me dire : « Je m'endors ».
Et, une demi-heure après, la pensée qu'il était temps de
chercher le sommeil m'éveillait...
\end{listing}
\section*{Le coucher (avec \textsf{fancyvrb})}
\begin{Verbatim}[numbers=left]
Longtemps, je me suis couché de bonne heure. Parfois, à
peine ma bougie éteinte, mes yeux se fermaient si vite
que je n'avais pas le temps de me dire : « Je m'endors ».
Et, une demi-heure après, la pensée qu'il était temps de
chercher le sommeil m'éveillait...
\end{Verbatim}
\end{document}
Ces exemples restent ici simples. Les extensions proposent bien plus de fonctionnalités.
Voir aussi
Sur ce sujet, vous pouvez consulter la question « Comment inclure un fichier verbatim ? ».
2.2. Avec la classe memoir#
La classe memoir fournit les fonctionnalités nécessaires
avec l’environnement boxedverbatim
. Cet environnement est paramétrable.
L’exemple ci-dessous en illustre deux :
\linenumberfrequency{⟨nombre⟩}
qui indique le⟨nombre⟩
de lignes consécutives nécessaires pour qu’un numéro soit affiché (avec la valeur1
, chaque ligne est numérotée).\nobvbox
qui indique de ne pas mettre de filet autour de l’environnement.
\documentclass[french]{memoir}
\usepackage[T1]{fontenc} % Encodage T1 (adapté au français)
\usepackage{lmodern} % Caractères plus lisibles
\usepackage{babel} % Réglages linguistiques (avec french)
\pagestyle{empty} % N'affiche pas de numéro de page
\linenumberfrequency{1} % Numérotation de chaque ligne
\begin{document}
\section*{Le coucher}
\begin{boxedverbatim}
Longtemps, je me suis couché de bonne heure. Parfois, à
peine ma bougie éteinte, mes yeux se fermaient si vite
que je n'avais pas le temps de me dire : « Je m'endors ».
\end{boxedverbatim}
\nobvbox % Pour retirer le filet autour de l'environnement
\begin{boxedverbatim}
Et, une demi-heure après, la pensée qu'il était temps de
chercher le sommeil m'éveillait...
\end{boxedverbatim}
\end{document}