• # Avec \leftskip

    Posté par . En réponse au message [LaTeX] Indentation de titres et paragraphes. Évalué à 1.

    \leftskip te permet de mettre une marge plus grande à droite de ton texte. Tu peux donc surcharger les commandes \chapter, \section, etc., afin qu'elles règlent la valeur de leftskip. Concrètement, cela donne :
    \newdimen\saveskip % Un registre pour garder la valeur actuelle de \leftskip
    \newdimen\chapterskip
    \newdimen\sectskip
    \newdimen\subsectskip
    \newdimen\subsubsectskip
    \saveskip=\leftskip
    \chapterskip=0pt % Espacement pour les chapitres
    \sectskip=4ex % Pour les sections
    \subsectskip=10ex % etc.
    \subsubsectskip=18ex
    % Reprise de ton code ici, mais en appelant les valeurs définies plus haut
    \setcounter{secnumdepth}{3} % On affiche une numérotation sur une profondeur de 3
    \setcounter{tocdepth}{3} % La table des matières va a une profondeur de 3
    % Alignement des titres :
    \titlespacing{\chapter} {\chapterskip} {*0} {*0} {}
    \titlespacing{\section} {\sectskip} {*0} {*0} {}
    \titlespacing{\subsection} {\subsectskip} {*0} {*0} {}
    \titlespacing{\subsubsection} {\subsubsectskip} {*0} {*0} {}
    % Et ici, on surcharge les commandes \chapter, \section, etc.,
    % afin de modifier \leftskip.
    \let\oldchapter\chapter % sauvegarde des vieilles commandes
    \let\oldsection\section
    \let\oldsubsection\subsection
    \let\oldsubsubsection\subsubsection
    % Et on les remplace par les nôtres :
    \def\chapter#1{\leftskip=\chapterskip\oldchapter{#1}}
    \def\section#1{\leftskip=\sectskip\oldsection{#1}}
    \def\subsection#1{\leftskip=\subsectskip\oldsubsection{#1}}
    \def\subsubsection#1{\leftskip=\subsubsectskip\oldsubsubsection{#1}}
    
    Je ne suis pas sûr d'avoir compris exactement quel résultat final tu voulais obtenir (par exemple, quand tu parles d'alignement, est-ce en comptant l'indentation du paragraphe ou pas ?), donc je te laisse jouer avec les petits réglages sur les longueurs.