> ## 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 в Docker

### Docker

Docker предоставляет лёгкий и переносимый способ упаковывать и запускать приложения в изолированных контейнерах. Благодаря объединению приложения со всеми необходимыми зависимостями контейнер обеспечивает одинаковое поведение на разных машинах — от ноутбуков до производственных серверов.

TeX Live — мощный, но объёмный дистрибутив, чувствительный к различиям на уровне системы. Упаковка TeX Live в Docker-образ делает набор инструментов LaTeX предсказуемым, воспроизводимым и удобным для распространения.

Однако некоторые пакеты TeX Live требуют доступа к оболочке. В целях безопасности контейнер должен работать в ограниченной среде, не позволяющей пользователям выполнять произвольные команды оболочки (например, через `\write18` или shell escape). Такая изоляция защищает хост-систему и предотвращает непреднамеренный доступ к файловой системе контейнера или к таким инструментам, как `bash`.

### Полная редакция TeXLive

[TeXLive-Full@ayaka-notes](https://github.com/ayaka-notes/texlive-full/) — это полнофункциональный **Docker-образ TeXLive**, предназначенный для изолированной компиляции LaTeX в [Ayakaleaf Pro](https://github.com/ayaka-notes/ayakaleaf-pro), [Overleaf CEP](https://github.com/yu-i-i/overleaf-cep) или в автономных средах компиляции LaTeX.

Цель этого образа — предоставить почти полный дистрибутив TeXLive с предустановленными распространёнными шрифтами и инструментами, чтобы свести к минимуму ошибки компиляции из-за отсутствующих пакетов или шрифтов. Примечание: этот Docker-образ **не содержит** компонентов sharelatex/overleaf. Он используется для компиляции в Overleaf/Overleaf Pro.

#### Возможности:

* 🚀 Поддержка серверных архитектур x86\_64 и arm64
* 📦 Полная и оптимизированная установка TeXLive
* 🧩 Предустановленные распространённые шрифты и утилиты
* 🐳 Готов к использованию с Docker и Docker Compose
* 🧪 Протестирован с Overleaf Server Pro / Overleaf Pro
* 🔄 Регулярные обновления с последними выпусками TeXLive
* 🏷 Теги для нескольких версий TeXLive (от 2020 до последней)
* 🧑‍🔬 Поддержка Knitr для кода на R в документах LaTeX

### Использование в Ayakaleaf Pro

TeX Live Full от Ayaka-notes специально разработан для [ayakaleaf-pro](https://github.com/ayaka-notes/ayakaleaf-pro). Если вы [пользователь toolkit](https://github.com/overleaf/toolkit), добавьте следующие переменные окружения в файл `config/variables.env`.

Например:

```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
```

### Версии TeX Live

Благодаря GitHub Action мы можем собирать все образы TeX параллельно, в том числе:

* `ghcr.io/ayaka-notes/texlive-full:2026.1` (а также тег `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`

Мы используем зеркальный архив [texlive info](https://texlive.info/tlnet-archive/), который содержит практически все выпуски TeX Live с 1996 по 2025 год. А благодаря Dockerfile от Overleaf мы можем собирать этот проект быстрее.

> Почему не поддерживаются TeX Live 2019 и более ранние версии?
>
> Поддерживать такие старые образы крайне сложно. Кроме того, сайт [texlive.info](https://texlive.info/) не предоставляет информацию о версиях TeX Live, выпущенных до 2019 года, поэтому мы не можем собрать образы для этих версий. Если вам нужна конкретная старая версия, создайте issue и сообщите нам.

### Состав образа

Docker-образ содержит следующие пакеты:

* Все пакеты TeXLive (соответствующего года)
* Пакеты R (только избранные)
* fontconfig inkscape pandoc python3-pygments wget python3
* gnupg gnuplot perl-modules perl ca-certificates
* ghostscript qpdf r-base-core tar

Docker-образ содержит следующие шрифты:

* [Google Fonts](https://fonts.google.com/)
* [Microsoft msttcorefonts](https://packages.ubuntu.com/jammy/ttf-mscorefonts-installer)
* [Шрифты, поддерживаемые Overleaf](https://www.overleaf.com/learn/latex/Questions/Which_OTF_or_TTF_fonts_are_supported_via_fontspec%3F)

<Warning>
  Пожалуйста, убедитесь, что соответствующие шрифты можно использовать в коммерческих целях. Мы **не несём ответственности** за любые юридические проблемы, возникшие в результате неправомерного использования шрифтов. Загружая образ, вы автоматически соглашаетесь с этим.
</Warning>

### Лицензия

MIT

### Проблемы

<Accordion title="Проблема 01: промах кеша шрифтов">
  Если при компиляции проекта LaTeX в Overleaf не находится шрифт, **вы можете заметить, что компиляция занимает много времени**: при отсутствии шрифта texlive пытается **перестроить весь кеш шрифтов**. Это длительный процесс.

  В нашем образе кеш шрифтов собран заранее — мы исправили эту проблему [этим коммитом](https://github.com/ayaka-notes/texlive-full/commit/0cb66b0dc8b82be628cf6999cfd659d9784e132f)
</Accordion>

<Accordion title="Проблема 02: крайне медленная работа SyncTeX">
  При использовании этого образа в sharelatex SyncTeX может работать крайне медленно.

  См.: [https://github.com/overleaf/overleaf/issues/1150](https://github.com/overleaf/overleaf/issues/1150) — достаточно отключить HTTP 2.0.
</Accordion>

<Accordion title="Проблема 03: ошибка повторной компиляции с официальным образом TeX Live">
  Если вы используете официальный образ TeX Live с Docker Hub `texlive/texlive`, при повторной компиляции проекта может возникать ошибка. В нашем образе эта проблема исправлена, поскольку мы используем последний базовый образ Ubuntu и устанавливаем все зависимости из официального репозитория Ubuntu.
</Accordion>

### Прочие технические замечания

При сборке образов TeX Live (до 2019 года) обратите внимание на следующие проблемы:

* До TeX Live 2017 поддерживаются только `http`/`ftp`, поэтому загрузка по `https` невозможна, если не изменить скрипт `peal`.
* До 2015 года предоставляется только файл sha256, поэтому проверка с помощью sha512 невозможна.


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