Le 07/11/2011 14:41, sududur a écrit :
J'ai été un peu vite, quand je tente de l'appliquer aux index et à la
liste des figures, Lyx me donne un message d'erreur de type tex capacity
exceeded...quel est le lien ?

Peux-tu préciser ? Que veux-tu dire par « appliquer à l'index » ou « appliquer à la liste des figures » ?
Si c'est marquer en chapterstar ces éléments, ce n'est sûrement pas bon.

Si tu veux que pour ces éléments « clé en main » les en-têtes soient correctes, je ne crois pas qu'il y ait d'autre méthode que la redéfinition de la commande correspondante pour inclure les \markboth qui vont bien.

Exemple pour la TdM elle-même, les listes des figures et des tables, la biblio, avec la classe report :

\renewcommand\tableofcontents{%
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
    \chapter*{\contentsname
        \@mkboth{%
           \textsc{\contentsname}}{\textsc{\contentsname}}}%
    \@starttoc{toc}%
    \if@restonecol\twocolumn\fi
    }

\renewcommand\listoffigures{%
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
    \chapter*{\listfigurename
\addcontentsline{toc}{chapter}{\protect\numberline{}\listfigurename}%
      \@mkboth{\textsc{\listfigurename}}%
              {\textsc{\listfigurename}}}%
    \@starttoc{lof}%
    \if@restonecol\twocolumn\fi
    }

\renewcommand\listoftables{%
    \if@twocolumn
      \@restonecoltrue\onecolumn
    \else
      \@restonecolfalse
    \fi
    \chapter*{\listtablename
\addcontentsline{toc}{chapter}{\protect\numberline{}\listtablename}%
      \@mkboth{%
          \textsc{\listtablename}}{\textsc{\listtablename}}}%
    \@starttoc{lot}%
    \if@restonecol\twocolumn\fi
    }

\renewenvironment{thebibliography}[1]
     {\chapter*{\bibname
\addcontentsline{toc}{chapter}{\protect\numberline{}\bibname}%
       \@mkboth{\textsc{\bibname}}{\textsc{\bibname}}}%
      \list{\@biblabel{\@arabic\c@enumiv}}%
           {\settowidth\labelwidth{\@biblabel{#1}}%
            \leftmargin\labelwidth
            \advance\leftmargin\labelsep
            \@openbib@code
            \usecounter{enumiv}%
            \let\p@enumiv\@empty
            \renewcommand\theenumiv{\@arabic\c@enumiv}}%
      \sloppy
      \clubpenalty4000
      \@clubpenalty \clubpenalty
      \widowpenalty4000%
      \sfcode`\.\@m}

Je n'ai fait qu'ajouter
        \@mkboth{%
           \textsc{<cde ad hoc>}}{\textsc{<cde ad hoc>}}}%
au code des environnements originaux de la classe report.cls, où
<cde ad hoc> vaut \contentsname, \listfigurename, \listetablename et \listbibname. J'ai ajouté en plus une ligne pour le renvoi des listes et biblio en TdM, si c'est nécessaire.

Pour toi, il faut adapter à la classe scrbook, je vais voir si c'est simple.

Pour l'index, je n'ai pas fait, mais je vais regarder aussi (il suffit paut-être de modifier le fichier auxiliaire engendré par l'indexeur avant la dernière passe LaTeX, en revenant à la compil LaTeX).

--
Jean-Pierre

Répondre à