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

# Ich habe sehr viele tikz-, matlab2tikz- oder pgfplots-Abbildungen, deshalb bekomme ich ein Kompilier-Timeout. Kann ich e

## Wie man TikZ-Grafiken auslagert

Verwenden Sie die TikZ- [Bibliothek namens `external`](https://tikz.dev/library-external) um TikZ-Zeichnungen als PDF-Dateien zu erstellen und zu speichern (zu cachen) — ein Vorgang, der oft als „*Externalisieren*“ bezeichnet wird.

Laden Sie die Bibliothek über `\usetikzlibrary{external}`und aktivieren Sie dann die Externalisierung mit dem Befehl `\tikzexternalize`:

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

wobei `<options>` eine optionale Liste von Parametern (Schlüssel-Wert-Paare) ist, mit der die `external` Bibliothek konfiguriert wird.

* **HINWEIS**: Damit die TikZ-Externalisierung auf Overleaf funktioniert, muss der `\tikzexternalize` Befehl ***muss*** im Hauptdokument des Projekts angegeben werden. `.tex` -Datei verwendet werden.

Schauen wir uns ein einfaches Beispiel an, das eine Grafik verwendet, die aus der [TikZ-Dokumentation](https://tikz.dev/library-external):

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

\begin{document}
% Diese TikZ-Abbildung wird in
% eine Datei namens 'output-figure0.pdf' geschrieben
% innerhalb des Ordners 'tikz'
\begin{tikzpicture}

  \node {Wurzel}
    child {node {links}}
    child {node {rechts}
      child {node {Kind}}
      child {node {Kind}}
    };

\end{tikzpicture}

\end{document}
```

Um dieses Beispiel zu erkunden, können Sie [es auf Overleaf öffnen.](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=)

Der Code in unserem Beispiel verwendet die Option `prefix=tikz/` mit `\tikzexternalize`:

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

Die Option `prefix=tikz/` gibt den Namen eines Ordners an (hier, `tikz`) der zum Zwischenspeichern der erzeugten (externalisierten) Grafiken verwendet wird — Sie müssen diesen Ordner in Ihrem Projekt manuell anlegen. Bevor LaTeX (TikZ-Code) jedoch in diesen Ordner schreiben kann, muss er eine Datei enthalten — irgendeine (Dummy-)Datei genügt; zum Beispiel können Sie eine leere Textdatei hinzufügen `foo.txt` in den `tikz` Ordner.

Overleaf behandelt die externalisierten TikZ-PDF-Grafiken als erzeugte Ausgabedateien, daher erscheinen sie nicht in der sichtbaren Dateiliste des Projekts — sie sind im Projekt vorhanden, nur vor der Ansicht verborgen — Sie können die Liste der [erzeugten Dateien](/latex/de/wissensdatenbank/150-view-generated-files.md) anzeigen, um sie zu sehen.

Der folgende kurze Videoclip fasst die Kompilierung des obigen Beispiels zusammen und zeigt, wie man auf die von TikZ erzeugte Dateiliste zugreift:

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

## Einige Hinweise

Das Externalisieren von TikZ-Grafiken kann für die zugrunde liegende TeX-Engine (pdfTeX, XeTeX, LuaTeX usw.) rechenintensiv sein, daher bietet die `external` Bibliothek eine Option, um den Prozess zu „optimieren“. Wenn Sie die Optimierung aktivieren, versucht TikZ, seine Arbeitslast zu verringern, indem es einige komplexe (teure), aber für TikZ nicht wesentliche Befehle „ignoriert“ — indem es sie (zur Laufzeit) neu definiert. Außerdem können einige Befehle aus anderen Paketen im Externalisierungsmodus Fehler verursachen; zum Beispiel `\includepdf` aus dem `pdfpages` -Paket. Um das zu umgehen, müssen Sie solche Befehle „wegoptimieren“:

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

## Zu viele komplexe Grafiken zum Externalisieren!

Wenn Ihre Grafiken komplex und/oder zahlreich sind, werden Sie bei der ersten Kompilierung wahrscheinlich ein Overleaf- [Kompilier-Timeout](/latex/de/wissensdatenbank/038-fixing-and-preventing-compile-timeouts.md#compiletimeout) erleben, während die externalisierten Dateien erzeugt werden. In diesem Abschnitt werden einige mögliche Umgehungslösungen aufgeführt, um Kompilier-Timeouts zu vermeiden.

### Schrittweise erstellen

Das schrittweise Erstellen Ihres Projekts durch [Auskommentieren](https://ctan.org/pkg/comment?lang=en) verschiedener Teile Ihres Projekts kann helfen, aber denken Sie daran, dass alle erzeugten Dateien auf den Servern in regelmäßigen Abständen per Garbage Collection gelöscht werden. Ihr Projekt kann dann bei Ihrer nächsten Anmeldung möglicherweise nicht mehr kompiliert werden, und Sie müssten sie alle erneut schrittweise erzeugen.

### Die Zeichnungen lokal erzeugen

* **Hinweis**: Dieser Abschnitt setzt voraus, dass Ihr Projekt `\tikzexternalize[prefix=tikz/]` verwendet, um erzeugte Grafiken in einem Ordner namens `tikz`.

Als Workaround, [laden Sie Ihr Overleaf-Projekt herunter](/latex/de/wissensdatenbank/036-exporting-your-work-from-overleaf.md) und kompilieren Sie es auf einem lokalen Rechner, um die Grafikdateien zu externalisieren (zu erzeugen). Nach Abschluss der Kompilierung sollte der `tikz` Ordner mehrere Dateitypen für jede erzeugte Grafik enthalten, darunter `*somegraphic*.pdf`, `*somegraphic*.md5` und `*somegraphic*.dpth`. Wenn Sie diese Dateien in den `tikz` Ordner Ihres Overleaf-Projekts hochladen, werden sie während der Kompilierung verwendet — die jetzt ziemlich schnell sein sollte. Da diese Dateien hochgeladen und nicht erzeugt werden, werden sie vom Server nicht gelöscht: Hochgeladene Dateien werden nie per Garbage Collection entfernt.

* **Hinweis (Grafikdateinamen)**: Overleaf setzt `\jobname` zu `Ausgabe`fest, was sich auf den Namen auswirkt, der externalisierten (erzeugten) TikZ-Grafiken gegeben wird: Standardmäßig werden die erzeugten Grafikdateien benannt als `output-figureN.EXT` wobei
  * `N` ist eine ganze Zahl, die aus der Reihenfolge/Abfolge abgeleitet wird, in der die Grafiken erscheinen (`N`=0, 1, 2, ...);
  * `EXT` ist eine der von TikZ verwendeten Dateiendungen, darunter `pdf`, `md5` und `dpth` (auch `log`).
* **Ein Vorbehalt**: Wenn Sie nach dem Hochladen der Grafikdateien anschließend Änderungen am TikZ-Code in Ihrem Projekt vornehmen, kann es notwendig sein, die entsprechenden Grafikdateien im `tikz` Ordner zu löschen, damit Overleaf eine neue Version erzeugen und verwenden kann. Alternativ können Sie die Dateien auf Ihrem lokalen Rechner neu erzeugen und erneut auf Overleaf hochladen. Denken Sie daran, dass Sie alle `.pdf`, `.md5` und `.dpth` Dateien für diese spezielle TikZ-Zeichnung ersetzen müssen.

### Die Zeichnungen in einem separaten Projekt erzeugen

Eine weitere Möglichkeit besteht darin, ein separates reines Grafikprojekt zu erstellen, das nur die TikZ-Abbildung(en) enthält. Sobald diese Abbildungen fertig sind, können Sie das PDF aus diesem separaten Projekt wie folgt in Ihr Hauptprojekt hochladen:

* Klicken Sie auf das Symbol zum Hochladen von Dateien (![Overleaf file upload icon](/files/1d8ae0e298adcfaf96f1f5db3cbe5e67c20d98fb)) oberhalb des Panels mit der Dateiliste;
* wählen Sie **Aus einem anderen Projekt**;
* aus der Dropdown-Liste das Projekt mit den TikZ-Zeichnungen;
* wählen Sie **aus den Ausgabedateien**;
* wählen Sie **output.pdf** und benennen Sie die hochgeladene Datei gegebenenfalls.

Sobald sie hochgeladen ist, können Sie auf einzelne Abbildungen zugreifen, indem Sie die entsprechende Seite des hochgeladenen PDFs auswählen; zum Beispiel über einen Befehl wie:

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

Die [Video am Ende dieses Artikels](#videodemo) zeigt das Hochladen eines PDFs aus einem separaten Projekt.

#### Wie man ein separates Grafikprojekt erstellt

Verwenden Sie die `standalone` oder `preview` Paket, um ein separates Projekt mit den TikZ-Zeichnungen zu erstellen — die Ausgabe-PDFs enthalten eng zugeschnittene Seiten, die der Größe der Grafiken entsprechen.

**Beispiel: standalone-Paket**

Hier ist etwas Beispielcode mit dem `standalone` Paket:

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

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

[Öffnen Sie dieses Beispiel 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)

Dieses Beispiel erzeugt die folgende Ausgabe:

![Beispiel für das standalone-LaTeX-Paket](/files/ea4c7ac08b06a53e0aa18cf5e6ac01403393526c)

**Beispiel: preview-Paket**

Hier ist etwas Beispielcode mit dem `preview` Paket:

```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]{Welt!};
\end{tikzpicture}
\end{document}
```

[Öffnen Sie dieses Beispiel 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)

Dieses Beispiel erzeugt die folgende Ausgabe:

![Beispiel für das preview-LaTeX-Paket](/files/6ec719bd64ac7b771e87cfc1596fa1e95db5d98d)

### Videodemo: Dateien aus einem anderen Overleaf-Projekt hochladen

Das folgende Video zeigt, wie man eine PDF-Datei (aus einem anderen Overleaf-Projekt) hochlädt, die nur Grafiken enthält — hier verwenden wir das `standalone` Paket, um das PDF mit TikZ-basierten Illustrationen zu erstellen.

{% 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/de/fragen-and-antworten/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.
