> 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/vragen-en-antwoorden/60-i-have-a-lot-of-tikz-matlab2tikz-or-pgfplots-figures-so-i-m-getting-a-compilation-timeout.-can-i.md).

# Ik heb veel tikz-, matlab2tikz- of pgfplots-figuren, dus ik krijg een compilatie-time-out. Kan ik e

## Hoe TikZ-afbeeldingen externaliseren

Gebruik de TikZ [bibliotheek genaamd `external`](https://tikz.dev/library-external) om TikZ-tekeningen te maken en op te slaan (te cachen) als PDF-bestanden—een proces dat vaak wordt aangeduid als ‘*externaliseren*’.

Laad de bibliotheek via `\usetikzlibrary{external}`, en activeer vervolgens het externaliseren met het commando `\tikzexternalize`:

```latex
\usetikzlibrary{external}
\tikzexternalize[<options>]
```

waarbij `<options>` een optionele lijst met parameters (sleutel-waardeparen) is die wordt gebruikt om de `external` bibliotheek te configureren.

* **OPMERKING**: Om TikZ-externalisering op Overleaf te laten werken, moet het `\tikzexternalize` commando ***moet*** worden opgegeven in het hoofd `.tex` bestand.

Laten we eens kijken naar een eenvoudig voorbeeld dat een afbeelding gebruikt die is overgenomen uit de [TikZ-documentatie](https://tikz.dev/library-external):

```latex
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize[prefix=tikz/]

\begin{document}
% Deze TikZ-figuur wordt weggeschreven naar
% een bestand met de naam 'output-figure0.pdf'
% binnen de map 'tikz'
\begin{tikzpicture}

  \node {root}
    child {node {left}}
    child {node {right}
      child {node {child}}
      child {node {child}}
    };

\end{tikzpicture}

\end{document}
```

Om dit voorbeeld te verkennen, kun je [het openen op Overleaf.](https://www.overleaf.com/project/new/template/27519?id=1174669946\&templateName=Example+to+externalize+a+TikZ+graphic\&latexEngine=pdflatex\&texImage=texlive-full%3A2022.1\&mainFile=)

De code in ons voorbeeld gebruikt de optie `prefix=tikz/` te vergelijken met `\tikzexternalize`:

```latex
\tikzexternalize[prefix=tikz/]
```

De optie `prefix=tikz/` geeft de naam van een map op (hier, `tikz`) die wordt gebruikt voor het cachen van gegenereerde (geexternaliseerde) figuren—je moet die map handmatig in je project aanmaken. Voordat LaTeX (TikZ-code) echter naar die map kan schrijven, moet er een bestand in staan—elk (dummy) bestand is voldoende; je kunt bijvoorbeeld een leeg tekstbestand toevoegen `foo.txt` in de `tikz` map.

Overleaf behandelt de geexternaliseerde TikZ-PDF-afbeeldingen als gegenereerde uitvoerbestanden, dus ze verschijnen niet in de zichtbare bestandslijst van het project—ze zijn wel aanwezig in het project, maar verborgen voor het zicht—je kunt de lijst met [gegenereerde bestanden](/latex/nl/kennisbank/150-view-generated-files.md) bekijken om ze te zien.

De volgende (korte) videofragment vat het compileren van het bovenstaande voorbeeld samen en laat zien hoe je toegang krijgt tot de lijst met bestanden die door TikZ zijn gegenereerd:

{% embed url="<https://videos.ctfassets.net/nrgyaltdicpt/6VZVoHzhpNzOWSTvsWYm08/80d178255345da83bcd82b5fc64e5c6b/TikZExternalize.mp4>" %}

## Enkele opmerkingen

Het externaliseren van TikZ-afbeeldingen kan rekenintensief zijn voor de onderliggende TeX-engine (pdfTeX, XeTeX, LuaTeX enz.), dus de `external` bibliotheek biedt een optie om het proces te ‘optimaliseren’. Als je optimalisatie inschakelt, zal TikZ proberen zijn werkbelasting te verminderen door sommige complexe (kostbare), maar voor TikZ niet-essentiële commando’s te ‘negeren’—door ze (on the fly) te herdefiniëren. Daarnaast kunnen sommige commando’s van andere pakketten fouten veroorzaken in de externalisatiemodus; bijvoorbeeld, `\includepdf` uit het `pdfpages` pakket. Om dat te omzeilen, moet je dergelijke commando’s ‘wegoptimaliseren’:

```latex
\tikzexternalize[prefix=tikz/,optimize command away=\includepdf]
```

## Te veel complexe afbeeldingen om te externaliseren!

Als je afbeeldingen complex en/of talrijk zijn, zul je waarschijnlijk een Overleaf [compile-time-out](/latex/nl/kennisbank/038-fixing-and-preventing-compile-timeouts.md#compiletimeout) tegenkomen tijdens de eerste compilatie—terwijl de geexternaliseerde bestanden worden gegenereerd. In deze sectie worden enkele mogelijke workarounds genoemd om compile-time-outs te vermijden.

### Geleidelijk opbouwen

Je project geleidelijk opbouwen door [verschillende delen uit te commentariëren](https://ctan.org/pkg/comment?lang=en) kan helpen, maar vergeet niet dat alle gegenereerde bestanden op vaste tijdstippen op de servers worden opgeruimd. Je project kan dan mislukken bij de volgende keer dat je inlogt, en je zou ze allemaal opnieuw stapsgewijs moeten genereren.

### De tekeningen lokaal genereren

* **Opmerking**: Deze sectie gaat ervan uit dat je project `\tikzexternalize[prefix=tikz/]` gebruikt om gegenereerde afbeeldingen in een map genaamd `tikz`.

Als workaround, [download je Overleaf-project](/latex/nl/kennisbank/036-exporting-your-work-from-overleaf.md) en compileer het op een lokale machine om de afbeeldingsbestanden te externaliseren (te genereren). Nadat het compileren is voltooid, moet de `tikz` map voor elke gegenereerde afbeelding verschillende bestandstypen bevatten, waaronder `*somegraphic*.pdf`, `*somegraphic*.md5` en `*somegraphic*.dpth`. Als je die bestanden uploadt naar de `tikz` map van je Overleaf-project, worden ze gebruikt tijdens het compileren—dat zou nu behoorlijk snel moeten gaan. Omdat die bestanden geüpload en niet gegenereerd zijn, worden ze niet door de server verwijderd: geüploade bestanden worden nooit opgeruimd.

* **Opmerking (bestandsnamen van afbeeldingen)**: Overleaf stelt `\jobname` naar `uitvoer`, wat de naam beïnvloedt die aan geexternaliseerde (gegenereerde) TikZ-afbeeldingen wordt gegeven: standaard worden de gegenereerde afbeeldingsbestanden genoemd `output-figureN.EXT` waarbij
  * `N` is een geheel getal dat is afgeleid van de volgorde waarin de afbeeldingen verschijnen (`N`=0, 1, 2, ...);
  * `EXT` is een van de bestandsextensies die door TikZ worden gebruikt, waaronder `pdf`, `md5` en `dpth` (ook `log`).
* **Een kanttekening**: Als je, nadat je de afbeeldingsbestanden hebt geüpload, vervolgens wijzigingen aanbrengt in de TikZ-code in je project, kan het nodig zijn om de bijbehorende afbeeldingsbestanden in de `tikz` map te verwijderen zodat Overleaf een nieuwe versie kan genereren en gebruiken. Je kunt de bestanden ook opnieuw genereren op je lokale machine en ze opnieuw uploaden naar Overleaf. Vergeet niet dat je alle `.pdf`, `.md5` en `.dpth` bestanden voor die specifieke TikZ-tekening moet vervangen.

### De tekeningen genereren in een apart project

Een andere optie is om een apart project alleen voor afbeeldingen te maken dat alleen de TikZ-figuur(en) bevat. Zodra die figuren klaar zijn, kun je de PDF uit dat aparte project als volgt naar je hoofdproject uploaden:

* klik op het pictogram Bestanden uploaden (![Overleaf file upload icon](/files/bf3e984ea6efa407725ac98d39cd57afe7aac2e7)) boven het paneel met de bestandslijst;
* selecteer **Uit een ander project**;
* kies in de vervolgkeuzelijst het project dat de TikZ-tekeningen bevat;
* selecteer **uit uitvoerbestanden**;
* kies **output.pdf** en geef (optioneel) het geüploade bestand een naam.

Zodra het geüpload is, kun je afzonderlijke figuren openen door de juiste pagina van de geüploade PDF te selecteren; bijvoorbeeld via een commando zoals:

```latex
\includegraphics[page=1]{tikzpics.pdf}
```

De [video aan het einde van dit artikel](#videodemo) laat zien hoe je een PDF uit een apart project uploadt.

#### Hoe je een apart grafisch project maakt

Gebruik de `standalone` of `preview` pakket om een apart project te maken met de TikZ-tekeningen—de output-PDF’s zullen strak bijgesneden pagina’s bevatten die overeenkomen met de grootte van de afbeeldingen.

**Voorbeeld: standalone-pakket**

Hier is voorbeeldcode die het `standalone` pakket gebruikt:

```latex
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\node[fill=yellow]{Hallo!};
\end{tikzpicture}

\begin{tikzpicture}
\node[fill=pink]{Wereld!};
\end{tikzpicture}
\end{document}
```

[Open dit voorbeeld in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+standalone+package+and+TikZ\&snip=%5Cdocumentclass%5Btikz%5D%7Bstandalone%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cnode%5Bfill%3Dyellow%5D%7BHello%21%7D%3B%0A%5Cend%7Btikzpicture%7D%0A%0A%5Cbegin%7Btikzpicture%7D%0A%5Cnode%5Bfill%3Dpink%5D%7BWorld%21%7D%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Dit voorbeeld levert de volgende uitvoer op:

![Voorbeeld van het standalone LaTeX-pakket](/files/5a0ed9fc853a91a62f87f41d00718b079b24a330)

**Voorbeeld: preview-pakket**

Hier is voorbeeldcode die het `preview` pakket gebruikt:

```latex
\documentclass{article}
\usepackage[active,tightpage]{preview}
\setlength{\PreviewBorder}{0pt}
\usepackage{tikz}
\PreviewEnvironment[{[]}]{tikzpicture}
\begin{document}
\begin{tikzpicture}
\node[fill=yellow]{Hallo!};
\end{tikzpicture}

\begin{tikzpicture}
\node[fill=pink]{Wereld!};
\end{tikzpicture}
\end{document}
```

[Open dit voorbeeld in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+the+preview+package+and+TikZ\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5Bactive%2Ctightpage%5D%7Bpreview%7D%0A%5Csetlength%7B%5CPreviewBorder%7D%7B0pt%7D%0A%5Cusepackage%7Btikz%7D%0A%5CPreviewEnvironment%5B%7B%5B%5D%7D%5D%7Btikzpicture%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Btikzpicture%7D%0A%5Cnode%5Bfill%3Dyellow%5D%7BHello%21%7D%3B%0A%5Cend%7Btikzpicture%7D%0A%0A%5Cbegin%7Btikzpicture%7D%0A%5Cnode%5Bfill%3Dpink%5D%7BWorld%21%7D%3B%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

Dit voorbeeld levert de volgende uitvoer op:

![Voorbeeld van het preview LaTeX-pakket](/files/a8b385b54e95c85189277a45f9ac592c963cb637)

### Videodemo: bestanden uploaden uit een ander Overleaf-project

De volgende video laat zien hoe je een PDF-bestand (uit een ander Overleaf-project) uploadt dat alleen afbeeldingen bevat—hier gebruiken we het `standalone` pakket om de PDF met op TikZ gebaseerde illustraties te maken.

{% embed url="<https://videos.ctfassets.net/nrgyaltdicpt/6l4dDatlnqzIymJLofSnQP/61f8ad4b872f5a82f3cd45c487e2f101/TikzSeparateProjects.mp4>" %}


---

# 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/vragen-en-antwoorden/60-i-have-a-lot-of-tikz-matlab2tikz-or-pgfplots-figures-so-i-m-getting-a-compilation-timeout.-can-i.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.
