IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en forme Discussion :

Espacement avant multicols


Sujet :

Mise en forme

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2002
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 132
    Par défaut Espacement avant multicols
    Bonsoir !

    Dans un document (une liste d'exercices), j'ai plusieurs "séries" d'exercices : série (A), série (B), ... , série (F).
    Je souhaite que la série (A) soit sur 2 colonnes, tandis que les autres séries sont "normales". J'utilise pour ça le package multicol. Voici donc le squelette de mon document :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    \begin{enumerate}[(A)]
    \begin{multicols}{2}[\item Aaaaaaa :] % début 1ere série d'exercices, sur 2 colonnes !
    \begin{enumerate}[(1)]
    \item ...
     . . .
    \end{enumerate} % Fin première série d'exercices
     
    \item Bbbbbbb :  % début 2ème série d'exos, sur une colonne
    \begin{enumerate}[(1)]
    \item ...
     . . . 
    \end{enumerate} % Fin 2ème série d'exercices
    etc . . .
    Mon problème est le suivant : je n'ai pas le même espace vertical entre le titre de la première série d'exercices ( Aaaaaaa : ) et les 2 colonnes d'exercices qu'entre le titre de la deuxième série d'exerices (Bbbbbbb : ) et la série proprement dite.

    Visiblement, le \begin{multicols}{n} modifie l'espacement vertical . . .

    Comment éviter cette modification ? Car, évidemment, je souhaite avoir le même espace partout entre l'énoncé de l'exercice et les calculs...

    (Hmmm ... J'espère bien me faire comprendre ... )

    Merci !

  2. #2
    Membre émérite
    Avatar de c-top
    Profil pro
    Turu
    Inscrit en
    Septembre 2003
    Messages
    972
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Turu

    Informations forums :
    Inscription : Septembre 2003
    Messages : 972
    Par défaut
    Il est toujours beaucoup plus facile de répondre quand on a un ECM, on ne le dira jamais assez, pour des problèmes précis poster un ECM.
    La question posée est en fait relativement claire mais même si je suis intéressé par cette question, ne connaissant pas la réponse par coeur et étant un peu faignant par nature et bein j'ai pas envie de me taper le code.
    Moralité: tu perds des réponses

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par c-top Voir le message
    et bein j'ai pas envie de me taper le code.
    Moi si, mais je ne le répèterai jamais assez : pourquoi ferais-je l'effort d'écrire un exemple compilable qui reproduise le problème pour commencer à chercher la solution, alors que celui qui poste ne le fait pas ?

    Je vais donc dans ton sens : lorsqu'on attend une réponse, on sollicite le moins possible les contributeurs, et on poste un exemple complet ! Bien souvent, chercher une réponse prend du temps, il est donc bien normal de faire en sorte d'éviter à ceux que tu sollicites la perte de temps supplémentaire de trouver un exemple.
    Moralité: tu perds des réponses
    +1

  4. #4
    Membre confirmé
    Inscrit en
    Août 2002
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 132
    Par défaut
    Merci de vos réponses et conseils ... et ... effectivement, c'est pas simple (ni rapide) de trouver une réponse ... Désolé de ne pas l'avoir fait plus vite et ... voilà le code :

    D'abord mon préambule (qui n'est sans doute pas le meilleur exemple de lisibilité ... C'est toujours le même qu'au tout début ou je me suis mis au Latex, avec des rajoutes à chaque fois que j'en ai besoin ... )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    %Préambule du document
    \documentclass[a4paper,11pt]{report}
     
    %\usepackage[osf,sc]{mathpazo}%Utilisation police "palatino" avec "oldstylefigure"
    %\linespread{1.05}
    \usepackage[latin1]{inputenc}
    \usepackage[francais]{babel,layout}
    \usepackage{amsmath}
    \usepackage{amssymb}
    \usepackage{graphicx}
    \usepackage{color}
    \usepackage{pstricks,pstricks-add,pst-math,pst-xkey}
    \usepackage[T1]{fontenc}
    \usepackage{array}
    \usepackage{paralist}
    \usepackage{multicol}
    \usepackage{multirow}
    \usepackage{listings}%Pour les codes source (programmation...)
    \usepackage{newalg}%Autre package pour les algo -> begin{algorithm}
    \usepackage{color}
    \usepackage{fancybox}%Boites particulières, par exemple shadowbox
    \usepackage{geometry}	%Notamment pour les marges
    \usepackage{fancyhdr,lastpage}%Notamment pour les en-tête ...
    \usepackage{marvosym}%Notamment pour le symbole euro €
    \usepackage{paralist}  %Pour inparaneum --> tableaux perfectionnés avec des "items"
    \usepackage{tabularx}%Environnement tabularx
     
    \pagestyle{empty}
    \fancyhf{}
     
    \setlength{\oddsidemargin}{0pt} 	% Marge gauche sur pages impaires
    \setlength{\evensidemargin}{0pt} 	% Marge gauche sur pages paires
    \setlength{\marginparwidth}{50pt} 	% Largeur de note dans la marge
    \setlength{\textwidth}{530pt} 	% Largeur de la zone de texte
    \setlength{\marginparsep}{10pt} 	% Séparation de la marge
    \setlength{\topmargin}{-100pt} 	% Pas de marge en haut
    \setlength{\headheight}{50pt} 	% Haut de page
    \setlength{\headwidth}{470pt} 	% Haut de page
    \setlength{\headsep}{10pt} 	% Entre le haut de page et le texte
    \setlength{\footskip}{20pt} 	% Bas de page + séparation
    \setlength{\textheight}{760pt} 	% Hauteur de la zone de texte
     
    \usepackage{geometry}
    \geometry{ hmargin=2cm , vmargin = 1cm}
    %verbose,letterpaper,tmargin=1cm,bmargin=1cm,lmargin=2cm,rmargin=1.5cm,headheight=0cm,headsep=0cm,footskip=0cm}
     
    \def\espace{4mm}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    \begin{document}
    \chapter*{Racines carrées : exercices}
    \thispagestyle{empty}
    \begin{enumerate}[(A)]\setlength{\itemsep}{5mm}
    \begin{multicols}{2}[\item Calculer, simplifier :]
    %*** ICI, Latex me met un espace vertical plus grand que 
    %*** s'il n'y avait pas le multicols
    \begin{enumerate}[(1)]
    \item $\left(\sqrt{3}\right)^2$ = 
    \item $\sqrt{3^2}$ = 
    \item $\sqrt{(-3)^2}$ = 
    \item $\left(2\sqrt{6}\right)^2$ = 
    \item $\sqrt{27}$ = 
    \item $\sqrt{75}$ = 
    \item $\sqrt{12}$ = 
    \item $\sqrt{128}$ = 
    \item $\sqrt{125}$ = 
    \item $\sqrt{242}$ = 
    \item $\sqrt{10000}$ = 
    \item $\sqrt{245}$ = 
    \item $\frac{\sqrt{36}}{\sqrt{4}}$ = 
    \item $\sqrt{162}$ = 
    \item $-\sqrt{\frac{75}{3}}$ = 
     
    \end{enumerate}
    \end{multicols}
    \item Calculer, simplifier : 
    \begin{enumerate}[(1)]\setlength{\itemsep}{\espace}
    \item $2\sqrt{12}+\sqrt{75} = $
    \item $\sqrt{3^5} = $
    \item $\sqrt{2^4} = $
    \item $3\sqrt{8}\sqrt{18} = $
    \item $\left(2-\sqrt{5}\right)\cdot\sqrt{5} = $
    \item $\frac{\sqrt{2}}{\sqrt{242}} = $
    \item $\sqrt{\frac{1}{2}}\cdot\sqrt{\frac{2}{5}}\cdot\sqrt{\frac{3}{5}} = $
    \item $-\frac{\sqrt{120}}{\sqrt{10}} = $
    \item $\left(\sqrt{5}-2\sqrt{3}\right)^2 = $
    \item $\left(\sqrt{5}-2\sqrt{3}\right)\cdot\left(\sqrt{5}+2\sqrt{3}\right) = $
     
    \end{enumerate}
    \end{enumerate}
    \end{document}
    Je sais qu'une manière de faire serait de mettre toutes mes sous-séries d'exercices dans un \begin{multicols}{1} . . . \end{multicols}, mais ... j'ai l'impression que c'est pas très "propre" ...

    Merci !

  5. #5
    Invité
    Invité(e)
    Par défaut
    Oui, l'environnement multicols ajoute un espace vertical avant de commencer els colonnes comme le montre cet exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    \documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{multicol}
    \usepackage[francais]{babel}
    \begin{document}
    \parindent0pt
    Voici une ligne\par
    et la ligne suivante du prochain paragraphe\bigskip\bigskip
     
    Voici une ligne%
    \begin{multicols}{2}
    Et la ligne suivante de la première colonne de l'environnement multicols%
     
    Et la ligne de la seconde colonne de l'environnement multicols%
    \end{multicols}
    \end{document}
    Par contre, je trouve que c'est une très mauvaise idée de modifier cet environnement pour cet usage.
    En effet, si j'étais toi, je n'utiliserais pas multicols pour ce genre de typographie mais plutôt l'environnement aligned ou align (ou autre) du package amsmath qui sont faits pour ça.

  6. #6
    Membre confirmé
    Inscrit en
    Août 2002
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 132
    Par défaut
    Merci de ta réponse ... Je sais donc que je ne suis pas en faute dans cet espace vertical non voulu ...

    Par contre, je ne comprends pas trop comment utiliser align pour faire ce que je souhaite : mettre la première série d'exercices sur 2 colonnes.

    En indiquant mon souhait de la sorte (mettre sur 2 colonnes), j'ai l'impression que l'environnement le plus adapté est l'environnement multicols. Peut-être que je me trompe ...

    Citation Envoyé par unbonpetit
    Par contre, je trouve que c'est une très mauvaise idée de modifier cet environnement pour cet usage.
    Parce qu'il y aurait moyen ?
    Y a-t-il moyen de le faire localement(juste à cet endroit là) ?
    C'est simple ? ... Comment faire ?

    Sinon, je pense que je me rabattrai sur l'autre solution : mettre toutes les séries d'exercices dans un environnement multicols, en adaptant correctement le paramètre (1 ou 2 colonnes)... J'y pense, ça doit surement être faisable de créer un environnement de type liste qui prennent en paramètre le nombre de colonnes ... Mais ... J'ai jamais créé d'environnements ... (pour le moment ;-) )

    + + +

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Supprimer espace avant insertion dans état
    Par aCe_GiK dans le forum Access
    Réponses: 5
    Dernier message: 24/04/2006, 17h34
  2. [CSS]Taille de l'espacement avant et après d'un paragraphe
    Par Andry dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 20/02/2006, 12h26
  3. [CSS] Espace avant / après un <ul>
    Par Torpedox dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 10/01/2006, 21h34
  4. Boutons IE vs Firefox: espaces avant/après le texte
    Par dasdeb dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 07/09/2005, 19h29
  5. [CSS] espace avant affichage menu
    Par calimero82 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 25/05/2005, 09h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo