Vérification de la totalité des notes du chapitre 5 et resserrage de l'appareil critique, en quatre passes. Vingt-deux écarts de fond corrigés, dont : - le format WET de Common Crawl conserve l'URL, contrairement à ce qu'affirmait le texte ; la perte de provenance porte sur les métadonnées de l'en-tête HTML, routées vers le WAT - un taux de duplication de 90 % sans origine, remplacé par la mesure publiée (14 à 52 %, CopyCat, SIGIR 2021) - une citation en bloc de Ben Zhao dont deux phrases étaient fabriquées - l'exemple canonique de Nightshade, inventé et inversé (les voitures deviennent des vaches, non le contraire) - l'exception britannique de fouille existe (art. 29A CDPA 1988), mais elle est limitée aux usages non commerciaux - la chronologie de la négociation sur les journaux ChatGPT était inversée : les 20 millions sont une offre d'OpenAI, non une concession arrachée - Weinberg présenté comme allié des créateurs alors qu'il défend l'usage loyal Retraits pour insuffisance de source : citation de Bill Gross et paraphrase d'Aaron Rubin (Digiday inaccessible), 15 000 images Getty (étude ni nommée ni datée), taxe de 6 % du syndicat britannique, qualification d'« abus » par OpenAI (agrégateurs seuls), reculs de trafic par titre, ratios de volume entre formats WARC, WAT et WET. Appareil critique : 55 notes ramenées à 33, soit une note tous les 380 mots au lieu de 221, en alignement sur les chapitres 1 à 4. Fusion par bloc démonstratif, citations verbatim reportées au registre. Correction d'un appel dupliqué que Pandoc aurait imprimé deux fois. Quatre notes reposent désormais sur une pièce judiciaire primaire lue dans son texte original : approbation définitive du règlement Anthropic (3:24-cv-05417, pièce 680), mémoire d'objections d'OpenAI sur les journaux de conversations (1:25-md-03143, pièce 935), plainte consolidée (pièce 183), et ordonnance Riganian citant Andersen (4:25-cv-00824, pièce 117). Plus aucune note ne porte de réserve d'accès. Contrôles : compter-mots, verifier-litteralite et detecteur-ia passés, 206 pages sur 20/20 sections.
745 lines
36 KiB
TeX
745 lines
36 KiB
TeX
% ============================================================
|
|
% Préambule LaTeX personnalisé pour la mise en page KDP du livre
|
|
% "Le Miroir de Prométhée".
|
|
%
|
|
% Injecté par Pandoc via --include-in-header=preambule.tex
|
|
%
|
|
% Règles de mise en page implémentées (voir 00-COORDINATION.md,
|
|
% section 3 octies) :
|
|
% 1. Parties (\part) : page pleine, sans en-tête ni pied de page,
|
|
% "PARTIE N" (chiffre ROMAIN, ex. "PARTIE II") en plus petit,
|
|
% puis le titre en plus gros, tous deux centrés horizontalement,
|
|
% positionnés au tiers supérieur de la page, en capitales.
|
|
% 2. Chapitres (\chapter) : nouvelle page, numéro seul en haut
|
|
% (chiffre arabe généré automatiquement, sans le mot
|
|
% "Chapitre"), titre en capitales juste dessous, espace
|
|
% généreux avant le texte qui suit.
|
|
% 3. En-têtes : page de gauche = titre du livre, page de droite =
|
|
% titre du chapitre courant (jamais de sous-partie/section).
|
|
% 4. Pied de page : numéro de page seul, centré, petit corps.
|
|
% 5. Table des matières : les parties (chiffre romain) ET les
|
|
% chapitres (chiffre arabe) affichent leur numéro. Corrigé le
|
|
% 03/08/2026 (demande explicite de l'auteur) : la version
|
|
% précédente masquait volontairement le numéro de chapitre
|
|
% "pour l'alléger" ; ce n'est plus le rendu voulu.
|
|
% ============================================================
|
|
|
|
\usepackage{titlesec}
|
|
\usepackage{tocloft}
|
|
\usepackage{fancyhdr}
|
|
|
|
% ============================================================
|
|
% 0 bis. CHARTE TYPOGRAPHIQUE DU CORPS DE TEXTE
|
|
% ------------------------------------------------------------
|
|
% Ajoutée le 27/07/2026. Objet : passer du rendu par défaut de Pandoc
|
|
% (police Latin Modern, paragraphes séparés par un blanc et sans
|
|
% alinéa, interligne serré) au rendu d'un essai composé par une maison
|
|
% d'édition française.
|
|
%
|
|
% Ce qui N'EST PAS touché ici, volontairement : les marges KDP (fixées
|
|
% dans compiler-livre.sh, conformes au tableau officiel Amazon), les
|
|
% en-têtes et pieds de page (section 3 de ce fichier, validés par
|
|
% l'auteur), la structure des pages de partie et la table des matières.
|
|
% ============================================================
|
|
|
|
% ------------------------------------------------------------
|
|
% A. POLICE DU CORPS DE TEXTE
|
|
% ------------------------------------------------------------
|
|
% Cochineal : dérivé libre des Crimson, de la famille des garaldes
|
|
% (Garamond, Bembo). Couverture complète du français, vraies petites
|
|
% capitales, vraies italiques, quatre graisses, ligatures — et une
|
|
% version Type 1, donc utilisable avec pdflatex sans changer de moteur
|
|
% (contrainte posée : ne pas modifier la chaîne de compilation).
|
|
%
|
|
% Installation, en mode utilisateur, SANS mot de passe administrateur :
|
|
% tlmgr init-usertree
|
|
% tlmgr --usermode install cochineal xstring fontaxes
|
|
% (xstring et fontaxes sont des dépendances de cochineal absentes de
|
|
% BasicTeX ; sans elles la compilation s'arrête sur « File not found ».)
|
|
%
|
|
% Repli automatique si la police n'est pas installée : le livre compile
|
|
% quand même, en Latin Modern, avec un simple avertissement dans le
|
|
% journal. Aucune raison de bloquer la production d'un PDF de travail
|
|
% sur une question de fonte.
|
|
\IfFileExists{cochineal.sty}{%
|
|
% Réglages de chiffres laissés aux valeurs par défaut de la police,
|
|
% soit des chiffres alignés et tabulaires. Deux choix délibérés :
|
|
% - alignés (et non elzéviriens) parce que l'essai est dense en
|
|
% pourcentages, en années et en grands nombres, que le lecteur
|
|
% doit saisir d'un coup d'œil sans buter sur des jambages ;
|
|
% - tabulaires (et non proportionnels) parce que les chiffres à
|
|
% largeur variable désalignaient visiblement la colonne des
|
|
% folios dans la table des matières, chaque chiffre n'ayant pas
|
|
% le même approche à droite (constaté le 27/07/2026).
|
|
\usepackage{cochineal}%
|
|
}{%
|
|
\PackageWarning{preambule}{Police Cochineal absente, repli sur Latin
|
|
Modern. Pour le rendu prevu : tlmgr --usermode install cochineal
|
|
xstring fontaxes}%
|
|
}
|
|
|
|
% Microtypographie : Pandoc charge déjà microtype, mais sans activer
|
|
% l'expansion de fonte. On complète ici, après le chargement de la
|
|
% police. C'est ce réglage qui donne le « gris de page » régulier d'un
|
|
% livre imprimé : plutôt que d'écarter les mots pour justifier une
|
|
% ligne, pdftex étire ou resserre imperceptiblement les caractères
|
|
% (jusqu'à 2 %) et laisse dépasser la ponctuation dans la marge.
|
|
\IfFileExists{microtype.sty}{%
|
|
\microtypesetup{%
|
|
activate={true,true},%
|
|
protrusion=true,%
|
|
expansion=true,%
|
|
factor=1100,% protrusion un peu plus marquée que par défaut
|
|
stretch=20,%
|
|
shrink=20,%
|
|
tracking=true,%
|
|
}%
|
|
% Interlettrage des capitales. Composées au fer, les capitales
|
|
% paraissent toujours trop serrées : les titres de partie et de
|
|
% chapitre, tout en capitales, gagnent à être légèrement espacés.
|
|
% 45/1000 em, valeur discrète, appliquée uniquement là où \lsstyle
|
|
% est demandé explicitement (titres de partie, de chapitre, page de
|
|
% table des matières) — jamais au texte courant.
|
|
\SetTracking[no ligatures={f}]{encoding=*}{45}%
|
|
\SetTracking{encoding=*, shape=sc}{45}%
|
|
}{%
|
|
% Sans microtype, \lsstyle n'existe pas : on le neutralise pour que
|
|
% les titres compilent quand même.
|
|
\providecommand{\lsstyle}{}%
|
|
}
|
|
|
|
% ------------------------------------------------------------
|
|
% B. INTERLIGNE
|
|
% ------------------------------------------------------------
|
|
% En 11pt, LaTeX compose sur 13,6pt de base (interligne 1,24, correct
|
|
% pour un rapport, trop serré pour de la lecture continue).
|
|
%
|
|
% Réglage revu le 27/07/2026 (retour de l'auteur : rendu perçu comme
|
|
% « tassé », en particulier aux changements de paragraphe). Précision
|
|
% importante, vérifiée sur la page d'aide KDP « Mise en forme des
|
|
% pages liminaires, du corps de texte et des pages annexes » : la
|
|
% norme KDP pour le corps du texte est explicitement « paragraphes
|
|
% mis en retrait, SANS espace entre chaque » — ajouter un blanc entre
|
|
% paragraphes irait donc à l'encontre du standard, pas dans son sens.
|
|
% Le tassement ne se corrige donc pas par un espacement inter-
|
|
% paragraphe (proscrit), mais par les deux leviers légitimes qui
|
|
% restent : un interligne un peu plus généreux, et un alinéa plus net
|
|
% (voir section C ci-dessous).
|
|
%
|
|
% \linespread{1.15} porte l'interligne à ~15,6pt, soit un rapport de
|
|
% 1,43 par rapport au corps (10,95pt) — dans le haut de la fourchette
|
|
% standard d'un ouvrage de lecture continue (1,3 à 1,5), contre 1,35
|
|
% précédemment (bas de fourchette). Conséquence assumée : quelques
|
|
% pages de plus ; le tableau des marges KDP retenu (0,625" en
|
|
% gouttière) couvre déjà la tranche 151-828 pages, aucun risque de
|
|
% sortir du seuil de conformité pour cette seule variation.
|
|
\linespread{1.15}
|
|
|
|
% ------------------------------------------------------------
|
|
% C. PARAGRAPHES : ALINÉA, ET AUCUN BLANC ENTRE EUX
|
|
% ------------------------------------------------------------
|
|
% C'est LE marqueur qui distingue un livre composé d'une page web.
|
|
% Pandoc, laissé à lui-même, charge le paquet parskip : \parindent=0 et
|
|
% un demi-interligne entre chaque paragraphe. On impose l'inverse, la
|
|
% règle du roman et de l'essai : retrait de première ligne, et rien du
|
|
% tout entre les paragraphes — l'alinéa suffit à marquer la transition.
|
|
% (compiler-livre.sh passe aussi -V indent=true, qui empêche Pandoc de
|
|
% charger parskip ; les deux réglages sont redondants à dessein, pour
|
|
% que le rendu ne dépende pas d'un seul point de la chaîne.)
|
|
% Alinéa porté de 1,4em à 1,6em le 27/07/2026 : à 1,4em, avec l'ancien
|
|
% interligne plus serré, le changement de paragraphe se voyait mal,
|
|
% d'où l'impression de bloc tassé. 1,6em reste dans la norme (les
|
|
% usages français vont de 1 à 2 em ; l'édition courante retient
|
|
% souvent 1,5 à 2 em) et rend la marque de paragraphe nette même en
|
|
% diagonale de lecture.
|
|
\setlength{\parindent}{1.6em}
|
|
\setlength{\parskip}{0pt plus 0.2pt}
|
|
|
|
% Pas d'alinéa sur le premier paragraphe qui suit un titre.
|
|
%
|
|
% CORRIGÉ LE 27/07/2026 (revue de conformité KDP). La page d'aide KDP
|
|
% « Mise en forme des pages liminaires, du corps de texte et des pages
|
|
% annexes » est explicite sur la page de titre de chapitre : « Le
|
|
% paragraphe du début ne comporte pas de retrait de première ligne. »
|
|
% C'est une exigence de mise en forme, pas une préférence esthétique.
|
|
%
|
|
% Mesuré par compilation le 27/07/2026 : malgré les \titlespacing*
|
|
% étoilés de \part/\chapter/\section (dont l'étoile évite d'insérer un
|
|
% \@afterindentfalse propre), le premier paragraphe de l'introduction
|
|
% sortait indenté à 60,3pt contre 45pt pour les lignes suivantes.
|
|
% Cause : babel-french, quand le français est la langue principale du
|
|
% document, réarme systématiquement l'indentation de tout premier
|
|
% paragraphe via son option interne IndentFirst — un comportement
|
|
% documenté de babel-french (usage courant en typographie française
|
|
% traditionnelle), mais qui contredit ici la règle KDP. \frenchsetup
|
|
% neutralise cette option sans toucher au reste des réglages
|
|
% linguistiques de babel-french (espaces avant ponctuation double,
|
|
% guillemets, etc.), qui restent actifs.
|
|
\frenchsetup{IndentFirst=false}
|
|
|
|
% ------------------------------------------------------------
|
|
% D. JUSTIFICATION, CÉSURE, VEUVES ET ORPHELINES
|
|
% ------------------------------------------------------------
|
|
% La césure française est active : Pandoc passe l'option de classe
|
|
% « french », que babel utilise comme langue principale, et les motifs
|
|
% hyph-fr sont présents dans l'installation (vérifié).
|
|
%
|
|
% Veuves (dernière ligne d'un paragraphe seule en haut de page) et
|
|
% orphelines (première ligne seule en bas de page) : interdites.
|
|
% clubpenalty a un effet de bord utile ici : il empêche aussi qu'un
|
|
% sous-titre se retrouve en bas de page suivi d'une seule ligne.
|
|
\widowpenalty=10000
|
|
\clubpenalty=10000
|
|
\displaywidowpenalty=10000
|
|
\brokenpenalty=10000 % pas de mot coupé sur le dernier mot d'une page
|
|
|
|
% \raggedbottom plutôt que le \flushbottom natif de book : sans blanc
|
|
% entre les paragraphes, LaTeX n'a plus aucun ressort vertical à
|
|
% étirer pour remplir une page. Avec \flushbottom il émet des dizaines
|
|
% d'avertissements « Underfull \vbox » et dilate les rares espaces
|
|
% qu'il trouve, autour des sous-titres. \raggedbottom assume la
|
|
% variation d'une ligne en pied de page, choix courant en édition dès
|
|
% que l'interdiction des veuves est stricte.
|
|
\raggedbottom
|
|
|
|
% Tolérance de justification : on accepte un gris légèrement moins
|
|
% parfait plutôt que des lignes qui débordent dans la marge.
|
|
\tolerance=1500
|
|
\emergencystretch=3em
|
|
\hbadness=2000
|
|
|
|
% Espace fine insécable avant les ponctuations doubles françaises.
|
|
% Le filtre typographie-francaise.lua insère un U+202F que Pandoc
|
|
% traduit en \, dans le .tex : un crénage de 0,167em, la valeur de
|
|
% l'espace fine de l'Imprimerie nationale. Rien à régler ici, sauf un
|
|
% point : parce que c'est un crénage et non une espace, il ne s'étire
|
|
% jamais à la justification — c'est tout l'intérêt du filtre par
|
|
% rapport à l'espace ordinaire du manuscrit.
|
|
%
|
|
% NE PAS tenter de l'élargir en redéfinissant \thinspace : le noyau
|
|
% LaTeX fait \let\thinspace\, (et non l'inverse), la redéfinition
|
|
% n'aurait donc aucun effet sur ce que produit le filtre. Il faudrait
|
|
% redéfinir \, lui-même, ce qui n'apporterait rien ici.
|
|
%
|
|
% Un titre contenant des guillemets (« Le « filtre » éthique ») porte
|
|
% donc un \, jusque dans les signets du PDF, que hyperref ne sait pas
|
|
% convertir : il le retire en émettant « Token not allowed in a PDF
|
|
% string ». On lui donne une espace ordinaire à la place — dans un
|
|
% signet, la finesse typographique n'a aucun sens.
|
|
% Le crochet est préparé ICI parce que hyperref est chargé par Pandoc
|
|
% APRÈS ce préambule (via bookmark.sty) : \pdfstringdefDisableCommands
|
|
% n'existe pas encore à ce point du fichier. hyperref ne définit
|
|
% \pdfstringdefPreHook que s'il n'existe pas déjà (\@ifundefined), ce
|
|
% qui laisse passer cette pré-déclaration — et évite d'empiler un
|
|
% troisième \AtBeginDocument (voir la note de la section 4 bis : leur
|
|
% cumul avait déjà cassé la table des matières).
|
|
\makeatletter
|
|
\providecommand{\pdfstringdefPreHook}{}
|
|
\g@addto@macro\pdfstringdefPreHook{\let\,\space}
|
|
\makeatother
|
|
|
|
% ------------------------------------------------------------
|
|
% E. SOUS-TITRES DE NIVEAU 2 (les ## des chapitres)
|
|
% ------------------------------------------------------------
|
|
% 2 à 4 par chapitre, réservés aux grandes respirations (règle de
|
|
% rédaction, section 3 sexies). Ils doivent donc marquer une pause,
|
|
% pas annoncer une section de rapport : italique centrée, corps à
|
|
% peine supérieur au texte, sans gras et sans numéro.
|
|
% Plus d'air avant qu'après : le titre appartient à ce qui suit.
|
|
\titleformat{\section}[block]
|
|
{\normalfont\large\itshape\centering\parindent0pt}
|
|
{}{0pt}{}
|
|
\titlespacing*{\section}{0pt}{2.4em plus 0.5em minus 0.3em}{1em}
|
|
|
|
% Niveau 3 : proscrit par la charte de rédaction, mais défini par
|
|
% sécurité au cas où un chapitre en contiendrait un — petites
|
|
% capitales discrètes, alignées à gauche, plutôt que le gras par
|
|
% défaut de book.cls.
|
|
\titleformat{\subsection}[block]
|
|
{\normalfont\normalsize\scshape\parindent0pt}
|
|
{}{0pt}{}
|
|
\titlespacing*{\subsection}{0pt}{1.8em plus 0.3em}{0.6em}
|
|
|
|
% ------------------------------------------------------------
|
|
% F. CITATIONS EN BLOC (les > du Markdown)
|
|
% ------------------------------------------------------------
|
|
% Pandoc convertit « > texte » en environnement quote. Rendu voulu :
|
|
% retrait symétrique des deux côtés, corps légèrement réduit, air
|
|
% au-dessus et en dessous. Pas d'italique imposée sur tout le bloc :
|
|
% les citations retenues dans ce livre sont longues, et plusieurs
|
|
% lignes d'italique fatiguent l'œil (l'italique reste réservée aux
|
|
% citations courtes, dans le fil du texte).
|
|
\renewenvironment{quote}
|
|
{\list{}{%
|
|
\leftmargin=1.8em%
|
|
\rightmargin=1.8em%
|
|
\listparindent=1.4em%
|
|
\itemindent=0pt%
|
|
\parsep=0pt%
|
|
\topsep=1.1em%
|
|
\partopsep=0pt%
|
|
}%
|
|
\item\relax\small\noindent\ignorespaces}
|
|
{\unskip\unskip\endlist}
|
|
|
|
% ------------------------------------------------------------
|
|
% G. NOTES DE BAS DE PAGE
|
|
% ------------------------------------------------------------
|
|
% Le livre en compte beaucoup (une vingtaine par chapitre), certaines
|
|
% longues. Deux réglages pour qu'elles restent discrètes :
|
|
% - un filet court (un cinquième de la justification) au lieu du
|
|
% tiers par défaut, séparation classique en édition française ;
|
|
% - le texte de la note aligné sur son numéro, avec un léger retrait
|
|
% de première ligne, plutôt que collé à la marge.
|
|
% Le corps est déjà à 9pt (\footnotesize en classe 11pt), valeur
|
|
% conforme à la charte : on n'y touche pas.
|
|
\renewcommand{\footnoterule}{%
|
|
\kern-3pt%
|
|
\hrule width 0.2\columnwidth height 0.4pt%
|
|
\kern2.6pt%
|
|
}
|
|
\makeatletter
|
|
\renewcommand{\@makefntext}[1]{%
|
|
\parindent 1em%
|
|
\noindent\hbox to 1.4em{\hss\@thefnmark.\ }#1%
|
|
}
|
|
\makeatother
|
|
|
|
% Appel de note dans le corps du texte (l'exposant "1" après un mot).
|
|
%
|
|
% CORRIGÉ LE 27/07/2026 (revue de conformité KDP). Mesuré par
|
|
% compilation : \textsuperscript, utilisé par défaut pour composer
|
|
% l'appel de note dans le corps, produisait un chiffre à 6,97pt —
|
|
% sous le minimum absolu KDP de 7pt (« Texte illisible » : « Le texte
|
|
% est dans une police d'au moins 7 points »), lequel s'applique à
|
|
% tout texte imprimé, pas seulement au corps courant. Le texte de la
|
|
% note elle-même, en bas de page, est correctement à 8,9-9pt
|
|
% (\footnotesize d'une classe 11pt) : seul l'appel dans le corps
|
|
% posait problème.
|
|
% \@makefnmark pilote ce rendu (le même exposant sert aussi à
|
|
% préfixer la note en bas de page, mais \@makefntext ci-dessus ignore
|
|
% \@makefnmark et compose son propre numéro suivi d'un point — donc
|
|
% cette redéfinition ne touche que l'appel dans le corps).
|
|
% 7,5pt : un cran au-dessus du minimum KDP strict (7pt), à la demande
|
|
% de l'auteur après un premier réglage pile au plancher. Reste très
|
|
% en dessous du corps de texte (10,95pt), donc toujours un exposant
|
|
% discret, pas un second corps de texte.
|
|
\makeatletter
|
|
\renewcommand*{\@makefnmark}{%
|
|
\hbox{\raisebox{0.6ex}{\fontsize{7.5}{8.5}\selectfont\@thefnmark}}%
|
|
}
|
|
\makeatother
|
|
|
|
% ------------------------------------------------------------
|
|
% -1. RESTAURER LA NUMÉROTATION (Pandoc la désactive par défaut)
|
|
% ------------------------------------------------------------
|
|
% Sans --number-sections, Pandoc injecte automatiquement
|
|
% \setcounter{secnumdepth}{-\maxdimen} en tête de document, ce qui
|
|
% désactive TOUTE numérotation de structure dans book.cls — y compris
|
|
% celle des parties et des chapitres, puisque \@part et \@chapter
|
|
% testent \ifnum \c@secnumdepth >\m@ne avant d'incrémenter \thepart /
|
|
% \thechapter. Sans ce correctif, "PARTIE N" et le numéro de chapitre
|
|
% n'apparaissent jamais (bug identifié et vérifié le 25/07/2026).
|
|
% On restaure secnumdepth=0 : ce niveau numérote \part et \chapter
|
|
% (nécessaires pour "PARTIE N" et le numéro de chapitre), mais PAS
|
|
% \section (les ## internes des chapitres, qui doivent rester sans
|
|
% numéro visible d'après la règle de style de la section 3 sexies —
|
|
% vérifié : avec secnumdepth=2, Pandoc afficherait "1.1 Titre" sur
|
|
% chaque sous-titre ## d'un chapitre, ce qui n'est pas souhaité).
|
|
\setcounter{secnumdepth}{0}
|
|
|
|
% ------------------------------------------------------------
|
|
% 0. Numérotation des parties en chiffres romains ("PARTIE I", "PARTIE
|
|
% II", etc.). Modifié le 03/08/2026 (demande explicite de l'auteur,
|
|
% remplace l'ancien "PARTIE 1" en chiffre arabe). \Roman (majuscule)
|
|
% et non \roman : les chiffres romains restent en capitales, cohérent
|
|
% avec le \MakeUppercase du label de \part ci-dessous.
|
|
% ------------------------------------------------------------
|
|
\renewcommand{\thepart}{\Roman{part}}
|
|
|
|
% ------------------------------------------------------------
|
|
% 1. PARTIES — page pleine, centrée, sans en-tête ni pied de page
|
|
% ------------------------------------------------------------
|
|
% Format [display] : {avant}{label}{sep}{après} sur des lignes
|
|
% séparées, comme pour \chapter ci-dessous. C'est la syntaxe robuste
|
|
% de titlesec ; une construction avec un saut de ligne "\\" au milieu
|
|
% du paramètre "label" provoque une erreur de comptage d'accolades.
|
|
\titleformat{\part}[display]
|
|
{\thispagestyle{empty}\centering}
|
|
{\large\lsstyle\MakeUppercase{Partie~\thepart}}
|
|
{1.4em}
|
|
{\Huge\bfseries\lsstyle\MakeUppercase}
|
|
\titlespacing*{\part}{0pt}{0.30\textheight}{4em}
|
|
|
|
% ------------------------------------------------------------
|
|
% 2. CHAPITRES — numéro seul (chiffre arabe), titre en capitales
|
|
% dessous, espace généreux avant le texte. Taille réduite par
|
|
% rapport à un essai précédent (\Huge) : ce titre partage sa page
|
|
% avec du texte courant juste dessous, contrairement au titre de
|
|
% partie qui occupe une page pleine — il doit donc rester
|
|
% proportionné, pas écrasant (ajusté suite au retour de l'auteur
|
|
% le 26/07/2026).
|
|
% \parindent0pt est nécessaire ici : \centering seul ne supprime PAS
|
|
% le retrait de première ligne d'un paragraphe. Or le titre composé
|
|
% (via \texorpdfstring{...\newline...} pour l'Introduction/Conclusion)
|
|
% forme un paragraphe de deux lignes : sans ce correctif, la première
|
|
% ligne ("INTRODUCTION"/"CONCLUSION") recevait le retrait de \parindent
|
|
% et apparaissait décalée vers la droite par rapport à la seconde
|
|
% ligne, correctement centrée elle (bug constaté et vérifié le
|
|
% 26/07/2026 : seule la 1re ligne d'un titre sur deux lignes était mal
|
|
% centrée horizontalement).
|
|
\titleformat{\chapter}[display]
|
|
{\normalfont\centering\parindent0pt}
|
|
{\Large\thechapter}
|
|
{0.3em}
|
|
{\LARGE\bfseries\lsstyle\MakeUppercase}
|
|
|
|
% ------------------------------------------------------------
|
|
% 2 bis. SURTITRE DISCRET POUR L'INTRODUCTION ET LA CONCLUSION
|
|
% ------------------------------------------------------------
|
|
% Ajouté le 27/07/2026, à la demande de l'auteur : le rendu précédent
|
|
% de \chapter* — « INTRODUCTION » et « LE SILENCE APRÈS LA QUESTION »
|
|
% composés dans la MÊME taille/graisse (\LARGE\bfseries, héritées du
|
|
% \chapter numéroté) — paraissait répétitif, les deux lignes se
|
|
% disputant l'attention sans hiérarchie visuelle.
|
|
%
|
|
% \eyebrowtitle compose son argument comme un surtitre : même style
|
|
% que le « PARTIE N » des pages de partie (\large\lsstyle\MakeUppercase,
|
|
% SANS gras — voir \titleformat{\part} plus bas, le "label" de la
|
|
% partie suit exactement ce même style, non dupliqué par accident :
|
|
% c'est le même principe visuel appliqué au même endroit du livre).
|
|
% Le titre poétique qui suit ce surtitre, lui, n'est pas touché : il
|
|
% continue de recevoir le format normal du "titre" de \chapter*
|
|
% (\LARGE\bfseries\lsstyle\MakeUppercase, plus haut) — d'où le
|
|
% contraste : petit et léger au-dessus, grand et gras en dessous.
|
|
%
|
|
% BUG CORRIGÉ AU PASSAGE (signalé par l'auteur, capture d'écran du
|
|
% 27/07/2026) : l'ancienne construction du titre à deux lignes
|
|
% (\texorpdfstring{Introduction\newline Le silence...}{...}) produisait
|
|
% un décalage horizontal net entre les deux lignes — « INTRODUCTION »
|
|
% centré sur un axe, la ligne suivante sur un autre, à 34pt d'écart
|
|
% (mesuré par compilation de test). Cause identifiée par isolement :
|
|
% \newline, contrairement à \\ ou à une boîte explicite, ne préserve
|
|
% pas le centrage d'une ligne dans le mécanisme interne de titlesec en
|
|
% mode [display] — bug reproductible même sans aucune des personnalisa-
|
|
% tions de ce livre (police, interlettrage), donc propre à l'interaction
|
|
% \newline + titlesec, pas à une régression locale. \makebox[\linewidth]
|
|
% ci-dessous, qui centre explicitement sur la largeur complète de la
|
|
% ligne indépendamment de ce mécanisme, résout le décalage ET fournit
|
|
% le point d'accroche nécessaire pour styler le surtitre séparément.
|
|
%
|
|
% \eyebrowtitle n'apparaît que dans le PREMIER argument de
|
|
% \texorpdfstring (le texte réellement composé) : le second argument
|
|
% (texte à plat pour les signets PDF) reste une chaîne simple, non
|
|
% concerné, donc aucun traitement \pdfstringdefPreHook supplémentaire
|
|
% n'est nécessaire ici (contrairement au cas des guillemets, section D).
|
|
\newcommand{\eyebrowtitle}[1]{%
|
|
\makebox[\linewidth]{\large\lsstyle\MakeUppercase{#1}}\par
|
|
\vspace{0.6em}
|
|
}
|
|
% Descente avant le titre portée de 2em à 0,10\textheight (~56pt) le
|
|
% 27/07/2026 : 2em (22pt) était inférieur aux 50pt que book.cls réserve
|
|
% nativement, et le chapitre démarrait presque au ras de la marge
|
|
% haute. Une ouverture de chapitre a besoin de respirer. Le coût est
|
|
% négligeable, quelques pages sur l'ensemble du livre.
|
|
% (La charte suggérait un tiers de page ; retenu pour les pages de
|
|
% partie, qui n'ont que ça à porter, mais excessif pour un titre de
|
|
% chapitre qui partage sa page avec le début du texte.)
|
|
\titlespacing*{\chapter}{0pt}{0.10\textheight}{2.8em}
|
|
|
|
% ------------------------------------------------------------
|
|
% 6. PAGE DE TITRE PROFESSIONNELLE — remplace \maketitle
|
|
% ------------------------------------------------------------
|
|
% Séquence classique d'un livre imprimé (voir 00-COORDINATION.md,
|
|
% section 3 octies) :
|
|
% Page 1 : faux-titre (titre seul, discret)
|
|
% Page 2 : blanche (verso du faux-titre, convention de l'édition)
|
|
% Page 3 : page de titre complète (auteur, titre, sous-titre)
|
|
% Page 4 : mentions légales (copyright, dépôt légal, ISBN — voir
|
|
% mentions-legales.md, contenu séparé du préambule)
|
|
% \maketitle (natif de book.cls) ne compose qu'une seule page centrée
|
|
% verticalement ; on le redéfinit entièrement pour composer cette
|
|
% séquence à la place. \author et \title restent définis normalement
|
|
% par Pandoc à partir de metadata.yaml (seule source de vérité pour
|
|
% ces informations) ; \subtitle est fourni par le patch etoolbox que
|
|
% Pandoc injecte déjà (voir \providecommand{\subtitle} plus haut dans
|
|
% le document généré).
|
|
\makeatletter
|
|
\renewcommand{\maketitle}{%
|
|
% --- Page 1 : faux-titre ---
|
|
\thispagestyle{empty}
|
|
\vspace*{0.35\textheight}
|
|
\begin{center}
|
|
\Large\normalfont\@title
|
|
\end{center}
|
|
% --- Page 2 : blanche (convention de l'édition : verso du
|
|
% faux-titre toujours vide) ---
|
|
\clearpage
|
|
\thispagestyle{empty}
|
|
\null
|
|
\clearpage
|
|
% --- Page 3 : page de titre complète ---
|
|
\thispagestyle{empty}
|
|
\vspace*{0.25\textheight}
|
|
\begin{center}
|
|
\Huge\bfseries\@title\par
|
|
\vspace{1em}
|
|
{\Large\normalfont\@subtitle@text\par}
|
|
\vspace{4em}
|
|
{\large\@author}
|
|
\end{center}
|
|
% \clearpage (pas \cleardoublepage) pour passer à la page 4, où
|
|
% s'écrira le contenu de mentions-legales.md. Un SEUL saut de page
|
|
% ici : la page 4 vide observée dans une version précédente venait
|
|
% du \cleardoublepage that ma propre redéfinition de \mainmatter
|
|
% ajoutait EN PLUS de celui-ci (Pandoc place \mainmatter juste après
|
|
% \maketitle, avant mentions-legales.md) — corrigé en retirant ce
|
|
% \cleardoublepage de \mainmatter (voir plus bas dans ce fichier),
|
|
% qui ne doit plus faire que la bascule \@mainmattertrue.
|
|
\clearpage
|
|
}
|
|
% \@subtitle@text : Pandoc définit \subtitle via \providecommand
|
|
% PLUS TARD dans le document généré (après ce préambule), avec un
|
|
% patch etoolbox qui ajoute le sous-titre DANS \@title lui-même
|
|
% (\apptocmd{\@title}{\par {\large #1 \par}}) — ce qui le mêle au
|
|
% titre et empêche de le styler séparément (auteur/titre/sous-titre
|
|
% sur des lignes distinctes, tailles différentes, comme demandé).
|
|
% On définit ICI notre propre \subtitle, qui se contente de stocker
|
|
% le texte dans \@subtitle@text. Comme Pandoc utilise
|
|
% \providecommand{\subtitle} (qui ne redéfinit PAS une commande déjà
|
|
% existante), notre version prime et le patch etoolbox de Pandoc ne
|
|
% s'applique jamais (vérifié : \providecommand est un no-op silencieux
|
|
% si la commande existe déjà, aucune erreur de compilation).
|
|
\newcommand{\@subtitle@text}{}
|
|
\newcommand{\subtitle}[1]{\renewcommand{\@subtitle@text}{#1}}
|
|
\makeatother
|
|
|
|
% ------------------------------------------------------------
|
|
% -2. NUMÉROTATION DE PAGE UNIQUE ET CONTINUE DÈS LA PAGE 1
|
|
% ------------------------------------------------------------
|
|
% Pandoc insère automatiquement \frontmatter avant \maketitle/TOC et
|
|
% \mainmatter juste avant l'Introduction. book.cls définit ces deux
|
|
% commandes comme relançant CHACUNE \pagenumbering (romain puis
|
|
% arabe, chacune recommençant à 1) — d'où le "ii" observé en pied de
|
|
% la table des matières alors que l'auteur veut une numérotation
|
|
% arabe continue dès la page de titre, y compris sur les pages où le
|
|
% numéro n'est pas affiché (page de titre, pages de partie).
|
|
% On neutralise ce ré-armement : \frontmatter et \mainmatter gardent
|
|
% leur rôle de bascule \@mainmatterfalse/true (utile pour d'autres
|
|
% mécanismes internes de book.cls) mais n'appellent plus
|
|
% \pagenumbering. Un seul \pagenumbering{arabic} est fixé une fois
|
|
% pour toutes, au tout début du document (voir bloc plus bas).
|
|
% \cleardoublepage retiré des deux redéfinitions ci-dessous (présent
|
|
% dans une version précédente) : Pandoc place \mainmatter juste après
|
|
% \maketitle, donc AVANT le contenu de mentions-legales.md — un
|
|
% \cleardoublepage à cet endroit précis créait une page 4 vide
|
|
% avant les mentions légales, qui atterrissaient alors en page 5 au
|
|
% lieu de 4 comme demandé (bug constaté et corrigé le 26/07/2026).
|
|
% Tous les sauts de page nécessaires sont désormais gérés
|
|
% explicitement par \maketitle et par les \chapter/\part eux-mêmes
|
|
% (qui ont leur propre \cleardoublepage natif) : \frontmatter et
|
|
% \mainmatter n'ont plus besoin d'en ajouter un supplémentaire, leur
|
|
% seul rôle utile ici est de bascule \@mainmatterfalse/true.
|
|
\makeatletter
|
|
\renewcommand\frontmatter{\@mainmatterfalse}
|
|
\renewcommand\mainmatter{\@mainmattertrue}
|
|
\makeatother
|
|
\AtBeginDocument{\pagenumbering{arabic}}
|
|
|
|
% ------------------------------------------------------------
|
|
% 3. EN-TÊTES : page de gauche = titre du livre, page de droite =
|
|
% titre du chapitre courant. Jamais de sous-partie/section.
|
|
% ------------------------------------------------------------
|
|
\pagestyle{fancy}
|
|
\fancyhf{} % réinitialise tout
|
|
\fancyhead[LE]{\small\itshape\nouppercase{Le Miroir de Prométhée}}
|
|
\fancyhead[RO]{\small\itshape\nouppercase{\rightmark}}
|
|
\fancyfoot[C]{\small\thepage}
|
|
\renewcommand{\headrulewidth}{0.4pt}
|
|
\renewcommand{\footrulewidth}{0pt}
|
|
|
|
% \chaptermark ne doit contenir QUE le titre du chapitre, jamais le
|
|
% mot "Chapitre" ni son numéro (contrairement au comportement par
|
|
% défaut de book.cls, qui préfixe "Chapitre N. " automatiquement).
|
|
\renewcommand{\chaptermark}[1]{\markright{#1}}
|
|
% Aucune section ne doit écraser l'en-tête (pas de sous-partie visible).
|
|
\renewcommand{\sectionmark}[1]{}
|
|
|
|
% \chapter* (utilisé par Pandoc pour l'Introduction et la Conclusion,
|
|
% titres non numérotés via {-}) N'APPELLE PAS \chaptermark nativement
|
|
% dans book.cls : sans correctif, l'en-tête de droite garderait le
|
|
% titre du chapitre précédent. On corrige en patchant \@schapter pour
|
|
% qu'il mette aussi à jour \rightmark, comme le fait \@chapter.
|
|
% (\makeatletter/\makeatother nécessaires pour manipuler une commande
|
|
% contenant "@", réservée au code interne des classes/packages.)
|
|
\makeatletter
|
|
\let\oldschapter\@schapter
|
|
\renewcommand{\@schapter}[1]{%
|
|
\markright{#1}%
|
|
\oldschapter{#1}%
|
|
}
|
|
\makeatother
|
|
|
|
% Style des pages de début de chapitre (première page d'un chapitre) :
|
|
% pas d'en-tête (convention typographique standard), uniquement le
|
|
% numéro de page en pied.
|
|
\fancypagestyle{plain}{%
|
|
\fancyhf{}%
|
|
\fancyfoot[C]{\small\thepage}%
|
|
\renewcommand{\headrulewidth}{0pt}%
|
|
}
|
|
|
|
% ------------------------------------------------------------
|
|
% 5. PAGES BLANCHES INTERCALÉES (\cleardoublepage) — totalement vides,
|
|
% sans en-tête ni pied de page ni numéro
|
|
% ------------------------------------------------------------
|
|
% \chapter et \part utilisent \cleardoublepage pour toujours démarrer
|
|
% sur une page de droite (recto), conformément à la convention d'un
|
|
% livre relié. Quand le chapitre/partie précédent se termine sur une
|
|
% page impaire, LaTeX insère une page paire vide pour "rattraper" la
|
|
% parité — cette page hérite par défaut du style de page "fancy" en
|
|
% cours (en-tête + numéro), ce qui produirait une page blanche avec
|
|
% du texte résiduel dessus. On la force en style "empty" (rien du
|
|
% tout, y compris le numéro de page) comme le veut la convention
|
|
% typographique standard pour les pages blanches d'un livre imprimé.
|
|
\makeatletter
|
|
\renewcommand{\cleardoublepage}{%
|
|
\clearpage
|
|
\if@twoside
|
|
\ifodd\c@page
|
|
\else
|
|
\hbox{}%
|
|
\thispagestyle{empty}%
|
|
\newpage
|
|
\fi
|
|
\fi
|
|
}
|
|
\makeatother
|
|
|
|
% ------------------------------------------------------------
|
|
% 4 bis. PAGE « TABLE DES MATIÈRES » — capitales, centrée, même
|
|
% poids typographique qu'un titre de chapitre, mais centrée
|
|
% (contrairement aux titres de chapitre eux-mêmes, alignés à
|
|
% gauche). \tableofcontents natif de book.cls appelle
|
|
% \chapter*{\contentsname ...} : mon \titleformat{\chapter}
|
|
% s'applique déjà (capitales via \MakeUppercase) mais reste
|
|
% aligné à gauche, d'où cette redéfinition dédiée pour centrer
|
|
% spécifiquement cette page (demande explicite de l'auteur,
|
|
% 26/07/2026).
|
|
% IMPORTANT : babel (chargé par Pandoc avant ce préambule) redéfinit
|
|
% \tableofcontents lui-même via un hook interne déclenché à
|
|
% \begin{document} — une redéfinition faite ici, dans le préambule,
|
|
% serait donc écrasée silencieusement par babel au démarrage du
|
|
% document. On reporte notre propre redéfinition dans
|
|
% \AtBeginDocument pour qu'elle s'exécute APRÈS celle de babel (bug
|
|
% constaté et vérifié le 26/07/2026 : sans ce \AtBeginDocument, le
|
|
% centrage n'avait strictement aucun effet visible).
|
|
% \centering, qu'il soit placé DANS l'argument du titre ou autour de
|
|
% l'appel entier de \chapter*, n'a aucun effet : titlesec compose le
|
|
% contenu du titre dans son propre bloc interne, qui ignore le
|
|
% \centering englobant (constaté par compilation le 26/07/2026 : le
|
|
% titre finissait justifié en pleine largeur, mots écartés, ni
|
|
% centré ni aligné à gauche). On contourne \chapter*/titlesec pour ce
|
|
% cas précis et on écrit la page à la main : \cleardoublepage +
|
|
% \thispagestyle{plain} (mêmes réglages qu'un vrai \chapter) puis un
|
|
% environnement center explicite, qui lui fonctionne de façon fiable.
|
|
\makeatletter
|
|
\AtBeginDocument{%
|
|
\renewcommand\tableofcontents{%
|
|
\if@twocolumn
|
|
\@restonecoltrue\onecolumn
|
|
\else
|
|
\@restonecolfalse
|
|
\fi
|
|
\if@openright\cleardoublepage\else\clearpage\fi
|
|
\thispagestyle{plain}%
|
|
\markboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}%
|
|
\begin{center}
|
|
\LARGE\bfseries\lsstyle\MakeUppercase{\contentsname}\par
|
|
\end{center}
|
|
\vspace{2.5em}
|
|
\@starttoc{toc}%
|
|
\if@restonecol\twocolumn\fi
|
|
}%
|
|
}
|
|
\makeatother
|
|
|
|
% ------------------------------------------------------------
|
|
% 4. TABLE DES MATIÈRES — parties ET chapitres numérotés
|
|
% ------------------------------------------------------------
|
|
% Les parties utilisent "\thepart\hspace{1em}Titre" en texte brut
|
|
% (comportement natif de book.cls) : leur numéro (désormais en chiffre
|
|
% romain, voir section 0) reste donc toujours visible, sans
|
|
% intervention nécessaire.
|
|
%
|
|
% Les chapitres utilisent \protect\numberline{\thechapter}Titre dans
|
|
% le fichier .toc (comportement natif de book.cls). Jusqu'au
|
|
% 03/08/2026, ce numéro était explicitement masqué ("pour l'alléger,
|
|
% afin qu'elle tienne sur une seule page") — l'auteur demande
|
|
% désormais l'inverse : le numéro de chapitre doit apparaître.
|
|
%
|
|
% HISTORIQUE ET BUG CORRIGÉ LE 27/07/2026 (toujours valable).
|
|
% L'implémentation native de tocloft, héritée de \@dottedtocline,
|
|
% positionne la première ligne d'une entrée par un jeu d'écritures qui
|
|
% s'annulent : leftskip = indentation, parindent = indentation, puis
|
|
% \hskip -\leftskip une fois la largeur du numéro ajoutée. Le calcul
|
|
% ne retombe sur l'indentation voulue que si la largeur réservée au
|
|
% numéro (\cftchapnumwidth) est correctement dimensionnée. On continue
|
|
% donc d'écrire la ligne de chapitre à la main plutôt que de se fier
|
|
% au mécanisme par défaut, mais on compose désormais réellement
|
|
% \numberline{\thechapter} (au lieu de l'absorber avec \@gobble) dans
|
|
% une boîte de largeur fixe, pour un alignement net du numéro comme
|
|
% du texte qui suit, quel que soit le nombre de chiffres (1 à 12).
|
|
% Les réglages \cftchapindent / \cftchapnumwidth / \cftchapfont /
|
|
% \cftchappagefont ci-dessous restent les seuls points à toucher pour
|
|
% ajuster le rendu.
|
|
\makeatletter
|
|
\renewcommand*{\l@chapter}[2]{%
|
|
\ifnum \c@tocdepth >\m@ne
|
|
\addpenalty{-\@highpenalty}%
|
|
\vskip \cftbeforechapskip
|
|
{\leftskip\cftchapindent
|
|
\rightskip\@tocrmarg
|
|
\parfillskip-\rightskip
|
|
\parindent\z@
|
|
\@afterindentfalse
|
|
\interlinepenalty\@M
|
|
\leavevmode
|
|
{\cftchapfont
|
|
\begingroup
|
|
\def\numberline##1{\hb@xt@\cftchapnumwidth{##1\hfil}}%
|
|
#1%
|
|
\endgroup}%
|
|
\nobreak\hfill\nobreak
|
|
\hb@xt@\@pnumwidth{\hfil\cftchappagefont #2}%
|
|
\par
|
|
\penalty\@highpenalty}%
|
|
\fi
|
|
}
|
|
\makeatother
|
|
|
|
% Compression des espacements pour que la table des matières
|
|
% (4 parties + Introduction + 12 chapitres + Conclusion = 18 lignes)
|
|
% tienne sur une seule page en 6x9".
|
|
\setlength{\cftbeforepartskip}{0.9em}
|
|
\setlength{\cftbeforechapskip}{0.15em}
|
|
\renewcommand{\cftpartfont}{\normalsize\bfseries}
|
|
\renewcommand{\cftpartpagefont}{\normalsize}
|
|
\renewcommand{\cftchapfont}{\normalsize}
|
|
\renewcommand{\cftchappagefont}{\normalsize}
|
|
% Indentation des chapitres par rapport aux parties, pour distinguer
|
|
% les deux niveaux. Valeur ramenée de 5em à 2em le 27/07/2026 : les 5em
|
|
% avaient été choisis pour compenser une indentation qui, en réalité,
|
|
% ne s'appliquait pas du tout (voir le bug corrigé plus haut).
|
|
% Maintenant qu'elle s'applique, 2em suffisent — 5em décrocheraient les
|
|
% titres de chapitre bien au-delà du début du titre de partie, ce qui
|
|
% déséquilibrerait la page.
|
|
\setlength{\cftchapindent}{2em}
|
|
% Largeur réservée au numéro de chapitre affiché dans la table des
|
|
% matières (ajouté le 03/08/2026, avec le retour du numéro — voir
|
|
% section 4 ci-dessus). 1.6em suffit pour "1" à "12" (le livre compte
|
|
% 12 chapitres) avec un espace net avant le titre ; \hfil dans la
|
|
% boîte aligne le chiffre à gauche plutôt que d'écarter les chiffres
|
|
% à un seul caractère.
|
|
\setlength{\cftchapnumwidth}{1.6em}
|