Overleafを使ってSATySFiファイルを共同編集しましょう!


SATySFi Advent Calendar 2021 2日目の記事です。

まずは、以下のツイートを見てください。

Overleafを使えば、Web上でSATySFiファイルを共同編集できます!!

どういうこと?

というのは半分ネタなのですが、以下真面目にいきます。

Overleafは、主にLaTeXで書かれた原稿を共同編集できるWebアプリです。
登録だけで手軽に使えるSaaS版が有名ですが、今回使うのはオープンソース版のOverleaf。これにSATySFiでも使えるように簡単な改造を施しました。
ここで説明する方法では、アプリをDockerを使って手動で起動して使う必要があり、また共同編集するためにはインターネットからアクセスできるような設定が別途必要になります。

起動

  • 改造版のOverleafを入手します。
  • Dockerをインストールし有効化します。
  • docker-composeをインストールします。
  • 改造版Overleafのディレクトリでdocker-compose up -dを実行します。

アカウント作成

以下のページを参考に作業します。

docker exec sharelatex /bin/bash -c "cd /var/www/sharelatex; grunt user:create-admin [email protected]"

上記コマンド実行中にパスワード入力用URLが表示されます。

画面操作

  • http://localhost:80/ にアクセスしログインします。
  • 「Create First Project」から「Blank Project」を選択しプロジェクトを作成します。
  • すると下のような画面になります

左上の「新規ファイル作成」アイコンから「latexmkrc」ファイル(拡張子は無し)を作成し以下の内容を入力します。

`satysfi test.saty -o output.pdf 2>&1 > output.log`;
exit(0);

左上の「新規ファイル作成」アイコンから「test.saty」ファイルを作成し以下の内容を入力します。

@require: stdjareport
document (|
  title = {test};
  author = {yasuo-ozu};
|) '<
    +p {hello}
>

緑色の「Recompile」を押すと、コンパイル結果が右側の画面に表示されます!

パッケージの追加について

SATySFiをさらに活用するためにパッケージをインストールしたくなると思います。その場合、現在のところWeb画面上でパッケージを追加することができないため、プロジェクト直下のDockerfileを編集することになります。
現在制作中のパッケージマネージャ兼仮想環境satystができれば、latexmkrcのみの変更でパッケージを追加できるようになると思います。

さいごに

OverleafはGit経由でも使える(http認証ですが)ので便利に活用できるのではないでしょうか。