3
1

Je compose un document paginé d'une trentaine de pages.

Il est doté d'une table des matières intitulée « Sommaire » qui fait partie intégrante du corps du texte (c'est un ouvrage littéraire ; il s'affranchit des usages).

Je désire que :

  • la page du sommaire ait, en lieu et place de son numéro de page, la mention « ici » ;
  • la page « sommaire » soit référencée dans ledit sommaire (lequel devient donc autotélique)
  • la mention « ici » figure, dans la liste des éléments de la table des matières, en regard de la page « sommaire » auquel elle correspond.

Et que :

  • l'une des pages du document ait, en lieu et place de son numéro de page, la mention « là » ;
  • dans la table des matières le renvoi à cette page soit également la mention « là » en lieu et place du numéro de page habituel.

Je ne sais absolument pas comment parvenir à ce résultat.

Comme c'est un ouvrage littéraire, je me suis autorisé (voir l'ECM ci-dessous) à créer la table des matières avec de simples index : je n'ai pas besoin d'en-têtes de chapitres, etc.

Voici un ECM reprenant peu ou prou l'architecture du document :

Ouvrir dans l'éditeur
\documentclass[11pt, french, latin.medieval, a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[paperwidth = 19 cm, paperheight= 19 cm]{geometry}
\usepackage[cam, a4, center]{crop}
\usepackage[light, largesmallcaps]{kpfonts}
\usepackage{lipsum}
\usepackage{makeidx}
\makeindex
\def\frenchindexname{} % Je supprime la mention « Index » de la page d'index : astuce trouvée sur TeXnique.fr !
\usepackage{babel}
\begin{document}
\thispagestyle{empty}
\mbox{}
\newpage
\thispagestyle{empty}
\mbox{}
\newpage
% Il n'y a pas de faux-titre
\thispagestyle{empty}
\mbox{}\\[20pt]
\mbox{}\hfill {\Huge \textsc{Titre}}\hfill \hfill
\newpage
\thispagestyle{empty}
\mbox{}
\newpage
\mbox{}\\[15cm]
\index{a@alpha}
\noindent
ALPHA \lipsum[1]
\newpage
\index{b@bêta}
BÊTA \lipsum[2]
\newpage
\index{c@gamma}
GAMMA \lipsum[3]
\newpage
\index{d@sommaire}
\printindex
\newpage
\index{e@delta}
DELTA \lipsum[4]
\newpage
\thispagestyle{empty}
\mbox{}
\newpage
\thispagestyle{empty}
\mbox{}
\newpage
\thispagestyle{empty}
\mbox{}
\end{document}

Une incise : les pages sont paginées en haut de page, sauf celle d'index. Pourquoi ?

Une autre incise : la page 10, qui suit l'index, porte dans son entête la mention « index » à côté de son numéro de page. Pourquoi ? Comment ôter cette mention ? D'autant qu'il ne s'agit nullement d'une page d'index !

Posée 26 Sep '15, 16:38

Pathe's gravatar image

Pathe ♦♦
7.4k28196245
Taux d'acceptation : 55%

Modifiée 29 Sep '15, 19:45

Quelle est la classe utilisée ? Quelles sont les commandes de sectionnement utilisées ?

(26 Sep '15, 20:32) Le TeXnicien de surface Le%20TeXnicien%20de%20surface's gravatar image

Je viens de poster un ECM que j'ai ajouté au corps de la question.

(27 Sep '15, 12:43) Pathe ♦♦ Pathe's gravatar image
1

Ça ne répond pas à la question mais il est conseillé de (1) charger les packages inputenc et fontenc en tout début de préambule, (2) charger le package babel en dernier (sauf exceptions, notamment : eurosym, listings, datetime et datetime2, hyperref, bookmark, hypcap, glossaries, cleveref), (3) spécifier la ou les langues en option de \documentclass plutôt que de babel et, pour le français, recourir à l'option french plutôt que frenchb.

(27 Sep '15, 13:32) denis ♦♦ denis's gravatar image

J'ai modifié l'ECM en conséquence. Merci.

Sur ce, l'utilisation de l'option french pour mettre en page du... latin, ça se discute, non ?

(27 Sep '15, 15:10) Pathe ♦♦ Pathe's gravatar image
1

@Pathe Certes, mais ça n'était pas précisé au départ et l'ECM original comportait la ligne \usepackage[frenchb]{babel} :) Pour du latin, on peut spécifier, en plus de french, l'option latin ou même une de ses déclinaisons, par exemple latin.medieval ; pour plus de détails, cf. http://ctan.org/pkg/babel-latin.

(27 Sep '15, 17:18) denis ♦♦ denis's gravatar image

Je ne savais pas que ici et était du latin...

(27 Sep '15, 17:50) Paul Gaborit Paul%20Gaborit's gravatar image

Ouin j'ai chargé french et latin.medieval... ce qui me conduit à une autre question : comment passer de l'un à l'autre ? J'ouvre un autre fil ?

(27 Sep '15, 23:04) Pathe ♦♦ Pathe's gravatar image

@Pathe Oui, ouvre une autre question.

(27 Sep '15, 23:08) denis ♦♦ denis's gravatar image
Affichage de 5 parmi 8 Afficher 3 commentaire(s) en plus

Il faut ajouter deux ou trois choses autour du \printindex pour redéfinir \thepage avant d'appeler \index. Mais on veut garder la numérotation pour la suite, donc il faut placer le tout entre \bgroup et \egroup (en plaçant \egroup juste après \newpage). Juste avant \index{d@Sommaire} on peut ajouter \def\thepage{ici} et ça fonctionne... oui mais ça marche parce que ici commence par un i (et ne contient que les lettres c et i) donc makeindex et LaTeX l'interprètent... comme un chiffre romain en minuscule ! Avec , ça ne marche plus, essentiellement parce qu'un numéro de page qui commence par un l doit forcément ne comporter, pour makeindex, qu'un seul caractère, et je ne sais pas pourquoi. Si on utilise ailleurs ou n'importe quel mot commençant par a même avec accent (mais sans espace), ça fonctionne. Pour arriver à faire afficher dans l'index, je ne vois d'autre solution que d'éditer le fichier main.ind à la main.

Ouvrir dans l'éditeur
\documentclass[11pt, french, a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[paperwidth = 19 cm, paperheight= 19 cm]{geometry}
\usepackage[cam, a4, center]{crop}
\usepackage[light, largesmallcaps]{kpfonts}
\usepackage{lipsum}
\usepackage{makeidx}
\makeindex
\def\frenchindexname{} % Je supprime la mention « Index » de la page d'index : astuce trouvée sur TeXnique.fr !
\usepackage{babel}
\begin{document}
\thispagestyle{empty}
\mbox{}
\newpage
\thispagestyle{empty}
\mbox{}
\newpage
% Il n'y a pas de faux-titre
\thispagestyle{empty}
\mbox{}\\[20pt]
\mbox{}\hfill {\Huge \textsc{Titre}}\hfill \hfill
\newpage
\thispagestyle{empty}
\mbox{}
\newpage
\mbox{}\\[15cm]
\bgroup
\def\thepage{}
\index{a@alpha}
\noindent
ALPHA \lipsum[1]
\newpage
\egroup
\index{b@bêta}
BÊTA \lipsum[2]
\newpage
\index{c@gamma}
GAMMA \lipsum[3]
\newpage
\def\indexname{Sommaire}
\bgroup
\def\thepage{ici}
\index{d@Sommaire}
\printindex
\markboth{}{}
\newpage
\egroup
\index{e@delta}
DELTA \lipsum[4]
\newpage
\thispagestyle{empty}
\mbox{}
\newpage
\thispagestyle{empty}
\bgroup
\def\thepage{ailleurs}
\index{f@par là-bas}
\mbox{}
\newpage
\egroup
\thispagestyle{empty}
\mbox{}
\end{document}
Lien permanent

Publiée 16 Oct '15, 13:25

Tom-Tom's gravatar image

Tom-Tom
863
Taux d'acceptation : 50%

Modifiée 16 Oct '15, 13:26

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.