[proxy対応]brewとtlmgrによるTeX環境構築 (ヒラギノ, times埋め込み設定)


MavericksにpLaTeX（中身はe-pTeX）を導入しました.
brewでtex環境を構築しましたが, 試行錯誤のうちにどうにもならなくなりました...
そんなtex初心者が過去のtex環境を削除してからbrew, tlmgrを使ってインストールした記録です.
proxy環境用の設定と和文にヒラギノ, 英文にTimes系フォントを埋め込む設定を残します.


使用するのは

* homebrew, homebrew-cask
* Basic Tex（TexLiveの中でも軽量）

texはvim, skim, pLaTex, dvipdfmxで書いてるので, 今回の目標は

* platexコマンドでdviファイルを作成し, dvipdfmxでフォント埋め込みができること
* 英文はtimes系フォント（クローン）を埋め込む
* 和文はヒラギノを埋め込む
* proxy環境でもtexのパッケージ管理にtlmgrを使う

としました. 
必要なフォントを含めて500MB程度の容量になりました.

## 前準備: インストール済みのtex環境を削除する

**過去にTeXをインストールしていなければ, この手順は不要です.**

いままでのtex環境をローカル設定も含めて削除します.
texliveでユーザ個別の設定は`$TEXMFROOT/texmf.cnf`で指定されたpathにあるようです.
`$TEXMFROOT`は`kpsewhich -var-value=$TEXMFROOT`で確認できます.
以前にもbrewでbasictexをインストールしたので, 設定ファイルは

```/usr/local/texlive/2013basictex/texmf.cnf
% (Public domain.)
% This texmf.cnf file should contain only your personal changes from the
% original texmf.cnf (for example, as chosen in the installer).
%
% That is, if you need to make changes to texmf.cnf, put your custom
% settings in this file, which is .../texlive/YYYY/texmf.cnf, rather than
% the distributed file (which is .../texlive/YYYY/texmf-dist/web2c/texmf.cnf).
% And include *only* your changed values, not a copy of the whole thing!
%
TEXMFLOCAL = $SELFAUTOPARENT/texmf-local
TEXMFHOME = ~/Library/texmf
TEXMFVAR = ~/Library/texlive/2013basic/texmf-var
TEXMFCONFIG = ~/Library/texlive/2013basic/texmf-config
```

となっていました. 今回はこのローカルな設定ファイルも削除します.

```bash:terminalで
sudo rm -r `kpsewhich -var-value=$TEXMFLOCAL`
rm -r `kpsewhich -var-value=$TEXMFHOME`
rm -r `kpsewhich -var-value=$TEXMFVAR`
rm -r `kpsewhich -var-value=$TEXMFCONFIG`
sudo tlmgr uninstall
brew cask uninstall basictex
# 他のTexLiveがインストールして無ければ, 気持ち悪いのでtexliveDIRも削除
cd /usr/local
sudo rm -r ./texlive
```

## brewでBasic Texを導入

homebrewがproxyを超えてくれるように環境変数を入れます. またtex用のpathも追加

```sh:~/.zshrc
export http_proxy=http://proxy.hoge:8080
export HTTP_PROXY=$http_proxy
export https_proxy=$http_proxy
export HTTPS_PROXY=$http_proxy
export ftp_proxy=$http_proxy
export FTP_PROXY=$http_proxy
export no_proxy=.local,localhost,127.0.0.1
export use_proxy=yes

# brewでインストールしたtexのpath
export PATH=/usr/texbin:$PATH
```

これを保存し,

```bash:terminalで
source ~/.zshrc
brew update 
brew upgrade
brew install ghostscript
brew install imagemagick
brew tap phinze/homebrew-cask
brew cask install basictex
brew cask cleanup
```

を実行

## tlmgrのproxy設定とアップデート

### proxy設定をする
Basic Texがインストールされるとtlmgr（TeXLiveのパッケージマネージャ）もついてくるので, `tlmgr install hoge`でpkgをインストールしていきます. 
が, そのままではproxyから抜けられないようです.

`tlmgr --help`によれば, tlmgrはthe LWP Perl moduleで通信し, 失敗したらwgetでtryするそうです.
Perl moduleのProxy設定は方法がわからなかったのでwgetでproxy対応しました.
`~/.wgetrc`を作成すればよいそうです.

```sh:~/.wgetrc
http_proxy=proxy.hoge:8080/
ftp_proxy=proxy.hoge:8080/
use_proxy = on
```

以降では最初からwgetでtryしてもらえるように`--no-persistent-downloads`オプションをつけます.

### tlmgrと既存パッケージのアップデート

```bash:terminalで
sudo tlmgr update --self --all --no-persistent-downloads 
# collection packのupdateができなかったので, 個別にupdate
sudo tlmgr update collection-basic --no-persistent-downloads 
sudo tlmgr update collection-latex --no-persistent-downloads
sudo tlmgr update collection-latexrecommended --no-persistent-downloads
sudo tlmgr update collection-metapost --no-persistent-downloads
```
collection packでエラー出たので個別にupdateかけました.



## times系フォントを導入

日本語対応は後回しにし, latexコマンドでtimes系フォントを埋め込める環境を整えます.

```bash:teminalで
sudo tlmgr install --no-persistent-downloads newtx fontaxes boondox txfonts ec helvetic
```
*2014-Oct-22, helveticを追加しました*

次に埋め込みの確認をします.

```tex:sample.tex
\documentclass[a4paper]{article}
\usepackage{newtxtext, newtxmath} % to use times clone font
\usepackage{amsmath} % to use align env

\begin{document}
    times font ( clone ) test sample. 

    usepackage -> newtxtext, newtxmath, amsmath

    align env test. 
    \begin{align}
        & y = Ax + B. \\
        \pi
    \end{align}

    Check embedded fonts like... \\
    NimbusRomNo9L ( clone of times font ), rntxmi, rtxmi, rtxr
\end{document}
```
```bash:terminalで
latex sample.tex
dvipdfmx sample.dvi
```
としてtimes系（timesのクローンであるNimbusRomNo9Lやrntxmi, rtxrなど）が埋め込まれていることを確認.
[TeX wiki](http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?newtx)に書いてある newtxtt, newpx も入れたほうがいいのかもしれません.



## 日本語環境を整える
現在のTexLiveでpLaTeXコマンドの中身はe-pTeXだそうです. 諸先輩方の例を参考にptexを入れます.

```bash:terminalで
sudo tlmgr install ptex japanese-otf jfontmaps jsclasses --no-persistent-downloads
```

次に`$TEXMFLOCAL/fonts/opentype/public/hiragino/`にヒラギノフォントのシンボリックリンクを貼ります.`$TEXMFLOCAL`は`kpsewhich -var-value=TEXMFLOCAL`で確認できます.

brew-caskでbasictex2013をインストールした環境では`$TEXMFLOCAL=/usr/local/texlive/2013basic/texmf-local`になっていました.

```bash:terminalで
cd `kpsewhich -var-value=TEXMFLOCAL`
sudo mkdir -p ./fonts/opentype/public/hiragino
cd ./fonts/opentype/public/hiragino
sudo ln -s "/Library/Fonts/ヒラギノ明朝 Pro W3.otf" ./HiraMinPro-W3.otf
sudo ln -s "/Library/Fonts/ヒラギノ明朝 Pro W6.otf" ./HiraMinPro-W6.otf
sudo ln -s "/Library/Fonts/ヒラギノ角ゴ Pro W3.otf" ./HiraKakuPro-W3.otf
sudo ln -s "/Library/Fonts/ヒラギノ角ゴ Pro W6.otf" ./HiraKakuPro-W6.otf
sudo ln -s "/Library/Fonts/ヒラギノ角ゴ Std W8.otf" ./HiraKakuStd-W8.otf
sudo ln -s "/Library/Fonts/ヒラギノ丸ゴ Pro W4.otf" ./HiraMaruPro-W4.otf
sudo ln -s "/System/Library/Fonts/ヒラギノ明朝 ProN W3.otf" ./HiraMinProN-W3.otf
sudo ln -s "/System/Library/Fonts/ヒラギノ明朝 ProN W6.otf" ./HiraMinProN-W6.otf
sudo ln -s "/System/Library/Fonts/ヒラギノ角ゴ ProN W3.otf" ./HiraKakuProN-W3.otf
sudo ln -s "/System/Library/Fonts/ヒラギノ角ゴ ProN W6.otf" ./HiraKakuProN-W6.otf
sudo ln -s "/Library/Fonts/ヒラギノ角ゴ StdN W8.otf" ./HiraKakuStdN-W8.otf
sudo ln -s "/Library/Fonts/ヒラギノ丸ゴ ProN W4.otf" ./HiraMaruProN-W4.otf
sudo mktexlsr
sudo updmap-sys --setoption kanjiEmbed hiragino
kanji-config-updmap hiragino
```

確認のために簡単なtexファイルを用意し

```tex:sampleJ.tex
\documentclass[a4paper]{jarticle}
\usepackage{newtxtext, newtxmath} % for times clone font
\usepackage{amsmath} 	% for align env

\begin{document}
    times font ( clone ) test sample. 

    usepackage -> newtxtext, newtxmath, amsmath
    \begin{align}
        & y = Ax + B. \\
        \pi
    \end{align}
	times系フォント, HiraMinPro-W3が埋め込まれていることを確認する
\end{document}
```
```
platex sampleJ.tex
dvipdfmx sampleJ.dvi
```

で和文にはヒラギノフォント, 英文にはtimes系フォント（のクローン）が埋め込まれていることを確認しました.

## 参考

[MacでLaTeX – TeXShopで日本語が使える最小構成の環境をつくる](http://blog.cyclogy.com/2013/12/21/mac_latex_minimize_with_texshop/)
[Homebrewで最小構成のTeX環境を構築する](http://web-salad.hateblo.jp/entry/2014/02/03/000000)
[プロキシ環境下で Windowsマシンに TeX Live を入れる際のメモ](http://ichiro-maruta.blogspot.jp/2012/04/windows-tex-live.html)