Espacement entre numéro de section et titre
Bonjour à toutes et tous,
Comment réduire l'espace entre le numéro d'une section (ou d'une sous-section, ou d'une sous-sous-section) et le titre de cette section (ou sous-section ou ...) ?
Voici un exemple
Actuellement, j'ai l'image 5 et je voudrais quelque chose qui ressemble à l'image 6.
En résumé : j'aimerais pouvoir paramétrer l'espace entre le numéro du paragraphe (III) et le titre du paragraphe (Multiples et diviseurs d’un nombre entier. Critères de divisibilité).
Merci par avance pour votre aide.
michaël.
Comment réduire l'espace entre le numéro d'une section (ou d'une sous-section, ou d'une sous-sous-section) et le titre de cette section (ou sous-section ou ...) ?
Voici un exemple
\documentclass[a4paper,11pt]{article} \usepackage[french]{babel} % Pour tous les documents (Impatient page 35) \usepackage[T1]{fontenc} % Pour tous les documents (Impatient page 35) \usepackage[utf8]{inputenc} % Pour la gestion des accents \usepackage[left=1cm, right=1cm, top=1cm, bottom=2cm]{geometry} %réglage des marges (Impatient page 35) \usepackage{titlesec} \makeatletter % Commande pour indentation \renewcommand{\section}{% % automatique des sections. \@startsection{section}{1}{0cm}% {-3.5ex \@plus -1ex \@minus -.2ex}% {2.3ex \@plus.2ex}% {\normalfont\Large\bfseries}% } \makeatother \makeatletter % Commande pour indentation \renewcommand{\subsection}{% % automatique des sous-sections. \@startsection{subsection}{1}{1cm}% {-3.5ex \@plus -1ex \@minus -.2ex}% {2.3ex \@plus.2ex}% {\normalfont\Large\bfseries}% } \makeatother \renewcommand{\thesection}{\Roman{section}.} % Numérote les sections en chiffres romains \renewcommand{\thesubsection}{\Roman{section}.\arabic{subsection}.} % Numérote les sous-sections sous le modèle "I.1" \begin{document} \section{Nombres entiers} \section{La division euclidienne} \section{Multiples et diviseurs d'un nombre entier. Critères de divisibilité} \subsection{Multiples et diviseurs} \end{document}
Actuellement, j'ai l'image 5 et je voudrais quelque chose qui ressemble à l'image 6.
En résumé : j'aimerais pouvoir paramétrer l'espace entre le numéro du paragraphe (III) et le titre du paragraphe (Multiples et diviseurs d’un nombre entier. Critères de divisibilité).
Merci par avance pour votre aide.
michaël.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
merci pour ta réponse.
Ce que tu proposes permet bien de régler l'espace comme je le souhaite.
En revanche, cela "entre en conflit" avec les commandes d'indentations des sections mises dans le préambule.
Ce code :
donne la première image.
Autrement dit, les commandes que tu m'as fournies ne sont pas prises en compte.
J'imagine que c'est du fait des commandes d'indentation automatique des sections puisque ce code :
donne la deuxième image.
Pour ma part, je voudrais un mix des deux : voir troisième image (sans tenir compte de la police).
Mon message initial (avant que les discussions ne soient scindés) étant peu clair (comme signalé par brian), je te prie de m'en excuser.
Merci encore pour ton aide.
michaël.
@Michael Ton exemple complet minimal est pas mal mais il y a une confusion : tu as mis \usepackage{titlesec} alors que tu n'utilises pas ce package. Je t'ai dit qu'il y a grosso modo deux manières de régler l'apparence des sections et Cie : 1) en utilisant les commandes du noyau LaTeX comme \@startsection (c'est ce que fait ton ECM). 2) en utilisant le package titlesec (c'est ce que fait Saturne). Ton exemple charge titlesec mais ne l'utilise pas, il vaut mieux éviter.
Comme promis, solution sans titlesec. Le numéro de section et l'espace horizontale qui suit se trouvent à une distance définie par le 3e argument de \@startsection (déjà vu) ; ils sont produits par la commande \@seccntformat qui prend comme argument 'section' ou 'subsection', etc. La définition par défaut est toute simple : Il y a donc par défaut un \quad après le numéro, i.e. une espace de largeur 1em.
NB : \csname thesection\endcsname (par exemple) devient \thesection après une étape de développement du \csname (étape de développement = expansion step est le mécanisme fondamental de TeX qui remplace une macro par son replacement text, i.e. ce qu'on appelle souvent « sa définition » ; \csname n'est pas une macro mais elle se développe aussi — c'est une primitive TeX développable).
Bref, il suffit de redéfinir \@seccntformat en remplaçant \quad par ce que l'on veut et le tour est joué.
NB : je préfère charger avant babel. C'est peut-être de la superstition, mais bon...
Autre chose : à ta place, je ne terminerais pas les définitions de par un point, car il va sortir quand tu fais $\backslash$ref{ma-section} ou $\backslash$ref{ma-sous-section}. Je mettrais plutôt le point (si souhaité) après \endcsname dans la définition de \@seccntformat.
P.S.: \makeatother immédiatement suivi de \makeatletter est un no-op (ça ne fait rien). ;-)
merci pour ta réponse et ton aide.
Bon je n'ai pas tout compris (c'est un euphémisme) mais ça marche. Je reprendrais ça cet après-midi ou lundi à tête reposée.
Désolé pour le chargement de titlesec inutile dans le premier exemple, c'est un (mauvais) copier/coller.
Pour ce qui est du "\makeatother immédiatement suivi de \makeatletter", j'ai simplement copié ton exemple ici et je l'ai (mal) adapté aux sous-sections ;-)
Comme je ne comprends pas encore tout bien ce que je fais, je dois certainement faire ce genre d'erreur régulièrement.
En tout cas, merci pour ton aide et toutes tes explications.
michaël.
Voir la doc pour les options.
Il ne me reste plus qu'à choisir ce que je préfère (et à comprendre un peu mieux tout ça) ;-)
Merci pour vos aides, bonne journée.