EmacsからOverleafを触るための設定

Atomic Chrome for Emacsというパッケージを使う。

要するに、Chrome拡張 Atomic Chromeの力を借りて、Chrome上でのテキストエリア編集をEmacsから実現できるようにしたパッケージである。Atomic Chrome for Emacsについては作者様の記事を読むのがよい。

そして以下の設定を使う。
atomic-chrome-url-major-mode-alistが、URLとEmacs編集時のメジャーモードを紐づけるための変数である。つまりOverleafはオンラインのLaTeX編集サービスなので、"overleaf.com"をlatex-modeと関連付けるわけである。

なおOverleafで編集時、atomic-chrome-enable-auto-updatenilにしておかないとsync errorが発生する。
Emacsでの編集内容をoverleaf側に反映させる場合は、atomic-chrome-send-buffer-text(C-c C-sにバインドされている)を使う。

(require 'atomic-chrome)
(atomic-chrome-start-server)

(setq atomic-chrome-enable-auto-update nil)
(setq atomic-chrome-url-major-mode-alist
      '(("overleaf\\.com" . latex-mode)
        ("ja.overleaf\\.com" . latex-mode)))