J'ai récupéré sur internet un bout de code pour formater l'affichage des chapitres d'une thèse. Je cherche à mieux comprendre ce bout de code et à le réécrire avec \documentclass[ a4paper, twoside, 12pt, french]{book} % % - Input encoding and font encoding -% \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} % % - Page geometry -% \usepackage[top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm]{geometry} \usepackage{xcolor} \usepackage{lipsum} \makeatletter \def\@makechapterhead#1{% \vspace*{0\p@}% margin above chapter number {\parindent \z@ \centering \normalfont\sffamily \ifnum \c@secnumdepth >\m@ne \if@mainmatter \Huge\bfseries\color{green} \@chapapp~\thechapter\\[-7pt] % \par\nobreak % \vskip 0\p@% space between chapter number and chapter title \color{black}\rule{0.9\linewidth}{0.2pt} \fi\\[7pt] \fi % \interlinepenalty\@M \LARGE\bfseries\color{black} \centering #1 % \par\nobreak \vskip 30 \p@% space below chapter title }} \makeatother \begin{document} \frontmatter \mainmatter \chapter{Ceci est un chapitre de test} \lipsum[3-9] \chapter{Deuxième chapitre} \backmatter \appendix \end{document} J'ai essayé de reprendre en faisant : \titleformat{\chapter}[display] {\centering\normalfont\sffamily} {\if@mainmatter \Huge\bfseries\color{green} \chaptertitlename \thechapter\\ \color{black}\rule{0.9\linewidth}{0.2pt} \else Hors mainmatter\\ \fi }{}{% \LARGE\bfseries\color{black} } mais quand je compile le formatage utilisé est celui "hors mainmatter" alors que cela ne devrait pas être le cas. Comment reproduire le code "hacky" à base de redéfinition @ en titlesec ? Posée 17 Fév '23, 20:55 olirwin |
Aux dimensions près, ceci convient-il ? \documentclass[ a4paper, 12pt]{book} % % - Input encoding and font encoding -% \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} % % - Page geometry -% \usepackage[top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm]{geometry} \usepackage{xcolor} \usepackage{lipsum} \usepackage[pagestyles]{titlesec} \makeatletter \titleformat{\chapter}[display] {% Format \centering\normalfont\Huge\bfseries\sffamily\color{green}% }{% Label \chaptertitlename\ \thechapter% }{% Sep 0pt% }{% Before code \vspace*{0\p@}\centering\LARGE\bfseries\color{black}% \if@mainmatter \rule{0.9\linewidth}{0.2pt}\\% \fi } \makeatother \begin{document} \frontmatter \chapter{Ceci est un chapitre de test (frontmatter)} \lipsum[1] \mainmatter \chapter{Ceci est un chapitre de test} \lipsum[3-9] \chapter{Deuxième chapitre} \end{document} Publiée 17 Fév '23, 21:56 denis ♦♦ Absolument ! Cependant j'avoue ne toujours pas comprendre pourquoi ce que j'avais fait ne fonctionnait pas :/
(18 Fév '23, 13:01)
olirwin
|
Bienvenue sur TeXnique.fr !