Skip to main content

Pandoc 가져오기 / 내보내기

Overleaf는 Pandoc을 사용하여 문서를 LaTeX로 변환하거나 LaTeX에서 다른 형식으로 변환할 수 있습니다. 변환은 clsi 서비스가 관리하는 샌드박스 Docker 컨테이너 내부에서 실행되므로, 이 기능은 기본적으로 꺼져 있으며 몇 가지 환경 변수로 켜야 합니다.

기능


환경 변수

중요한 변수는 두 개이며, 비슷해 보이지만 관련이 없는 변수가 하나 있습니다. 1. ENABLE_PANDOC_CONVERSIONS — 마스터 스위치
  • 타입: boolean (true이면 활성화되고, 그 외의 값이면 비활성화됩니다).
  • web과 clsi 서비스 모두에 설정해야 합니다. 두 서비스는 별도의 구성을 가진 별개의 프로세스입니다.
    • web은 이 값을 enablePandocConversions로 읽습니다(services/web/config/settings.defaults.js). 이 값은 가져오기 라우트, 내보내기 라우트, 그리고 프런트엔드에 가져오기/내보내기 UI를 표시할지 알려 주는 ol-ExposedSettings.enablePandocConversions 플래그를 제어합니다.
    • clsi는 이 값을 enablePandocConversions로 읽습니다(services/clsi/config/settings.defaults.cjs). 이 값은 Pandoc을 실행하는 엔드포인트를 제어합니다.
  • web에서는 활성화했지만 clsi에서는 활성화하지 않은 경우(또는 그 반대의 경우), UI는 표시되지만 변환은 실패합니다. 두 설정을 일치시키세요.
2. PANDOC_IMAGE — clsi가 변환을 위해 실행하는 컨테이너 이미지

사전 요구 사항

변환은 clsi가 생성하는 Docker 컨테이너로 실행되므로 다음이 필요합니다.
  1. clsi는 Docker에 접근할 수 있는 샌드박스 모드로 실행되어야 합니다. 개발 스택에서 clsi에는 이미 SANDBOXED_COMPILES=true가 설정되어 있고 호스트 Docker 소켓(/var/run/docker.sock)이 마운트되어 있습니다.
  2. 첫 번째 변환 전에 PANDOC_IMAGE가 해당 Docker 호스트에 있어야 합니다(pull하거나 로컬에서 빌드).

빠른 설정

개발 스택(develop/dev.env)에는 이미 다음이 포함되어 있습니다.
공식 이미지는 비공개이므로, 이 기능을 사용하기 전에 번들된 이미지를 한 번 빌드하세요.
그런 다음 clsi와 web이 변수를 인식하도록 스택을 (재)시작합니다.

Pandoc 이미지 빌드

clsi는 Pandoc을 범용적으로 호출하므로(사용자 지정 템플릿/필터 없음) 기본 Pandoc 이미지로도 동작합니다. 런타임에 필요한 필수 요소는 세 가지뿐이며, 모두 develop/pandoc/Dockerfile에서 처리합니다.
태그가 PANDOC_IMAGE와 일치하도록 빌드하고 태그를 지정합니다.
프로덕션 환경에서는 재현 가능한 빌드를 위해 pandoc/core를 latest 대신 특정 버전으로 고정하고, PANDOC_IMAGE를 레지스트리 경로로 설정하세요.

문제 해결

마지막 수정일 2026년 10월 5일