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

nicotendo Messages postés 194 Date d'inscription   Statut Membre Dernière intervention   -  
 yenaralebol -
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 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
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
pat25
 
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
yenaralebol
 
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
Nicotendo
 
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 194 Date d'inscription   Statut Membre Dernière intervention   31
 
Voici ce que je souhaiterai obtenir : 
        -     aaaaaaaaaaaaaaaaaaaaaakqhsfishdfhdsdshdskkdfsj
aaaaaaaaaaaakhskjdshfkjdfhkjsfdskjlfskldjfhkldshflqdshfkqds
klqshkwdjhksjdhsksdhfsdjhfskldhfuleufhkjhdkjfhdsfhj 
 


Voici ce que me fais latex : 
         -     aaaaaaaaaaaaaaaaaaaaaasdhkjshfkldshfkbh 
               aaaaaaaaaaaamsdehfsdhfsdhskdfkdshhfsdf
               klqshkwdjhksjdhssd:jfhkdsfsqdkjfdkkhjdf 
0
mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
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 194 Date d'inscription   Statut Membre Dernière intervention   31
 
Merci d'avoir compris mon problème, mais comment le résoudre? :s

Merci de votre aide.
Cordialement
0
nicotendo Messages postés 194 Date d'inscription   Statut Membre Dernière intervention   31
 
Avez-vous une solution?
Merci
0
mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
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 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
Merci pour le tuyau :-)
0
Ekin0X Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
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 194 Date d'inscription   Statut Membre Dernière intervention   31
 
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 194 Date d'inscription   Statut Membre Dernière intervention   31
 
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 194 Date d'inscription   Statut Membre Dernière intervention   31
 
Re up!
(très urgent merci)
0
nicotendo Messages postés 194 Date d'inscription   Statut Membre Dernière intervention   31
 
Up urgent!
Merci de votre aide!
0
nicotendo Messages postés 194 Date d'inscription   Statut Membre Dernière intervention   31
 
Re up svp
0
ebousquie
 
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