[LaTeX] Problème de mise en forme (itemize)

Fermé
nicotendo Messages postés 195 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 31 juillet 2012 - 6 janv. 2008 à 00:26
 yenaralebol - 10 déc. 2009 à 22:22
Bonjour,
Pour faire simple, voici le résultat que j'obtient avec de simples itemize :

blablabla
- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaa
- bbbbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbbbbbbbb


Et je souhaiterais obtenir :


blablabla
- aaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
- bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbb



Je pense avoir été clair avec mes exemples :)

Merci de bien vouloir me dire comment faire ce type d'alignement dans les itemizes.
Cordialement

17 réponses

mamiemando Messages postés 33155 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 juin 2024 7 759
6 janv. 2008 à 04:07
En fait il vaudrait mieux nous donner le texte exact. En effet a priori tu n'as pas à gérer les retour à la ligne, latex le fait pour toi. TU peux forcer un retour à la ligne avec \\. Si le texte "aaaaaa..." dépasse de ta page c'est peu être que latex ne peux pas le faire retourner à la ligne : par exemple tu utilises des espaces insécables, ou un objet trop large (équation, figure etc...).

Bonne chance
1
En allant fouiller dans le fichier latex.ltx, j'ai trouvé une solution pas très élégante, mais fonctionnelle :
Juste après le \begin{document}, placer :
\makeatletter
\def\list#1#2{%
  \ifnum \@listdepth >5\relax
    \@toodeep
  \else
    \global\advance\@listdepth\@ne
  \fi
  \rightmargin\z@
  \listparindent\z@
  \itemindent\z@
  \csname @list\romannumeral\the\@listdepth\endcsname
  \def\@itemlabel{#1}%
  \let\makelabel\@mklab
  \@nmbrlistfalse
  #2\relax
  \@trivlist
  \parskip\parsep
  \parindent\listparindent
  \ignorespaces}
\def\itemize{%
  \ifnum \@itemdepth >\thr@@\@toodeep\else
    \advance\@itemdepth\@ne
    \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
    \expandafter
    \list
      \csname\@itemitem\endcsname%
      {\def\makelabel##1{\hss{##1}}}%
  \fi}
\def\@item#1{%
  \if@noparitem
    \@donoparitem
  \else
    \if@inlabel
      \indent \par
    \fi
    \ifhmode
      \unskip\unskip \par
    \fi
    \if@newlist
      \if@nobreak
        \@nbitem
      \else
        \addpenalty\@beginparpenalty
        \addvspace\@topsep
        \addvspace{-\parskip}%
      \fi
    \else
      \addpenalty\@itempenalty
      \addvspace\itemsep
    \fi
    \global\@inlabeltrue
  \fi
  \everypar{%
    \@minipagefalse
    \global\@newlistfalse
    \if@inlabel
      \global\@inlabelfalse
      {\setbox\z@\lastbox
       \ifvoid\z@
         \kern-\itemindent
       \fi}%
      \box\@labels
      \penalty\z@
    \fi
    \if@nobreak
      \@nobreakfalse
      \clubpenalty \@M
    \else
      \clubpenalty \@clubpenalty
      \everypar{}%
    \fi}%
  \if@noitemarg
    \@noitemargfalse
    \if@nmbrlist
      \refstepcounter\@listctr
    \fi
  \fi
  \sbox\@tempboxa{\makelabel{#1}}%
  \global\setbox\@labels\hbox{%
    \unhbox\@labels
    \hskip \itemindent
    %\hskip -\labelwidth
    \hskip -\labelsep
    \ifdim \wd\@tempboxa >\labelwidth
      \box\@tempboxa
    \else
      \hbox to\labelwidth {\unhbox\@tempboxa}%
    \fi
    \hskip \labelsep}%
  \ignorespaces}
\makeatother
1
Bonjour à tous, 

J'ai été confronté à ce problème et j'en ai trouvé la solution. Il suffit de définir un environnement de liste personnalisé comme ceci :

\newenvironment{maliste}%
{ \begin{list}%
	{$\bullet$}%
	{\setlength{\labelsep}{5pt}%  --> espace entre la puce et le début du texte
	\setlength{\leftmargin}{0pt}%  --> espace entre le texte et la marge gauche (sauf pour la premiere ligne)
	\setlength{\labelwidth}{0pt}% --> taille de la boite contenant la puce. Aligné à droite. Si taille < taille de la puce, la taille de la boite est egale à la taille de la puce
	\setlength{\listparindent}{\parindent}% --> indentation des paragraphe dans la liste
	\setlength{\itemindent}{25pt}% --> espace entre la marge et la puce
	\setlength{\itemsep}{0pt}% --> espace entre les items (auquel s'ajoute \parsep}
	}}%
{ \end{list} }


Voilà, en tout cas chez moi cela donne le rendu souhaité. A savoir, quelque chose du type :

     - item1 blablablablabl blabl blablabl balbalb
ablablab bab blabla blab blablabalb bla
     - item2 bl blabl blablabl balbalb ablablab ba
b blabla blab blabla
... et ainsi de suite.
1
Zut je suis désolé, je vois que ce que je voulais vous faire voir n'est pas apparu une fois le message envoyé...

Enfaite, lorsque je fais des itemizes, lorsque ma phrase est un peu longue et dépasse en longueur, latex me met le ébut de la seconde ligne juste "sous la première lettre de ma phrase".
En résumé, je voudais que ma phrase, lors du changement de ligne, commence le plus à gauche possible comme l'exemple suivant : (chose classique dans l'édition de texte)




- aaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa
kklssdklfjlskdfj sfjsd


Voici ce que me fais latex :
- aaaaaaaaaaaaaaaaaaaaaa
[-espace]aaaaaaaaaaaa
[-espace]klqshkwdjhksjdhs


Merci c'est assez urgent :)
bonne journée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nicotendo Messages postés 195 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 31 juillet 2012 31
6 janv. 2008 à 11:56
Voici ce que je souhaiterai obtenir : 
        -     aaaaaaaaaaaaaaaaaaaaaakqhsfishdfhdsdshdskkdfsj
aaaaaaaaaaaakhskjdshfkjdfhkjsfdskjlfskldjfhkldshflqdshfkqds
klqshkwdjhksjdhsksdhfsdjhfskldhfuleufhkjhdkjfhdsfhj 
 


Voici ce que me fais latex : 
         -     aaaaaaaaaaaaaaaaaaaaaasdhkjshfkldshfkbh 
               aaaaaaaaaaaamsdehfsdhfsdhskdfkdshhfsdf
               klqshkwdjhksjdhssd:jfhkdsfsqdkjfdkkhjdf 
0
mamiemando Messages postés 33155 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 juin 2024 7 759
6 janv. 2008 à 14:39
Ca y est j'ai compris ton problème :-) En fait ça dépend de ton style. Il y a peut être moyen de passer une option au niveau du itemize ou des item, il faudrait voir. Sinon il faut modifier le style lui même. J'avoue que comme le rendu latex me convient je n'ai jamais chercher à changer ce genre de paramètre...
0
nicotendo Messages postés 195 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 31 juillet 2012 31
6 janv. 2008 à 16:23
Merci d'avoir compris mon problème, mais comment le résoudre? :s

Merci de votre aide.
Cordialement
0
nicotendo Messages postés 195 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 31 juillet 2012 31
6 janv. 2008 à 22:35
Avez-vous une solution?
Merci
0
mamiemando Messages postés 33155 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 juin 2024 7 759
6 janv. 2008 à 22:54
Désolé mais je n'ai pas la réponse. A part creuser les pistes que je t'ai donné dans <5> je ne sais pas trop quoi te dire.

Bonne chance
0
mamiemando Messages postés 33155 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 juin 2024 7 759
15 févr. 2008 à 10:15
Merci pour le tuyau :-)
0
Ekin0X Messages postés 1 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 29 février 2008
29 févr. 2008 à 16:50
Je viens de trouver une méthode plus élégante : utiliser le paquet "enumitem".
Il permet toutes les mises en forme pour les listes itemize, enumerate, description.

Plus d'info : http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=enumitem
0
nicotendo Messages postés 195 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 31 juillet 2012 31
19 mai 2008 à 22:01
Merci pour ces tuyaux mais un peu complex pour moi, quelqu'un aurait-il la solution de ces documents à mon problème?
(oui toujours d'actualité ^^)
0
nicotendo Messages postés 195 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 31 juillet 2012 31
19 mai 2008 à 22:03
Ps: j'ai tester ton code pat25, c'est exactement ce que je cherchais!!
Le seul problème est que les "itemizes" apparaissent maintenant comme : [ - ] au lieu de - simplement :s
0
nicotendo Messages postés 195 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 31 juillet 2012 31
26 mai 2008 à 17:05
Re up!
(très urgent merci)
0
nicotendo Messages postés 195 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 31 juillet 2012 31
26 mai 2008 à 18:30
Up urgent!
Merci de votre aide!
0
nicotendo Messages postés 195 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 31 juillet 2012 31
27 mai 2008 à 19:25
Re up svp
0
Au cas où le pb ne serait toujours pas résolu, voici l'astuce que j'ai trouvée. Pas idéal mais ça marche:
Faire avec l'environnement {description} auquel on supprime l'indentation (ce qui semble ne pas marcher avec {itemize}) et ajouter des espaces aux puces; ecemple:


\begin{description}[leftmargin=0pt]
\item[\ \ \textbullet] blablablablablablablablablablablablablablablablablablablablablablablablablabla
\item[\ \ \textbullet] blablablablablablablablablablablablablablablablablablablablablablablablablabla
\end{description}

Ne pas oublier les "\ \ " dans les puces bien sûr, c'est tout l'intérêt de ma "méthode"
0