#はじめに
この記事は,私が以前に書いた記事の2019年度版です.何故新しく書いたのかというとsharelatexはoverleafと合併したこともあり,従来のセットアップ方法と少し変わったからです.あとUbuntu 18.04を使ってみたかったからです.
環境
Ubuntu 18.04LTS
RAM 8GB
必要なもののインストール
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install docker docker-compose
overleafを引っ張ってくる
$ git clone https://github.com/overleaf/overleaf.git
$ docker pull sharelatex/sharelatex
overleafを起動する.
$ cd overleaf
$ docker-compose up -d
コンテナの設定を行う
ここから,コンテナ内にあるTeXを拡張していきます.
overleafを起動した状態で,
$ docker ps
を入力すると,このように起動中のコンテナが表示されます.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7008b6d62732 sharelatex/sharelatex "/sbin/my_init" 2 hours ago Up 2 hours 0.0.0.0:80->80/tcp sharelatex
c2edf6f6d736 mongo "docker-entrypoint.s…" 2 hours ago Up 2 hours (healthy) 27017/tcp mongo
7c70d6bd4f49 redis "docker-entrypoint.s…" 2 hours ago Up 2 hours 6379/tcp redis
そこで,表示されるsharelatexのID(今回だと7008b6d62732
)を使用して,
$ docker exec -it [コンテナID] bash
を実行します.すると
root@7008b6d62732:/#
のようにコンテナ内に入ることができます.その中で,
# tlmgr update --self
# tlmgr install scheme-full
を実行し,TeXをインストールします.ちなみに,インストールする前はTeX関係は最小構成で組まれているそうです.
インストールが終了したら,
# exit
でコンテナから抜けます.その後,
$ sudo docker commit -m "installing all latex packages" [コンテナID] sharelatex/sharelatex:v1
でTeXをインストールしたコンテナを作成します.
作成したコンテナを適用する
次に作成したコンテナを適用させます.
まずはじめに実行していたコンテナを終了させます.
$ cd overleaf
$ docker-compose down
次に,
$ vi docker-compose.yml
より,docker-compose.yml
の中身を
version: '2.2'
services:
sharelatex:
restart: always
# Server Pro users:
# image: quay.io/sharelatex/sharelatex-pro
image: sharelatex/sharelatex:v1 #←ここを先程の新しいコンテナに変更する
container_name: sharelatex
に変更します.
ついでに表示を日本語化する場合は,
SHARELATEX_SITE_LANGUAGE: "ja"
を任意の場所に追加してください.
adminの作成
ここから先はwikiにも記載されている通り,
docker exec sharelatex /bin/bash -c "cd /var/www/sharelatex; grunt user:create-admin --email=[your e-mail address]"
を実行し,その際に表示されるアドレスにアクセスし,adminユーザを作成します.
他のユーザーは,adminでログインした後registerより作成してあげてください.
platexで文章を作成する.
ここまでできたら,あとは使うだけです.使い方は公式のoverleafと同じになります.platexに関しては,
Overleaf v2 で日本語を使用する方法
など先駆者様が書かれていますように,
① MENUからCompilerをlatexに指定
② 新しいファイルを作成より,latexmkrc
を(.texは消す)作成し
$latex = 'platex';
$bibtex = 'pbibtex';
$dvipdf = 'dvipdfmx %O -o %D %S';
$makeindex = 'mendex %O -o %D %S';
$pdf_mode = 3;
を記載してコンパイルしてあげるだけです.
このときに,再編集の隣りにある紙のボタン(ログの表示)を押したあとRAW記録を表示を確認し,e-pTeXでコンパイルされていたら成功です.
試した限りアップロードしたtexファイルで成功しないときがたまにあるので気をつけてください.
上の図のようにThis is e-pTeXと書かれていたらpLaTeXが使えています.
終わりに
今回は,overleafになったこともありUIがちょっと変わりました,以前のようにclsiのcoffeeを書き換えてしまう方法もあると思うのですが,clsiが少し変わってしまっていてかつ使用するnpmのバージョンが若干古いので今回はこの方法を取りました.(実を言うとしばらく格闘としたけどできなかったので誰かやってください)
というかoverleafさんplatexをデフォルトで使えるようにしてください!
overleafになってから情報が減ってしまったのでサーバー組んで使ってくれる人が増えるといいなぁ....
参考
Host Your Own LaTeX Server
TeXLive package manager requires an upgrade! #90
Quick Start Guide