Comment mettre les numéros de pages en bas de page ?

En fait, ça devient encombrant le numéro de page avec l'entête existante...

Posée 12 Jul '16, 14:11

Nour's gravatar image

Nour
45113
Taux d'acceptation : 0%

Modifiée 05 Aoû '17, 21:30

Pathe's gravatar image

Pathe ♦♦
7.4k28196245

Quelle est la classe utilisée? book? Merci d'ajouter un exemple minimale de votre code.

(12 Jul '16, 16:05) touhami touhami's gravatar image

Le package fancyhdr : https://www.ctan.org/pkg/fancyhdr

(12 Jul '16, 16:27) jerome dequeker jerome%20dequeker's gravatar image

À mon avis, titletoc est plus simple d'utilisation. On n'a pas à jongler avec leftmark, \rightmark, \markboth et tout ce qui s'ensuit.

(12 Jul '16, 16:52) Bernard Bernard's gravatar image

@Bernard vous voulez dire titlesec non?

(12 Jul '16, 17:04) touhami touhami's gravatar image

@touhami: Ni l'un, nil'autre réellement, mais titleps, de la même famille. Désolé pour ce lapsus calamiteux.

(12 Jul '16, 17:15) Bernard Bernard's gravatar image

Voici une solution. On peut redéfinir le réglage de l’entête grâce à l'extension fancyhdr. Par exemple :

Ouvrir dans l'éditeur Overleaf
\fancypagestyle{mainmatter}{%
\fancyhf{}
\fancyhead[RE]{\slshape\leftmark}
\fancyhead[LO]{\slshape\rightmark}
\fancyfoot[C]{\thepage}
\renewcommand{\headrulewidth}{1pt} 
\renewcommand{\footrulewidth}{0pt}}

Exemple compilable

Ouvrir dans l'éditeur Overleaf
\documentclass[space=onehalf, 12pt, twoside, a4paper]{yathesis}
\usepackage{mwe} % just for the example

\usepackage{fancyhdr} 
\fancypagestyle{mainmatter}{%
\fancyhf{}
\fancyhead[RE]{\slshape\leftmark}
\fancyhead[LO]{\slshape\rightmark}
\fancyfoot[C]{\thepage}
\renewcommand{\headrulewidth}{1pt} 
\renewcommand{\footrulewidth}{0pt}}
\begin{document}
\mainmatter 
\blinddocument 
\blinddocument 
\blinddocument 
\end{document}

Mis à jour suite aux commentaires de Bernard. Voici une autre solution. L'idée est d'utiliser la commande \patchcmd de l'extension etoolbox pour redéfinir les commandes internes \ps@PAGESTYLE

Ouvrir dans l'éditeur Overleaf
\documentclass[space=onehalf, 12pt, twoside, a4paper]{yathesis}
\usepackage{mwe} % just for the example
\makeatletter 
\newcommand{\mtpatchcmd}[1]{%
\expandafter\patchcmd\csname ps@#1\endcsname{\thepage}{}{}{}%
\expandafter\patchcmd\csname ps@#1\endcsname{\thepage}{}{}{}}
\renewcommand*{\YAD@setfoot}{\footrule\setfoot{}{\thepage}{}}
\makeatother
\mtpatchcmd{preliminary}
\mtpatchcmd{ordinary}
\mtpatchcmd{mainmatter}
\mtpatchcmd{appendix}
\mtpatchcmd{biblio}
\mtpatchcmd{backmatter}
\mtpatchcmd{contents}
\mtpatchcmd{glossaire}
\mtpatchcmd{index}

\begin{document}
\mainmatter 
\blinddocument 
\blinddocument 
\blinddocument 
\end{document}
Lien permanent

Publiée 13 Jul '16, 14:48

touhami's gravatar image

touhami
9.7k410
Taux d'acceptation : 51%

Modifiée 05 Aoû '17, 21:29

Pathe's gravatar image

Pathe ♦♦
7.4k28196245

@touhami: Je crains des problèmes : yathesis fait appel à titleps pour gérer les entête et pieds de page. De plus, la classe utilise 11 styles différents, dont 8 placent le numéro de page dans l'entête!

(13 Jul '16, 17:01) Bernard Bernard's gravatar image

@Bernard Je ne vois aucun problème: je sais que titleps est utilisée (elle est certes puissante, mais ici elle ne fait rien de particulier).

(14 Jul '16, 13:23) touhami touhami's gravatar image

@Touhami: Effectivement, ça semble compiler (pour autant qu'on puisse le voir, car de code fourni est très incomplet, et à la compilation, ça hurle qu'il manque plein de choses). Toutefois, pour être conforme à l'original hormis l'emplacement du numéro de page, d'une part il ne faudrait pas de filet sous l'entête et d'autre part l'en tête devrait en romain, et en minuscule à l'exception du mot chapitre.Enfin, dans un chapitre sans section ou avec sections commençant plus loin, on met aussi le title de chapitre sur les pages paires, à la place du titre de section inexistant.

(14 Jul '16, 14:28) Bernard Bernard's gravatar image

@Bernad vous avez peut être raison. j'ai mis à jour ma réponse.

(14 Jul '16, 14:57) touhami touhami's gravatar image

Ah! Très joli! Je me demandais comment on pouvait patcher \pagestyle. J'avoue que le code interne de titleps m'a toujours échappé.

(14 Jul '16, 16:38) Bernard Bernard's gravatar image

Puisque la classe yathesis fait ses entête et pieds de page avec titleps, il suffit de rajouter ceci à votre préambule :

Ouvrir dans l'éditeur Overleaf
\makeatletter%    
\renewpagestyle{mainmatter}[]{%
  \ifthenelse{\equal{\YAD@interligne}{single}}{%
    \singlespacing%
  }{%
    \ifthenelse{\equal{\YAD@interligne}{double}}{%
      \doublespacing%
    }{%
      \onehalfspacing%
    }%
  }%
  \sethead[]%
  []%
  [\YAD@chapter@header]%
  {%
    \ifthenelse{%
      \equal{\sectiontitle}{}%
    }{%
      \YAD@chapter@header%
    }{%
      \YAD@section@header%
    }%
  }%
  {}%
  {}%
  \setfoot{}{\thepage}{}%
  \headrule%
  \resettocdepth*%
  \setsecnumdepth{\YAD@secnumdepth}%
  \YAD@setfoot%
}%
\makeatother

Il y a deux problèmes : d'abord, la classe utilise 8 styles de page où figure le numéro de page. Il faudra donc modifier tous ceux qui sont utilisés de la même façon. Ce qui a été fait est de copier le contenu de \newpagestyle{mainmatter}{…………}, de supprimer les mentions de \thepage dans \sethead{…}, de rajouter le \setfoot{}{\thepage}{}, de remplacer \newpagestyle{ par  \renewpagestyle{ et enfin de mettre tout ça entre \makeatletter et \makeatother.

Si l'on ne veut pas encombrer son préambule, on peut mettre les modifications dans un fichier de configuration thesis.cfg (pas le couple \makeatletter … \makeatother) et de placer celui-ci dans un sous-dossier configuration (cf. § 7.4 de la documentation, p. 59).

Lien permanent

Publiée 13 Jul '16, 18:39

Bernard's gravatar image

Bernard
4.6k15
Taux d'acceptation : 35%

Modifiée 05 Aoû '17, 21:31

Pathe's gravatar image

Pathe ♦♦
7.4k28196245

Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.