TeX Live インストール備忘録

Environment
Photo by hyt.

いつも使っている環境は Windows + Cygwin 環境で,少し前まで W32TeX,1年くらい前か ら TeX Live for Windows を使っていたのですが,補助的に導入されるコマンドが Cygwin とかち合って使いづらい.何とかならないかと色々工夫していたのですが,Cygwin 環境に直接追加できるパッケージがあるんですね.TeX Wiki の

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 どうもこれはバグだったようです.更新をかけると修正されていますね.

Environment
スポンサーリンク
Following hyt!
hyt adversaria
タイトルとURLをコピーしました