macOSにTeXをインストールする(1)においてとりあえずEUCでpLaTeXが使えるようになりました。しかし普段はemacs上でyaTeXで原稿を書いていますので動くだけではなかなか実用にはなりません。そこで,emacsをインストールしてyaTeXが使えるようにします。
1. Emacsのインストール
emacsはもともとmacOSにインストールされていますが,やたらバージョンが古いので新しいものを入れます。すでに,Quartzにネイティグに対応したバイナリがあるので簡単です。
Emacs for Mac OS Xのサイトからバイナリをダウンロードします。トップページのダウンロードボタンを押すだけです。pkgファイルをマウントしてEmacs.appを適当なディレクトリにコピーします。
2. Emacs Lispアプリのインストール
~/.emacs.d/init.elに設定を書くと起動時に読みこんで設定が通るはずなのですがなぜか読みこんでいないようにみえます。しょうがないので,~/.emacsを作って,
(load-file (expand-file-name "~/.emacs.d/init.el"))
とだけ書いておきます。
2.0 init.elの初期設定
日本語はEUCをデフォルトにしているのでその設定をしておきます。~/.emacs.d/init.elに以下を書いておきます。
(add-to-list 'load-path "/usr/local/share/emacs/site-lisp")
;;
(set-language-environment "Japanese")
(prefer-coding-system 'euc-jp)
2.1 パッケージの設定
以前に書いた通り,パッケージを設定してそこからemacs lispのパッケージをインストールできるようになります。しかし,どういうわけかインストールしたいyaTeXはリストにありませんでした。なので,yaTeXは手動でインストールしなくてはなりません。yaTeXをインストールするだけならパッケージの設定はしなくてもよいことになります。
2.2 yaTeXのインストール
packageからのインストールができないので手動でインストールします。ここからソースをダウンロードします。ダウンロードしたら適当なところで展開します。tar.gzを展開するとyatex1.82というディレクトリができます。1.82の部分はバージョン番号なのでバージョンによって異なります。
展開したディレクトリをそのまま~/.emacs.d/の下にコピーしてしまいます。
cp -R (somewhere)/yatex1.82 ~/.emacs.d/yatex
2.3 yaTeXの設定
yaTeXの設定についてはこちらに解説がありますが,自分の環境にあわせて~/.emacs.d/init.elに設定を追記します。
こちらに書かれているとおり,dvipdfmxでpdfに変換したのちPreview.appで表示するというプロセスになっています。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; YaTeX
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Add library path
(setq load-path
(cons (expand-file-name "~/.emacs.d/yatex") load-path))
;;
;; YaTeX mode
(setq auto-mode-alist
(cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
;; dvi->pdf and Preview
(setq tex-command "platex -kanji=euc")
(setq dviprint-command-format "~/.emacs.d/dvpd.sh %s")
;;;;(setq dviprint-command-format "dvipdfmx %s")
(setq bibtex-command "pbibtex")
文字コードとしてeucを使う前提なのでplatex -kanji=eucを設定しています。
Preview.appでファイルを開くためのスクリプトは上のページに書かれているものをそのまま以下に引用します。~/.emacs.d/dvpd.shを作成して以下を書いておきます。
#!/bin/bash
filename=$1
dvipdfmx ${filename%.*}.dvi && open -a Preview ${filename%.*}.pdf
2.4 使い方
ctr+c t jでplatex -kanji=euc hoge.texを実行して,hoge.dviが作成されます。エラーがなければ,続いてctr+c t lでdvipdfmx hogeを実行するとプレビューでhoge.pdfが表示されてプレビューできるようになります。
macOSにTeXをインストールする(1)
通常の書き物はpLaTeXを使っています。しかし古いFreeBSD 9.1RにインストールしたteTeXを使っていて当然ですが相当古い(2014年頃にリリースされている)ため,ジャーナル用に提供されているLaTeXのクラスファイルが動かない,という問題が起こってきました。そのため,場当たり的にmacOSにMacTeXをインストールして古いpLaTeXではどうしても動かないクラスファイルを使って凌いでいました。
新しく調達したMac mini (2018)にもLaTeX環境がないと在宅での仕事に支障が生ずるため,以前と同様にMacTeXをインストールしようと考えました。しかし,MacTeX をおすすめできる場合とそうでない場合(私見)を読んで,こりゃだめだろう,というのを理解しました。MacTeXをインストールすると節操なく/usr/local/bin/などに関連ファイルがばらまいて何を入れたかわからない,ということになるのは困ります。これに完全にビビってHomebrewを使ってインストールすることにしました。ここのに書かれているようにやればよさそうです。
Homebrewは既にインストールされているものとします。
まず,Xcodeをインストールして,Xcodeを起動してライセンスに同意します。
次に,
brew install --cask mactex
でHomebrew経由でMacTeXをインストールします。インストール時点(2021年5月)ではTeXLive 2021ベースのMacTeXがインストールされました。
私がシェルとしてtcshを使っているからなのか,TeX関連の実行ファイルへのパスが通っていません。bashを前提として自動処理がされているのかもしれませんが,ないものはないので,.cshrcのパスに
/usr/local/texlive/2021/bin/universal-darwin
を追加します。さらに,環境変数として
setenv TEXMFLOCAL /usr/local/texlive/texmf-local
setenv TEXMFHOME ~/Library/texmf
も設定しておきます。.cshrcを保存したらターミナルのホームディレクトリでrehashをしてから以下のコマンドでシステムのアップデートと紙のサイズを指定します。
sudo tlmgr update --self --all
sudo tlmgr paper a4
それぞれのコマンドごとにそれなりに時間がかかりますが,なんとか最後まで終わります。
MacTeXやベースとなっているTeX Liveは文字コードはUTF-8がデフォルトになっています。遠い昔からFreeBSDを使ってきたのでこれまで作った日本語ファイルの文字コードはすべてEUCです。そのためふつうにコンパイルをすると全部文字化けで使えないということになります。LaTeXのコンパイルエンジンにおける文字コードについてはここに詳しく説明されています。
HomebrewでインストールしたMacTeXは文字コードの自動判別は有効になっていないようですが,手動でオプションを設定すれば対応できそうです。
platex -kanji=euc hoge.tex
dvipdfmx hoge
とやればEUCのファイルからちゃんとしたpdfファイルができました。
Elsevierの論文用LaTeXクラスファイルはpLaTeXでは動かないのでpdfLaTexを使わねばならないようです。しかしpdfLaTexは日本語の処理は少し難易度が高そうです。Elsevierのジャーナルなので英語で書くに決まっていてASCII文字だけ使えばよいので論文をかくうえでは問題はないのですが,今後,pdfLaTeXを使わねばならないとなるともはやEUCはどうしようもない,ということになりそうです。新しい環境についていけなくなっているので,これから先が思いやられます。
新しく調達したMac mini (2018)にもLaTeX環境がないと在宅での仕事に支障が生ずるため,以前と同様にMacTeXをインストールしようと考えました。しかし,MacTeX をおすすめできる場合とそうでない場合(私見)を読んで,こりゃだめだろう,というのを理解しました。MacTeXをインストールすると節操なく/usr/local/bin/などに関連ファイルがばらまいて何を入れたかわからない,ということになるのは困ります。これに完全にビビってHomebrewを使ってインストールすることにしました。ここのに書かれているようにやればよさそうです。
Homebrewは既にインストールされているものとします。
まず,Xcodeをインストールして,Xcodeを起動してライセンスに同意します。
次に,
brew install --cask mactex
でHomebrew経由でMacTeXをインストールします。インストール時点(2021年5月)ではTeXLive 2021ベースのMacTeXがインストールされました。
私がシェルとしてtcshを使っているからなのか,TeX関連の実行ファイルへのパスが通っていません。bashを前提として自動処理がされているのかもしれませんが,ないものはないので,.cshrcのパスに
/usr/local/texlive/2021/bin/universal-darwin
を追加します。さらに,環境変数として
setenv TEXMFLOCAL /usr/local/texlive/texmf-local
setenv TEXMFHOME ~/Library/texmf
も設定しておきます。.cshrcを保存したらターミナルのホームディレクトリでrehashをしてから以下のコマンドでシステムのアップデートと紙のサイズを指定します。
sudo tlmgr update --self --all
sudo tlmgr paper a4
それぞれのコマンドごとにそれなりに時間がかかりますが,なんとか最後まで終わります。
MacTeXやベースとなっているTeX Liveは文字コードはUTF-8がデフォルトになっています。遠い昔からFreeBSDを使ってきたのでこれまで作った日本語ファイルの文字コードはすべてEUCです。そのためふつうにコンパイルをすると全部文字化けで使えないということになります。LaTeXのコンパイルエンジンにおける文字コードについては
HomebrewでインストールしたMacTeXは文字コードの自動判別は有効になっていないようですが,手動でオプションを設定すれば対応できそうです。
platex -kanji=euc hoge.tex
dvipdfmx hoge
とやればEUCのファイルからちゃんとしたpdfファイルができました。
Elsevierの論文用LaTeXクラスファイルはpLaTeXでは動かないのでpdfLaTexを使わねばならないようです。しかしpdfLaTexは日本語の処理は少し難易度が高そうです。Elsevierのジャーナルなので英語で書くに決まっていてASCII文字だけ使えばよいので論文をかくうえでは問題はないのですが,今後,pdfLaTeXを使わねばならないとなるともはやEUCはどうしようもない,ということになりそうです。新しい環境についていけなくなっているので,これから先が思いやられます。
Mac mini (2018)にFirewire接続する
これまで在宅仕事の際にはMac miniを使っていたのですが,Zoomで会議をしていると突然なんの前触れもなく落ちる,という現象に泣かされるようになって重要な会議がある直前に慌てて新しい中古のMac mini (2018)を調達しました。
会議用のカメラはusb -- hdmiのビデオキャプチャを使ってデジカメから動画を取り込んでいるので簡単です。また,マイクも外付けのusbマイクを使っているのでこれも簡単に接続できます。しかし,音声出力はスピーカーへ出力するためにFirewire (IEEE1394)経由で古いスタジオ用A/D, D/A. D/Dコンバータ(Apogee Rosetta 200)に送ってデジタル出力をさらに外部のD/Aコンバータに送ってそのアナログ出力をアンプに入れてスピーカーから出力する,というややこしいことになっています。
Firewire接続のコンバータ(Rosetta 200)を使っていることが問題と言われたらそのとおりかもしれませんが,ラックマウントのシステムでそう簡単に入れ替えられるものでもありません(それに結構,高かったし,Rosetta用のFirewireインターフェースカードはかなりレアものなのです)。以前に使っていたMac miniはFirewire 800端子がついている最後のモデルでしたが,新たに調達したMac mini (2018)にはついてません。そのかわりThunderbolt 3端子が4個ついています。ThunderboltはFirewireの後継として開発された規格なので,Thunderbolt 2をFirewire 800に変換するコネクタはApple純正のものがありました。USB-Cと同じコネクタ形状のThunderbolt 3からFirewireへの変換コネクタは発売されていません。しかし,AppleはThunderbolt 3をThunderbolt 2 (mini display portと同じコネクタ形状)は発売しています。
というわけで,
Mac mini (2018): Thunderbolt 3 (USB-C) --> Thunderbolt 2 (mini display port) --> Firewire 800 (8 pin) --> Firewire 400 (6 pin): Rosetta 200
という無理やりな数珠繋ぎでなんとかMac miniとコンバータを接続して音声出力ができるようにしました。
これでなんとか重要な会議は無事に乗り切ることができました。めでたしめでたし。
会議用のカメラはusb -- hdmiのビデオキャプチャを使ってデジカメから動画を取り込んでいるので簡単です。また,マイクも外付けのusbマイクを使っているのでこれも簡単に接続できます。しかし,音声出力はスピーカーへ出力するためにFirewire (IEEE1394)経由で古いスタジオ用A/D, D/A. D/Dコンバータ(Apogee Rosetta 200)に送ってデジタル出力をさらに外部のD/Aコンバータに送ってそのアナログ出力をアンプに入れてスピーカーから出力する,というややこしいことになっています。
Firewire接続のコンバータ(Rosetta 200)を使っていることが問題と言われたらそのとおりかもしれませんが,ラックマウントのシステムでそう簡単に入れ替えられるものでもありません(それに結構,高かったし,Rosetta用のFirewireインターフェースカードはかなりレアものなのです)。以前に使っていたMac miniはFirewire 800端子がついている最後のモデルでしたが,新たに調達したMac mini (2018)にはついてません。そのかわりThunderbolt 3端子が4個ついています。ThunderboltはFirewireの後継として開発された規格なので,Thunderbolt 2をFirewire 800に変換するコネクタはApple純正のものがありました。USB-Cと同じコネクタ形状のThunderbolt 3からFirewireへの変換コネクタは発売されていません。しかし,AppleはThunderbolt 3をThunderbolt 2 (mini display portと同じコネクタ形状)は発売しています。
というわけで,
Mac mini (2018): Thunderbolt 3 (USB-C) --> Thunderbolt 2 (mini display port) --> Firewire 800 (8 pin) --> Firewire 400 (6 pin): Rosetta 200
という無理やりな数珠繋ぎでなんとかMac miniとコンバータを接続して音声出力ができるようにしました。
これでなんとか重要な会議は無事に乗り切ることができました。めでたしめでたし。