> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/fr/structure-du-document/07-management-in-a-large-project.md).

# Gestion dans un grand projet

## Introduction

Dans les grands projets, comme les livres, conserver des parties de votre document dans plusieurs fichiers .tex facilite la correction des erreurs et les modifications ultérieures. Il est plus simple de localiser un mot ou un élément précis dans un fichier court. À cette fin, cet article explique comment gérer de grands projets.

## Insertion et inclusion de fichiers

Les outils standard pour insérer un fichier LaTeX dans un autre sont `\input` et `\include`.

**commande \input**

\input{filename}

Utilisez cette commande dans le corps du document pour insérer le contenu d'un autre fichier nommé `filename.tex`; ce fichier ne doit pas contenir de code de préambule LaTeX (c.-à-d. aucun `\documentclass`, `\begin{document}` ou `\end{document}` ). LaTeX ne commencera pas une nouvelle page avant de traiter le contenu de `filename.tex`. `\input` vous permet d'imbriquer `\input` commandes, dans des fichiers déjà inclus par le fichier racine.

**commande include**

\include{filename}

Utilisez cette commande dans le corps du document pour insérer le contenu d'un autre fichier nommé `filename.tex`; là encore, ce fichier ne doit pas contenir de préambule LaTeX. LaTeX commencera une nouvelle page avant de traiter le contenu importé depuis `filename.tex`. Veillez à ne pas inclure l'extension `.tex` dans le nom de fichier, car cela empêchera l'importation du fichier (l'extension peut éventuellement être incluse avec `encodage` et `import`). Il n'est pas possible d'imbriquer les commandes `include` Chaque fichier qui est `\include`importé possède son propre fichier .aux qui stocke les informations des étiquettes créées et du contenu de la table des matières, de la liste des figures, etc. Vous pouvez utiliser `\includeonly` avec une liste de noms de fichiers séparés par des virgules (veillez à ce qu'il n'y ait pas d'espaces au début ou à la fin). Si vous faites cela, LaTeX ne traitera que les fichiers contenus dans cette liste. Cela peut servir à améliorer la vitesse de compilation si vous ne travaillez que sur une petite partie d'un document plus vaste. Les numéros de page et les renvois croisés fonctionneront toutefois toujours, car les fichiers .aux des fichiers laissés de côté continueront d'être traités.

[Ouvrez un exemple de grand projet sur Overleaf](https://www.overleaf.com/project/new/template/20618?id=70769185\&templateName=Managing+a+large+project+on+Overleaf\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

## Préambule dans un fichier séparé

Si le préambule de votre document contient de nombreuses commandes définies par l'utilisateur ou des définitions de termes pour le [glossaire](/latex/fr/structure-du-document/05-glossaries.md), vous pouvez le mettre dans un fichier séparé. La bonne méthode consiste à créer un package personnalisé, c'est-à-dire un fichier portant l'extension .sty. Voyons un exemple :

```latex
\ProvidesPackage{example}

\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[latin1]{inputenc}
\usepackage[spanish, english]{babel}
\usepackage{graphicx}
\usepackage{blindtext}
\usepackage{textcomp}
\usepackage{pgfplots}

\pgfplotsset{width=10cm,compat=1.9}

%Styles d'en-tête
\usepackage{fancyhdr}
\setlength{\headheight}{15pt}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{#1}{}}
\fancyhf{}
\fancyhead[LE,RO]{\thepage}
\fancyhead[RE]{\textbf{\textit{\nouppercase{\leftmark}}}}
\fancyhead[LO]{\textbf{\textit{\nouppercase{\rightmark}}}}
\fancypagestyle{plain}{ %
\fancyhf{} % tout supprimer
\renewcommand{\headrulewidth}{0pt} % supprimer également les lignes
\renewcommand{\footrulewidth}{0pt}}

%rend disponibles les commandes \proof, \qedsymbol et \theoremstyle
\usepackage{amsthm}

%Règle
\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}

%Définition du lemme et compteur de lemmes
\newtheorem{lemma}{Lemme}[section]

%Compteur des définitions
\theoremstyle{definition}
\newtheorem{definition}{Définition}[section]

%Compteur des corollaires
\newtheorem{corolary}{Corollaire}[section]

%Commandes pour les naturels, les entiers, la topologie, l'enveloppe, Ball, Disc, Dimension, la frontière et quelques autres
\newcommand{\E}{{\mathcal{E}}}
\newcommand{\F}{{\mathcal{F}}}
...

%Environnement d'exemple
\theoremstyle{remark}
\newtheorem{examle}{Exemple}

%Compteur d'exemples
\newcommand{\reiniciar}{\setcounter{example}{0}}
```

Toutes les commandes de ce fichier auraient pu être placées dans le préambule, mais le fichier principal serait devenu confus à cause de cette grande quantité de code, et localiser le corps réel du document dans un fichier aussi volumineux aurait été une tâche fastidieuse.

Ce fichier pourrait également être placé dans un fichier .tex normal et importé avec la commande `import` (voir le [section suivante](#importing-files)), mais un fichier .sty évite d'éventuelles erreurs si le fichier est importé accidentellement plus d'une fois.

Notez que la première ligne de l'exemple est

```latex
\ProvidesPackage{example}
```

cela signifie que nous devons importer ce package comme *example* dans le fichier principal, c.-à-d. avec la commande

```latex
\usepackage{example}
```

comme indiqué dans le [introduction](#introduction).

*Remarque : un fichier .sty est beaucoup plus flexible ; il peut être utilisé pour définir vos propres macros et des paramètres optionnels peuvent être passés, voir* [*Écrire votre propre package*](/latex/fr/fichiers-de-classe/03-writing-your-own-package.md).

[Ouvrez un exemple de grand projet sur Overleaf](https://www.overleaf.com/project/new/template/20618?id=70769185\&templateName=Managing+a+large+project+on+Overleaf\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

## Utilisation du package import

Comme mentionné ci-dessus, les outils standard pour insérer un fichier LaTeX dans un autre sont `\input` et `\include`, mais ils sont sujets aux erreurs si une imbrication de fichiers est nécessaire. Pour cette raison, vous pourriez envisager le package **import**.

Voici un exemple d'un livre dont les sections et les commandes définies par l'utilisateur sont stockées dans des fichiers séparés, et où les fichiers image de chaque chapitre sont stockés dans des dossiers séparés avec le fichier .tex de chaque chapitre.

```latex
\documentclass[a4paper,11pt]{book}
\usepackage{import}
\usepackage{example}

\usepackage{makeidx}
\makeindex

\begin{document}

\frontmatter
\import{./}{title.tex}

\clearpage
\thispagestyle{empty}

\tableofcontents

\mainmatter
\chapter{Premier chapitre}
\import{sections/}{section1-1.tex}
\import{sections/}{section1-2.tex}

\chapter{Chapitre supplémentaire}
\import{sections/}{section2-1.tex}

\chapter{Dernier chapitre}
\import{sections/}{section3-1.tex}

\backmatter

\import{./}{bibliography.tex}

\end{document}
```

Comme vous pouvez le voir, l'exemple est un livre avec trois chapitres et plusieurs sections dans un fichier principal bien organisé qui récupère des fichiers externes pour générer le document final. La commande `\frontmatter` dans la classe de document book est utilisée pour les premières pages du document, le style de numérotation des pages est réglé sur des chiffres romains par cette commande ; la commande `\mainmatter` réinitialise la numérotation des pages et change le style en chiffres arabes, `\backmatter` désactive la numérotation des chapitres (adapté pour la bibliographie et les annexes).

```latex
\chapter{Premier chapitre}
\import{sections/}{section1-1.tex}
\import{sections/}{section1-2.tex}
```

Commencez par ajouter cette ligne au préambule de votre document :

```latex
\usepackage{import}
```

Puis utilisez `\import{ }{ }`. Le premier paramètre entre accolades est le répertoire où se trouve le fichier ; il peut être relatif au répertoire de travail courant ou absolu. Le deuxième paramètre est le nom du fichier à importer

Il existe également la commande `\subimport` qui a la même syntaxe, mais si elle est utilisée dans l'un des fichiers importés dans le fichier principal, le chemin sera relatif à ce sous-fichier. Par exemple, voici le contenu du fichier "section1-1.tex" qui a été importé dans l'exemple précédent :

```latex
\section{Première section}

Voici un simple tracé 3D

\begin{figure}[h]
\centering
\subimport{img/}{plot1.tex}
\caption{Légende}
\label{fig:my_label}
\end{figure}

[...]
```

Comme vous le voyez, ce fichier importe un [tracé pgf](/latex/fr/specifique-a-un-domaine/08-pgfplots-package.md) fichier appelé "plot1.tex" qui crée un tracé 3D. Ce fichier est importé par

```latex
\subimport{img/}{plot1.tex}
```

depuis le dossier "img", situé dans le dossier "sections".

Si `\import` était utilisé à la place, le chemin *img/* serait relatif au fichier principal, au lieu du dossier "sections" où "section1-1.tex" est enregistré.

[Ouvrez un exemple de grand projet sur Overleaf](https://www.overleaf.com/project/new/template/20618?id=70769185\&templateName=Managing+a+large+project+on+Overleaf\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

## Lectures complémentaires

Pour plus d'informations, voir :

* [Projets LaTeX multi-fichiers](/latex/fr/structure-du-document/08-multi-file-latex-projects.md)
* [Référencement croisé des sections et des équations](/latex/fr/structure-du-document/03-cross-referencing-sections-equations-and-floats.md)
* [Index](/latex/fr/structure-du-document/04-indices.md)
* [Glossaires](/latex/fr/structure-du-document/05-glossaries.md)
* [Hyperliens](/latex/fr/structure-du-document/09-hyperlinks.md)
* [Numérotation des pages](/latex/fr/mise-en-forme/03-page-numbering.md)
* [Documents recto et recto-verso](/latex/fr/mise-en-forme/08-single-sided-and-double-sided-documents.md)
* [Colonnes multiples](/latex/fr/mise-en-forme/09-multiple-columns.md)
* [Mise en forme des paragraphes](/latex/fr/mise-en-forme/04-articles-how-to-change-paragraph-spacing-in-latex.md)
* [Format de page et marges](/latex/fr/mise-en-forme/07-page-size-and-margins.md)
* [Compteurs](/latex/fr/mise-en-forme/10-counters.md)
* [Notes de marge](/latex/fr/mise-en-forme/15-margin-notes.md)
* [Gras, italiques et soulignement](/latex/fr/bases-de-latex/03-bold-italics-and-underlining.md)
* [Tailles, familles et styles de police](/latex/fr/polices/01-font-sizes-families-and-styles.md)
* [Familles de polices](/latex/fr/polices/02-font-typefaces.md)
* [Prise en charge des polices modernes avec XeLaTeX](/latex/fr/polices/03-xelatex.md)
* [Prise en charge des langues internationales](/latex/fr/langues/03-international-language-support.md)
* [Tailles, familles et styles de police](/latex/fr/polices/01-font-sizes-families-and-styles.md)
* [Écrire votre propre package](/latex/fr/fichiers-de-classe/03-writing-your-own-package.md)
* [Écrire votre propre classe](/latex/fr/fichiers-de-classe/04-writing-your-own-class.md)
* [L'introduction pas si courte à LaTeX2ε](http://www.ctan.org/tex-archive/info/lshort/)
* [`import` documentation du paquet](ftp://sunsite.icm.edu.pl/pub/CTAN/macros/latex/contrib/import/import.pdf)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/fr/structure-du-document/07-management-in-a-large-project.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
