Pandoc-import / -eksport
Overleaf kan konvertere dokumenter til og fra LaTeX ved hjælp af Pandoc. Konverteringen kører i en sandboxet Docker-container, der administreres af tjenesten clsi, så funktionen er slået fra som standard og skal aktiveres med et par miljøvariabler.
Hvad den gør
Miljøvariabler
Der er to variabler, der har betydning, og én, der ligner dem, men som ikke har.
1. ENABLE_PANDOC_CONVERSIONS — hovedkontakten
- Type: boolesk (
true aktiverer den; alt andet deaktiverer den).
- Skal sættes på BÅDE tjenesten
web og clsi. De er separate processer med separat konfiguration:
web indlæser den i enablePandocConversions (services/web/config/settings.defaults.js). Den styrer importruterne, eksportruterne og flaget ol-ExposedSettings.enablePandocConversions, der fortæller frontend, om import-/eksport-brugerfladen skal vises.
clsi indlæser den i enablePandocConversions (services/clsi/config/settings.defaults.cjs). Den styrer de endpoints, der kører Pandoc.
- Hvis den er aktiveret på
web, men ikke på clsi (eller omvendt), vises brugerfladen, men konverteringen mislykkes — hold dem synkroniserede.
2. PANDOC_IMAGE — det container-image, som clsi kører for at konvertere
Forudsætninger
Da konverteringer kører som Docker-containere, der startes af clsi:
clsi skal køre i sandboxet tilstand med Docker-adgang. I udviklingsstakken har clsi allerede SANDBOXED_COMPILES=true, og værtens Docker-socket (/var/run/docker.sock) er monteret.
PANDOC_IMAGE skal være til stede på den pågældende Docker-vært (hentet eller bygget lokalt) før den første konvertering.
Hurtig opsætning
Udviklingsstakken (develop/dev.env) leveres allerede med:
Da det officielle image er privat, skal du bygge det medfølgende image én gang, før du bruger funktionen:
Start derefter stakken (igen), så clsi og web indlæser variablerne.
Bygning af Pandoc-imaget
Et standard-Pandoc-image fungerer, fordi clsi kalder Pandoc generisk (ingen tilpassede skabeloner/filtre). Det kræver kun tre grundlæggende runtime-forudsætninger, som alle håndteres af develop/pandoc/Dockerfile:
Byg og tag det, så tagget matcher PANDOC_IMAGE:
I produktion bør du fastlåse pandoc/core til en bestemt version i stedet for latest for at få reproducerbare builds og sætte PANDOC_IMAGE til din registry-sti.
Fejlfinding
Sidst ændret 5. oktober 2026