LaTeX
Mac
TeX

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

More than 3 years have passed since last update.

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にあるようです.

$TEXMFROOTkpsewhich -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

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


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も追加


~/.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


これを保存し,


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を作成すればよいそうです.


~/.wgetrc

http_proxy=proxy.hoge:8080/

ftp_proxy=proxy.hoge:8080/
use_proxy = on

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


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


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系フォントを埋め込める環境を整えます.


teminalで

sudo tlmgr install --no-persistent-downloads newtx fontaxes boondox txfonts ec helvetic


2014-Oct-22, helveticを追加しました

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


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}



terminalで

latex sample.tex

dvipdfmx sample.dvi

としてtimes系(timesのクローンであるNimbusRomNo9Lやrntxmi, rtxrなど)が埋め込まれていることを確認.

TeX wikiに書いてある newtxtt, newpx も入れたほうがいいのかもしれません.


日本語環境を整える

現在のTexLiveでpLaTeXコマンドの中身はe-pTeXだそうです. 諸先輩方の例を参考にptexを入れます.


terminalで

sudo tlmgr install ptex japanese-otf jfontmaps jsclasses --no-persistent-downloads


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

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


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ファイルを用意し


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で日本語が使える最小構成の環境をつくる

Homebrewで最小構成のTeX環境を構築する

プロキシ環境下で Windowsマシンに TeX Live を入れる際のメモ