Réduire l'espace au dessus de chapitre

Bonjour,

Je n'ai pas réussi à trouver sur les sites comment réduire l'espace qui se trouve au dessus de "chapitre" ; ainsi
je me retrouve avec des vbox... car j'ai des tableaux qui font que ca créé des vides.

Pourrait-on forcer Latex à réduire cet espace en haut des pages d'un chapitre particulier ?

Bonne journée à vous,

Réponses

  • Bonjour,

    On peut faire ça avec le package titlesec, en utilisant quelque chose comme ça :
    % Configuration de 'titlesec'. Les définitions suivantes correspondent à ce
    % que font les classes LaTeX standard, à deux exceptions près :
    %   1) On laisse un alinea à tous les paragraphes, même le premier suivant un
    %      titre (convention française à laquelle n'adhèrent pas les
    %      anglo-saxons).
    %   2) On donne un peu d'élasticité aux espaces verticaux insérés par \chapter,
    %      sinon il est très difficile de remplir le bloc d'empagement.
    \titleformat{\chapter}[display]
      {\normalfont\huge\bfseries}{\chaptertitlename\ \thechapter}{20pt}{\Huge}
    \titleformat{\section}
      {\normalfont\Large\bfseries}{\thesection}{1em}{}
    \titleformat{\subsection}
      {\normalfont\large\bfseries}{\thesubsection}{1em}{}
    \titleformat{\subsubsection}
      {\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{}
    \titleformat{\paragraph}[runin]
      {\normalfont\normalsize\bfseries}{\theparagraph}{1em}{}
    \titleformat{\subparagraph}[runin]
      {\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{}
    
    \titlespacing{\chapter}{0pt}{50pt plus 2pt minus 2pt}{40pt plus 1.5pt minus 0.25pt}
    \titlespacing{\section}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}
    \titlespacing{\subsection}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
    \titlespacing{\subsubsection}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
    \titlespacing{\paragraph}{0pt}{3.25ex plus 1ex minus .2ex}{1em}
    \titlespacing{\subparagraph}{\parindent}{3.25ex plus 1ex minus .2ex}{1em}
    
    (tiré de ce message, qui contient un exemple complet). Ici, l'espacement vertical en début de chapitre est défini par la ligne
    \titlespacing{\chapter}{0pt}{50pt plus 2pt minus 2pt}{40pt plus 1.5pt minus 0.25pt}
    
    Il s'agit du troisième argument passé, '50pt plus 2pt minus 2pt'. Il n'y a qu'à diminuer le '50pt'.

    Par ailleurs, avec ce qui précède, si tu retires [runin] dans les deux lignes
    \titleformat{\paragraph}[runin]
      {\normalfont\normalsize\bfseries}{\theparagraph}{1em}{}
    \titleformat{\subparagraph}[runin]
      {\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{}
    
    tu n'auras plus besoin de faire le \\ pas joli après \paragraph et \subparagraph (je t'en avais parlé).

    Edit: si tu ne veux pas l'indentation des titres des \subparagraph, il faudra aussi remplacer
    \titlespacing{\subparagraph}{\parindent}{3.25ex plus 1ex minus .2ex}{1em}
    
    par quelque chose comme
    \titlespacing{\subparagraph}{0pt}{3.25ex plus 1ex minus .2ex}{1em}
    
    (voir doc de titlesec).
  • Bonjour Brian,

    Je suis de retour et je vois qu'une fois de plus, tu as la bonne réponse !

    J'essaie ca rapidement et je te tiens au courant du résultat.

    Merci encore mille fois !
  • Salut Brian,

    Je viens d'essayer le code, mais il y a plein de messages d'erreurs.

    J'ai mis en pièce jointe une copie d'écran de ce que je vois actuellement.
    J'ai comme l'impression que j'ai dû oublier de placer une fin de paragraphe, non ?

    Bon week end à vous tous,
  • Bonjour,

    La capture d'écran ne m'avance pas beaucoup. Ce qui est utile, c'est un Exemple Complet Minimal (ECM) et la sortie textuelle de LaTeX (dont les messages d'erreur font partie).

    Le code suivant fonctionne :
    \documentclass[a4paper,11pt,french]{book}
    \usepackage{lmodern}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{babel}
    \usepackage{textcomp}
    \usepackage{titlesec}
    
    \titleformat{\chapter}[display]
      {\normalfont\huge\bfseries}{\chaptertitlename\ \thechapter}{20pt}{\Huge}
    \titleformat{\section}
      {\normalfont\Large\bfseries}{\thesection}{1em}{}
    \titleformat{\subsection}
      {\normalfont\large\bfseries}{\thesubsection}{1em}{}
    \titleformat{\subsubsection}
      {\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{}
    \titleformat{\paragraph}
      {\normalfont\normalsize\bfseries}{\theparagraph}{1em}{}
    \titleformat{\subparagraph}
      {\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{}
    
    \titlespacing{\chapter}{0pt}{20pt plus 2pt minus 2pt}{40pt plus 1.5pt minus 0.25pt}
    \titlespacing{\section}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}
    \titlespacing{\subsection}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
    \titlespacing{\subsubsection}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
    \titlespacing{\paragraph}{0pt}{3.25ex plus 1ex minus .2ex}{1em}
    \titlespacing{\subparagraph}{0pt}{3.25ex plus 1ex minus .2ex}{1em}
    
    \begin{document}
    \chapter{Chap 1}
    
    Pouet pouet.
    
    Autre paragraphe.
    
    \section{Section 1}
    
    \subsection{Subsec 1}
    
    \subsubsection{Subsub 1}
    
    \paragraph{Para 1}
    
    Efer er er r qr qzr qzz.
    
    \subparagraph{Subpara 1}
    
    Sefefef ezr er er r qazr azr za efsefefe.
    \end{document}
    
  • Ca a marché !!!

    Sérieux ; je crois que tu peux sans problème passer l'agrégation Latex !!

    Si je veux mettre le titre relatif aux chapitres en couleur ; c'est à quel endroit que je dois mettre :

    \definecolor{couleur_chapter}{RGB}{0,0,255} et
    \color{couleur_chapter} ?
    Pour l'instant, le titre est en noir...
  • On peut faire comme ça :
    \documentclass[a4paper,11pt,french]{book}
    \usepackage{lmodern}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{babel}
    \usepackage{textcomp}
    \usepackage[svgnames]{xcolor}
    \usepackage{titlesec}
    
    \definecolor{unCertainBleu}{RGB}{37,29,118}
    \colorlet{couleurLabelChapitre}{unCertainBleu}
    \colorlet{couleurTitreChapitre}{DarkRed} % nom SVG, possible grâce à 'svgnames'
    
    \titleformat{\chapter}[display]
      {\normalfont\huge\bfseries}{%
        \color{couleurLabelChapitre}%
        \chaptertitlename\ \thechapter
      }{20pt}{%
        \color{couleurTitreChapitre}\Huge}
    \titleformat{\section}
      {\normalfont\Large\bfseries}{\thesection}{1em}{}
    \titleformat{\subsection}
      {\normalfont\large\bfseries}{\thesubsection}{1em}{}
    \titleformat{\subsubsection}
      {\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{}
    \titleformat{\paragraph}
      {\normalfont\normalsize\bfseries}{\theparagraph}{1em}{}
    \titleformat{\subparagraph}
      {\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{}
    
    \titlespacing{\chapter}{0pt}{20pt plus 2pt minus 2pt}{40pt plus 1.5pt minus 0.25pt}
    \titlespacing{\section}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}
    \titlespacing{\subsection}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
    \titlespacing{\subsubsection}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
    \titlespacing{\paragraph}{0pt}{3.25ex plus 1ex minus .2ex}{1em}
    \titlespacing{\subparagraph}{0pt}{3.25ex plus 1ex minus .2ex}{1em}
    
    \begin{document}
    \chapter{Chap 1}
    
    Pouet pouet.
    
    Autre paragraphe.
    
    \section{Section 1}
    
    \subsection{Subsec 1}
    
    \subsubsection{Subsub 1}
    
    \paragraph{Para 1}
    
    Efer er er r qr qzr qzz.
    
    \subparagraph{Subpara 1}
    
    Sefefef ezr er er r qazr azr za efsefefe.
    \end{document}
    
    J'ai un peu écrit sur xcolor ici. Il y a plein d'autres exemples sur Internet, par exemple ici sur TeX.SE.
  • Bonjour Brian,

    J'ai tenté un copié-collé, mais j'ai eu un message d'erreur. Je ne sais pas si celà peut-t'aider,
    ca revient un peu à chercher une aiguille dans une botte de foin !

    Bon week end à toi,



    ! LaTeX Error: Option clash for package xcolor.
    See the LaTeX manual or LaTeX Companion for explanation.
    Type H <return> for immediate help.
    ...
    l.147 \usepackage
    {titlesec}
    The package xcolor has already been loaded with options:
    []
    There has now been an attempt to load it with options
    [svgnames]
    Adding the global options:
    ,svgnames
    to your \documentclass declaration may fix this.
    Try typing <return> to proceed.
    ! Package xcolor Error: Undefined color `DarkRed'.
    See the xcolor package documentation for explanation.
    Type H <return> for immediate help.
    ...
    l.151 \colorlet{couleurTitreChapitre}{DarkRed}
    % nom SVG, possible grâce à...
    Try typing <return> to proceed.
    If that doesn't work, type X <return> to quit.
    Package csquotes Info: Checking for multilingual support...
    Package csquotes Info: ... found 'babel' package.
    (SuitesNumeriques.aux)
    \openout1 = `SuitesNumeriques.aux'.
    LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 183.
    LaTeX Font Info: ... okay on input line 183.
    LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 183.
    LaTeX Font Info: ... okay on input line 183.
    LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 183.
    LaTeX Font Info: ... okay on input line 183.
    LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 183.
    LaTeX Font Info: ... okay on input line 183.
    LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 183.
    LaTeX Font Info: ... okay on input line 183.
    LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 183.
    LaTeX Font Info: ... okay on input line 183.
    LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 183.
    LaTeX Font Info: Try loading font information for TS1+cmr on input line 183.
    ("C:\Users\Franck\AppData\Local\Programs\MiKTeX 2.9\tex\latex\base\ts1cmr.fd"
  • Mon code fonctionne. Tu as dû le copier/coller au sein de ton document, et comme l'indique le message d'erreur:
    The package xcolor has already been loaded with options:
    []
    There has now been an attempt to load it with options
    [svgnames]
    
    tu charges visiblement xcolor plus haut sans l'option svgnames. Il faut que tu décides si tu veux utiliser cette option et retirer une des lignes \usepackage(...){xcolor} redondantes. Si tu n'utilises pas l'option 'svgnames' du package xcolor, le nom de couleur DarkRed de mon exemple ne fonctionnera pas, mais on peut définir les couleurs de plein d'autres manières (RGB, HSV, etc.).
  • Une fois de plus, tu es top !!
    Merci pour la nième fois (où n \in \matbb{N\{0,1,2,3,...}} !

    Bon week end à toi,
  • Tssk, tssk.
    % \dotsc avec un « c » comme “comma”, i.e., « virgule »
    \mathbb{N} \setminus \{0, 1, \dotsc \}
    
    ;-)

    (voir amsldoc.pdf à la section “Dots” pour \dotsc et ses amis)

    Bon week-end à toi aussi.
Connectez-vous ou Inscrivez-vous pour répondre.