1年くらい前の話なのだけど、会社で暗号に関する発表を行う機会があった。暗号に関するものという事で、数式をきれいに表現できるものでスライドを書きたくなる。というわけで、LaTeXでスライドを作ったのだった。
で、最初は普通にVimで書いていたのだけど、書き散らかす段階が終了して微調整の段階に入ると、どんどんプレビューしたくなる…が、それをやるにはちょっと面倒だったので、別にエディタを用意しようと思って探したら、便利そうなやつを見つけたので、それを使う。
今回は以下ページを参考に、自前のサーバに構築して、自分専用にこれを使おう。
Overleaf(旧sharelatex)環境の構築
実際の操作は参考ページとほぼ同一なのだけど、自分用メモとして残しておく。
必要パッケージのインストールと起動
$ sudo pacman -S docker docker-compose
$ sudo systemctl start docker
Overleafの入手と起動
$ git clone https://github.com/overleaf/overleaf.git
$ sudo docker pull sharelatex/sharelatex
$ cd overleaf
$ sudo docker-compose up -d
パッケージのインストール
$ sudo docker ps // コンテナIDを調べる
$ sudo docker exec -it [Container ID] bash
// コンテナ内で
# tlmgr update --self
# tlmgr install scheme-full // これが結構時間かかる
# exit
// コンテナから抜けてから
$ sudo docker commit -m "installing all latex packages" [Container ID] sharelatex/sharelatex:v1
docker-compose.ymlを編集する
$ sudo docker-compose down
$ vi docker-compose.yml
// imageの値を上記commitのものに書き換える
image: sharelatex/sharelatex:v1
// ポート設定を変える。ホストのポート:ゲストのポートで指定。
ports:
- 8080:80
$ sudo docker-compose up -d
初期ユーザの作成
$ sudo docker exec sharelatex /bin/bash -c "cd /var/www/sharelatex; grunt user:create-admin --email=[email address]"
パスワード設定画面のURLが表示されるので、そこにアクセスして、あとはノリで
実際の利用時、pLaTeXを使うように、以下を設定する。
・メニューからCompilerをlatexに変更
・latexmkrcをソースの隣に作成、以下を記述
$latex = 'platex';
$bibtex = 'pbibtex';
$dvipdf = 'dvipdfmx %O -o %D %S';
$makeindex = 'mendex %O -o %D %S';
$pdf_mode = 3;
当時、ArchLinuxのCrhomiumから使ったときは生じなかったのだが、先日MacのChromeから使ったとき、キャレットがずれてしまう現象に遭遇した。
文字を入力していくと、入力した分よりも圧倒的に早くキャレットが右に進んでいってしまう。
MacOSのChromeからOverleaf v2を使っているとカーソルがずれるときの対処法 - toshs memo
上記参考サイトによると、フォントが固定幅でないのに、キャレット位置は固定幅で計算しているためらしい。
紹介されている対処法は以下2つ。
他の場所で同じ現象が再現しないため、フォントの利用停止はしない事にした。
メニューからFont FamilyをMonacoに変更すれば良い。
TeX記法が使える世界に入り込めば、数式がめちゃくちゃ楽に色々書ける。大学院生やってた頃ほんの少しだけ数学していたのだけど、その頃にちょこっと複雑な数式書いた記憶がよく蘇った。楽しいね。