> 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/nl/documentstructuur/07-management-in-a-large-project.md).

# Beheer in een groot project

## Inleiding

In grote projecten, zoals boeken, maakt het bewaren van delen van je document in meerdere .tex-bestanden het gemakkelijker om fouten te corrigeren en verdere wijzigingen aan te brengen. Het is eenvoudiger om een specifiek woord of element in een kort bestand te vinden. Voor dit doel legt dit artikel uit hoe je grote projecten beheert.

## Bestanden invoeren en opnemen

De standaardhulpmiddelen om een LaTeX-bestand in een ander bestand op te nemen zijn `\input` en `\include`.

**input-opdracht**

\input{filename}

Gebruik dit commando in de hoofdtekst van het document om de inhoud in te voegen van een ander bestand met de naam `filename.tex`; dit bestand mag geen LaTeX-preambulecode bevatten (dus geen `\documentclass`, `\begin{document}` of `\end{document}` ). LaTeX begint geen nieuwe pagina vóór het verwerken van het materiaal in `filename.tex`. `\input` stelt je in staat om `\input` opdrachten te nesten, in bestanden die al door het hoofdbestand worden ingevoerd.

**include-opdracht**

\include{filename}

Gebruik dit commando in de hoofdtekst van het document om de inhoud in te voegen van een ander bestand met de naam `filename.tex`; opnieuw mag dit bestand geen LaTeX-preambule bevatten. LaTeX begint een nieuwe pagina vóór het verwerken van het materiaal dat wordt ingevoerd uit `filename.tex`. Zorg ervoor dat je de extensie `.tex` niet in de bestandsnaam opneemt, want anders wordt het bestand niet ingevoerd (de extensie kan optioneel worden toegevoegd met `invoer` en `import`). Het is niet mogelijk om `include` opdrachten te nesten. Elk bestand dat wordt `\include`d heeft zijn eigen .aux-bestand waarin informatie wordt opgeslagen over aangemaakte labels en inhoud voor de inhoudsopgave, lijst van figuren, enz. Je kunt `\includeonly` gebruiken met een door komma's gescheiden lijst van bestandsnamen (zorg ervoor dat er geen spaties aan het begin of einde staan). Als je dit doet, verwerkt LaTeX alleen de bestanden in die lijst. Dit kan worden gebruikt om de compileersnelheid te verhogen als je alleen aan een klein deel van een groter document werkt. Paginanummers en kruisverwijzingen blijven echter wel werken, omdat de .aux-bestanden van weggelaten bestanden nog steeds worden verwerkt.

[Open een voorbeeld van een groot project op 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=)

## Preambule in een apart bestand

Als de preambule van je document veel door de gebruiker gedefinieerde opdrachten of termdefinities voor de [woordenlijst](/latex/nl/documentstructuur/05-glossaries.md)bevat, kun je die in een apart bestand zetten. De juiste manier is om een eigen pakket te maken, een bestand met de extensie .sty. Laten we een voorbeeld bekijken:

```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}

%Kopstijl-opmaak
\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{} % verwijder alles
\renewcommand{\headrulewidth}{0pt} % verwijder ook de lijnen
\renewcommand{\footrulewidth}{0pt}}

%maakt de opdrachten \proof, \qedsymbol en \theoremstyle beschikbaar
\usepackage{amsthm}

%Liniaal
\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}

%Definitie van lemma en lemma-teller
\newtheorem{lemma}{Lemma}[section]

%Definitieteller
\theoremstyle{definition}
\newtheorem{definition}{Definitie}[section]

%Stelling-gevolg teller
\newtheorem{corolary}{Gevolg}[section]

%Opdrachten voor natuurlijke getallen, gehele getallen, topologie, omhullende, bal, schijf, dimensie, grens en nog enkele andere
\newcommand{\E}{{\mathcal{E}}}
\newcommand{\F}{{\mathcal{F}}}
...

%Voorbeeldomgeving
\theoremstyle{remark}
\newtheorem{examle}{Voorbeeld}

%Voorbeeldteller
\newcommand{\reiniciar}{\setcounter{example}{0}}
```

Alle opdrachten in dit bestand hadden in de preambule kunnen worden gezet, maar het hoofdbestand zou hierdoor verwarrend zijn geworden vanwege deze grote hoeveelheid code, en het lokaliseren van de werkelijke hoofdtekst van het document in zo'n groot bestand zou een omslachtige taak zijn.

Dit bestand zou ook in een normaal .tex-bestand kunnen worden gezet en geïmporteerd met de opdracht `import` (zie de [volgende sectie](#importing-files)), maar een .sty-bestand voorkomt mogelijke fouten als het bestand per ongeluk meer dan eens wordt geïmporteerd.

Merk op dat de eerste regel van het voorbeeld is

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

dit betekent dat we dit pakket moeten importeren als *example* in het hoofdbestand, dus met de opdracht

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

zoals getoond in de [inleiding](#introduction).

*Opmerking: een .sty-bestand is veel flexibeler; het kan worden gebruikt om je eigen macro's te definiëren en optionele parameters kunnen worden doorgegeven, zie* [*Je eigen pakket schrijven*](/latex/nl/class-bestanden/03-writing-your-own-package.md).

[Open een voorbeeld van een groot project op 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=)

## Het importpakket gebruiken

Zoals hierboven vermeld zijn de standaardhulpmiddelen om een LaTeX-bestand in een ander bestand op te nemen `\input` en `\include`, maar deze zijn foutgevoelig als er geneste bestandsimport nodig is. Om die reden kun je overwegen het pakket **import**.

Hieronder staat een voorbeeld van een boek waarvan de secties en door de gebruiker gedefinieerde opdrachten in aparte bestanden zijn opgeslagen, en waarbij de afbeeldingsbestanden voor elk hoofdstuk samen met het .tex-bestand voor elk hoofdstuk in aparte mappen zijn opgeslagen.

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

\usepackage{makeidx}
\makeindex

\begin{document}

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

\clearpage
\thispagestyle{empty}

\tableofcontents

\mainmatter
\chapter{Eerste hoofdstuk}
\import{sections/}{section1-1.tex}
\import{sections/}{section1-2.tex}

\chapter{Aanvullend hoofdstuk}
\import{sections/}{section2-1.tex}

\chapter{Laatste hoofdstuk}
\import{sections/}{section3-1.tex}

\backmatter

\import{./}{bibliography.tex}

\end{document}
```

Zoals je ziet is het voorbeeld een boek met drie hoofdstukken en meerdere secties in een netjes hoofdbestand dat externe bestanden ophaalt om het uiteindelijke document te genereren. De opdracht `\frontmatter` in de documentklasse book wordt gebruikt voor de eerste pagina's van het document; de paginanummeringsstijl wordt door deze opdracht ingesteld op Romeinse cijfers; de opdracht `\mainmatter` zet de paginanummering terug en wijzigt de stijl naar Arabisch, `\backmatter` schakelt de hoofdstuknummering uit (geschikt voor de bibliografie en bijlagen).

```latex
\chapter{Eerste hoofdstuk}
\import{sections/}{section1-1.tex}
\import{sections/}{section1-2.tex}
```

Voeg eerst deze regel toe aan de preambule van je document:

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

Gebruik vervolgens `\import{ }{ }`Het eerste argument tussen de accolades is de map waarin het bestand zich bevindt; dit kan relatief zijn aan de huidige werkmap of absoluut. Het tweede argument is de naam van het bestand dat moet worden geïmporteerd

Er is ook de opdracht `\subimport` die dezelfde syntaxis heeft, maar als deze wordt gebruikt in een van de bestanden die in het hoofdbestand worden geïmporteerd, is het pad relatief ten opzichte van dat subbestand. Hieronder staat bijvoorbeeld de inhoud van het bestand "section1-1.tex" dat in het vorige voorbeeld werd geïmporteerd:

```latex
\section{First section}

Hieronder staat een eenvoudige 3d-plot

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

[...]
```

Zoals je ziet importeert dit bestand een [pgf-plot](/latex/nl/vakspecifiek/08-pgfplots-package.md) bestand met de naam "plot1.tex" dat een 3d-plot maakt. Dit bestand wordt geïmporteerd door

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

uit de map "img", die zich in de map "sections" bevindt.

Als `\import` in plaats daarvan werd gebruikt, zou het pad *img/* relatief zijn aan het hoofdbestand, in plaats van aan de map "sections" waarin "section1-1.tex" is opgeslagen.

[Open een voorbeeld van een groot project op 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=)

## Verder lezen

Zie voor meer informatie:

* [LaTeX-projecten met meerdere bestanden](/latex/nl/documentstructuur/08-multi-file-latex-projects.md)
* [Verwijzen tussen secties en vergelijkingen](/latex/nl/documentstructuur/03-cross-referencing-sections-equations-and-floats.md)
* [Indexen](/latex/nl/documentstructuur/04-indices.md)
* [Woordenlijsten](/latex/nl/documentstructuur/05-glossaries.md)
* [Hyperlinks](/latex/nl/documentstructuur/09-hyperlinks.md)
* [Paginanummering](/latex/nl/opmaak/03-page-numbering.md)
* [Enkelzijdige en dubbelzijdige documenten](/latex/nl/opmaak/08-single-sided-and-double-sided-documents.md)
* [Meerdere kolommen](/latex/nl/opmaak/09-multiple-columns.md)
* [Alinea-opmaak](/latex/nl/opmaak/04-articles-how-to-change-paragraph-spacing-in-latex.md)
* [Paginagrootte en marges](/latex/nl/opmaak/07-page-size-and-margins.md)
* [Tellers](/latex/nl/opmaak/10-counters.md)
* [Marge-notities](/latex/nl/opmaak/15-margin-notes.md)
* [Vet, cursief en onderstrepen](/latex/nl/latex-basis/03-bold-italics-and-underlining.md)
* [Lettergroottes, lettertypen en stijlen](/latex/nl/lettertypen/01-font-sizes-families-and-styles.md)
* [Lettertypen](/latex/nl/lettertypen/02-font-typefaces.md)
* [Ondersteuning voor moderne lettertypen met XeLaTeX](/latex/nl/lettertypen/03-xelatex.md)
* [Ondersteuning voor internationale talen](/latex/nl/talen/03-international-language-support.md)
* [Lettergroottes, lettertypen en stijlen](/latex/nl/lettertypen/01-font-sizes-families-and-styles.md)
* [Je eigen pakket schrijven](/latex/nl/class-bestanden/03-writing-your-own-package.md)
* [Je eigen class schrijven](/latex/nl/class-bestanden/04-writing-your-own-class.md)
* [De niet zo korte introductie tot LaTeX2ε](http://www.ctan.org/tex-archive/info/lshort/)
* [`import` pakkettendocumentatie](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/nl/documentstructuur/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.
