> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# TeX Live v Dockeru

### Docker

Docker nabízí odlehčený a přenositelný způsob, jak zabalit a spouštět aplikace v izolovaných kontejnerech. Díky tomu, že kontejner obsahuje aplikaci spolu se všemi potřebnými závislostmi, zajišťuje konzistentní chování na různých strojích, od notebooků až po produkční servery.

TeX Live je výkonný, ale rozsáhlý a citlivý na rozdíly na úrovni systému. Zabalení TeX Live do Docker image činí nástrojový řetězec LaTeXu předvídatelným, reprodukovatelným a snadno distribuovatelným.

Některé balíčky TeX Live však spoléhají na přístup k shellu. Z bezpečnostních důvodů by měl kontejner běžet v omezeném prostředí, které uživatelům znemožní spouštět libovolné příkazy shellu (například prostřednictvím `\write18` nebo shell escape). Tato izolace chrání hostitelský systém a zabraňuje nechtěnému přístupu k souborovému systému kontejneru nebo k nástrojům jako `bash`.

### Edice TeXLive Full

[TeXLive-Full@ayaka-notes](https://github.com/ayaka-notes/texlive-full/) je plnohodnotný **TeXLive Docker image** navržený pro sandboxovou kompilaci LaTeXu v [Ayakaleaf Pro](https://github.com/ayaka-notes/ayakaleaf-pro), [Overleaf CEP](https://github.com/yu-i-i/overleaf-cep) nebo v samostatných prostředích pro kompilaci LaTeXu.

Cílem tohoto image je poskytnout téměř kompletní distribuci TeXLive s předinstalovanými běžnými fonty a nástroji, aby se minimalizovala selhání kompilace způsobená chybějícími balíčky nebo fonty. Poznámka: Tento Docker image **neobsahuje** žádnou komponentu sharelatex/overleaf. Slouží ke kompilaci v Overleaf/Overleaf Pro.

#### Funkce:

* 🚀 Podpora serverových architektur x86\_64 i arm64
* 📦 Úplná a optimalizovaná instalace TeXLive
* 🧩 Předinstalované běžné fonty a nástroje
* 🐳 Připraveno k použití s Dockerem a Docker Compose
* 🧪 Otestováno s Overleaf Server Pro / Overleaf Pro
* 🔄 Pravidelně aktualizováno podle nejnovějších vydání TeXLive
* 🏷 Více tagů verzí TeXLive (2020 – nejnovější)
* 🧑‍🔬 Podpora Knitr pro kód v jazyce R v dokumentech LaTeX

### Použití s Ayakaleaf Pro

TeX Live Full od Ayaka-notes je navržen speciálně pro [ayakaleaf-pro](https://github.com/ayaka-notes/ayakaleaf-pro). Pokud jste [uživatelem toolkitu](https://github.com/overleaf/toolkit), můžete do souboru `config/variables.env` přidat následující proměnné prostředí.

Například:

```dotenv title="config/variables.env" wrap theme={null}
ALL_TEX_LIVE_DOCKER_IMAGES=ghcr.io/ayaka-notes/texlive-full:2026.1, ghcr.io/ayaka-notes/texlive-full:2025.1
ALL_TEX_LIVE_DOCKER_IMAGE_NAMES=Texlive 2026, Texlive 2025
TEX_LIVE_DOCKER_IMAGE=ghcr.io/ayaka-notes/texlive-full:2026.1
```

### Verze TeX Live

Díky GitHub Action můžeme sestavovat všechny TeXové image paralelně, mezi ně patří:

* `ghcr.io/ayaka-notes/texlive-full:2026.1` (také tag `latest`)
* `ghcr.io/ayaka-notes/texlive-full:2025.1`
* `ghcr.io/ayaka-notes/texlive-full:2024.1`
* `ghcr.io/ayaka-notes/texlive-full:2023.1`
* `ghcr.io/ayaka-notes/texlive-full:2022.1`
* `ghcr.io/ayaka-notes/texlive-full:2021.1`
* `ghcr.io/ayaka-notes/texlive-full:2020.1`
* `ghcr.io/ayaka-notes/texlive-full:base`

Používáme zrcadlový archiv z [texlive info](https://texlive.info/tlnet-archive/), který obsahuje téměř všechny image TeX Live z let 1996 až 2025. A díky Dockerfile od Overleaf můžeme tento projekt sestavovat rychleji.

> Proč nejsou podporovány TeX Live 2019 a starší?
>
> Údržba těchto starých image je nesmírně obtížná. Web [texlive.info](https://texlive.info/) navíc neposkytuje informace o verzích TeX Live vydaných před rokem 2019, takže pro tyto verze nemůžeme image sestavit. Pokud potřebujete konkrétní starou verzi, založte prosím issue a dejte nám vědět.

### Obsažené komponenty

Docker image obsahuje následující balíčky.

* Všechny balíčky TeXLive (z daného roku)
* Balíčky R (pouze vybrané)
* fontconfig inkscape pandoc python3-pygments wget python3
* gnupg gnuplot perl-modules perl ca-certificates
* ghostscript qpdf r-base-core tar

Docker image obsahuje následující fonty.

* [Google Fonts](https://fonts.google.com/)
* [Microsoft msttcorefonts](https://packages.ubuntu.com/jammy/ttf-mscorefonts-installer)
* [Fonty podporované v Overleaf](https://www.overleaf.com/learn/latex/Questions/Which_OTF_or_TTF_fonts_are_supported_via_fontspec%3F)

<Warning>
  Ověřte si prosím, zda lze příslušné fonty používat komerčně. **Neneseme odpovědnost** za jakékoli právní problémy vyplývající z nesprávného použití fontů z vaší strany. Stažením image s tím automaticky souhlasíte.
</Warning>

### Licence

MIT

### Problémy

<Accordion title="Problém 01: Chybějící položky v cache fontů">
  Pokud při kompilaci projektu LaTeX v Overleaf chybí nějaký font, **můžete zjistit, že kompilace trvá velmi dlouho**. Je to proto, že když font chybí, pokusí se texlive **znovu sestavit celou cache fontů**. Jde o časově náročný proces.

  V našem image je cache fontů předem sestavena; tento problém jsme vyřešili [tímto commitem](https://github.com/ayaka-notes/texlive-full/commit/0cb66b0dc8b82be628cf6999cfd659d9784e132f)
</Accordion>

<Accordion title="Problém 02: Extrémně pomalý SyncTeX">
  Když tento image použijete v sharelatex, můžete zjistit, že SyncTeX je extrémně pomalý.

  Viz: [https://github.com/overleaf/overleaf/issues/1150](https://github.com/overleaf/overleaf/issues/1150), stačí vypnout HTTP 2.0.
</Accordion>

<Accordion title="Problém 03: Chyba při opakované kompilaci s oficiálním image TeX Live">
  Pokud používáte oficiální image TeX Live z Docker Hubu `texlive/texlive`, můžete zjistit, že při opakované kompilaci projektu se hlásí chyba. V našem image je však tento problém opraven, protože používáme nejnovější základní image Ubuntu a všechny závislosti instalujeme z oficiálního repozitáře Ubuntu.
</Accordion>

### Další technické poznámky

Při sestavování image TeX Live (starších než 2019) je třeba dát pozor na následující problémy:

* Před TeX Live 2017 je podporováno pouze `http`/`ftp`, takže pro stahování nelze použít `https`, pokud neupravíte skript `peal`.
* Před rokem 2015 je k dispozici pouze soubor sha256, takže pro kontrolu nelze použít sha512.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.