Skip to main content

Pandoc インポート / エクスポート

Overleaf は Pandoc を使用して、ドキュメントと LaTeX を相互に変換できます。変換は clsi サービスが管理するサンドボックス化された Docker コンテナ内で実行されるため、この機能はデフォルトでは無効になっており、いくつかの環境変数で有効にする必要があります。

機能の概要


環境変数

重要な変数は 2 つあり、似ているが関係ないものが 1 つあります。 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. 最初の変換の前に、その Docker ホスト上に PANDOC_IMAGE が存在している必要があります(pull するか、ローカルでビルドします)。

クイックセットアップ

開発スタック(develop/dev.env)には、すでに次の設定が含まれています。
公式イメージは非公開のため、この機能を使う前に同梱のイメージを一度ビルドしてください。
その後、clsi と web が変数を読み込むようにスタックを(再)起動します。

Pandoc イメージのビルド

clsi は Pandoc を汎用的に呼び出す(カスタムテンプレートやフィルターを使わない)ため、標準の Pandoc イメージで動作します。必要なのは 3 つの実行時要件だけで、すべて develop/pandoc/Dockerfile で対応されています。
タグが PANDOC_IMAGE と一致するようにビルドしてタグ付けします。
本番環境では、再現可能なビルドのために pandoc/core を latest ではなく特定のバージョンに固定し、PANDOC_IMAGE を自分のレジストリのパスに設定してください。

トラブルシューティング

最終更新日 2026年10月5日