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

# Jeg har mange tikz-, matlab2tikz- eller pgfplots-figurer, så jeg får en timeout under kompilering. Kan jeg e

## Sådan eksternaliseres TikZ-grafik

Brug TikZ [biblioteket kaldet `external`](https://tikz.dev/library-external) til at oprette og gemme (cache) TikZ-tegninger som PDF-filer—en proces, der ofte omtales som “*eksternalisering*”.

Indlæs biblioteket via `\usetikzlibrary{external}`, og aktiver derefter eksternalisering med kommandoen `\tikzexternalize`:

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

hvor `<options>` er en valgfri liste af parametre (nøgle–værdi-par), der bruges til at konfigurere `external` biblioteket.

* **BEMÆRK**: For at TikZ-eksternalisering skal virke på Overleaf, skal `\tikzexternalize` kommandoen ***skal*** angives i projektets hoved- `.tex` filen.

Lad os se på et grundlæggende eksempel, som bruger en grafik gengivet fra [TikZ-dokumentationen](https://tikz.dev/library-external):

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

\begin{document}
% Denne TikZ-figur vil blive skrevet til
% en fil kaldet 'output-figure0.pdf'
% i mappen 'tikz'
\begin{tikzpicture}

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

\end{tikzpicture}

\end{document}
```

For at udforske dette eksempel kan du [åbne det på 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=)

Koden i vores eksempel bruger indstillingen `prefix=tikz/` med `\tikzexternalize`:

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

Indstillingen `prefix=tikz/` angiver navnet på en mappe (her, `tikz`) til brug for caching af genererede (eksternaliserede) figurer—du skal oprette den mappe manuelt i dit projekt. Men før LaTeX (TikZ-kode) kan skrive til den mappe, skal den indeholde en fil—enhver (dummy-)fil er nok; for eksempel kan du tilføje en tom tekstfil `foo.txt` i `tikz` mappen.

Overleaf behandler de eksternaliserede TikZ-PDF-grafikker som genererede outputfiler, så de vises ikke i projektets synlige filliste—de findes i projektet, bare skjult for visning—du kan se listen over [genererede filer](/latex/da/vidensbase/150-view-generated-files.md) for at se dem.

Den følgende (korte) videoklip opsummerer kompileringen af ovenstående eksempel og viser, hvordan man får adgang til listen over filer genereret af TikZ:

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

## Nogle bemærkninger

Eksternalisering af TikZ-grafik kan være beregningsmæssigt krævende for den underliggende TeX-motor (pdfTeX, XeTeX, LuaTeX osv.), så `external` biblioteket tilbyder en indstilling til at “optimere” processen. Hvis du aktiverer optimering, vil TikZ forsøge at reducere sin arbejdsbyrde ved at “ignorere” nogle komplekse (dyre), men ikke-essentielle (for TikZ) kommandoer—ved at omdefinere dem (on-the-fly). Derudover kan nogle kommandoer fra andre pakker forårsage fejl i eksternaliseringstilstand; for eksempel, `\includepdf` fra `pdfpages` pakken. For at komme uden om det skal du “optimere disse kommandoer væk”:

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

## For mange komplekse grafikobjekter til at eksternalisere!

Hvis din grafik er kompleks og/eller talrig, vil du sandsynligvis støde på en Overleaf [kompileringstimeout](/latex/da/vidensbase/038-fixing-and-preventing-compile-timeouts.md#compiletimeout) under den første kompilering—mens de eksternaliserede filer genereres. Dette afsnit oplister nogle mulige løsninger til at undgå kompileringstimeouts.

### Trinvis opbygning

At opbygge dit projekt trinvis ved at [kommentere ud](https://ctan.org/pkg/comment?lang=en) forskellige dele af dit projekt kan hjælpe, men husk, at alle genererede filer bliver indsamlet som affald med faste intervaller på serverne. Dit projekt kan derefter fejle ved kompilering, når du næste gang logger ind, og du bliver nødt til at generere dem alle trinvist igen.

### Generering af tegningerne lokalt

* **Bemærk**: Dette afsnit forudsætter, at dit projekt bruger `\tikzexternalize[prefix=tikz/]` til at cache genereret grafik i en mappe kaldet `tikz`.

Som en løsning [skal du downloade dit Overleaf-projekt](/latex/da/vidensbase/036-exporting-your-work-from-overleaf.md) og kompilere det på en lokal maskine for at eksternalisere (generere) grafikfilerne. Når kompileringen er færdig, bør `tikz` mappen indeholde flere filtyper for hver genereret grafik, herunder `*somegraphic*.pdf`, `*somegraphic*.md5` og `*somegraphic*.dpth`. Hvis du uploader disse filer til dit Overleaf-projekts `tikz` mappen, vil de blive brugt under kompileringen—som nu burde være ret hurtig. Da disse filer er uploadet og ikke genereret, bliver de ikke slettet af serveren: uploadede filer bliver aldrig indsamlet som affald.

* **Bemærk (grafikfilnavne)**: Overleaf sætter `\jobname` til `resultat`, hvilket påvirker navnet, der gives til eksternaliserede (genererede) TikZ-grafikker: Som standard navngives de genererede grafikfiler `output-figureN.EXT` hvor
  * `N` er et heltal, der er afledt af rækkefølgen, som grafikkerne optræder i (`N`=0, 1, 2, ...);
  * `EXT` er en af de filendelser, som TikZ bruger, herunder `pdf`, `md5` og `dpth` (også `log`).
* **Et forbehold**: Hvis du efter upload af grafikfilerne efterfølgende foretager ændringer i TikZ-koden i dit projekt, kan det være nødvendigt at slette de tilsvarende grafikfiler i `tikz` mappen, så Overleaf kan generere og bruge en ny version. Alternativt kan du regenerere filerne på din lokale maskine og uploade dem igen til Overleaf. Husk, at du skal udskifte alle `.pdf`, `.md5` og `.dpth` filerne for netop den pågældende TikZ-tegning.

### Generering af tegningerne i et separat projekt

En anden mulighed er at oprette et separat projekt kun til grafik, som kun indeholder TikZ-figur(er). Når disse figurer er færdige, kan du uploade PDF'en fra det separate projekt til dit hovedprojekt som følger:

* klik på ikonet Upload filer (![Overleaf file upload icon](/files/ccaadca14d879e5c88f083d33b865555171d1dba)) over fillistepanelet;
* vælg **Fra et andet projekt**;
* fra rullelisten skal du vælge projektet, der indeholder TikZ-tegningerne;
* vælg **fra outputfiler**;
* vælg **output.pdf** og navngiv (valgfrit) den uploadede fil.

Når den er uploadet, kan du få adgang til de enkelte figurer ved at vælge den relevante side i den uploadede PDF; for eksempel via en kommando som:

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

Den [videoen i slutningen af denne artikel](#videodemo) demonstrerer upload af en PDF fra et separat projekt.

#### Sådan opretter du et separat grafikprojekt

Brug `standalone` eller `preview` pakken til at oprette et separat projekt, der indeholder TikZ-tegningerne—output-PDF'erne vil indeholde tæt beskårne sider, der matcher grafikkens størrelse.

**Eksempel: standalone-pakken**

Her er noget eksempelkode, der bruger `standalone` pakken:

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

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

[Åbn dette eksempel i 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)

Dette eksempel giver følgende output:

![Eksempel på standalone-LaTeX-pakken](/files/29bdefb60ed681a5d573365602b0bea27427ae73)

**Eksempel: preview-pakken**

Her er noget eksempelkode, der bruger `preview` pakken:

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

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

[Åbn dette eksempel i 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)

Dette eksempel giver følgende output:

![Eksempel på preview-LaTeX-pakken](/files/5c2b7b753c7e3053ba32b285f4e5e6b46ff221a4)

### Videodemonstration: upload af filer fra et andet Overleaf-projekt

Den følgende video viser, hvordan man uploader en PDF-fil (fra et andet Overleaf-projekt), der kun indeholder grafik—her bruger vi `standalone` pakken til at oprette PDF'en, der indeholder TikZ-baserede illustrationer.

{% 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/da/sporgsmal-og-svar/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.
