Skip to main content

Import / eksport med Pandoc

Overleaf kan konvertere dokumenter til og fra LaTeX ved hjelp av Pandoc. Konverteringen kjører i en sandkasset Docker-container som administreres av clsi-tjenesten, så funksjonen er av som standard og må slås på med et par miljøvariabler.

Hva den gjør


Miljøvariabler

Det er to variabler som betyr noe, og én som ligner, men som ikke gjør det. 1. ENABLE_PANDOC_CONVERSIONS — hovedbryteren
  • Type: boolsk (true aktiverer den; alt annet deaktiverer den).
  • Må settes på BÅDE web- og clsi-tjenesten. De er separate prosesser med separat konfigurasjon:
    • web leser den inn i enablePandocConversions (services/web/config/settings.defaults.js). Den styrer importrutene, eksportrutene og flagget ol-ExposedSettings.enablePandocConversions, som forteller frontend om import-/eksportgrensesnittet skal vises.
    • clsi leser den inn i enablePandocConversions (services/clsi/config/settings.defaults.cjs). Den styrer endepunktene som kjører Pandoc.
  • Hvis den er aktivert på web, men ikke på clsi (eller omvendt), vises grensesnittet, men konverteringen mislykkes — hold dem synkronisert.
2. PANDOC_IMAGE — container-imaget som clsi kjører for å konvertere

Forutsetninger

Siden konverteringer kjører som Docker-containere startet av clsi:
  1. clsi må kjøre i sandkassemodus med tilgang til Docker. I utviklingsstakken har clsi allerede SANDBOXED_COMPILES=true, og vertens Docker-socket (/var/run/docker.sock) er montert.
  2. PANDOC_IMAGE må finnes på den Docker-verten (hentet eller bygget lokalt) før den første konverteringen.

Rask oppsett

Utviklingsstakken (develop/dev.env) leveres allerede med:
Siden det offisielle imaget er privat, må du bygge det medfølgende imaget én gang før du bruker funksjonen:
Start deretter stakken (på nytt) slik at clsi og web plukker opp variablene.

Bygge Pandoc-imaget

Et standard Pandoc-image fungerer fordi clsi kaller Pandoc generisk (ingen egne maler/filtre). Det trenger bare tre grunnleggende ting ved kjøring, som alle håndteres av develop/pandoc/Dockerfile:
Bygg og tagg det slik at taggen samsvarer med PANDOC_IMAGE:
I produksjon bør du låse pandoc/core til en bestemt versjon i stedet for latest for reproduserbare bygg, og sette PANDOC_IMAGE til stien i ditt eget register.

Feilsøking

Sist endret 5. oktober 2026