[résolu] Espacement vertical de l'environnement center

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

[résolu] Espacement vertical de l'environnement center

Messagepar GRSG » Dimanche 20 Novembre 2011, 11:03

Bonjour,

Je souhaitais savoir s'il existe des commandes qui permettent de modifier l'espacement vertical avant le \begin{center} et après le \end{center}.

Merci pour vos réponses.

Gabriel
Dernière édition par GRSG le Samedi 04 Février 2012, 14:54, édité 1 fois.
GRSG
Méga-utilisateur
 
Messages: 293
Inscription: Mercredi 08 Octobre 2008, 08:45
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Espacement vertical de l'environnement center

Messagepar rebouxo » Dimanche 20 Novembre 2011, 19:41

Je ne sais pas répondre à la question, mais on peut remplacer
Code: Tout sélectionner
\begin{center}
blalbla
\end{center}


par

Code: Tout sélectionner
{
\centering
blabla
}


Qui rajoute moins d'espace que l'environnement center.

Olivier
A line is a point that went for a walk. Paul Klee
Par solidarité, pas de MP
rebouxo
Modérateur
 
Messages: 6952
Inscription: Mercredi 15 Février 2006, 13:18
Localisation: le havre
Statut actuel: Actif et salarié | Enseignant

Re: Espacement vertical de l'environnement center

Messagepar pg » Lundi 21 Novembre 2011, 10:06

On peut reprendre la définition de \center et \endcenter de latex.ltx et remplacer la \trivlist par une \list avec les bons paramètres :

Code: Tout sélectionner
\documentclass{article}

\usepackage{lipsum}% pour du texte bidon

\makeatletter
\def\center{\list{\let\@itemlabel\@empty\def\makelabel####1{####1}}%
                 {\labelwidth=0cm\leftmargin=0cm\itemindent=0pt
                  \topsep=1cm}%                                           <--- valeur à changer
            \centering\item\relax}
\def\endcenter{\endlist}
\makeatother

\begin{document}

\lipsum[1]
\begin{center}
\lipsum[2]
\end{center}
\lipsum[3]

\end{document}
pg
Modérateur
 
Messages: 2597
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Espacement vertical de l'environnement center

Messagepar GRSG » Lundi 21 Novembre 2011, 14:48

Bonjour,

Donc si je comprends bien, la longueur topsep agit en amont de \begin{center} et en aval de \end{center}.

Par contre, j'ai remarqué que l'espacement vertical de l'environnement {center} <<d'origine>> ne se cumule pas avec l'espace vertical des autres environnements (ce qui est pour moi un bon point de cet environnement).

Dans le code ci-dessous, les espacements ce cumulent. Est-il possible d'adapter le <<topsep>> de façon que l'espacement vertical soit indépendant de ce qui suit (ou de ce qui précède).

Code: Tout sélectionner
\documentclass{article}

\makeatletter
\def\center{\list{\let\@itemlabel\@empty\def\makelabel####1{####1}}%
                 {\labelwidth=0cm\leftmargin=0cm\itemindent=0pt
                  \topsep=0.25ex
            \centering\item\relax}
\def\endcenter{\endlist}
\makeatother


\begin{document}

Bonjour,
   
\begin{center}
Je fais une phrase assez longue pour voir si décalage il y a avec un environnement enumerate (sans enumerate)
\end{center}

pour voir pour voir pour voir

\begin{center}
Je fais une phrase assez longue pour voir si décalage il y a avec un environnement enumerate  (avec enumerate)
\end{center}

\begin{enumerate}

\item
pour voir pour voir pour voir
\item 
 
\end{enumerate}

\end{document}


Merci

Gabriel
GRSG
Méga-utilisateur
 
Messages: 293
Inscription: Mercredi 08 Octobre 2008, 08:45
Statut actuel: Actif et salarié | Enseignant

Re: Espacement vertical de l'environnement center

Messagepar pg » Lundi 21 Novembre 2011, 14:58

Il ne se cumule pas ici non plus. Mais {enumerate} commence par un espace égal à \topsep qui est supérieur à 0.25ex donc l'espace entre les deux est égal à max(\topsep,0.25ex) = \topsep. C'est parfaitement normal.
pg
Modérateur
 
Messages: 2597
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Espacement vertical de l'environnement center

Messagepar GRSG » Lundi 21 Novembre 2011, 19:04

Après quelques essais, effectivement, à partir d'un topsep=1.75ex, il n'y a plus d'ajout.

Est-il possible de modifier le topsep de l'environnement enumerate?

Encore merci.

Gabriel
GRSG
Méga-utilisateur
 
Messages: 293
Inscription: Mercredi 08 Octobre 2008, 08:45
Statut actuel: Actif et salarié | Enseignant

Re: Espacement vertical de l'environnement center

Messagepar pg » Lundi 21 Novembre 2011, 22:04

Le package enumitem permet ça :

Code: Tout sélectionner
\documentclass{article}

\usepackage{enumitem}

\setenumerate{topsep=0cm}

\makeatletter
\def\center{\list{\let\@itemlabel\@empty\def\makelabel####1{####1}}%
                 {\labelwidth=0cm\leftmargin=0cm\itemindent=0pt
                  \topsep=0cm}
            \centering\item\relax}
\def\endcenter{\endtrivlist}
\makeatother

\begin{document}

Bonjour,
   
\begin{center}
Je fais une phrase assez longue pour voir si décalage il y a avec un environnement enumerate (sans enumerate)
\end{center}

pour voir pour voir pour voir

\begin{center}
Je fais une phrase assez longue pour voir si décalage il y a avec un environnement enumerate  (avec enumerate)
\end{center}

\begin{enumerate}

\item
pour voir pour voir pour voir
\item

\end{enumerate}

\end{document}
pg
Modérateur
 
Messages: 2597
Inscription: Jeudi 14 Juin 2007, 23:31


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot], Grapeshot [Crawler], Yandex [Bot] et 18 invités