Skip to main content

Import / export přes Pandoc

Overleaf umí převádět dokumenty do LaTeXu a z LaTeXu pomocí Pandocu. Převod běží uvnitř Docker kontejneru v sandboxu spravovaného službou clsi, takže funkce je ve výchozím stavu vypnutá a je nutné ji zapnout pomocí několika proměnných prostředí.

Co dělá


Proměnné prostředí

Důležité jsou dvě proměnné a jedna podobně vypadající, která důležitá není. 1. ENABLE_PANDOC_CONVERSIONS — hlavní přepínač
  • Typ: boolean (true funkci zapíná; cokoli jiného ji vypíná).
  • Musí být nastavena u OBOU služeb, web i clsi. Jde o samostatné procesy se samostatnou konfigurací:
    • web ji načítá do enablePandocConversions (services/web/config/settings.defaults.js). Řídí přístup k importním a exportním routám a příznak ol-ExposedSettings.enablePandocConversions, který frontendu říká, zda má zobrazit rozhraní pro import/export.
    • clsi ji načítá do enablePandocConversions (services/clsi/config/settings.defaults.cjs). Řídí přístup k endpointům, které spouštějí Pandoc.
  • Pokud je povolena u web, ale ne u clsi (nebo naopak), rozhraní se zobrazí, ale převod selže — udržujte je v souladu.
2. PANDOC_IMAGE — image kontejneru, který clsi spouští pro převod

Předpoklady

Protože převody běží jako Docker kontejnery spouštěné službou clsi:
  1. clsi musí běžet v režimu sandboxu s přístupem k Dockeru. Ve vývojovém stacku má clsi již nastaveno SANDBOXED_COMPILES=true a připojený socket Dockeru hostitele (/var/run/docker.sock).
  2. PANDOC_IMAGE musí být k dispozici na daném Docker hostiteli (stažený nebo sestavený lokálně) ještě před prvním převodem.

Rychlé nastavení

Vývojový stack (develop/dev.env) již obsahuje:
Protože oficiální image je soukromý, sestavte před použitím funkce jednou přibalený image:
Poté stack (znovu) spusťte, aby clsi a web načetly proměnné.

Sestavení image Pandocu

Standardní image Pandocu funguje, protože clsi volá Pandoc obecně (bez vlastních šablon či filtrů). Potřebuje jen tři nezbytné věci pro běh, o které se stará develop/pandoc/Dockerfile:
Sestavte ho a otagujte tak, aby tag odpovídal PANDOC_IMAGE:
V produkci připněte pandoc/core ke konkrétní verzi místo latest, aby byla sestavení reprodukovatelná, a nastavte PANDOC_IMAGE na cestu ve vašem registru.

Řešení problémů

Naposledy změněno 5. října 2026