Comment modifier le style des titres ?
* Les définitions de \section, \sub(sub)section, etc, se
trouvent dans les fichiers .cls (report.cls, article.cls,
book.cls).
ATTENTION : Il est vivement conseillé de ne pas modifier
directement ces classes mais de redéfinir
un fichier.sty avec les nouvelles commandes ou
d'utiliser \makeatletter et \makeatother.
Exemple :
La syntaxe de définition d'une nouvelle section est :
\renewcommand\section{\@startsection {section}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \ at plus.2ex}%
{\reset@font\Large\bfseries}}
Explication :
+ 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 son niveau d'indentation (zéro)
+ {-3.5ex \@plus -1ex \@minus -.2ex} définit l'espace qui sera
ajouté au dessus du titre
+ {2.3ex \ at plus.2ex} définit l'espace qui sera ajouté en dessous
du titre. Si ce nombre est négatif alors il s'agit d'un
espacement horizontal, pour avoir des titres "en ligne",
comme ça :
Titre de ma section. Nous allons parler... bla,
bla, bla...
+ \@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.
%%%% fin exemple %%%%
* Pour augmenter l'espace avant une section il suffit, par
exemple, d'écrire, dans le préambule du document :
%%%% debut macro %%%%
\makeatletter
\renewcommand\section{\@startsection{section}{1}{\z@}%
{2cm \@plus -1ex \@minus -.2ex}%
{2.3ex \ at plus.2ex}%
{\reset@font\Large\bfseries}}
\makeatother
%%%% fin macro %%%%
* Le package 'sfheaders' de M. Loreti, ci dessous met les titres
dans une fonte sans serif quelle que soit la classe de
document utilisée. Pour l'utiliser, il suffit de sauvegarder les
macros suivantes dans un fichier SFheaders.sty et d'appeler
\usepackage{SFheaders}.
%%%% debut macro %%%%
% Package: SFheaders.sty
% Sans-Serif headers; modified from {book|report|article}.cls
% defaults.
% Last modified: MLO 1997-05-06
%
% Author: Maurizio Loreti, aka MLO or (HAM) I3NOO
% Work: University of Padova - Department of Physics
% Via F. Marzolo, 8 - 35131 PADOVA - Italy
% EMail: loreti at padova.infn.it
% WWW: http://wwwcdf.pd.infn.it/~loreti/mlo.html
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{sfheaders}[1997/05/06 Sans-Serif headers]
\@ifclassloaded{article}{
% Here if \documentclass{article}
\def\@part[#1]#2{%
\ifnum \c@secnumdepth >\m@ne
\refstepcounter{part}%
\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
\else
\addcontentsline{toc}{part}{#1}%
\fi
{\parindent \z@ \raggedright
\interlinepenalty \@M
\normalfont
\ifnum \c@secnumdepth >\m@ne
\Large \sffamily \bfseries \partname~\thepart
\par\nobreak
\fi
\huge \sffamily \bfseries #2%
\markboth{}{}\par}%
\nobreak
\vskip 3ex
\@afterheading}
\def\@spart#1{%
{\parindent \z@ \raggedright
\interlinepenalty \@M
\normalfont
\huge \sffamily \bfseries #1\par}%
\nobreak
\vskip 3ex
\@afterheading}}
{\@ifclassloaded{book}{
% Here if \documentclass{book}
\def\@part[#1]#2{%
\ifnum \c@secnumdepth >-2\relax
\refstepcounter{part}%
\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
\else
\addcontentsline{toc}{part}{#1}%
\fi
\markboth{}{}%
{\centering
\interlinepenalty \@M
\normalfont
\ifnum \c@secnumdepth >-2\relax
\huge \sffamily \bfseries \partname~\thepart
\par
\vskip 20\p@
\fi
\Huge \sffamily \bfseries #2\par}%
\@endpart}
\def\@spart#1{%
{\centering
\interlinepenalty \@M
\normalfont
\Huge \sffamily \bfseries #1\par}%
\@endpart}
\def\@makechapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedright \normalfont
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\huge \sffamily \bfseries \@chapapp\space \thechapter
\par\nobreak
\vskip 20\p@
\fi
\fi
\interlinepenalty\@M
\Huge \sffamily\ bfseries #1\par\nobreak
\vskip 40\p@
}}
\def\@makeschapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedright
\normalfont
\interlinepenalty\@M
\Huge \sffamily \bfseries #1\par\nobreak
\vskip 40\p@
}}
}{
% Here if none of the above (\documentclass{report} ?)
\def\@part[#1]#2{%
\ifnum \c@secnumdepth >-2\relax
\refstepcounter{part}%
\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
\else
\addcontentsline{toc}{part}{#1}%
\fi
\markboth{}{}%
{\centering
\interlinepenalty \@M
\normalfont
\ifnum \c@secnumdepth >-2\relax
\huge \sffamily \bfseries \partname~\thepart
\par
\vskip 20\p@
\fi
\Huge \sffamily \bfseries #2\par}%
\@endpart}
\def\@spart#1{%
{\centering
\interlinepenalty \@M
\normalfont
\Huge \sffamily \bfseries #1\par}%
\@endpart}
\def\@makechapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedright \normalfont
\ifnum \c@secnumdepth >\m@ne
\huge \sffamily \bfseries \@chapapp\space \thechapter
\par\nobreak
\vskip 20\p@
\fi
\interlinepenalty\@M
\Huge \sffamily \bfseries #1\par\nobreak
\vskip 40\p@
}}
\def\@makeschapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedright
\normalfont
\interlinepenalty\@M
\Huge \sffamily \bfseries #1\par\nobreak
\vskip 40\p@
}}
}}
\renewcommand{\section}{\@startsection {section}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \ at plus.2ex}%
{\normalfont\Large\sffamily\bfseries}}
\renewcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\normalfont\large\sffamily\bfseries}}
\renewcommand{\subsubsection}{\@startsection{subsubsection}{3}%
{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\normalfont\normalsize\sffamily\bfseries}}
\renewcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
{3.25ex \@plus1ex \ at minus.2ex}%
{-1em}%
{\normalfont\normalsize\sffamily\bfseries}}
\renewcommand{\subparagraph}{\@startsection{subparagraph}{5}%
{\parindent}%
{3.25ex \@plus1ex \@minus .2ex}%
{-1em}%
{\normalfont\normalsize\sffamily\bfseries}}
\endinput
%%
%% End of `SFheaders.sty'.
%%%% fin macro %%%%
* Le package 'fncychap' disponible sur
ftp://ftp.inria.fr/pub/TeX/CTAN/macros/latex/contrib/fncychap/ propose un
ensemble d'entêtes de chapitre prédéfinies.