J'utilise la classe yathesis pour rédiger mon rapport. Mais je ne vais pas imprimer mon rapport en recto-verso. Ainsi, je voudrais avoir le même en-tête pour les pages paires et impaires de mon rapport.

J'ai essayé \fncychap=none dans le début du fichier principal these.tex mais j'obtiens une erreur selon laquelle ce paramètre est déjà initialisé auparavant.

Quelle est la bonne façon de procéder ?

Un MCE :

Ouvrir dans l'éditeur
\documentclass[12pt,space=onehalf]{yathesis}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{kpfonts}
\usepackage{lipsum} % À proscrire dans un vrai mémoire de thèse !
% Les 4 lignes suivantes sont nécessaires pour que cet ECM compile sur Overleaf
\let\tmp\newinsert
\let\newinsert\newbox
\usepackage{floatrow}
\let\newinsert\tmp

\begin{document}

\maketitle

\tableofcontents[depth=subsection,name=Sommaire]

\chapter{Premier chapitre}\label{ch:1}
\section{Section1}
\lipsum[130-245]
\section{Section2}
\lipsum[30-350]
\chapter{Deuxième chapitre}\label{ch2:} 
\section{Section1}
\lipsum[30-454]
\section{Section2}
\lipsum[20-350]

\end{document}

Ici les en-têtes et marges changent pour les pages paires et impaires. Je veux qu'elles soient identiques (avec en en-tête le nom du chapitre et le numéro de la page).

Posée 29 Mar '16, 15:47

etudiant_is's gravatar image

etudiant_is
9168
Taux d'acceptation : 25%

Modifiée 31 Mar '16, 00:09

denis's gravatar image

denis ♦♦
7.3k1510

@etudiant_is Les formules de politesse et les signatures sont à éviter : celle(s) de votre contribution a (ont) été supprimée(s).

(29 Mar '16, 16:32) Pathe ♦♦ Pathe's gravatar image

Merci d'ajouter des informations pour rendre la question plus claire : un exemple minimal (mais complet) de ton rapport, et comment tu veux cet en-tête ?

(29 Mar '16, 18:34) touhami touhami's gravatar image

Comme indiqué dans la documentation de la classe, il suffit de passer à la classe yathesis l'option oneside (héritée de la classe book) pour avoir un document en recto seulement.

Cependant, les titres courants sont alors tous constitués du numéro de la page et du titre de la section, et non de celui du chapitre en cours. Comme on peut considérer cela comme un défaut de la classe, pourrais-tu ouvrir une nouvelle « issue » pour suggérer une modification à ce sujet ?

En attendant, pour s'en sortir, il suffit d'ajouter en préambule :

Ouvrir dans l'éditeur
\makeatletter
\renewcommand*{\YAD@section@header}{\YAD@chapter@header}
\makeatother

Modification

Ajout d'un ECM :

Ouvrir dans l'éditeur
\documentclass[12pt,space=onehalf,oneside]{yathesis}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{kpfonts}
\usepackage{lipsum} % À proscrire dans un vrai mémoire de thèse !
% Les 4 lignes suivantes sont nécessaires pour que cet ECM compile sur Overleaf
\let\tmp\newinsert
\let\newinsert\newbox
\usepackage{floatrow}
\let\newinsert\tmp

\makeatletter
\renewcommand*{\YAD@section@header}{\YAD@chapter@header}
\makeatother

\begin{document}

\maketitle

\tableofcontents[depth=subsection,name=Sommaire]

\chapter{Remerciements}
\section{Section1}
\lipsum[130-245]
\section{Section2}
\lipsum[30-350]

\mainmatter
\chapter{Premier chapitre}\label{ch:1}
\section{Section1}
\lipsum[130-245]
\section{Section2}
\lipsum[30-350]
\chapter{Deuxième chapitre}\label{ch2:}
\section{Section1}
\lipsum[30-454]
\section{Section2}
\lipsum[20-350]
\end{document}
Lien permanent

Publiée 29 Mar '16, 20:08

denis's gravatar image

denis ♦♦
7.3k1510
Taux d'acceptation : 53%

Modifiée 29 Mar '16, 22:28

Merci cela marche mais comme certains titres de chapitres sont un peu longs, une partie n'apparaît pas. Pour résoudre cela, il faut utiliser \chaptermark{titre court pour le header}.

(29 Mar '16, 21:02) etudiant_is etudiant_is's gravatar image

@etudiant_is Ce problème se règle tout simplement en recourant à l'argument optionnel de la commande \chapter[⟨intitulé court⟩]{⟨intitulé⟩} : ⟨intitulé court⟩ figurera à la place de ⟨intitulé⟩ dans les titres courants (et aussi dans la ou les tables de matières).

(29 Mar '16, 21:13) denis ♦♦ denis's gravatar image

les titres courants sont alors tous constitués du numéro de la page et du titre de la section, et non du chapitre, en cours

Pour moi c'est le contraire.

(29 Mar '16, 21:20) touhami touhami's gravatar image

@denis oui mais je ne veux pas changer le titre au niveau de la table de matières, seulement pour le header.

@touhami en changeant comme mentionné par Denis, les headers contiennent le titre des chapitres pour moi.

(29 Mar '16, 21:27) etudiant_is etudiant_is's gravatar image

@etudiant_is voulez-vous dire que l'option oneside est insuffisante ?

(29 Mar '16, 21:30) touhami touhami's gravatar image

@touhami Pourtant, ce n'est pas ce qu'on observe sur mon ECM, par exemple compilé sur Overleaf.

(29 Mar '16, 21:40) denis ♦♦ denis's gravatar image

Oui, sans rajouter au préambule \makeatletter \renewcommand*{\YAD@section@header}{\YAD@chapter@header} \makeatother, on obtient les titres de section dans l'entête.

Avec ces lignes en préambule cela fonctionne très bien.

(29 Mar '16, 21:47) etudiant_is etudiant_is's gravatar image

Je ne pense pas. Je croirais plutôt que c'est le code que vous avez fourni qui est incomplet, qui empêche de compiler correctement. Comme je ne connais pas vraiment la classe, je n'ai pas cherché à le compléter et me suis focalisé sur le problème soulevé.

(29 Mar '16, 21:56) Bernard Bernard's gravatar image

@etudiant_is

oui mais je ne veux pas changer le titre au niveau de la table de matière, seulement pour le header.

Cela n'est pas possible dans les classes standard et, pour l'instant, pas dans la classe yathesis mais cela peut faire l'objet d'une demande de fonctionnalité en ouvrant une nouvelle « issue ».

(29 Mar '16, 21:59) denis ♦♦ denis's gravatar image

@etudiant_is Attention ! Cette réponse était un commentaire plutôt qu'une réponse et a été convertie comme tel.

(29 Mar '16, 22:00) denis ♦♦ denis's gravatar image

@etudiant_is Plutôt que poser une question en commentaire, il est préférable de créer une nouvelle question à part entière (éventuellement en y indiquant le lien avec la question actuelle).

(29 Mar '16, 22:01) denis ♦♦ denis's gravatar image

@denis Trouvé : c'est \mainmatter qui fait la différence.

(29 Mar '16, 22:15) touhami touhami's gravatar image

@Bernard Pour que ton ECM compile, tu peux t'inspirer de celui que j'ai proposé (en supprimant notamment les titre, auteur et institut).

(29 Mar '16, 22:18) denis ♦♦ denis's gravatar image

@touhami Je ne pense pas que \mainmatter fasse la différence (cf. mon ECM modifié). En revanche, les chapitres précédant cette bascule ne sont pas numérotés et leurs titres ne sont donc pas précédés de la mention « CHAPITRE ⟨numéro⟩ » (ce qui te les a peut-être fait confondre avec les sections).

(29 Mar '16, 22:32) denis ♦♦ denis's gravatar image

@etudiant_is À mon avis, il faut penser à accepter la réponse de denis.

(29 Mar '16, 22:32) touhami touhami's gravatar image

@denis: J'ai précisément rajouté ces données bidon parce que le compilateur chouinait…

(29 Mar '16, 23:04) Bernard Bernard's gravatar image

@denis : « oui mais je ne veux pas changer le titre au niveau de la table de matière, seulement pour le header.

Cela n'est pas possible dans les classes standard et, pour l'instant, pas dans la classe yathesis mais cela peut faire l'objet d'une demande de fonctionnalité en ouvrant une nouvelle issue

Puisque la classe utilise titleps, ne pourrait-on charger cette extension via un \RequirePackage[pagestyles, toctitles]{titlesec}?

La dernière option permet de n'utiliser la version longue des titres que dans les en-têtes.

(30 Mar '16, 16:15) Bernard Bernard's gravatar image

@Bernard Pour des raisons de compatibilité ascendante, je préfère éviter, d'autant que certains utilisateurs pourraient vouloir au contraire que la version « courte » des titres figure simultanément en tables des matières et en titres courants. En revanche, il est possible d'ouvrir une issue pour que yathesis permette, comme la classe memoir, de différencier les titres :

  • au fil du texte ;
  • en titres courants ;
  • dans les tables des matières.
(30 Mar '16, 16:35) denis ♦♦ denis's gravatar image

Il me semble qu'il suffirait de proposer toctitles en option – quitte à ce que ce soit sous un autre intitulé.

Mais il y a peut-être d'autres problèmes de compatibilité – je ne connais la classe que de nom.

(30 Mar '16, 16:51) Bernard Bernard's gravatar image

@Bernard À mon avis, il fallait avoir une très forte raison pour utiliser \RequirePackage[pagestyles, toctitles]{titlesec} : en fait titlesec redéfinit les commandes de type \section de manière fortement non standard.

(30 Mar '16, 20:15) touhami touhami's gravatar image

@touhami: À ma connaissance, titlesec ne redéfinit rien du tout si on ne le lui demande pas – je veux dire si l'on n'utilise pas \titleformat ou \titlespacing. Mais, via titleps, il permet de redéfinir les styles de page bien plus simplement qu'avec fancyhdr, sans qu'on soit obligé d'en passer par les cryptiques \rightmark ou \leftmark.

(30 Mar '16, 20:56) Bernard Bernard's gravatar image

@Bernard compiler un document minimal chargeant le package titlesec et dont le corps du document contienne \meaning\section.

(30 Mar '16, 21:23) touhami touhami's gravatar image

@touhami: Ça nous dit que \section fait partie de la classe straight. Est-ce que ça change quelque chose par rapport au comportement par défaut?

(31 Mar '16, 00:57) Bernard Bernard's gravatar image

@denis en compilant l'exemple sans \mainmatter c'est le titre de chapitre qui s'affiche en entête (le même résultat avec la classe book avec ou sans \mainmatter)

(01 Avr '16, 13:06) touhami touhami's gravatar image

@Bernard en compilant le même code sans usage de titlesec on trouve que ce n'est pas la même définition. Voir ce fil sur tex.stackexchange.com.

(01 Avr '16, 13:08) touhami touhami's gravatar image

@touhami

en compilant l'exemple sans mainmatter c'est le titre de chapitre qui s'affiche en entête (le même résultat avec la classe book avec ou sans mainmatter)

Et ?

(01 Avr '16, 15:48) denis ♦♦ denis's gravatar image

@denis c'est une réponse à votre commentaire ci-dessus : Je ne pense pas quemainmatterfasse la différence.

À mon avis si vous voulez faire des modifications (mis à jour) suite à ce fil, ça commence par rétablir cette commande.

(01 Avr '16, 16:02) touhami touhami's gravatar image

@touhami Oui, c'est ce que je dis dans un commentaire ci-dessus : que ce soit avant ou près \mainmatter s'il est présent, ou en l'absence de cette commande, c'est bien le titre du chapitre qui figure en titre courant (entête). En outre, avant (ou en l'absence de) \mainmatter, ce titre n'est pas précédé de la mention « CHAPITRE ⟨numéro⟩ ».

(01 Avr '16, 16:39) denis ♦♦ denis's gravatar image
Affichage de 5 parmi 28 Afficher 23 commentaire(s) en plus

Il suffit de redéfinir le style de page. J'ai supposé que la question concernait les en-tête du « main matter ». Hormis que la compilation ne se déroule pas bien (problème avec hyperref entre autres), indépendamment de toute modification, je peux obtenir le résultat souhaité en ajoutant l'option oneside à la classe de document, et en redéfinissant le style de page  mainmatter:

Ouvrir dans l'éditeur Overleaf
\documentclass[12pt,space=onehalf,version=final, oneside]{yathesis}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lipsum} % À proscrire dans un vrai mémoire de thèse !
\usepackage{kpfonts}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{pgfplots}
\usepackage{floatrow}
\usepackage{caption}
\usepackage{listings}
\usepackage{microtype}
\usepackage{varioref}
\usepackage[xindy,quiet]{imakeidx}
\usepackage[autostyle]{csquotes}
\usepackage[backend=biber,safeinputenc]{biblatex}
\usepackage{hyperref}

\usepackage[xindy,acronyms,symbols]{glossaries}

\title{Un mémoire}
\author{Oublié}
\institute{Institut Myosotis}
\makeatletter
\renewpagestyle{mainmatter}[]{%
  \ifthenelse{\equal{\YAD@interligne}{single}}{%
    \singlespacing%
  }{%
    \ifthenelse{\equal{\YAD@interligne}{double}}{%
      \doublespacing%
    }{%
      \onehalfspacing%
    }%
  }%
  \sethead
  {\YAD@chapter@header}%
  {}%
  {\thepage}%
  \headrule%
  \resettocdepth*%
  \setsecnumdepth{\YAD@secnumdepth}%
  \YAD@setfoot%
}
\makeatother%

\begin{document}

\maketitle

\tableofcontents[depth=subsection,name=Sommaire]
\mainmatter
\chapter{Premier chapitre}\label{ch:1}
\section{Section1}
\lipsum[130-245]
\section{Section2}
\lipsum[30-350]
\chapter{Deuxième chapitre}\label{ch2:}
\section{Section1}
\lipsum[30-454]
\section{Section2}
\lipsum[20-350]

\end{document}
Lien permanent

Publiée 29 Mar '16, 20:59

Bernard's gravatar image

Bernard
4.6k15
Taux d'acceptation : 35%

Modifiée 21 Jan '18, 14:45

Pathe's gravatar image

Pathe ♦♦
7.5k42203251

Y a-t-il un problème avec hyperref ? Dois-je le remplacer par une autre extension ?

(29 Mar '16, 21:49) etudiant_is etudiant_is's gravatar image

y a t il un problème avec hyperref? Dois je le remplacer avec un autre package?

(29 Mar '16, 21:49) etudiant_is etudiant_is's gravatar image

@Bernard (hors sujet) voir ma réponse ci-dessous

(31 Mar '16, 19:58) touhami touhami's gravatar image

C'était très simple, il fallait mettre l'option oneside mais je ne savais pas où chercher.

Ouvrir dans l'éditeur
\documentclass[12pt,space=onehalf,version=final]{yathesis}
Lien permanent

Publiée 29 Mar '16, 19:53

etudiant_is's gravatar image

etudiant_is
9168
Taux d'acceptation : 25%

Modifiée 29 Mar '16, 22:11

Pathe's gravatar image

Pathe ♦♦
7.5k42203251

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.