5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

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

Last updated at Posted at 2021-12-20

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=joe@example.com"

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

画面操作

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

overleaf-01.png

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

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

overleaf-2.png

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

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

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

overleaf-3.png

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

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

さいごに

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

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?