Importazione / esportazione con Pandoc
Overleaf può convertire documenti da e verso LaTeX usando Pandoc. La conversione viene eseguita all’interno di un container Docker in sandbox gestito dal servizio clsi, per cui la funzionalità è disattivata per impostazione predefinita e deve essere attivata con un paio di variabili d’ambiente.
Cosa fa
Variabili d’ambiente
Le variabili rilevanti sono due, più una dal nome simile che non lo è.
1. ENABLE_PANDOC_CONVERSIONS — l’interruttore principale
- Tipo: booleano (
true la abilita; qualsiasi altro valore la disabilita).
- Deve essere impostata su ENTRAMBI i servizi
web e clsi. Sono processi separati con configurazioni separate:
web la legge in enablePandocConversions (services/web/config/settings.defaults.js). Controlla le route di importazione, le route di esportazione e il flag ol-ExposedSettings.enablePandocConversions che indica al frontend se mostrare l’interfaccia di importazione/esportazione.
clsi la legge in enablePandocConversions (services/clsi/config/settings.defaults.cjs). Controlla gli endpoint che eseguono Pandoc.
- Se è abilitata su
web ma non su clsi (o viceversa), l’interfaccia comparirà ma la conversione non andrà a buon fine: mantienile sincronizzate.
2. PANDOC_IMAGE — l’immagine del container che clsi esegue per la conversione
Prerequisiti
Poiché le conversioni vengono eseguite come container Docker avviati da clsi:
clsi deve essere eseguito in modalità sandbox con accesso a Docker. Nello stack di sviluppo clsi ha già SANDBOXED_COMPILES=true e il socket Docker dell’host (/var/run/docker.sock) montato.
- L’immagine
PANDOC_IMAGE deve essere presente su quell’host Docker (scaricata o costruita in locale) prima della prima conversione.
Configurazione rapida
Lo stack di sviluppo (develop/dev.env) include già:
Poiché l’immagine ufficiale è privata, costruisci una volta quella inclusa prima di usare la funzionalità:
Quindi (ri)avvia lo stack affinché clsi e web acquisiscano le variabili.
Costruire l’immagine Pandoc
Un’immagine Pandoc standard funziona perché clsi invoca Pandoc in modo generico (senza template/filtri personalizzati). Servono solo tre requisiti di runtime essenziali, tutti gestiti da develop/pandoc/Dockerfile:
Costruiscila e assegnale un tag che corrisponda a PANDOC_IMAGE:
In produzione, fissa pandoc/core a una versione specifica anziché latest per avere build riproducibili, e imposta PANDOC_IMAGE sul percorso del tuo registry.
Risoluzione dei problemi
Ultima modifica il 5 ottobre 2026