Forum Programmation.autre Latex : problème de changement de page avec une liste

Posté par  .
Étiquettes : aucune
0
28
juil.
2006
Bonjour

Je fais mon premier rapport sous Latex. Dans celui-ci je fait des listes du type :


Une liste de trucs:
\begin{itemize}
\item{truc 1}
\item{truc 2}
\item{etc...}
\end{itemize}

le problème est qu'a la compilation j'ai parfois un changement de page entre "Une liste de truc:" et la liste en elle même. Comment pourrais-je éviter cela ?
  • # \nopagebreak

    Posté par  . Évalué à 4.

    Essaie peut-être un \nopagebreak juste après « Une liste de truc: ».
    • [^] # Re: \nopagebreak

      Posté par  . Évalué à 3.

      Pas mieux :-)

      confer la FAQ LaTeX en Français
      (une des multiples versions disponible sur le net):
      [http://www.grappa.univ-lille3.fr/FAQ-LaTeX/6.11.html]

      Cdlt,
    • [^] # Re: \nopagebreak

      Posté par  . Évalué à 1.

      je viens d'essayer

      Une liste de trucs:\nopagebreak
      \begin{itemize}
      \item{truc 1}
      \item{truc 2}
      \item{etc...}
      \end{itemize}

      mais j'ai toujours un changement de page
      • [^] # Re: \nopagebreak

        Posté par  . Évalué à 1.

        Et en forçant une nouvelle page ( \newpage ) juste avant "Une liste de truc" ?
        • [^] # Re: \nopagebreak

          Posté par  . Évalué à 1.

          Ca fonctionne bien sur !!!! J'y avais même pas pensé.

          Ce qui me derange avec cette solution c'est que si je modifie mon texte je suis obliger de regarder si je dois ou non garder cette commande. En fait j'aimerais eviter au maximum les bidouillages car c'est pour cette raison que j'ai descidé d'apprendre Latex car j'en avais marre des problemes de mise en pages sous word qui necessite a chaques changements de rebidouiller un truc, ce qui est casse pied quand le document commence a depasser les 40 pages.
          • [^] # Re: \nopagebreak

            Posté par  . Évalué à 3.

            Le \nopagebreak ne peut pas fonctionner car le \item permet un saut de page (donc annule le \nopagebreak).

            Utiliser une minipage casse un peu la structure du document (elle contredit le fait que la liste est dans le texte).

            Le \newpage avant est le plus simple et peut-être même le plus propre.
            Un petit commentaire à côté, du genre « % pour typo » permettra de le retrouver facilement.

            Utiliser des corrections typographiques locales n'est effectivement pas le but premier de LaTeX. Mais si on veut un certain niveau de perfection typographique, il faut passer par là à un moment.

            Sinon, une autre solution serait de s'arranger pour que la ligne soit poussée toute seule en allongeant légèrement un des paragraphes précédents ;o)
  • # .

    Posté par  . Évalué à 2.

    J'ai pas testé, mais de mémoire ceci devrait résoudre ton problème
    - soit mbox : http://www.grappa.univ-lille3.fr/FAQ-LaTeX/29.48.html
    - soit l'environnement minipage

    "Il faut" (Ezekiel 18:4) "forniquer" (Corinthiens 6:9, 10) "avec des chiens" (Thessaloniciens 1:6-9) "morts" (Timothée 3:1-10).

    • [^] # Re: .

      Posté par  . Évalué à 2.

      mbox me met tout sur la meme ligne ( ça depasse largement la largeur de la page)

      Cependant minipage règle mon probleme, je n'ai plus de changement de page :-). Merci

      Sinon j'ai essayer de regler la largeur de la minipage a celle de mon document en mettant

      \begin{minipage}[t]{textwidth}

      mais ça ne semble pas fonctionner, je suis obliger de mettre à la main la largeur ce qui est génant si je compte changer celle-ci.
      • [^] # Re: .

        Posté par  . Évalué à 3.

        Re-,

        L'environnement minipage est une très bonne idée (souvenirs, souvenirs :p) !

        Il y a plusieurs constantes:
        ¤ \linewidth
        ¤ \textwidth
        ...
        mais avec un "\" avant. Par exemple, une syntaxe:
        ===
        \begin{minipage}{\textwidth}
        ...
        \end{minipage}
        ===

        Les options mises entre crochets ([]) ne sont pas nécessaires si tu ne veux pas appliquer de changement de mise en page (centré, alignement, ...).

        Cdlt,

        PS: Tu peux aussi mettre {.5\textwidth} pour réduire l'espace disponible pour le texte et le centrer par exemple avec l'option [c] ou l'environnement \begin{center} ... \end{center}
        (ah mes souvenirs en LaTeX sont bien maigres :'()
  • # %

    Posté par  . Évalué à 1.

    Une autre idée, mais pas testée : mettre un commentaire (%) à la fin de ta ligne avant de commencer la liste (sans qu'il y ait de ligne vide entre les deux).
    Ça donnerait ça :

    Une liste de trucs:%
    \begin{itemize}
       \item{truc 1}
       \item{truc 2}
       \item{etc...}
    \end{itemize}


    Si ça marche, ce serait un peu plus léger que d'utiliser une minipage.
    • [^] # Re: %

      Posté par  . Évalué à 1.

      ça n'as pas l'air de fonctionner, merci quand même pour l'idée
      • [^] # Re: %

        Posté par  . Évalué à 0.

        c'est bizarre chez moi j'ai:

        \begin{itemize}
        \item un truc
        \item unautre truc
        \item unautre truc
        \end{itemize}

        et je n'ai aucun souci de coupure, enleve les crochets apres \item il faut pas les mettre BOULAY ! :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.