> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# TeX Live のアップグレード

> Overleaf Community Edition のデプロイメントで TeX Live をアップグレードしたり、パッケージをインストールしたりします。

<Danger>
  以下の手順は **Community Edition** のインストールに**のみ**適用されます。Ayakaleaf Pro のユーザーには、[Sandboxed Compiles](/ja/on-premises/configuration/overleaf-toolkit/sandboxed-compiles) を有効にすることを強くおすすめします。これにより、[overleaf.com](https://www.overleaf.com) で使われているものとほぼ同じ TeX Live イメージを利用できるうえ、プロジェクトのコンパイル間が分離されてセキュリティも向上します。
</Danger>

帯域幅を節約するため、Overleaf Community Edition と Ayakaleaf Pro のイメージには、どちらも [TeX Live](https://www.tug.org/texlive/) の最小限のインストールしか含まれていません。`sharelatex` コンテナ内で [tlmgr](https://www.tug.org/texlive/tlmgr.html) コマンドを使うと、パッケージを追加でインストールしたり、TeX Live の完全なインストールにアップグレードしたりできます。

#### sharelatex コンテナに入る

`sharelatex` コンテナ内でシェルを起動するには、次を実行します。

```bash theme={null}
bin/shell
```

次のようなプロンプトが表示されます。

```bash theme={null}
root@309b192d4030:/#
```

以下の手順では、コンテナ内にいることを前提とします。

#### 現在の TeX Live のバージョンを確認する

TeX Live は毎年 4 月頃にリリースされます。`tlmgr` の使い方は、最新リリースを使っているか古いリリースを使っているかによって異なります。実行中の TeX Live のバージョンは `tlmgr --version` で確認できます。たとえば、次のインストールでは TeX Live 2021 が実行されています。

```bash theme={null}
# tlmgr --version
tlmgr revision 59291 (2021-05-21 05:14:40 +0200)
tlmgr using installation: /usr/local/texlive/2021
TeX Live (https://tug.org/texlive) version 2021
```

<Info>
  TeX Live の最新リリースは [TeX Live のホームページ](https://www.tug.org/texlive/)で確認できます。
</Info>

古いバージョンの TeX Live を実行している場合、選択肢は 2 つあります。通常、TeX Live のリリース後まもなく Overleaf Docker イメージの新しいバージョンがリリースされるので、それを待って `bin/upgrade` スクリプトでデプロイメントをアップグレードすることができます。あるいは、古い TeX Live リリースを使い続けたい場合は、まず `tlmgr` に過去のリポジトリを使用するよう指定する必要があります。その手順は[こちら](https://www.tug.org/texlive/acquire.html#past)にあります。

#### パッケージのインストール

TeX Live の完全なインストールを行うには、`sharelatex` コンテナ内で次のコマンドを実行します。

```text theme={null}
tlmgr install scheme-full
```

個別のパッケージを手動でインストールすることもできます。

```bash theme={null}
tlmgr install tikzlings tikzmarmots tikzducks
```

<Warning>
  `3.3.0` リリース以降、すべてのバイナリをシステムパスに正しくシンボリックリンクするために、`tlmgr install` を使用するたびに再度 `tlmgr path add` を実行することが**必須**になりました。
</Warning>

他にも多くのコマンドが利用できます。詳しくは次のコマンドで確認してください。

```text theme={null}
tlmgr help
```

作業が終わったら、`exit` と入力するか Control-D を押してシェルを終了します。

#### 変更を保存する

今行った変更は `sharelatex` コンテナを変更しましたが、一時的なものです。Docker Compose がコンテナを再作成すると（たとえば設定の更新時など）失われてしまいます。

変更を永続化するには、`docker commit` を使って変更を新しい Docker イメージに保存します。

```bash theme={null}
cat config/version #5.2.1
docker commit sharelatex sharelatex/sharelatex:5.2.1-with-texlive-full
echo 5.2.1-with-texlive-full > config/version
```

変更をコミットした後、`config/version` をそれに合わせて更新します。その後 `bin/up` を実行して `sharelatex` コンテナを再作成します。

<Danger>
  新しい Overleaf バージョンに[アップグレード](https://github.com/overleaf/toolkit/blob/master/doc/upgrading.md)するたびに、これらの手順を繰り返す必要があります。
</Danger>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.