OverleafはWebブラウザ上でLaTeXの文書を作成・共同編集できるとても便利なLaTeXエディタです。
OverleafはWebサービスとして提供されていますが、オープンソースのエディタであるため自分のPC上で立ち上げることもできます。
ローカルで起動する場合は共同編集はできませんが、自分ひとりで簡易的に使いたい場合は十分な機能を持っています。
環境構築手順
0. 前提
環境構築には次のものが必要です
- git
- docker
1. リポジトリをcloneします
overleaf/toolkit をcloneします。
git clone https://github.com/overleaf/toolkit.git ./overleaf-toolkit
cd ./overleaf-toolkit
2. bin/initを実行し、configファイルを作ります
bin/init
3. bin/up を実行するとdocker composeが動いてOverleafが起動します
bin/up
http://localhost からアクセスできるようになります。
使ってみる
アクセスしたらまずログインフォームが出てくるので、まずアカウントを作る必要があります。

初回は http://localhost/launchpad でAdminユーザーの作成を行います。

ローカルに保存されるだけの情報なのでテキトーに hoge@example.com と password とかで大丈夫だと思います。
あとはログインして普通のOverleafと同様にProjectを作って使えばOKです。

日本語対応する
Webサービスとして提供されているOverleafとはバックエンドで動いているLaTeXの環境が若干異なるようです。
とくに日本語はそのままだと全く使えないのでフォントなどを入れてあげる必要があります。
一時的な対応
手っ取り早い対応としては、起動中のoverleafのDockerコンテナに入って日本語文書用のファイルをダウンロードする方法です。
# Dockerコンテナに入る bin/shell # docker exec -it sharelatex bash でも可 # パッケージマネージャを更新 tlmgr update --self # LuaLaTeX系の日本語パッケージ等をインストール tlmgr install \ collection-luatex \ collection-langjapanese \ xkeyval
Recompileすると、すぐ反映されてエラーなく日本語の文書が作れるようになっています。

なお上記はコンパイラをLuaLaTeXにしていることを前提としているので、Overleafの左上の「Menu」ボタンから設定を開いてコンパイラをLuaLaTeXに変更する必要があります。

恒久的な対応
方法1. 自分でDockerfileを書く(おすすめ)
./config/ に docker-compose.override.yml というファイルを作って変更したい要素を書けばコンテナ環境を変更できます。
まず、 ./config/ にDockerfileと docker-compose.override.ymlを作成します。
./config ├── Dockerfile ├── docker-compose.override.yml ...
./config/Dockerfile は公式のイメージに日本語パッケージを追加するように書いておきます
FROM sharelatex/sharelatex:latest # コンテナのパッケージマネージャを更新 RUN tlmgr update --self # LuaLaTeX系の日本語パッケージ等をインストール RUN tlmgr install \ collection-luatex \ collection-langjapanese \ xkeyval
./config/docker-compose.override.yml には作成したDockerfileを使ってビルドするように書いておきます。
services: sharelatex: build: context: .. dockerfile: config/Dockerfile # ビルドしたイメージに名前をつける(必須) image: local/my-sharelatex:latest
image:の部分に書くイメージ名は適当で大丈夫そうですが、省略してしまうと bin/up したときにoverrideがうまく働かなかったので項目自体は必須のようです。
これで立ち上げると日本語対応できているはずです。
方法2. DockerHub上の日本語対応イメージを指定する
もっと楽な、自分でDockerfileを書かなくていい方法としては、日本語対応済みのOverleafのDockerImageをDockerHubから拾ってくる方法です。
config/overleaf.rc の OVERLEAF_IMAGE_NAMEという変数を書き換えることで参照先を変更できます。
(デフォルトは公式のsharelatex/sharelatex です)
例えば tuetenk0pp/sharelatex-full は 公式イメージ sharelatex/sharelatex に TeX Liveのfullを足し合わせたイメージとなっている ので、これを参照すれば日本語対応できます(なおTeX Liveのfullはファイルサイズが大きく、上記Imageは約14GBあるのでご注意を)。
# Uncomment the OVERLEAF_IMAGE_NAME variable to use a user-defined image. OVERLEAF_IMAGE_NAME=tuetenk0pp/sharelatex-full
⚠️ただし、こうした非公式Docker Imageは性善説が前提となる(セキュリティリスクがある)のと、数年後には更新されなくなっていて代替を探す必要が出てきたりすることもよくありますので注意が必要です。
![[改訂第9版]LaTeX美文書作成入門 [改訂第9版]LaTeX美文書作成入門](https://m.media-amazon.com/images/I/414goKtaBjL._SL500_.jpg)