Импорт и экспорт через Pandoc
Overleaf может конвертировать документы в LaTeX и обратно с помощью Pandoc. Конвертация выполняется внутри изолированного Docker-контейнера, которым управляет сервис clsi, поэтому по умолчанию эта функция отключена и её нужно включить с помощью пары переменных окружения.
Что она делает
Переменные окружения
Значение имеют две переменные, а одна похожая на них — нет.
1. ENABLE_PANDOC_CONVERSIONS — главный переключатель
- Тип: логический (
true включает функцию; любое другое значение отключает её).
- Должна быть задана для ОБОИХ сервисов —
web и clsi. Это отдельные процессы с отдельной конфигурацией:
web считывает её в enablePandocConversions (services/web/config/settings.defaults.js). Она управляет маршрутами импорта, маршрутами экспорта и флагом ol-ExposedSettings.enablePandocConversions, который сообщает фронтенду, нужно ли показывать интерфейс импорта/экспорта.
clsi считывает её в enablePandocConversions (services/clsi/config/settings.defaults.cjs). Она управляет конечными точками, которые запускают Pandoc.
- Если переменная включена для
web, но не для clsi (или наоборот), интерфейс появится, но конвертация завершится ошибкой — поддерживайте их согласованность.
2. PANDOC_IMAGE — образ контейнера, который clsi запускает для конвертации
Предварительные требования
Поскольку конвертации выполняются в Docker-контейнерах, запускаемых clsi:
clsi должен работать в изолированном режиме с доступом к Docker. В стеке разработки для clsi уже задано SANDBOXED_COMPILES=true и смонтирован Docker-сокет хоста (/var/run/docker.sock).
- Образ
PANDOC_IMAGE должен присутствовать на этом Docker-хосте (загружен или собран локально) до первой конвертации.
Быстрая настройка
Стек разработки (develop/dev.env) уже содержит:
Поскольку официальный образ является закрытым, перед использованием функции один раз соберите входящий в комплект образ:
Затем (пере)запустите стек, чтобы clsi и web подхватили переменные.
Сборка образа Pandoc
Подойдёт стандартный образ Pandoc, поскольку clsi вызывает Pandoc в общем виде (без собственных шаблонов и фильтров). Ему нужны лишь три обязательных компонента среды выполнения, и все они предусмотрены в develop/pandoc/Dockerfile:
Соберите образ и присвойте ему тег, совпадающий с PANDOC_IMAGE:
В рабочей среде для воспроизводимых сборок закрепите pandoc/core на конкретной версии вместо latest и укажите в PANDOC_IMAGE путь к вашему реестру.
Устранение неполадок
Последнее изменение 5 октября 2026 г.