いつも使っている環境は Windows + Cygwin 環境で,少し前まで W32TeX,1年くらい前か ら TeX Live for Windows を使っていたのですが,補助的に導入されるコマンドが Cygwin とかち合って使いづらい.何とかならないかと色々工夫していたのですが,Cygwin 環境に直接追加できるパッケージがあるんですね.TeX Wiki の
に説明がありました.
ということで,インストールはこのページの説明通りインストールしてみます.この blog にはその他ちょっとした設定メモを残しておきます.なお,TeX の処理系についての分かり易い解説が「TeX処理系御伽話」にあります.
インストール時のエラーについて
$ /usr/local/texlive/2016/bin/x86_64-cygwin/tlmgr path add tlmgr: action path returned an error; continuing. tlmgr: An error has occurred. See above messages. Exiting.
のようにエラーが出る.これはシンボリック・リンクを /usr/local/bin に張るためのコマンドなので,/usr/local/texlive/2016/bin/x86_64-cygwin 以下との差分を見ると man フォルダ(これもシンボリックリンク)へのシンボリックリンクが無いだけで,他は全てきちんと張れている模様.従って特に問題なしとして放置.なお,逆にシンボリック・リンクを外すコマンドは以下の通り.
$ /usr/local/texlive/2016/bin/x86_64-cygwin/tlmgr path remove
MANPATH, INFOPATH の設定
インストール後に MANPATH, INFOPATH を設定するようにメッセージが出る.ローカルで MANPATH, INFOPATH を設定した方が良い気もしますが,今回は以下の様にしました.
$ vi /etc/defaults/etc/profile # see https://cygwin.com/ml/cygwin/2014-05/msg00352.html # MANPATH="/usr/local/man:/usr/share/man:/usr/man${MANPATH:+:${MANPATH}}" INFOPATH="/usr/local/texlive/2016/texmf-dist/doc/info:/usr/local/info:/usr/share/info:/usr/info${INFOPATH:+:${INFOPATH}}" $ vi /etc/zprofile # see https://cygwin.com/ml/cygwin/2014-05/msg00352.html # MANPATH="/usr/local/man:/usr/share/man:/usr/man${MANPATH:+:${MANPATH}}" INFOPATH="/usr/local/texlive/2016/texmf-dist/doc/info:/usr/local/info:/usr/share/info:/usr/info${INFOPATH:+:${INFOPATH}}" $ vi /etc/man_db.conf MANDATORY_MANPATH /usr/local/texlive/2016/texmf-dist/doc/man MANPATH_MAP /usr/local/bin /usr/local/texlive/2016/texmf-dist/doc/man
Ghostscript について
Ghostscript は Windows 版を入れていたが,dvipdfmx での呼び出しに失敗するので,これはアンインストールして,cygwin 版のものをインストールしています.なお,Cygwin – TeX Wiki に別の不具合対処の方法が載せられています.
Windows フォントの利用
TeX Live から Windows の truetype フォントが使えるよう,以下の様に対処しました.
$ ln -s /cygdrive/c/Windows/Fonts /usr/local/texlive/texmf-local/fonts/truetype $ mktexlsr
.latexmkrc の調整
自動的に再コンパイルをしてくれる latexmkrc の設定ファイルを調整します.ほとんど TeX Wiki に載せられているものと同様ですが, Cygwin と Mac でプレビューアーが適切に切り替わるようにしています.なお,私の好みでフォントは游明朝・ゴシックに設定しました.
#!/usr/bin/env perl if ($^O eq 'cygwin') { $latex = 'uplatex %O -kanji=utf8 -src-specials=math,par -halt-on-error -no-guess-input-enc -synctex=1 %S'; $latex_silent = 'uplatex %O -kanji=utf8 -src-specials=math,par -halt-on-error -no-guess-input-enc -interaction=batchmode -synctex=1 %S'; $bibtex = 'upbibtex %O %B'; $dvipdf = 'dvipdfmx -V 6 -f uptex-yu-win10 %O -o %D %S'; $makeindex = 'mendex -U -r -c -g -s line.ist %O -o %D %S'; $max_repeat = 5; $pdf_mode = 3; # generates pdf via dvipdfmx $pvc_view_file_via_temporary = 0; # Use SumatraPDF as a previewer $pdf_previewer = '"C:/Opt/pa/SumatraPDF/SumatraPDF.exe" -reuse-instance'; } else { $latex = 'uplatex %O -kanji=utf8 -src-specials=math,par -halt-on-error -no-guess-input-enc -synctex=1 %S'; $latex_silent = 'uplatex %O -kanji=utf8 -src-specials=math,par -halt-on-error -no-guess-input-enc -interaction=batchmode -synctex=1 %S'; $bibtex = 'upbibtex %O %B'; $dvipdf = 'dvipdfmx -V 6 -f uptex-yu-osx.map: %O -o %D %S'; $makeindex = 'mendex -U -r -c -g -s line.ist %O -o %D %S'; $max_repeat = 5; $pdf_mode = 3; # generates pdf via dvipdfmx $pvc_view_file_via_temporary = 0; # Use SumatraPDF as a previewer $pdf_previewer = 'open -ga /Applications/Skim.app'; }
dvipdfmx の仕様変更?
TeX Live 2016 になって,uplatex + jsarticle + 11pt(12pt) の場合に dvipdfmx で出力される PDF の用紙の大きさがおかしい.とりあえずの対処として,該当する原稿には \special 命令でA4原稿のサイズを設定しました.
\documentclass[11pt, draft, a4j, uplatex]{jsarticle} \special{papersize=210mm,297mm} \usepackage{amsmath} \usepackage{amsthm} .....
これは少し困るなぁ….そろそろ Luatex + BXjscls な環境に移行した方が良いかなぁ.
PS. これは Cygwin 環境だからかと思っていましたが,mactex も更新をかけると同じ状態になりますね.
PS. 2016.7.23 どうもこれはバグだったようです.更新をかけると修正されていますね.