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

# Minulla on paljon tikz-, matlab2tikz- tai pgfplots-kuvia, joten saan käännöksen aikakatkaisun. Voinko e

## Kuinka ulkoistaa TikZ-grafiikat

Käytä TikZ- [kirjastoa nimeltä `external`](https://tikz.dev/library-external) luodaksesi ja tallentaaksesi (välimuistiin) TikZ-piirrokset PDF-tiedostoina — prosessi, jota kutsutaan usein ”*ulkoistamiseksi*”.

Lataa kirjasto komennolla `\usetikzlibrary{external}`, ja aktivoi ulkoistaminen komennolla `\tikzexternalize`:

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

jossa `<options>` on valinnainen parametriluettelo (avain–arvo-parit), jota käytetään konfiguroimaan `external` kirjasto.

* **HUOMAUTUS**: Jotta TikZ:n ulkoistus toimisi Overleafissa, `\tikzexternalize` komento ***täytyy*** antaa projektin pää- `.tex` tiedostossa.

Tarkastellaan perusesimerkkiä, joka käyttää grafiikkaa, joka on kopioitu [TikZ-dokumentaatiosta](https://tikz.dev/library-external):

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

\begin{document}
% Tämä TikZ-kuvio kirjoitetaan tiedostoon
% tiedostoon nimeltä 'output-figure0.pdf'
% 'tikz'-kansioon
\begin{tikzpicture}

  \node {juuri}
    child {node {vasen}}
    child {node {oikea}
      child {node {lapsi}}
      child {node {lapsi}}
    };

\end{tikzpicture}

\end{document}
```

Voit tutustua tähän esimerkkiin [avaamalla sen Overleafissa.](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=)

Esimerkkimme koodi käyttää valitsinta `prefix=tikz/` verrattuna `\tikzexternalize`:

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

Valitsin `prefix=tikz/` antaa kansion nimen (tässä, `tikz`) jota käytetään tuotettujen (ulkoistettujen) kuvioiden välimuistiin tallentamiseen — sinun täytyy luoda tuo kansio manuaalisesti projektissasi. Kuitenkin ennen kuin LaTeX (TikZ-koodi) voi kirjoittaa tuohon kansioon, sen täytyy sisältää tiedosto — mikä tahansa (näennäinen) tiedosto riittää; esimerkiksi voit lisätä tyhjän tekstitiedoston `foo.txt` kansioon `tikz` kansioon.

Overleaf käsittelee ulkoistettuja TikZ-PDF-grafiikoita tuotettuina tulostiedostoina, joten ne eivät näy projektin näkyvässä tiedostoluettelossa — ne ovat kyllä projektissa, mutta piilossa näkymästä — voit tarkastella [tuotettujen tiedostojen](/latex/fi/tietopankki/150-view-generated-files.md) luetteloa nähdäksesi ne.

Seuraava (lyhyt) videoleike tiivistää yllä olevan esimerkin kääntämisen ja näyttää, miten pääset käsiksi TikZ:n tuottamien tiedostojen luetteloon:

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

## Muutamia huomioita

TikZ-grafiikoiden ulkoistaminen voi olla laskennallisesti raskasta taustalla olevalle TeX-moottorille (pdfTeX, XeTeX, LuaTeX jne.), joten `external` kirjasto tarjoaa valinnan prosessin “optimointiin”. Jos otat optimoinnin käyttöön, TikZ yrittää vähentää kuormitustaan “sivuuttamalla” joitakin monimutkaisia (kalliita), mutta TikZ:n kannalta epäolennaisia komentoja — määrittelemällä ne uudelleen (lennossa). Lisäksi jotkin muiden pakettien komennot voivat aiheuttaa virheitä ulkoistustilassa; esimerkiksi, `\includepdf` paketista `pdfpages` paketista. Tämän kiertämiseksi sinun täytyy “optimoida pois” tällaiset komennot:

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

## Liikaa monimutkaisia grafiikoita ulkoistettavaksi!

Jos grafiikkasi ovat monimutkaisia ja/tai lukuisia, kohtaat todennäköisesti Overleafin [käännösaikakatkaisun](/latex/fi/tietopankki/038-fixing-and-preventing-compile-timeouts.md#compiletimeout) alkuperäisen käännöksen aikana — kun ulkoistettuja tiedostoja luodaan. Tässä osiossa luetellaan joitakin mahdollisia kiertotapoja käännösaikakatkaisujen välttämiseksi.

### Rakentaminen vaiheittain

Projektin rakentaminen vaiheittain [kommentoimalla pois](https://ctan.org/pkg/comment?lang=en) projektin eri osien voi auttaa, mutta muista, että kaikki tuotetut tiedostot kerätään palvelimilla roskina pois määräajoin. Projektisi ei ehkä sen jälkeen käänny, kun kirjaudut seuraavan kerran sisään, ja sinun täytyisi generoida ne kaikki uudelleen vaiheittain.

### Piirrosten generoiminen paikallisesti

* **Huomaa**: Tässä osiossa oletetaan, että projektisi käyttää `\tikzexternalize[prefix=tikz/]` tuotettujen grafiikoiden välimuistiin tallentamiseen kansioon nimeltä `tikz`.

Kiertotapana, [lataa Overleaf-projektisi](/latex/fi/tietopankki/036-exporting-your-work-from-overleaf.md) ja käännä se paikallisella koneella ulkoistaaksesi (generoidaksesi) grafiikkatiedostot. Kun käännös on valmis, `tikz` kansion pitäisi sisältää useita tiedostotyyppejä kullekin generoidulle grafiikalle, mukaan lukien `*somegraphic*.pdf`, `*somegraphic*.md5` ja `*somegraphic*.dpth`. `tikz` kansioon, niitä käytetään käännöksen aikana — jonka pitäisi nyt olla melko nopea. Koska nämä tiedostot on ladattu eikä generoitu, palvelin ei poista niitä: ladattuja tiedostoja ei koskaan kerätä roskina pois.

* **Huomautus (grafiikkatiedostojen nimet)**: Overleaf asettaa `\jobname` kohteeseen `tulos`, mikä vaikuttaa ulkoistettujen (generoitujen) TikZ-grafiikoiden nimeen: oletusarvoisesti generoidut grafiikkatiedostot nimetään `output-figureN.EXT` jossa
  * `N` on kokonaisluku, joka johdetaan grafiikoiden esiintymisjärjestyksestä (`N`=0, 1, 2, ...);
  * `EXT` on yksi TikZ:n käyttämistä tiedostopäätteistä, mukaan lukien `pdf`, `md5` ja `dpth` (myös `log`).
* **Varoitus**: Jos teet grafiikkatiedostojen lataamisen jälkeen myöhemmin muutoksia projektisi TikZ-koodiin, voi olla tarpeen poistaa vastaavat grafiikkatiedostot `tikz` kansiosta, jotta Overleaf voi generoida ja käyttää uuden version. Vaihtoehtoisesti voit generoida tiedostot uudelleen paikallisella koneellasi ja ladata ne uudelleen Overleafiin. Muista, että sinun täytyy korvata kaikki `.pdf`, `.md5` ja `.dpth` tiedostot kyseistä TikZ-piirrosta varten.

### Piirrosten generoiminen erillisessä projektissa

Toinen vaihtoehto on luoda erillinen vain grafiikkaa sisältävä projekti, joka sisältää ainoastaan TikZ-kuvion(t). Kun nuo kuviot ovat valmiit, voit ladata PDF:n siitä erillisestä projektista pääprojektiisi seuraavasti:

* napsauta Tiedostojen lataus -kuvaketta (![Overleaf file upload icon](/files/861f1302a18347d96cdfc661715658163298651a)) tiedostoluettelopaneelin yläpuolella;
* valitse **Toisesta projektista**;
* alasvetoluettelosta valitse projekti, joka sisältää TikZ-piirrokset;
* valitse **tulostiedostoista**;
* valitse **output.pdf** ja (halutessasi) nimeä ladattu tiedosto.

Kun tiedosto on ladattu, voit käyttää yksittäisiä kuvioita valitsemalla ladatun PDF:n sopivan sivun; esimerkiksi komennolla kuten:

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

Se [tämän artikkelin lopussa oleva video](#videodemo) näyttää, miten PDF ladataan erillisestä projektista.

#### Kuinka luoda erillinen grafiikkaprojekti

Käytä `standalone` tai `preview` pakettia erillisen projektin luomiseen, joka sisältää TikZ-piirrokset — tulostettujen PDF:ien sivut rajataan tiukasti grafiikan kokoon sopiviksi.

**Esimerkki: standalone-paketti**

Tässä on esimerkkikoodi, jossa käytetään `standalone` pakettia:

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

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

[Avaa tämä esimerkki Overleafissa](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)

Tämä esimerkki tuottaa seuraavan tulosteen:

![Esimerkki standalone-LaTeX-paketista](/files/4ecc140a4dd50fae22f430749f7cdc140f81356b)

**Esimerkki: preview-paketti**

Tässä on esimerkkikoodi, jossa käytetään `preview` pakettia:

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

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

[Avaa tämä esimerkki Overleafissa](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)

Tämä esimerkki tuottaa seuraavan tulosteen:

![Esimerkki preview-LaTeX-paketista](/files/a0440c70bf4677fa2968cc40b32777e3522de0b7)

### Videodemot: tiedostojen lataaminen toisesta Overleaf-projektista

Seuraava video näyttää, miten ladataan PDF-tiedosto (toisesta Overleaf-projektista), joka sisältää vain grafiikkaa — tässä käytämme `standalone` pakettia PDF:n luomiseen, joka sisältää TikZ-pohjaisia kuvituksia.

{% 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/fi/kysymykset-ja-vastaukset/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.
