> 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/no/sporsmal-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 kompileringstimeout. Kan jeg e

## Slik eksternaliserer du TikZ-grafikk

Bruk TikZ [biblioteket kalt `external`](https://tikz.dev/library-external) for å opprette og lagre (bufre) TikZ-tegninger som PDF-filer—en prosess som ofte omtales som «*eksternalisering*».

Last inn biblioteket via `\usetikzlibrary{external}`og aktiver deretter eksternalisering med kommandoen `\tikzexternalize`:

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

der `<options>` er en valgfri liste med parametere (nøkkel–verdi-par) som brukes til å konfigurere `external` biblioteket.

* **MERK**: For at TikZ-eksternalisering skal fungere i Overleaf, må `\tikzexternalize` kommandoen ***må*** angis i prosjektets hoved `.tex` filen.

La oss se på et grunnleggende eksempel som bruker en grafikk gjengitt fra [TikZ-dokumentasjonen](https://tikz.dev/library-external):

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

\begin{document}
% Denne TikZ-figuren vil bli skrevet til
% en fil kalt 'output-figure0.pdf'
% i 'tikz'-mappen
\begin{tikzpicture}

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

\end{tikzpicture}

\end{document}
```

For å utforske dette eksemplet kan du [åpne det i 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 eksemplet vårt bruker alternativet `prefix=tikz/` med `\tikzexternalize`:

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

Alternativet `prefix=tikz/` angir navnet på en mappe (her, `tikz`) som skal brukes til å bufre genererte (eksternaliserte) figurer—du må opprette denne mappen manuelt i prosjektet ditt. Men før LaTeX (TikZ-koden) kan skrive til den mappen, må den inneholde en fil—en hvilken som helst (dummy-)fil er nok; for eksempel kan du legge til en tom tekstfil `foo.txt` i `tikz` mappen.

Overleaf behandler de eksternaliserte TikZ-PDF-grafikkene som genererte utdatafiler, så de vil ikke vises i prosjektets synlige filliste—de finnes i prosjektet, men er bare skjult for visning—du kan se listen over [genererte filer](/latex/no/kunnskapsbase/150-view-generated-files.md) for å se dem.

Den følgende (korte) videoklippet oppsummerer kompileringen av eksemplet ovenfor og viser hvordan du får tilgang til listen over filer generert av TikZ:

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

## Noen merknader

Eksternalisering av TikZ-grafikk kan være beregningsmessig krevende for den underliggende TeX-motoren (pdfTeX, XeTeX, LuaTeX osv.), så `external` biblioteket tilbyr et alternativ for å «optimalisere» prosessen. Hvis du aktiverer optimalisering, vil TikZ prøve å redusere arbeidsmengden ved å «ignorere» noen komplekse (kostbare), men ikke-essensielle (for TikZ), kommandoer—ved å redefinere dem (i sanntid). I tillegg kan noen kommandoer fra andre pakker føre til feil i eksternaliseringsmodus; for eksempel, `\includepdf` fra `pdfpages` -pakken. For å komme rundt det må du «optimalisere bort» slike kommandoer:

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

## For mange komplekse grafikker til å eksternalisere!

Hvis grafikken din er kompleks og/eller tallrik, vil du sannsynligvis støte på en Overleaf [kompilerings-timeout](/latex/no/kunnskapsbase/038-fixing-and-preventing-compile-timeouts.md#compiletimeout) under den første kompileringen—mens de eksternaliserte filene genereres. Denne delen vil liste opp noen mulige løsninger for å unngå kompileringstimeouts.

### Trinnvis bygging

Å bygge prosjektet ditt trinnvis ved å [kommentere ut](https://ctan.org/pkg/comment?lang=en) forskjellige deler av prosjektet ditt kan hjelpe, men husk at alle genererte filer blir søppelsamlet med faste intervaller på serverne. Prosjektet ditt kan da mislykkes i å kompilere neste gang du logger inn, og du må generere dem alle på nytt trinnvis igjen.

### Generere tegningene lokalt

* **Merk**: Denne delen forutsetter at prosjektet ditt bruker `\tikzexternalize[prefix=tikz/]` for å bufre genererte grafikker i en mappe kalt `tikz`.

Som en midlertidig løsning, [last ned Overleaf-prosjektet ditt](/latex/no/kunnskapsbase/036-exporting-your-work-from-overleaf.md) og kompiler det på en lokal maskin for å eksternalisere (generere) grafikkfilene. Når kompileringen er ferdig, bør `tikz` mappen inneholde flere filtyper for hver genererte grafikk, inkludert `*somegraphic*.pdf`, `*somegraphic*.md5` og `*somegraphic*.dpth`. Hvis du laster opp disse filene til Overleaf-prosjektets `tikz` mappe, vil de bli brukt under kompileringen—som nå bør gå ganske raskt. Fordi disse filene er lastet opp og ikke generert, vil de ikke bli slettet av serveren: opplastede filer blir aldri søppelsamlet.

* **Merk (filnavn på grafikk)**: Overleaf setter `\jobname` til `utdata`, som påvirker navnet som gis til eksternaliserte (genererte) TikZ-grafikker: som standard får de genererte grafikkfilene navnene `output-figureN.EXT` der
  * `N` er et heltall avledet fra sekvensen/rekkefølgen grafikkene vises i (`N`=0, 1, 2, ...);
  * `EXT` er en av filendelsene som brukes av TikZ, inkludert `pdf`, `md5` og `dpth` (også `log`).
* **En advarsel**: Hvis du etter å ha lastet opp grafikkfilene senere gjør endringer i TikZ-koden i prosjektet ditt, kan det være nødvendig å slette de tilsvarende grafikkfilene i `tikz` mappen, slik at Overleaf kan generere og bruke en ny versjon. Alternativt kan du generere filene på nytt på den lokale maskinen din og laste dem opp til Overleaf igjen. Husk at du må erstatte alle `.pdf`, `.md5` og `.dpth` filene for den aktuelle TikZ-tegningen.

### Generere tegningene i et eget prosjekt

Et annet alternativ er å opprette et eget grafikkprosjekt som bare inneholder TikZ-figuren(e). Når disse figurene er ferdige, kan du laste opp PDF-en fra det separate prosjektet til hovedprosjektet ditt på følgende måte:

* klikk på ikonet for å laste opp filer (![Overleaf file upload icon](/files/ff89d610e24ba9924039a8d8384fc4a037a6216a)) over fillistepanelet;
* velg **Fra et annet prosjekt**;
* fra rullegardinlisten, velg prosjektet som inneholder TikZ-tegningene;
* velg **fra utdatafiler**;
* velg **output.pdf** og gi eventuelt den opplastede filen et navn.

Når den er lastet opp, kan du få tilgang til individuelle figurer ved å velge riktig side i den opplastede PDF-en; for eksempel via en kommando som:

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

Den [videoen nederst i denne artikkelen](#videodemo) viser hvordan man laster opp en PDF fra et separat prosjekt.

#### Slik oppretter du et eget grafikkprosjekt

Bruk `standalone` eller `preview` pakken for å opprette et separat prosjekt som inneholder TikZ-tegningene—utdata-PDF-ene vil inneholde tett beskjærte sider som samsvarer med størrelsen på grafikken.

**Eksempel: standalone-pakken**

Her er et kodeeksempel som bruker `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}
```

[Åpne dette eksemplet 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 eksemplet gir følgende resultat:

![Eksempel på standalone-LaTeX-pakken](/files/4cecc856d7a8eeeef01b6b15c0299f69752db39e)

**Eksempel: preview-pakken**

Her er et kodeeksempel som bruker `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}
```

[Åpne dette eksemplet 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 eksemplet gir følgende resultat:

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

### Videodemonstrasjon: opplasting av filer fra et annet Overleaf-prosjekt

Følgende video viser hvordan du laster opp en PDF-fil (fra et annet Overleaf-prosjekt) som bare inneholder grafikk—her bruker vi `standalone` pakken for å opprette PDF-en som inneholder illustrasjoner basert på TikZ.

{% 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/no/sporsmal-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.
