Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
composition:texte:titres:modifier_le_style_des_titres [2016/10/18 22:41] jejust3_composition:texte:titres:modifier_le_style_des_titres [2022/11/30 13:08] (Version actuelle) – [Avec des modifications manuelles] Contre-oblique manquante dbitouze
Ligne 1: Ligne 1:
-====== Comment modifier le style des titres ?======+====== Comment modifier le style des titres de sectionnement? ======
  
 +Cette question traite de tous les titres de sectionnement. En complément de ce qui est indiqué ici, les chapitres font l'objet d'une question complémentaire : « [[3_composition:texte:titres:modifier_les_en-tetes_de_chapitre|Comment modifier le style des titres de chapitre ?]] ».
  
-$Reponse$  Le package [[ctanpkg>titlesec|titlesec]] permet de personaliser le style des +Supposons que l'éditeur de votre journal préféré ait spécifié que les titres de section doivent être au centre, en petites capitales, et les titres de sous-section doivent être en italiqueSi vous ne souhaitez pas vous impliquer dans le type de programmation décrit dans la section 2.2 du //The LaTeX Companion// (voir « [[1_generalites:documentation:livres:documents_sur_latex|Que lire sur LaTeX ?]] »), la technique suivante satisfera probablement votre éditeurDéfinissez-vous de nouvelles commandes :
-titres. Un certain nombre de styles prédéfinis permettent de redéfinnir +
-rapidement la présentation des titresPar exemple : +
-\begin{description} +
-\item[display] formattage des chapitres ; +
-\item[hangformat des sections ; +
-\item[runinformat des paragraphes ; +
-\item[wrap] écrit le texte autour du titre ; +
-\item[frame] identique au style \oarg{display} avec un cadre. +
-\end{description} +
-Sa documentation présente un certain nombre d'exemples, mais donnons-en tout +
-de même un pour voir son fonctionnement. L'exemple \vref{ex=titlesec} montre +
-comment présenter une ''subsubsection'' à la manière d'un ''paragraph''.+
  
 +<code latex>
 +\newcommand{\ssection}[1]{%
 +  \section[#1]{\centering\normalfont\scshape #1}}
 +\newcommand{\ssubsection}[1]{%
 +  \subsection[#1]{\raggedright\normalfont\itshape #1}}
 +</code>
 +
 +Vous aurez alors à utiliser ''\ssection'' et ''\ssubsection'' en lieu et place de ''\section'' et ''\subsection''. Bien entendu, ce n'est vraiment pas une solution très heureuse : la numérotation des sections restera en gras et les formes étoilées des commandes devront être aussi redéfinies. Voici donc d'autres solutions plus pratiques ou plus détaillées.
 +
 +===== Avec l'extension “titlesec” =====
 +
 +L'extension [[ctanpkg>titlesec]] offre une approche structurée du problème, basée sur la redéfinition des commandes de sectionnement elles-mêmes. Cette approche lui permet d'offrir des modifications importantes : ses options fournissent ainsi une boîte à outils pour concevoir la sortie de vos propres commandes de sectionnement. L'extension propose en particulier un certain nombre de styles prédéfinis permettent de modifier rapidement la présentation des titres. Par exemple :
 +  * ''display'' met au format des chapitres ;
 +  * ''hang'' met au format des sections ;
 +  * ''runin'' met au format des paragraphes ;
 +  * ''wrap'' écrit le texte autour du titre ;
 +  * ''frame'' est identique au style ''display'' avec un cadre.
 +
 +La documentation de l'extension présente un certain nombre d'exemples, mais donnons-en tout de même un pour voir son fonctionnement. L'exemple suivant montre comment présenter une ''\subsubsection'' à la manière d'un ''\paragraph''.
  
-Style \oarg{runin 
 <code latex> <code latex>
- du package [[ctanpkg>titlesec|titlesec]]% 
-\label{ex=titlesec}} 
 \documentclass{article} \documentclass{article}
 \usepackage{titlesec} \usepackage{titlesec}
 \titleformat{\subsubsection}[runin]% \titleformat{\subsubsection}[runin]%
 {\normalfont\normalsize\bfseries}% {\normalfont\normalsize\bfseries}%
-{\thesubsubsection}{1em}{:}+{\thesubsubsection}{1em}{:\quad} 
 \begin{document} \begin{document}
-\section{aaaa +\section{La sectionAvec un premier texte. 
-\subsection{bbbb +\subsection{La sous-sectionAvec un deuxième texte. 
-\subsubsection{cccc +\subsubsection{La sous-sous-sectionAvec un troisième texte. 
-\paragraph{dddd+\paragraph{Le paragrapheAvec un dernier texte.
 \end{document} \end{document}
 </code> </code>
  
 +<latexdoc>
 +\documentclass{article}
 +\usepackage{titlesec}
 +\titleformat{\subsubsection}[runin]%
 +{\normalfont\normalsize\bfseries}%
 +{\thesubsubsection}{1em}{:\quad}
 +\pagestyle{empty}
 +\begin{document}
 +\section{La section} Avec un premier texte.
 +\subsection{La sous-section} Avec un deuxième texte.
 +\subsubsection{La sous-sous-section} Avec un troisième texte.
 +\paragraph{Le paragraphe} Avec un dernier texte.
 +\end{document}
 +</latexdoc>
  
 +===== Avec l'extension “sectsty” =====
  
-$Reponse$  Le package [[ctanpkg>sectsty|sectsty]] est moins puissant que [[ctanpkg>titlesec|titlesec]] +L'extension [[ctanpkg>sectsty]] est moins puissante que [[ctanpkg>titlesec]] mais est peut-être plus facile d'utilisation et 
-mais est peut-être plus facile d'utilisation. Cf. l'exemple +sans doute préférable pour des modifications mineures dans la mesure où vous n'aurez besoin de lire qu'une petite partie 
-\vref{ex=sectsty}.+de sa documentation pour pouvoir l'utiliser. Voici un exemple pour obtenir le soulignement des titres de sectionnement.
  
-\begin{docexemple}{Soulignement des titres à l'aide de [[ctanpkg>sectsty|sectsty]]% +<code latex>
-\label{ex=sectsty}}+
 \documentclass{article} \documentclass{article}
-\usepackage[frenchb]{babel}+\usepackage[french]{babel}
 \usepackage{sectsty} \usepackage{sectsty}
 \usepackage[normalem]{ulem} \usepackage[normalem]{ulem}
Ligne 53: Ligne 73:
 </code> </code>
  
 +<latexdoc>
 +\documentclass{article}
 +\usepackage[french]{babel}
 +\usepackage{sectsty}
 +\usepackage[normalem]{ulem}
 +\allsectionsfont{\sffamily\raggedright\underline}
 +\pagestyle{empty}
 +\begin{document}
 +\section{Un titre de section assez long pour ne 
 +pas tenir sur une seule ligne}
 +\end{document}
 +</latexdoc>
  
 +===== Avec l'extension “sfheaders” =====
  
-$Reponse$  Les définitions de ''section'', ''sub(sub)section'', etcse +L'extension [[ctanpkg>sfheaders]]de MLoretipermet d'écrire les titres avec une police de caractères sans empattement quelle que soit la classe de document utilisée.
-trouvent dans les fichiers ''cls'' (''report.cls'', +
-''article.cls'' et ''book.cls'').+
  
 +===== Avec la classe “memoir” =====
  
-<note warning>+La classe[[ctanpkg>memoir]] dispose de fonctionnalités qui correspondent aux extensions [[ctanpkg>sectsty]] et [[ctanpkg>titlesec]] ainsi qu'un ensemble de style de chapitre prédéfinis (incluant un équivalent à ce que fournit l'extension [[ctanpkg>anonchap|anonchap]]). 
  
-il est vivement conseillé de ne pas modifier +===== Avec les classes “KOMA-script” =====
-directement ces classes mais de redéfinir +
-un ''fichier.sty'' avec les nouvelles commandes ou +
-d'utiliser ''makeatletter'' et ''makeatother''+
-</note>+
  
 +Les classes [[ctanpkg>KOMA-script|KOMA-script]] disposent également d'outils offrant des fonctionnalités équivalentes, notamment des spécifications de format comme ''\partformat'', ''\chapterformat'', ''\sectionformat''... ainsi que des options de classe permettant de donner des spécifications générales de format.
  
-La syntaxe de définition d'une nouvelle section est :+===== Avec des modifications manuelles =====
  
-<code latex>+Les définitions de ''\section'', ''\sub(sub)section'', etc. se trouvent dans les fichiers de classe ''cls'' (''report.cls'', ''article.cls'' et ''book.cls'').
  
 +<note warning>
 +Il est vivement conseillé de ne pas modifier directement ces classes mais de constituer un ficheir d'extension (''.sty'') avec les nouvelles commandes ou d'utiliser ''\makeatletter'' et ''\makeatother''.
 +</note>
 +
 +La syntaxe de définition d'une nouvelle section est, par exemple :
 +
 +<code latex>
 \renewcommand\section% \renewcommand\section%
      {\@startsection {section}{1}{\z@}%      {\@startsection {section}{1}{\z@}%
Ligne 80: Ligne 116:
 </code> </code>
  
 +Voici quelques explications sur cette redéfinition :
 +  * la commande ''\@startsection'' permet de gérer : la table des matières, la numérotation des titres, les références, les titres des sections dans l'en-tête, etc. ;
 +  * ''{section}'' indique qu'il s'agit d'une section ;
 +  * ''{1}'' indique son niveau dans la table des matières ;
 +  * ''{z@}'' indique la taille (largeur) de son retrait (zéro) ;
 +  * ''{-3.5ex \@plus -1ex \@minus -.2ex}'' définit l'espace qui sera ajouté au-dessus du titre ;
 +  * ''{2.3ex \@plus.2ex}'' définit l'espace qui sera ajouté au-dessous du titre. Si ce nombre est négatif alors il s'agit d'un espacement horizontal, pour avoir des titres « en ligne » ;
 +  * ''\@plus'' et ''\@minus'' permettent de jouer sur l'élasticité de ces espaces ;
 +  * ''\reset@font\Large\bfseries'' sont les commandes de mises en forme du titre.
  
-Explications : +Dans ce cadreVincent Zoonekynd propose des exemples illustrés montrant comment obtenir différents [[http://zoonek.free.fr/LaTeX/LaTeX_samples_chapter/0.html|styles de chapitre]] et [[http://zoonek.free.fr/LaTeX/LaTeX_samples_section/0.html|styles de section]].
-\begin{itemize} +
-\item la commande ''@startsection'' permet de gérer : la table des +
-  matières, la numérotation des titres, les références, +
-  les titres des sections dans l'en-tête, etc. ; +
-\item \marg{section} indique qu'il s'agit d'une section ; +
-\item \marg{1} indique son niveau dans la table des matières ; +
-\item \marg{''z@''} indique la taille (largeur) de son retrait (zéro) ; +
-\item \marg{-3.5ex ''@plus'' -1ex ''@minus'' -.2ex} définit l'espace qui +
-  sera ajouté au-dessus du titre ; +
-\item \marg{2.3ex ''@plus''.2ex} définit l'espace qui sera ajouté au-dessous +
-  du titre. Si ce nombre est négatif alors il s'agit d'un +
-  espacement horizontalpour avoir des titres <<~en ligne~>>+
-\item ''@plus'' et ''@minus'' permettent de jouer sur l'élasticité de ces +
-  espaces ; +
-\item \marg{''reset@font''''Large''''bfseries''} sont les commandes de +
-  mises en forme du titre. +
-\end{itemize} +
- +
- +
-$Reponse$  Pour augmenter l'espace avant une section il suffit, par +
-exemple, d'écrire, dans le préambule du document : +
- +
-%        1                                 5X        6 +
-%23456789012345678901234567890123456789012345678901234567890 +
- +
-<code latex> +
- +
-\makeatletter +
-\renewcommand\section{% +
-  \@startsection{section}{1}{\z@}% +
-                {2cm \@plus -1ex \@minus -.2ex}% +
-                {2.3ex \@plus.2ex}% +
-                {\reset@font\Large\bfseries}} +
-\makeatother +
-</code> +
- +
- +
- +
-$Reponse$  Le package [[ctanpkg>sfheaders|sfheaders]] de \nom{M.}{Loreti}, disponible sur +
-https://www.ctan.org/{macros/latex/contrib/sfheaders}, permet d'écrire les titres avec une +
-police de caractères sans empattement quelle que soit la classe de document +
-utilisée. +
- +
- +
-$Reponse$  Le package [[ctanpkg>fncychap|fncychap]] disponible sur +
-https://www.ctan.org/{macros/latex/contrib/fncychap/} propose un +
-ensemble d'en-têtes de chapitre prédéfinis. +
-Voir l'exemple~\vref{ex=fncychap}.+
  
 +-----
 +//Source:// [[faquk>FAQ-secthead|The style of section headings]]
  
 +{{htmlmetatags>metatag-keywords=(LaTeX,style des titres,apparence des titres,format des titres)
 +metatag-og:title=(Comment modifier le style des titres de sectionnement)
 +metatag-og:site_name=(FAQ LaTeX francophone)
 +}}
  
3_composition/texte/titres/modifier_le_style_des_titres.1476830473.txt.gz · Dernière modification : 2016/10/18 22:41 de jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0