Page 1 sur 1

Impossible de sauter une ligne !!!!!

MessagePosté: Vendredi 10 Novembre 2006, 19:10
par RGB
Incroyable ! Je n'arrive pas à sauter une ligne !!!

Voilà mon problème :
Je voulais faire une petite liste avec \begin{itemize} \item \end{itemize} et sauter une ligne après cette liste et je n'y arrive pas.
Le code ci-dessous provoque l'erreur "There is no line here to end".
1) je ne comprends pas pourquoi
2) je ne vois pas comment faire pour sauter une ligne
3) [question subsidiaire] je suis passé à TeXnicCenter et il me dit que j'ai des "bad blocs" dans mon document, et je ne sais pas pourquoi. Je n'ai pas compris l'explication en anglais...

C'est quand même un peu difficile à apprendre, $\LaTeX$, non ? :shock:

Merci pour votre aide !
Code: Tout sélectionner
\documentclass[11pt,a4paper, oneside]{article}
\usepackage[latin1]{inputenc}
\usepackage[francais]{babel}
\usepackage{indentfirst}

\begin{document}

Voilà ma liste
\begin{itemize}
   \item du pain
   \item du vin
   \item du Boursin
\end{itemize}
\\
Dernière ligne non collée à la liste des items

\end{document}

MessagePosté: Vendredi 10 Novembre 2006, 19:12
par François D.
Pas très propre, mais essaye
Code: Tout sélectionner
\begin{itemize}
   \item du pain
   \item du vin
   \item du Boursin
\end{itemize}
~\\
Dernière ligne non collée à la liste des items
le « ~ » est un espace insécable ...

MessagePosté: Vendredi 10 Novembre 2006, 19:14
par Arnaud
L'utilisation de \\ n'est pas possible après une liste.

Il utiliser la commande \vspace{1cm} par exemple.

MessagePosté: Vendredi 10 Novembre 2006, 19:22
par RGB
François D. a écrit:Pas très propre, mais essaye
Code: Tout sélectionner
\begin{itemize}
   \item du pain
   \item du vin
   \item du Boursin
\end{itemize}
~\\
Dernière ligne non collée à la liste des items
le « ~ » est un espace insécable ...


Oui ! Ca fonctionne ! Merci.

Le vspace aussi fonctionne, par contre le \indent après n'est pas pris en compte, il faut en mettre 2...

le "\indent" seul fonctionne après ~\\
Pas de warning avec la solution "~\", je vais garder celle là.

Merci pour ces deux solutions !

MessagePosté: Samedi 11 Novembre 2006, 09:29
par lebendre
C'est quoi pour une commande, ~\\ ???

MessagePosté: Samedi 11 Novembre 2006, 09:56
par François D.
En fait, l'idée est de composer une ligne ne contenant qu'un seul caractère, à savoir un espace insécable, le « ~ » ; avec le « \\ », on passe à la ligne.

Visuellement, on obtient donc un saut de ligne.

MessagePosté: Samedi 11 Novembre 2006, 10:28
par rebouxo
C'est vraiment pas prope cette méthode. Elle est contraire à l'esprit LaTeX de séparer le fond et la forme. La commande \\ ne devrait être utilisé qu'avec prudence dans le texte.

Il faudrait modifier les paramètres de l'environnement itemize. Mais j'ai regardé mes grimoires et je n'ai pas vu de modifications simples et rapides pour un espace supplémentaire uniquement à la fin d'une liste.

je propooserais cependant ceci, qui me semble être du bricolage, mais au moins on peut modifier la hauteur de séparation :
Code: Tout sélectionner
\newenvironment{Maliste}%
   {%
   \begin{itemize}%
   }%
   {%
   \end{itemize}
   \vspace*{1.5ex}%
   }%


Qui laisse donc toujours un espace après la liste.

A noter que si tu veux modifier toutes tes listes taper avec l'environnement itemize, on peut faire ceci :

Code: Tout sélectionner
\renewenvironment{itemize}%
   {%
   \begin{itemize}%
   }%
   {%
   \end{itemize}
   \vspace*{1.5ex}%
   }%


Olivier

MessagePosté: Samedi 11 Novembre 2006, 11:37
par François D.
J'ai dit que ma méthode n'est pas très élégante :wink: ...

Ceci dit, au lieu de fixer en dur la hauteur du \vspace*{...}, ne peut-on pas la fixer à une fois l'interligne histoire de pouvoir effectuer des changement globaux qui soient répercutés aussi pour ces listes modifiées ?

Re: Impossible de sauter une ligne !!!!!

MessagePosté: Samedi 11 Novembre 2006, 13:33
par gigiair
RGB a écrit:Incroyable ! Je n'arrive pas à sauter une ligne !!!

Voilà mon problème :
Je voulais faire une petite liste avec \begin{itemize} \item \end{itemize} et sauter une ligne après cette liste et je n'y arrive pas.
Le code ci-dessous provoque l'erreur "There is no line here to end".
1) je ne comprends pas pourquoi
2) je ne vois pas comment faire pour sauter une ligne
3) [question subsidiaire] je suis passé à TeXnicCenter et il me dit que j'ai des "bad blocs" dans mon document, et je ne sais pas pourquoi. Je n'ai pas compris l'explication en anglais...

C'est quand même un peu difficile à apprendre, $\LaTeX$, non ? :shock:

Merci pour votre aide !

Et comme ça :
Code: Tout sélectionner
\documentclass[11pt,a4paper, oneside]{article}
\usepackage[latin1]{inputenc}
\usepackage[francais]{babel}
\usepackage{indentfirst}
\begin{document}
Voilà ma liste
\begin{itemize}
   \item du pain
   \item du vin
   \item du Boursin  \\
%                   ^^^^
\end{itemize}
Dernière ligne non collée à la liste des items
\end{document}

--
JJR.

MessagePosté: Samedi 11 Novembre 2006, 14:09
par rebouxo
François D. a écrit:J'ai dit que ma méthode n'est pas très élégante :wink: ...

Ceci dit, au lieu de fixer en dur la hauteur du \vspace*{...}, ne peut-on pas la fixer à une fois l'interligne histoire de pouvoir effectuer des changement globaux qui soient répercutés aussi pour ces listes modifiées ?


C'est pour cela que je l'ai fixé l'espace à 1,5 ex, qui doit correspondre à une hauteur d'une ligne, et ceci indépendemment de la taille de la police. 1 ex étant la hauteur de la lettre x dans la fonte courante.
Mais, il est peut-être plus logique de le remplacer par \baselinskip qui la valeur de l'interlignage, d'après le LaTeX companion, p. 109.

En tous les cas un saut de ligne est une solution à proscrire. Cette commande permet de produire une coupure de ligne, et non de produire un paragraphe.
Je sens que l'on ne va pas tarder à partir dans des discussions franchement philosophiques sur la notion de paragraphe.

Je vois deux avantages à ma proposition :
1. automatiser la mise en forme, c'est le principe de LaTeX.
2. permettre une modification de cette mise en forme.

Faire les modifications soit même, c'est prendre le risque d'en oublier sur un document long.

Evidemment ce point de vue ne tiens pas si la mise en page et purement locale.

Olivier

MessagePosté: Lundi 13 Novembre 2006, 11:30
par Lilo
une autre soution est d'utiliser l'environnement et \\ à la fin de ligne
Code: Tout sélectionner
\begin{enumerate}
    \item mon premier \\
    \item monsecond \\
\end{enumerate}

"enumerate" gère les sauts de lignes