Je mets en page, à l'aide du package verse, une anthologie poétique, destinée à être consultée sur écran à raison de deux pages côte à côte. Il y a une section par poète, et chaque poème occupe une page et représente une sous-section. Chaque section commence sur une page impaire, grâce au code suivant : Ouvrir dans l'éditeur Overleaf
% Les sections commencent en pages impaires \let\oldsection\section \def\section{\cleardoublepage\oldsection} J'aimerais également que chaque section se termine sur une page impaire, de telle sorte que jamais un poème ne se trouve en vis-à-vis du nom du poète de la section suivante. Comment faire ? Posée 04 Déc '17, 01:04 Pathe ♦♦
Affichage de 5 parmi 7
Afficher 2 commentaire(s) en plus
|
Voici une solution, reposant sur les extensions Ouvrir dans l'éditeur Overleaf
\documentclass[a4paper, 11pt]{book} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{garamondx} \usepackage{microtype} \usepackage[pagestyles, clearempty]{titlesec} \usepackage{changepage} \usepackage{lipsum} \titleformat{\chapter}[display]{\thispagestyle{empty}\Huge\bfseries\filcenter}{\thechapter}{3ex}{\scshape\lsstyle}[\cleardoublepage] % \titleformat{\section}{\LARGE\bfseries\filcenter}{\arabic{section}.}{0.5em}{} \titlespacing{\section}{0pt}{6ex}{12ex} \titleclass{\section}{top} \titleclass{\chapter}{part} \newpagestyle{mystyle}{% \headrule \sethead[][\itshape\sectiontitle][]{}{\lsstyle\scshape\chaptertitle}{} \setfoot{}{--\,\textosfI{\thepage}\,--}{} } \renewpagestyle{plain}{% \setfoot{}{--\,\textosfI{\thepage}\,--}{} } \newcommand{\myclearpage}{\checkoddpage \ifoddpage\clearpage\else\newpage\thispagestyle{empty}\mbox{}\cleardoublepage\fi} \newcommand\mysection[1]{\myclearpage\section{#1}} \pagestyle{mystyle} \begin{document} \chapter{Les Petits Romantiques} \mysection{Aloysius Bertrand} \lipsum \mysection{Pétrus Borel} \lipsum[8-20] \mysection{Xavier Forneret} \lipsum[21-39] \mysection{Gérard de Nerval} \lipsum[40-49] \end{document} Un extrait du résultat : J'ai chargé les extensions changepage et titlesec, cette dernière avec les options que vous indiquez ; j'ai recopié vos commandes Malheureusement, j'obtiens toujours des sections se terminant en page paire, suivies par une nouvelle section débutant sur la page impaire en vis-à-vis. J'aimerais que, dans ce cas, deux pages vierges soient insérées : la première section se terminerait par ces pages, et la section suivant commencerait bien en page impaire, face à une page vierge.
(05 Déc '17, 16:04)
Pathe ♦♦
Explication : cela m'éviterait d'avoir le dernier poème de la section « Jacques Prévert » faisant face à la mention « Raymond Queneau », qui marque le début de la section suivante.
(05 Déc '17, 16:04)
Pathe ♦♦
Avez-vous compilé le document complet ? J'obtiens bien deux pages vierges dans ce cas (j'ai varié le nombre de paragraphes demandés par la commande lipsum pour que les sections se terminent tantôt sur une page paire, tantôt sur une page impaire). Sinon, il faudrait un ECM. Il y a peut-être dans votre préambule des macros ou des extensions qui inhibent ce dispositif.
(05 Déc '17, 18:16)
Bernard
J'obtiens hélas ceci : Je n'ai rien changé à votre code, si ce n'est utilisé kpfonts en lieu et place de garamondx. Ma TeX Live est à jour.
(05 Déc '17, 22:15)
Pathe ♦♦
C'est le package Il faut donc remplacer
(05 Déc '17, 22:23)
jerome dequeker
1
(06 Déc '17, 01:29)
Bernard
En effet, sans cette commande, cela compile sans heurt, et produit bien les pages blanches aux endroits désirés. Je retourne observer mon code.
(06 Déc '17, 01:51)
Pathe ♦♦
@Pathe: en fin de compte, est-ce que ce code résout votre problème ((indépendamment du problème de police) ?
(15 Déc '17, 19:58)
Bernard
Pour l'instant je n'en suis pas certain. J'ai « démonté » une partie de mon code, sans obtenir d'amélioration. Mais je n'ai pas terminé mes investigations. Je ne manquerai pas de signaler si oui ou non, votre solution fonctionne pour moi.
(16 Déc '17, 02:36)
Pathe ♦♦
Affichage de 5 parmi 9
Afficher 4 commentaire(s) en plus
|
Ce n'est pas la bonne manière pour redéfinir la
\section
.Il faut définir une nouvelle commande
\mycleardoublepage
puis utiliser etoolbox :\pretocmd\section\mycleardoublepage{}{}
Définir une nouvelle commande : je veux bien, mais en quels termes ? Elle fait quoi, cette nouvelle commande ?
\newcommand{\mycleardoublepage}{?}
Plutôt que la section se termine sur une page impaire, ne faudrait-il pas qu'elle commence sur une page impaire et que la page paire précédente soit vide ?
c'est
\makeatletter \newcommand{\mycleardoublepage}{\clearpage\hbox{}\newpage \ifodd\c@page\else\hbox{}\newpage\fi} \makeatother
.C'est sensiblement ce que j'obtiens dans ma solution à l'aide de la commande
\checkoddpage
de l'extensionchangepage
.@Bernard Oui, mais Pathe m'a posé une question et je dois lui répondre :-)
@touhami: Ce n'était pas un reproche ! Bien au contraire : les grands esprits se rencontrent ;o)