[備忘録]Homebrewを使ってmacOS CatalinaにMacTeX-2020をインストール

#1. はじめに
こちらの記事はHomebrew（`brew cask`）を使ってmacOSに[MacTeX](http://www.tug.org/mactex/)をインストールする作業の備忘録です．TeXShopやLaTeXiT等のGUIアプリケーションを含まない`mactex-no-gui`もありますが，ここでは`mactex`をインストールします．エディタ（私はEmacsを使いますが）のインストールや設定についてはここでは触れません（Emacsのインストールについては[こちらの記事](https://qiita.com/walking_with_models/items/7d618aed1c045e507ea2)，Emacsの簡易な初期設定については[こちらの記事](https://qiita.com/walking_with_models/items/66bedf2316859ae3657e)を参照．YaTeX等を使ったTeX環境の構築については今後記事を書く予定）．


ちなみに，MacTeXは[TeX Live](https://www.tug.org/texlive/)という「現在では国際的に最も普及している最新の TeX ディストリビューション」（[TeX Wiki](https://texwiki.texjp.org/?TeX%20Live0)）のmacOS版で，"[The TeX Live Guide - 2020](http://www.tug.org/texlive/doc/texlive-en/texlive-en.html)"はMacユーザーにはMacTeXの利用を推奨しています．
>As mentioned in section 2.1, a separate distribution is prepared for Mac OS X, named MacTeX (https://tug.org/mactex). We recommend using the native MacTeX installer instead of the TeX Live installer on Mac OS X, because the native installer makes a few Mac-speciﬁc adjustments, in particular to allow easily switching between the various TeX distributions for Mac OS X (MacTeX, Fink, MacPorts, …) using the so-called TeXDist data structure.
MacTeX is ﬁrmly based on TeX Live, and the main TeX trees and binaries are precisely the same. It adds a few extra folders with Mac-speciﬁc documentation and applications.

#1.1 環境
本稿執筆時の作業環境は以下の通りです．

- macOS: Catalina 10.15.4
- Homebrew: 2.2.17


#1.2 参考資料
以下は主に参考にした記事やサイトです．

- 「[MacTeX](https://texwiki.texjp.org/?MacTeX)」@ TeX Wiki
- つうさに氏のブログ記事「[macOSでLaTeX環境（install-tlを使って）](https://tsuu32.hatenablog.com/entry/2020/05/12/190000)」2020年5月12日．

TeX Wikiについては，`brew cask install`の記述やアンインストール方法に関するリンクを参考にしました．

つうさに氏は`install-tl`を使ったインストール方法ですが，既にインストールしたTeX Liveをアンインストールする前のフォントのリンク削除やTeXパッケージのリポジトリTLContrib周りの作業の記録が大変参考になります．


##1.3 関連記事

- macOSへのTeX-Emacs環境の構築全体の流れについては[こちらの記事](https://qiita.com/walking_with_models/items/52a0d0c00aec88903e4b)．

#2. MacTeXのインストール

#2.1 手順
**Step 1:** ターミナルを起動し，以下を行う．

```terminal
$ brew update
$ brew upgrade
```
**Step 2:** 以下を実行し，MacTeXをインストールする．

```terminal
$ brew cask install mactex
```
**（注）** 途中，パスワードが求められるので（`Password:`），パスワードを入力し`RET`．

**Step 3:** ターミナルを再起動する．

####コメント

- **Step1**の`brew update`でHomebrew自身及びフォーミュラ（パッケージ）情報の更新をし，`brew upgrade`で既にインストールされているパッケージの更新を行います．
- **Step2**でMacTeXのインストールを開始します．結構時間が掛かりました．
- **Step3**はインストールの過程で`Caveats`に"You must restart your terminal window for the installation of MacTex CLI tools to take effect."と表示されていたため，よくわかりませんが素直に従います．


#2.2 インストールされる場所
MacTeX (TeX Live)は`/usr/local/`にインストールされるようです．

```terminal:/usr/local/texlive/
$ ls -l
total 0
drwxr-xr-x  20 root  wheel  640  4  8 04:38 2020
drwxr-xr-x   8 root  wheel  256  5 29 12:16 texmf-local
```
- 今回インストールした2020年版はディレクトリ`2020`にインストールされています．
- `texmf-local`はTeX Liveのバージョンに依存しないユーザーの設定等を格納するディレクトリでしょうか．今後TeX Liveをアップグレードしたりアンインストールしても，このディレクトリは残り，引き続き利用できるようです．したがって，必要な場合は`texmf-local`に保存する．





#3. パッケージ管理プログラムtlmgr周り

上記の**2. MacTeXのインストール**を終えてreadme（`/usr/local/texlive/2020/readme-txt.dir/README.JA`）を見てみると，以下のような記述がありました．
>インストール後のパッケージ更新やその他設定は，同じく GUI モードとテキストモードを持つ tlmgr（TeX Live パッケージマネージャ）プログラムで行うことができます．   
install-tl および tlmgr の詳細情報はコマンドラインオプション `--help` を各プログラムに付けて実行してください．（さらに）詳しい情報については，上記のドキュメントへのリンクを参照してください．

ということで，必要な更新や設定を`tlmgr`というパッケージ管理プログラム（？）を利用して行います．参考にしている先人達の記事にも`tlmgr`を使ってTeX Liveの最新版へのアップデートやフォントの設定等を行なっているようです．


- つうさに氏の記事「[macOSでLaTeX環境（install-tlを使って）](https://tsuu32.hatenablog.com/entry/2020/05/12/190000)」（2020年5月20日）のTLContribの部分
- @tomotlab氏の記事「[MacTeXの始め方](https://qiita.com/tomotlab/items/d1e0eecffd553f25bd62)」（2019年8月6日更新）


##3.1 パッケージの更新
まず，パッケージ管理プログラムの`tlmgr`とパッケージを最新版にアップデートします．

### 3.1.1 手順
**Step 1:** ターミナルを起動し，以下を実行する．

```terminal
$ sudo tlmgr update --self --all
```
**（注）** パスワードが求められるので，入力し`RET`．

####コメント

- `tlmgr update`は`--self`オプションで`tlmgr`自身を，`--all`オプションでインストール済みの，`tlmgr`を除くパッケージを最新版にアップデートします．


##3.2 用紙サイズの確認（設定）
次は利用する用紙サイズの設定です．デフォルトではA4サイズになっており，個人的に変更の必要がありません．

```terminal
$ tlmgr paper
Current context paper size (from /usr/local/texlive/2020/texmf-config/tex/context/user/cont-sys.tex): a4
Current dvipdfmx paper size (from /usr/local/texlive/2020/texmf-config/dvipdfmx/dvipdfmx.cfg): a4
Current dvips paper size (from /usr/local/texlive/2020/texmf-config/dvips/config/config.ps): a4
Current pdftex paper size (from /usr/local/texlive/2020/texmf-config/tex/generic/config/pdftexconfig.tex): a4
Current psutils paper size (from /usr/local/texlive/2020/texmf-config/psutils/paper.cfg): a4
Current xdvi paper size (from /usr/local/texlive/2020/texmf-config/xdvi/XDvi): a4
```
- `tlmgr paper`で各プログラムで設定されている用紙サイズを確認できます．

###3.2.1 手順
変更が必要な場合，次の手順で設定します．

**Step 1:** ターミナルを起動し，以下を実行する．

```terminal
$ sudo tlmgr paper hoge
```
**（注）** パスワードが求められるので，入力し`RET`．`hoge`は用紙サイズです（詳しくは`tlmgr --help`を参照）．


##3.3 TeXパッケージリポジトリTLContribの登録

つうさに氏の記事「[macOSでLaTeX環境（install-tlを使って）](https://tsuu32.hatenablog.com/entry/2020/05/12/190000)」には，以下の記述があります．
>macOS付属の（ヒラギノなどの）non-freeなフォントをLaTeXで使うためのツールやファイルは、TeX Live本体にはなく、TLContribにあるのでした（脚注2）。
（脚注2）cjk-gs-support/README-macos.md at master · texjporg/cjk-gs-support · GitHub や jfontmaps/README at master · texjporg/jfontmaps · GitHub を参照してください。

ここで，[TLContrib](https://contrib.texlive.info)とは，TeX Liveには同梱されていないパッケージのリポジトリで，TeX Liveを補完するためのものです．TeX Liveをインストールした時点で登録されているTeX Liveパッケージのリポジトリは`tlnet`のみですが（以下），これに`tlcontrib`を追加します．

```terminal
$ tlmgr repository list
List of repositories (with tags if set):
	http://mirror.ctan.org/systems/texlive/tlnet (main)
```

###3.3.1 手順（パッケージ`gnupg`の準備）
インストールしていく過程，具体的にはRSA暗号キーの作成（登録？）する際に`gnupg`が必要になります．まだインストールされていない場合はHomebrewでパッケージをインストールしておきます．

**Step 1:** ターミナルを起動し，以下を実行する．

```terminal
$ brew install gnupg
```
**Step 2:** ターミナルを再起動する．


###3.3.2 手順（リポジトリTLContribの登録）
上記**3.3.1 手順（準備編）**を終えたらいよいよフォントのインストールです．

**Step 1:** ターミナルを起動し，以下を実行する．

```terminal
$ sudo tlmgr repository add http://contrib.texlive.info/current tlcontrib
$ sudo tlmgr pinning add tlcontrib '*'
$ curl -fsSL https://www.preining.info/rsa.asc | sudo tlmgr key add -
```
**（注）** 各行ともパスワードが求められるので，入力して`RET`．

####コメント

- 1行目：リポジトリを追加します．
- 2行目：よくわかりません．
- 3行目：RSA暗号キーの作成（登録？）．ここで，後半の`| sudo tlmgr`と，`sudo`を使っていることに注意します．素人の私は，`curl`の前に`sudo`を付けるものとだと勘違いし，無駄な時間を費やしました...


##3.4 ヒラギノフォントのインストール

###3.4.1 手順

**Step 1:** ターミナルを起動し，4つのフォント用パッケージをインストールする．

```terminal
$ sudo tlmgr install japanese-otf-nonfree
$ sudo tlmgr install japanese-otf-uptex-nonfree
$ sudo tlmgr install ptex-fontmaps-macos
$ sudo tlmgr install cjk-gs-integrate-macos
```
**（注）** 各行ともパスワードが求められるので，入力して`RET`．

**Step 2:** 以下を実行する．

```terminal
$ sudo cjk-gs-integrate-macos --link-texmf
```

**Step 3:** 以下を実行する．

```terminal
$ sudo kanji-config-updmap-sys --jis2004 hiragino-highsierra-pron
```

####コメント

- **Step 1**の`japanese-otf-nonfree`と`japanese-oft-uptex-nonfree`は非フリーフォントのパッケージだと思います（例えば[こちら](https://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=2366)を参照）．`ptex-fontmaps-macos`はmacOS用のptex-fontmapsパッケージで，`kanji-config-updmap`というコマンドが入っていて，「pTEXやupTEXで生成したDVIを扱う...ドライバ...（dvipdfmx,dvips）...が埋め込む日本語・中国語・韓国語フォントの設定を統一的に指定したり，確認したり」できるとのことです（日本語TeX開発コミュニティ「[kanji-config-updmap — 日本語フォント設定ツール](http://ftp.jaist.ac.jp/pub/CTAN/fonts/ptex-fontmaps/kanji-config-updmap.pdf)」）．
- **Step 2**によりシンボリックリンクを貼っているんだと思います．
- **Step 3**でmacOS High Sierra 以降に付属するヒラギノフォントにデフォルトのフォントを変更します．オプション`--jis2004`を付けることでJIS2004字形を指定しています．


###3.4.2 現在の日本語フォント埋め込み設定の確認
`kanji-config-updmap`のコマンドを使うことで現在の日本語フォント埋め込みを確認することができます．

```terminal
$ kanji-config-updmap-sys status
CURRENT family for ja: hiragino-highsierra-pron (variant: -04)
Standby family : haranoaji
Standby family : hiragino-highsierra
Standby family : hiragino-highsierra-pron
Standby family : ipa
Standby family : ipaex
Standby family : ms
Standby family : toppanbunkyu-highsierra
Standby family : yu-win10
```
- 詳しくは前出の日本語TeX開発コミュニティ「[kanji-config-updmap — 日本語フォント設定ツール](http://ftp.jaist.ac.jp/pub/CTAN/fonts/ptex-fontmaps/kanji-config-updmap.pdf)」を参照しましょう．
- `CURRENT family`が現在設定されているフォントです．



##3.5 gentnonfreefonts + GaramondNo8 Expertのインストール

個人的に英文ではGaramondを使いたいので，パッケージ`garamondx`をインストールして，`.tex`ファイルにおいて`\usepackage{garamondx}`を使えるようにしたいです．そのためには[`getnonfreefonts`](https://www.tug.org/fonts/getnonfreefonts/)をインストールします．

###3.5.1 手順
**Step 1:** ターミナルを起動し，以下を実行する．

```
$ sudo tlmgr install getnonfreefonts
$ sudo getnonfreefonts --sys garamondx
```
####コメント

- 2行目の`--sys`オプションを入れることでパッケージ`garamondx`を`/usr/local/texlive/texmf-local/`以下のディレクトリにインストールするようにします（[マニュアル](https://www.tug.org/fonts/getnonfreefonts/getnonfreefonts.1.html)を参照）．




#4. texmf-local

ディストリビューションに跨って適用される設定やマクロは`/usr/local/texlive/texmf-local`に保存する必要があります．ここに保存しておけば，MacTeXをアンインストールしても安全です．

##4.1 Beamer用のstyファイル
ディストリビューションを見ると，beamerのstyファイルは`/usr/local/texlive/2020/texmf-dist/tex/latex/beamer`にあります．この構造に合わせる形で，`/usr/local/texlive/texmf-local/tex/latex/beamer/`に自身がカスタマイズしたbeamer用のstyファイルを保存することにします．

TeX Liveを初めてインストールしたmacOSなので，MacTeX 2020をインストールし終わった段階では`/usr/local/texlive/texmf-local/tex/latex/`までしかディレクトリ がないので，`beamer`ディレクトリを作る作業から必要になります．

###4.1.1 手順
**Step 1:** ターミナルを起動し，以下を実行する．

```terminal
$ cd /usr/local/texlive/texmf-local/tex/latex/
$ sudo mkdir beamer
```
**Step 2:** `sudo`でstyファイルを`/usr/local/texlive/texmf-local/tex/latex/beamer/`にコピーする．または，以下のようにEmacsで適切なファイル名を指定してファイルを作成し，必要な内容をコピーし，Emacsを保存し（`C-x C-s`），閉じる（`C-x C-c`）．

```terminal
$ sudo emacs beamerthemehoge.sty
```
**Step 3:** 以下を実行する．

```terminal
$ sudo mktexlsr
```

####コメント

- **Step 2**でコピー又は作成するstyファイルの名前は定形化されていて，`beamertheme`+`hoge`+`.sty`です．beamerのTeXファイルのプリアンブルに`\usetheme{hoge}`を挿入します．
- **Step 3**の`mktexlsr`により新しく追加したディレクトリが認識されるようになり，無事コンパイルを実行できるようになります．


#5. アンインストール・アップグレード

以下は**検証していません**が，今後アップグレードをする際に必要になると思われる作業についてメモしておきます．


##5.1 MacTeX
- `brew cask uninstall mactex`（又は`brew cask reinstall mactex`）する前に，`cjk-gs-integrate`で貼ったシンボリックリンクを削除する必要がある．

```terminal
$ sudo cjk-gs-integrate --link-texmf --cleanup
```

- satoryosato氏の記事「[Homebrewを使ったmactexのインストール・アンインストール](https://oversleptabit.com/archives/4701)」（2018年10月4日最終更新）も参考になります．
 

##5.2 getnonfreefonts
- MacTeXをアップグレードした後にフォントマップを登録し直す（[マニュアル](https://www.tug.org/fonts/getnonfreefonts/getnonfreefonts.1.html)を参照）．

```terminal
$ getnonfreefonts --sys --refreshmap
```


#6. おわりに
HomebrewやtlmgrといたmacOSやTeX Liveのパッケージ管理プログラムを利用することで，パスを自分で設定する，といった作業を全く行うことなくTeX環境をインストールすることができました．

後は，新しいTeXのディストリビューションへアップグレードをしたり，macOSのアップグレードに伴ってTeX環境を再構築したりすることがスムーズにできればありがたいです．これは今後やってみるしかないでしょうかね...

なお，この記事ではエディタについては全く扱いませんでした．今後，EmacsのTeX環境構築について備忘録を整理・公開できればと思います．



# A.付録：ターミナルへの出力
## A.1 MacTeX
### MacTeXをインストールする前にターミナルでMacTeXの情報を調べた結果

```terminal
$ brew info mactex
Error: No available formula with the name "mactex" 
Found a cask named "mactex" instead.

mactex: 2020.0407
https://www.tug.org/mactex/
Not installed
From: https://github.com/Homebrew/homebrew-cask/blob/master/Casks/mactex.rb
==> Name
MacTeX
==> Artifacts
mactex-20200407.pkg (Pkg)
==> Caveats
You must restart your terminal window for the installation of MacTex CLI tools to take effect.
Alternatively, Bash and Zsh users can run the command:

  eval "$(/usr/libexec/path_helper)"
```

- MacTeXのインストールの過程．約40分掛かりました．`Password:`でパスワードの入力が求められます．パスワード入力後，ターミナルがフリーズしたように見えても辛抱しましょう．


### MacTeXのインストール

```terminal
$ brew cask install mactex
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/cask).
==> Updated Casks
hazel

==> Caveats
You must restart your terminal window for the installation of MacTex CLI tools to take effect.
Alternatively, Bash and Zsh users can run the command:

  eval "$(/usr/libexec/path_helper)"

==> Downloading http://mirror.ctan.org/systems/mac/mactex/mactex-20200407.pkg
==> Downloading from http://ftp.yz.yamagata-u.ac.jp/pub/CTAN/systems/mac/mactex/mactex-20200407.pkg
######################################################################## 100.0%
==> Verifying SHA-256 checksum for Cask 'mactex'.
==> Installing dependencies: ghostscript
==> Downloading https://homebrew.bintray.com/bottles/ghostscript-9.52.catalina.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/8c/8cd0efa1e5525f849be3ee1e50e1635b99667cb4d1eb6c3002a45378346882
######################################################################## 100.0%
==> Installing ghostscript
==> Pouring ghostscript-9.52.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/ghostscript/9.52: 671 files, 87.4MB
==> Installing Cask mactex
==> Running installer for mactex; your password may be necessary.
==> Package installers may write to any location; options such as --appdir are ignored.
Password:
installer: Package name is MacTeX
installer: choices changes file '/var/folders/92/fj6_bn4j3bvd1s23ck39fw540000gn/T/choices20200529-9999-1mmt2hw.xml' applied
installer: Installing at base path /
installer: The install was successful.
🍺  mactex was successfully installed!
```


## A.2 `gnupg`のインストール

```terminal
$ brew install gnupg
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
console_bridge             create-dmg                 dartsim                    docker                     docker-completion          urdfdom

==> Downloading https://homebrew.bintray.com/bottles/adns-1.5.1.catalina.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/9b/9b64b05711e87f1c4e55cf029ff08df01b49614760063971d3ba027ad8c7a8f2?__gda__=exp=1590733818~hmac=fe08c845295e6330
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/gettext-0.20.2_1.catalina.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/71/71f4ded03e8258b5e6896eebb00d26ed48307fbebece1a884b17ca3fb40e3121?__gda__=exp=1590733819~hmac=bedc9f3ac8ac103d
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/gmp-6.2.0.catalina.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/2e/2e6acd6e62d1b8ef0800061e113aea30a63f56b32b99c010234c0420fd6d3ecf?__gda__=exp=1590733822~hmac=ef267374b9e0854d
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/libunistring-0.9.10.catalina.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/ce/ce746662b98d93511b86920011b5cafcd2eecbce4c9c40d8c52a143cdf708456?__gda__=exp=1590733824~hmac=b403f064378cd8d7
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/libidn2-2.3.0.catalina.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/09/0908585cca518a83f101b2edc0417a26a4b4fc8b76e393c6f6672de6e595c914?__gda__=exp=1590733826~hmac=f7a36bd19a9f80e5
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/libtasn1-4.16.0.catalina.bottle.tar.gz
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/nettle-3.6.catalina.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/7a/7ac7677ba653dbef81dd83ed8cde3dfcb7b464d04442886c396179932f4f9faa?__gda__=exp=1590733834~hmac=127f4fd47a5b7cbf
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/libffi-3.3.catalina.bottle.tar.gz
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/p11-kit-0.23.20_1.catalina.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/f9/f9d23713a5fbd8e1eea89bcc9ab8da6792e1f7e66553da0e307ae8437a7fd950?__gda__=exp=1590733845~hmac=58920dd6fcff715a
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/openssl%401.1-1.1.1g.catalina.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/19/1926679569c6af5337de812d86f4dad2b21ff883ad3a5d2cd9e8836ac5ac7ffe?__gda__=exp=1590733848~hmac=8045d517046c0ebc
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/libevent-2.1.11_1.catalina.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/9d/9d262f9ffb2268340a89c713826d8ca068bcac06c30baf49e6184ab4660d977a?__gda__=exp=1590733850~hmac=12caef56c9486a55
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/unbound-1.10.1.catalina.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/7f/7f66893bc42c776fb8437ae87c27b744fa30ebbea4dc349cb43aa72114b79937?__gda__=exp=1590733852~hmac=13a74753b5bed39f
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/gnutls-3.6.13_2.catalina.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/40/40615ea7396142c9337b7f1d8d70d7d1e1d61672cf10a60b09fa22faea6aa06b?__gda__=exp=1590733857~hmac=ee8b5896e861308c
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/libgpg-error-1.37.catalina.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/23/23059fb82c2bd698184b74900bcca5e0623a334a1e91f440eeea800c9b56bb59?__gda__=exp=1590733859~hmac=3cdf64472ed97d70
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/libassuan-2.5.3.catalina.bottle.tar.gz
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/libgcrypt-1.8.5.catalina.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/7e/7e81e6735f8eb849e26ae30a01ca6aa42c32ab53cace7a2a1867d7148abbb5fd?__gda__=exp=1590733866~hmac=89bacac813614e57
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/libksba-1.4.0.catalina.bottle.tar.gz
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/libusb-1.0.23.catalina.bottle.1.tar.gz
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/npth-1.6.catalina.bottle.tar.gz
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/pinentry-1.1.0_1.catalina.bottle.tar.gz
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/gnupg-2.2.20.catalina.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/52/527ac31afe998a9931a6648c6fcc7288462ae73d6e6e8b84ecf46561c82d50ec?__gda__=exp=1590733892~hmac=24428e6942ee7038
######################################################################## 100.0%
==> Installing dependencies for gnupg: adns, gettext, gmp, libunistring, libidn2, libtasn1, nettle, libffi, p11-kit, openssl@1.1, libevent, unbound, gnutls, libgpg-error, libassuan, libgcrypt, libksba, libusb, npth and pinentry
==> Installing gnupg dependency: adns
==> Pouring adns-1.5.1.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/adns/1.5.1: 14 files, 656.3KB
==> Installing gnupg dependency: gettext
==> Pouring gettext-0.20.2_1.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/gettext/0.20.2_1: 1,923 files, 18.6MB
==> Installing gnupg dependency: gmp
==> Pouring gmp-6.2.0.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/gmp/6.2.0: 20 files, 3.2MB
==> Installing gnupg dependency: libunistring
==> Pouring libunistring-0.9.10.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/libunistring/0.9.10: 54 files, 4.4MB
==> Installing gnupg dependency: libidn2
==> Pouring libidn2-2.3.0.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/libidn2/2.3.0: 70 files, 727.8KB
==> Installing gnupg dependency: libtasn1
==> Pouring libtasn1-4.16.0.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/libtasn1/4.16.0: 60 files, 404.5KB
==> Installing gnupg dependency: nettle
==> Pouring nettle-3.6.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/nettle/3.6: 87 files, 2.4MB
==> Installing gnupg dependency: libffi
==> Pouring libffi-3.3.catalina.bottle.tar.gz
==> Caveats
libffi is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

For compilers to find libffi you may need to set:
  export LDFLAGS="-L/usr/local/opt/libffi/lib"
  export CPPFLAGS="-I/usr/local/opt/libffi/include"

For pkg-config to find libffi you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"

==> Summary
🍺  /usr/local/Cellar/libffi/3.3: 16 files, 489.4KB
==> Installing gnupg dependency: p11-kit
==> Pouring p11-kit-0.23.20_1.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/p11-kit/0.23.20_1: 63 files, 2.9MB
==> Installing gnupg dependency: openssl@1.1
==> Pouring openssl@1.1-1.1.1g.catalina.bottle.tar.gz
==> Caveats
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
  /usr/local/etc/openssl@1.1/certs

and run
  /usr/local/opt/openssl@1.1/bin/c_rehash

openssl@1.1 is keg-only, which means it was not symlinked into /usr/local,
because macOS provides LibreSSL.

If you need to have openssl@1.1 first in your PATH run:
  echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.profile

For compilers to find openssl@1.1 you may need to set:
  export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
  export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"

For pkg-config to find openssl@1.1 you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig"

==> Summary
🍺  /usr/local/Cellar/openssl@1.1/1.1.1g: 8,059 files, 18MB
==> Installing gnupg dependency: libevent
==> Pouring libevent-2.1.11_1.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/libevent/2.1.11_1: 1,063 files, 5MB
==> Installing gnupg dependency: unbound
==> Pouring unbound-1.10.1.catalina.bottle.tar.gz
==> Caveats
To have launchd start unbound now and restart at startup:
  sudo brew services start unbound
==> Summary
🍺  /usr/local/Cellar/unbound/1.10.1: 57 files, 5MB
==> Installing gnupg dependency: gnutls
==> Pouring gnutls-3.6.13_2.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/gnutls/3.6.13_2: 1,242 files, 10.2MB
==> Installing gnupg dependency: libgpg-error
==> Pouring libgpg-error-1.37.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/libgpg-error/1.37: 26 files, 879.0KB
==> Installing gnupg dependency: libassuan
==> Pouring libassuan-2.5.3.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/libassuan/2.5.3: 16 files, 448.6KB
==> Installing gnupg dependency: libgcrypt
==> Pouring libgcrypt-1.8.5.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/libgcrypt/1.8.5: 22 files, 2.6MB
==> Installing gnupg dependency: libksba
==> Pouring libksba-1.4.0.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/libksba/1.4.0: 15 files, 394.0KB
==> Installing gnupg dependency: libusb
==> Pouring libusb-1.0.23.catalina.bottle.1.tar.gz
🍺  /usr/local/Cellar/libusb/1.0.23: 26 files, 474.2KB
==> Installing gnupg dependency: npth
==> Pouring npth-1.6.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/npth/1.6: 11 files, 75.7KB
==> Installing gnupg dependency: pinentry
==> Pouring pinentry-1.1.0_1.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/pinentry/1.1.0_1: 12 files, 272.6KB
==> Installing gnupg
==> Pouring gnupg-2.2.20.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/gnupg/2.2.20: 134 files, 11.2MB
==> Caveats
==> libffi
libffi is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

For compilers to find libffi you may need to set:
  export LDFLAGS="-L/usr/local/opt/libffi/lib"
  export CPPFLAGS="-I/usr/local/opt/libffi/include"

For pkg-config to find libffi you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"

==> openssl@1.1
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
  /usr/local/etc/openssl@1.1/certs

and run
  /usr/local/opt/openssl@1.1/bin/c_rehash

openssl@1.1 is keg-only, which means it was not symlinked into /usr/local,
because macOS provides LibreSSL.

If you need to have openssl@1.1 first in your PATH run:
  echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.profile

For compilers to find openssl@1.1 you may need to set:
  export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
  export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"

For pkg-config to find openssl@1.1 you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig"

==> unbound
To have launchd start unbound now and restart at startup:
  sudo brew services start unbound
```

##A.3 リポジトリTLContribの登録
```terminal
$ sudo tlmgr repository add http://contrib.texlive.info/current tlcontrib
Password:
tlmgr: added repository with tag tlcontrib: http://contrib.texlive.info/current
```

```terminal
$ sudo tlmgr pinning add tlcontrib '*'
tlmgr: package repositories
	main = http://mirror.ctan.org/systems/texlive/tlnet (not verified: gpg unavailable)
	tlcontrib = http://contrib.texlive.info/current (not verified: gpg unavailable)
For more about verification, see https://texlive.info/verification.html.
tlmgr: new pinning data for tlcontrib: *
```

```terminal
$ curl -fsSL https://www.preining.info/rsa.asc | sudo tlmgr key add -
Password:
tlmgr: key successfully imported
```

```terminal
$ tlmgr repository status
tlmgr: package repositories
	main = http://mirror.ctan.org/systems/texlive/tlnet (verified)
	tlcontrib = http://contrib.texlive.info/current (verified)
main http://ftp.jaist.ac.jp/pub/CTAN/systems/texlive/tlnet/tlpkg/texlive.tlpdb verified
tlcontrib http://contrib.texlive.info/current/tlpkg/texlive.tlpdb verified
```

## A.4 ヒラギノフォントのインストール

```terminal
$ sudo tlmgr install japanese-otf-nonfree
Password:
tlmgr: package repositories
	main = http://mirror.ctan.org/systems/texlive/tlnet (verified)
	tlcontrib = http://contrib.texlive.info/current (verified)
[1/1, ??:??/??:??] install: japanese-otf-nonfree @tlcontrib [29k]
running mktexlsr ...
done running mktexlsr.
running mtxrun --generate ...
done running mtxrun --generate.
tlmgr: package log updated: /usr/local/texlive/2020/texmf-var/web2c/tlmgr.log
```

```terminal
$ sudo tlmgr install japanese-otf-uptex-nonfree
tlmgr: package repositories
	main = http://mirror.ctan.org/systems/texlive/tlnet (verified)
	tlcontrib = http://contrib.texlive.info/current (verified)
[1/1, ??:??/??:??] install: japanese-otf-uptex-nonfree @tlcontrib [43k]
running mktexlsr ...
done running mktexlsr.
running mtxrun --generate ...
done running mtxrun --generate.
tlmgr: package log updated: /usr/local/texlive/2020/texmf-var/web2c/tlmgr.log
```

```terminal
$ sudo tlmgr install ptex-fontmaps-macos
tlmgr: package repositories
	main = http://mirror.ctan.org/systems/texlive/tlnet (verified)
	tlcontrib = http://contrib.texlive.info/current (verified)
[1/1, ??:??/??:??] install: ptex-fontmaps-macos @tlcontrib [5k]
running mktexlsr ...
done running mktexlsr.
running mtxrun --generate ...
done running mtxrun --generate.
tlmgr: package log updated: /usr/local/texlive/2020/texmf-var/web2c/tlmgr.log
```

```terminal
$ sudo tlmgr install cjk-gs-integrate-macos
tlmgr: package repositories
	main = http://mirror.ctan.org/systems/texlive/tlnet (verified)
	tlcontrib = http://contrib.texlive.info/current (verified)
[1/2, ??:??/??:??] install: cjk-gs-integrate-macos.x86_64-darwin @tlcontrib [1k]
[2/2, 00:00/00:00] install: cjk-gs-integrate-macos @tlcontrib [5k]
running mktexlsr ...
done running mktexlsr.
running mtxrun --generate ...
done running mtxrun --generate.
tlmgr: package log updated: /usr/local/texlive/2020/texmf-var/web2c/tlmgr.log
```

```terminal
$ sudo cjk-gs-integrate-macos --link-texmf
Password:
cjk-gs-integrate: reading font database ...
cjk-gs-integrate: checking for files ...
cjk-gs-integrate: searching for Ghostscript resource
cjk-gs-integrate: output is going to /usr/local/share/ghostscript/9.52/Resource
cjk-gs-integrate: generating links and snippets for CID fonts ...
cjk-gs-integrate: generating links, snippets and cidfmap.local for non-CID fonts ...
cjk-gs-integrate: adding cidfmap.local to cidfmap file ...
cjk-gs-integrate: generating snippets and cidfmap.aliases for font aliases ...
cjk-gs-integrate: adding cidfmap.aliases to cidfmap file ...
cjk-gs-integrate: running mktexlsr ...
mktexlsr: Updating /usr/local/texlive/2020/texmf-config/ls-R... 
mktexlsr: Updating /usr/local/texlive/2020/texmf-dist/ls-R... 
mktexlsr: Updating /usr/local/texlive/2020/texmf-var/ls-R... 
mktexlsr: Updating /usr/local/texlive/texmf-local/ls-R... 
mktexlsr: Done.
cjk-gs-integrate: finished
```

###ヒラギノフォントへの変更

```
$ sudo kanji-config-updmap-sys --jis2004 hiragino-highsierra-pron
Password:
Setting up ... hiragino-highsierra-pron for ja
updmap [WARNING]: resetting $HOME value (was /Users/hoge) to root's actual home (/var/root).
Creating new config file /usr/local/texlive/2020/texmf-config/web2c/updmap.cfg
updmap [WARNING]: resetting $HOME value (was /Users/hoge) to root's actual home (/var/root).
updmap [WARNING]: resetting $HOME value (was /Users/hoge) to root's actual home (/var/root).
updmap will read the following updmap.cfg files (in precedence order):
  /usr/local/texlive/2020/texmf-config/web2c/updmap.cfg
  /usr/local/texlive/2020/texmf-dist/web2c/updmap.cfg
updmap may write changes to the following updmap.cfg file:
  /usr/local/texlive/2020/texmf-config/web2c/updmap.cfg
dvips output dir: "/usr/local/texlive/2020/texmf-var/fonts/map/dvips/updmap"
pdftex output dir: "/usr/local/texlive/2020/texmf-var/fonts/map/pdftex/updmap"
dvipdfmx output dir: "/usr/local/texlive/2020/texmf-var/fonts/map/dvipdfmx/updmap"

updmap is creating new map files
using the following configuration:
  LW35 font names                  : URWkb (/usr/local/texlive/2020/texmf-dist/web2c/updmap.cfg)
  prefer outlines                  : true (/usr/local/texlive/2020/texmf-dist/web2c/updmap.cfg)
  texhash enabled                  : true
  download standard fonts (dvips)  : true (/usr/local/texlive/2020/texmf-dist/web2c/updmap.cfg)
  download standard fonts (pdftex) : true (/usr/local/texlive/2020/texmf-dist/web2c/updmap.cfg)
  jaEmbed replacement string       : hiragino-highsierra-pron (/usr/local/texlive/2020/texmf-config/web2c/updmap.cfg)
  jaVariant replacement string     : -04 (/usr/local/texlive/2020/texmf-config/web2c/updmap.cfg)
  scEmbed replacement string       : arphic (/usr/local/texlive/2020/texmf-dist/web2c/updmap.cfg)
  tcEmbed replacement string       : arphic (/usr/local/texlive/2020/texmf-dist/web2c/updmap.cfg)
  koEmbed replacement string       : baekmuk (/usr/local/texlive/2020/texmf-dist/web2c/updmap.cfg)
  create a mapfile for pxdvi       : false (default)

Scanning for LW35 support files  [  3 files]
Scanning for MixedMap entries    [ 45 files]
Scanning for KanjiMap entries    [ 11 files]
Scanning for Map entries         [298 files]

Generating output for dvipdfmx...
Generating output for ps2pk...
Generating output for dvips...
Generating output for pdftex...

Files generated:
  /usr/local/texlive/2020/texmf-var/fonts/map/dvips/updmap:
       15796 2020-05-29 21:14:45 builtin35.map
       21269 2020-05-29 21:14:45 download35.map
     4603537 2020-05-29 21:14:46 psfonts_pk.map
     4864507 2020-05-29 21:14:45 psfonts_t1.map
     4857861 2020-05-29 21:14:45 ps2pk.map
          14 2020-05-29 21:14:47 psfonts.map -> psfonts_t1.map
  /usr/local/texlive/2020/texmf-var/fonts/map/pdftex/updmap:
     4857868 2020-05-29 21:14:47 pdftex_dl14.map
     4856203 2020-05-29 21:14:46 pdftex_ndl14.map
          15 2020-05-29 21:14:47 pdftex.map -> pdftex_dl14.map
  /usr/local/texlive/2020/texmf-var/fonts/map/dvipdfmx/updmap:
       10964 2020-05-29 21:14:45 kanjix.map

Transcript written on "/usr/local/texlive/2020/texmf-var/web2c/updmap.log".
updmap: Updating ls-R files.
```

##A.5 getnonfreefonts
### getnonfreefontsのインストール
```terminal
$ sudo tlmgr install getnonfreefonts
Password:
tlmgr: package repositories
	main = http://mirror.ctan.org/systems/texlive/tlnet (verified)
	tlcontrib = http://contrib.texlive.info/current (verified)
[1/2, ??:??/??:??] install: getnonfreefonts.x86_64-darwin @tlcontrib [1k]
[2/2, 00:01/00:30] install: getnonfreefonts @tlcontrib [11k]
running mktexlsr ...
done running mktexlsr.
running mtxrun --generate ...
done running mtxrun --generate.
tlmgr: package log updated: /usr/local/texlive/2020/texmf-var/web2c/tlmgr.log
```

### garamondxのインストール
```terminal
$ sudo getnonfreefonts --sys garamondx
Password:
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 34361  100 34361    0     0  12180      0  0:00:02  0:00:02 --:--:-- 12176
------------------------------------------------------
Installation directory: /usr/local/texlive/texmf-local
------------------------------------------------------

====================
Package 'garamondx':
====================

Downloading 'http://mirrors.ctan.org/install/fonts/garamondx.tds.zip'


  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   337  100   337    0     0    486      0 --:--:-- --:--:-- --:--:--   486
100 2395k  100 2395k    0     0   404k      0  0:00:05  0:00:05 --:--:--  578k
                                                                [download done]

Checking integrity of file 'garamondx.tds.zip'...                          [ok]

d81a2e0bc611480e58e414bf9585cc86  garamondx.tds.zip                 [MD5sum ok]

Extracting 'garamondx.tds.zip'...                                        [done]
Installing 'zgm.map'...updmap [WARNING]: resetting $HOME value (was /Users/hoge) to root's actual home (/var/root).
                                                  [done]

Running 'mktexlsr /usr/local/texlive/texmf-local'...                     [done]

Updating map files (updmap-sys). Be patient...updmap [WARNING]: resetting $HOME value (was /Users/hoge) to root's actual home (/var/root).
                           [done]
```