---
myst:
html_meta:
keywords: LaTeX, programmation, erreurs, messages d'erreur de LaTeX,
espaces verticaux, ajouter de l'espace,
fin de ligne dans un paragraphe
---
# Que signifie l'erreur : "There's no line here to end" ?
- **Message** : `There's no line here to end`
Cette erreur est déclenchée lorsqu'une commande `\newline` ou `\\` est trouvée
à un endroit où LaTeX ne l'attend pas. Il s'agit en effet d'une commande
de *saut de ligne*, et elle est inattendue si LaTeX n'est pas en train
de construire un paragraphe, par exemple après `\par` ou une ligne vide.
Si l'intention est d'obtenir un espace vertical supplémentaire,
vous pouvez consulter la question "[](/3_composition/texte/pages/inserer_un_espace_vertical_dans_une_page)".
## Cas d'une étiquette de liste
Un cas courant de cette erreur est celui où vous voulez mettre l'étiquette
d'un élément de liste sur une ligne à part, en écrivant par exemple :
```{noedit}
\begin{description}
\item[Très longue description] \\
Texte...
\end{description}
```
La bonne solution est de définir un nouvel environnement similaire
à `description` et qui fait exactement ce que vous voulez. Pour corriger
localement ce problème, vous pouvez écrire aussi ceci :
```{noedit}
\begin{description}
\item[Très longue description] \leavevmode \\
Texte...
\end{description}
```
La commande `leavevmode` commence un paragraphe, ce qui permet de forcer
une fin de ligne. L'extension fournit
la même fonctionnalité avec sa commande `\breaklabel` tandis que
l'extension la fournit avec sa commande `\desclabelstyle`.
## Cas d'un espacement plus large dans un environnement `center`
Vous obtenez ce message d'erreur lorsque vous utilisez l'environnement
`center` (ou `flushleft` ou `flushright`), et que vous voulez une séparation
supplémentaire entre les lignes à l'intérieur de l'environnement :
```{noedit}
\begin{center}
Première ligne (titre)\\
\\
Corps du texte centré...
\end{center}
```
La solution est simple : utilisez la commande `\\` comme elle est censée
être utilisée, pour fournir plus qu'un simple espace de séparation
entre les lignes. La commande `\\` prend en effet un argument optionnel,
qui spécifie combien d'espace supplémentaire il faut ajouter ; l'effet requis
dans le texte ci-dessus peut être obtenu en écrivant :
```{noedit}
\begin{center}
Première ligne (titre)\\[\baselineskip]
Corps du texte centré...
\end{center}
```
Vous *pouvez* aussi utiliser `\leavevmode`, comme ci-dessus :
```{noedit}
\begin{center}
Première ligne (titre)\\
\leavevmode\\
Corps du texte centré...
\end{center}
```
Cette solution est tout aussi fastidieuse à taper que `\\`
avec un argument optionnel et ne peut être vraiment recommandée.
:::{sources}
- [FAQ erreurs - Lettre T](https://latex.developpez.com/faq/erreurs?page=T),
sur le site [Developpez.com](https://latex.developpez.com)
- *[LaTeX Companion](https://www.latex-project.org/help/books/#french)*,
2e édition, Frank Mittelbach, Michel Goossens, Johannes Braams,
David Carlisle, Chris Rowley (Pearson, 2006)
- [No line here to end](faquk:FAQ-noline)
:::