2
1

Comment avoir uniquement la table des matières, pour n'avoir que le plan du document, sa structure ?

J'ai pensé à copier la structure, mais on ne peut pas sélectionner l'ensemble.

Posée 01 Jul '16, 00:08

jmb's gravatar image

jmb
307102631
Taux d'acceptation : 0%

Modifiée 05 Aoû '17, 21:16

Pathe's gravatar image

Pathe ♦♦
7.4k28196245

Une fois la table des matière est prête ajouter \tableofcontents\end{document} juste après \begin{document} et compiler une fois (et une seule).

(01 Jul '16, 01:17) touhami touhami's gravatar image

Je ne comprends pas la réponse, elle ne correspond pas à ma question je pense.

(01 Jul '16, 08:27) jmb jmb's gravatar image

En compilant l'ensemble du document, LaTeX crée des fichiers (notamment un fichier .toc qui contient toutes les informations à mettre dans la table des matières. A chaque nouvelle compilation, LaTeX utilise ce document .toc pour mettre à jour la table des matières. Parfois, elle n'est pas à jour, plusieurs compilations sont nécessaires. En gardant le fichier .toc actuel et en modifiant ce qu'il y a dans l'environnement document : \begin{document}\tableofcontents\end{document} LaTeX n'écrira que la table des matières, en utilisant le fichier .toc du document complet.

(01 Jul '16, 09:35) jerome dequeker jerome%20dequeker's gravatar image

La question ne serait-elle pas : je voudrais disposer d'un document qui ne contient que la table des matières ?

Si c'est bien cette question :

Ouvrir dans l'éditeur
    \documentclass{article} % Not really important
\usepackage{pdfpages}
\begin{document}
\includepdf[pages={39-40}]{memoire.pdf}
\end{document}
(01 Jul '16, 21:43) onyme onyme's gravatar image

@jerome

Je ne vois pas ce que tu dis quand tu dis : "En gardant le fichier .toc actuel et en modifiant ce qu'il y a dans l'environnement document : begin{document}tableofcontentsend{document} LaTeX n'écrira que la table des matières, en utilisant le fichier .toc du document complet."

@onyme Je ne comprends pas à quoi correspond ce code.

(03 Jul '16, 19:35) jmb jmb's gravatar image

Je pense qu'onyme veut qu'après avoir créé un document mémoire.pdf, comportant une table des matières aux pages 39-40, on peut créer un fivhier dont le résultat sera juste la table des matières de mémoire.pdf (avec les numéros de page 39-40). Un extrait de mémoire.pdf, en somme.

(03 Jul '16, 21:16) Bernard Bernard's gravatar image

@jmb, c'est vrai que la méthode est un peu floue. @denis en a proposé une plus claire dans sa réponse.

(04 Jul '16, 09:41) jerome dequeker jerome%20dequeker's gravatar image

Le code correspond à l'extraction des pages 39 et 40 du document PDF (dans mon code mémoire.pdf). Ainsi seules les pages intéressantes sont "imprimées" tout en gardant la pagination.

(04 Jul '16, 15:42) onyme onyme's gravatar image

@jmb Lorsque vous compilez un document avec une table des matières, elle indiquée lors de la deuxième compilation seulement. En gros, lors d'une compilation, LateX utilise des informations générées lors de la compilation précédente, c'est le cas pour la table des matières. L'idée c'est donc de compiler votre document dans sa totalité (au moins deux fois pour que la table des matières soit à jour). Lors d'une troisième compilation, vous n'appelez que la table des matières grâce à \begin{document}\tableofcontents\end{document}, qui est donc la table des matières de la compilation précédente...

(07 Jul '16, 07:33) pluton pluton's gravatar image
Affichage de 5 parmi 9 Afficher 4 commentaire(s) en plus

Il suffit d'importer (commande \input) le fichier .toc du fichier souhaité dans un autre fichier mais, du fait de présence de commandes dont le nom contient @, l'import doit se faire entre les commandes \makeatletter et \makeatother. Voici un exemple :

Fichier memoire.tex dont on souhaite extraire la table des matières

Ouvrir dans l'éditeur
\documentclass[french]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[a4paper]{geometry}
\usepackage{babel}
\begin{document}
\tableofcontents
\chapter{Introduction}
\chapter{Développement}
\chapter{Conclusion}
\end{document}

Fichier memoire-toc.tex qui contient (uniquement) la table des matières de memoire.tex

Ouvrir dans l'éditeur
\documentclass[french]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[a4paper]{geometry}
\usepackage{babel}
\begin{document}
\chapter*{\contentsname{} de mon mémoire}
\makeatletter
\input{memoire.toc}
\makeatother
\end{document}
Lien permanent

Publiée 03 Jul '16, 22:18

denis's gravatar image

denis ♦♦
7.0k1510
Taux d'acceptation : 52%

Normalement, pas de @ dans le .toc et donc pas besoin de \makeatletter.

(04 Jul '16, 10:10) touhami touhami's gravatar image

@touhami, j'ai des \select@language {english} et \select@language {french} dans mon .toc, mais je ne sais pas si ça implique la nécessité du \makeatletter.

Et pour les présentations, j'ai des \beamer@sectionintoc {1}{Introduction}{2}{0}{1}

(04 Jul '16, 10:13) jerome dequeker jerome%20dequeker's gravatar image

@jerome dequeker C'est ma faut. Je vais supprimer le commentaire

@denis Fausse alerte. Je m'excuse.

(04 Jul '16, 10:28) touhami touhami's gravatar image

Non je n'y arrive pas avec cette démarche, des erreurs s'affichent

(04 Jul '16, 10:30) jmb jmb's gravatar image

On peut savoir quelles sont les dites erreurs ?

(04 Jul '16, 10:32) jerome dequeker jerome%20dequeker's gravatar image
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.