[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux-team] LaTeX encore



On Thu, 6 Jul 2000, Jean-Francois Straeten <jfstraeten@compuserve.com> wrote:
> 
> On Wed, Jul 05, 2000 at 10:21:27PM +0200, Pascal A. Dupuis wrote:
> >  
> > sous LaTeX, comment peut-on configurer les niveaux d'entrée de la
> > table des matières ? Je voudrais qq chose qui ressemble au livre
> > Programmation Linux 2.0 (Rémy Card, Eric Dumas, Franck Mével) à
> > savoir :
> > titre de chapitre : gras, tout en majuscules
> > titre de section  : normal
> > titre de sous-section : italique
> 
> Je viens de regarder dans le LaTex Companion, il n'est pas bcp plus
> disert sur le formattage proprement dit...  Si j'ai bien compris,
> les lignes reprenant ds la TOC les titres des différentes sections
> du document sont typesettées par les commandes \l@<type>
> (\l@section, \l@subsection, etc...) contenues dans le fichier de
> classe.  En regardant dans report.cls, seules les commandes \l@part
> et \l@chapter contiennent des instructions de formattage (gras et
> taille plus grande pour \l@part) ; pas les autres (niveaux
> inférieurs).  Peut-être qu'en hackant ces commandes, tu arriverais à
> tes fins ?

En effet, c'est ce qu'il faut faire.  Si tu regardes ton fichier .toc,
tu verras des
	\contentsline{chapter}{\numberline {1}Chapter title}{3}
qui s'étendent en
	 \contentsline=macro:
	 #1->\csname l@#1\endcsname
Donc comme tu peux imaginer, tu dois redéfinir \l@chapter qui prend
deux arguments le titre « \numberline {1}Chapter title » et la page
« 3 ».  Pour les autres type de divisions, par exemple « section »,
\l@section s'étend comme \@dottedtocline{1}{1.5em}{2.3em}.  Pour
faire simple, j'ai continué à employer le \@dottedtocline original.

Pour tes désidératas, je te propose l'ébauche suivante (recopiée pour
la plupart de \show\l@chapter,...) :

\makeatletter
%% Chapter toc entry:
\renewcommand\l@chapter[2]{% <title> <page>
  \ifnum \c@tocdepth >\m@ne 
    \addpenalty{-\@highpenalty }\vskip 1.0em \@plus\p@ 
    \setlength\@tempdima{1.5em}%
    \begingroup 
      \parindent\z@ \rightskip\@pnumwidth  \parfillskip-\@pnumwidth 
      \leavevmode \bfseries 
      \advance\leftskip\@tempdima   \hskip -\leftskip 
      \uppercase{#1}\nobreak 
      \hfil \nobreak \hb@xt@ \@pnumwidth {\hss #2}\par 
      \penalty \@highpenalty 
    \endgroup 
  \fi}

%% Section toc entry:
% \renewcommand\l@section[2]{%
%   \@dottedtocline{1}{1.5em}{2.3em}{#1}{#2}}

%% Subsection toc entry:
\renewcommand\l@subsection[2]{% <titre> <numero>
  \@dottedtocline{2}{3.8em}{3.2em}{\textit{#1}}{\textit{#2}}}

\makeatother


Mes quelques ¢,
ChriS

--------
Visit the Linux Supertore Online: http://www.redcorp.com !
If you want to be deleted from the list, send a mail to
majordomo@rtfm.be with "unsubscribe linux-team" in the body.
Archive of the list: http://tania.be.linux.org/