TeXLiveの補完ライブラリーを入れる

ライセンス関係とか、いろんな理由でTeXLiveに入ってないものがある。例えば、Mac上でヒラギノフォントを埋め込むためのスクリプトなど。これらを別途入れる。

https://contrib.texlive.info を見ながら、インストールする。

tlmgr repository add http://contrib.texlive.info/current tlcontrib
tlmgr pinning add tlcontrib "*"

そして、全部をインストールするには、

tlmgr install collection-contrib

とする。

さて、無事にインストールされたか、確認する。

which cjk-gs-integrate-macos

とすると、

/usr/local/texbin/cjk-gs-integrate-macos

と出るので、大丈夫だ。

では、フォントのシンボリック・リンクを作成する。

cjk-gs-integrate --link-texmf --cleanup
cjk-gs-integrate-macos --link-texmf

確認してみる。/usr/local/texlive/texmf-local/fonts/opentype/cjk-gs-integrate/ に大量のシンボリック・リンクが作られている。ファイルシステムを検索しているのだろうか、TEXMFHOME以下に置いていた HiraMinPro-W3.otf とか、TeXLive 2020 の配布物である HaranoAjiMincho-Medium.otf などについても、シンボリック・リンクが作られている。あとは、埋め込み設定をするだけ。

LaTeXでの日本語フォントの埋め込み設定

MacBook Proの設定の番外編。TeXLive 2020では、デフォルトで原の味フォント(haranoaji)という奇妙な名前の日本語フォントが埋め込まれるようになっている。源ノ明朝・源ノ角ゴシックをAdobe-Japan1になるように修正したものだという。悪くはないが、ヒラギノに慣れているので、選べるようにしたい。以下、とりあえず上手く行っている方法。

最優先されるupdmap.cfgは、TEXMFHOME=~/Library/texmf/web2c/updmap.cfgである。ここを書き換えて updmap-sys することによって、/usr/local/texlive/2020/texmf-var/fonts/map/dvipdfmx/updmap/kanjix.map に、どのフォントを埋め込むかが反映される。具体的には、~/Library/texmf/web2c/updmap.cfg を次のような感じで書いて、updmap-sysする。

jaEmbed hiragino-pron
jaVariant -04
# jaEmbed haranoaji
# jaVariant -04

この場合、ヒラギノ ProNの jis2004版が埋め込まれる。上の2行をコメントアウトして、下の2行のコメントを外せば、今度は、原ノ味フォントになる。

MacBook Pro 設定メモ(10) 自作キーボード配列

キーボードは日本語配列、俗に言うJISキーボード。理由は、スペースの両側に、英数・かな、のキーがあり、これで、無変換・変換の切替ができること、それから、Aの左側がコントロール・キーであること。ただし、JISキーボードで不満なのは、ブラケットが上下に並んでいること。ここは、左右に並ぶISO配列(US配列)の方が良い。あと、バックスラッシュの位置も問題あり。ということで、右側の2列を好みに合わせて、再配列する。

ずっと前に作っていた、JISTeXというkeyborad layoutを再利用。~/Library/Keyboard Layouts/ に、JISTeX.keylayout と JISTeX.icns の2つを入れて、システム環境設定からキーボードを開き、入力ソースから、その他にあるJISTeXを追加する。再起動すれば有効となる。

さて、動作確認。JISTeXは英数モードであり、これは問題ない。ひらがなにすると、無効になるのは当然なのだが、上手い方法がある。日本語環境設定(システム環境設定からキーボードを選ぶのと同じ)から、入力ソースに行く。JISTeXと日本語が並んでいるので、日本語を選ぶ(つまりApple純正の日本語変換)。英字のレイアウトという項目があるので、これをABCからJISTeXに変更する。ちなみに、同じ所に句読点の設定や、円マークとバックスラッシュの選択などもある。この修正により、ひらがなモードでも、カギかっこ類が左右の配列になる。さらに、この英字のレイアウトをJISTeXにしたことから、半角入力モード(英字モード)でも、JISTeXが有効になった。ちょっと驚いたが、よくよく考えると、日本語入力の英字のレイアウトをJISTeXにするというのは、正にこの通りの設定なので、当たり前といえばそうだった。

MacBook Pro 設定メモ(9) Tuxera NTFS for Mac

新規購入でも良いかと思ったが、以前購入したライセンスが使えるかもと思い、Tuxera NTFS for Mac のサイトに行き、購入ではなく、ダウンロードを選ぶ。インストールの最後になって、お試し(15日間)ではなく、ライセンスを入力して終了。どうやら、以前のライセンスがまだ有効だったようだ。これで、Microsoft のNTFSフォーマットのHDDがMacでも読み書き出来る。

それにしても、普段の環境に戻す作業が存外に多くて、いささか疲れた。あと少し。頑張ろう。

MacBook Pro 設定メモ(8) Sublime Text 3でTeXとAsymptoteのビルド

Sublime Text 3 は既に入れてある。あとは、TeXとAsymptoteのビルドの設定。これは、以前に作ってあるものを修正するだけ。修正箇所は、パス。今回は、/usr/local/texbin なので、ここにパスを通せばよい。

まず、upLaTeX.sublime-build


{
	"osx" : {
		"selector" : "source.tex",
		"path" : "/usr/local/texbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin",
		"shell" : false,
		"cmd" : [
			"/bin/sh", "-c", 
			"uplatex -halt-on-error -interaction=nonstopmode -synctex=1 -file-line-error -shell-escape '$file' && dvipdfmx '$file_base_name.dvi' && open -a Skim '$file_base_name.pdf'"
		]
	}
}

つぎに、Asymptote.sublime-build


{
	"osx" : {
		"selector" : "source.asy",
		"path" : "/usr/local/texbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin",
		"shell" : false,
		"cmd" : [
			"/bin/sh", "-c", 
			"asy -vv -f pdf  '$file' && open -a Skim $file_base_name.pdf"
		]
	},

	"variants" : [
		{
        "name" : "asy -vv -f eps & Preview EPS",
		"osx" : {	
			"path" : "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin",
        	"shell" : false,
			"cmd" : [
				"/bin/sh", "-c", 
				"asy -vv -f eps '$file' && open -a Preview $file_base_name.eps"
				]
			}
		},

		{
        "name" : "asy -V -vv",
		"osx" : {	
			"path" : "/usr/local/texbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin",
        	"shell" : false,
			"cmd" : [
				"/bin/sh", "-c", 
				"asy -V -vv \"$file\""
				]
			}
		},

		{
        "name" : "asy -vv -noprc -f pdf -render 0 & Skim Preview",
		"osx" : {	
			"path" : "/usr/local/texbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin",
        	"shell" : false,
			"cmd" : [
				"/bin/sh", "-c", 
				"asy -vv -noprc -f pdf -render 0 \"$file\" && open -a Skim $file_base_name.pdf"
				]
			}
		},

		{
        "name" : "asy -vv -prc -f pdf -render 0 -o filename-prc-render0.pdf",
		"osx" : {	
			"path" : "/usr/local/texbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin",
        	"shell" : false,
			"cmd" : [
				"/bin/sh", "-c", 
				"asy -vv -prc -f pdf -o $file_base_name-prc-render0.pdf -render 0 \"$file\""
				]
			}
		},

    	{
        "name" : "Skim-Preview",
        "osx" : {
        	"path" : "/usr/local/texbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin",
			"shell" : false,
			"cmd" : [
				"/bin/sh", "-c", 
				"open -a Skim $file_base_name.pdf"
				]
			}
    	}
   	]
}

Asymptoteの方は、variantsをたくさん作ったのだが、まあ、これはなくてもいいか。3Dの場合だけ、renderをいくつにするか、prcかnoprcかで悩むことがあるのだが、それは、ソースファイルの方に設定を書けばよいだけなので。

MacBook Pro 設定メモ(7) Asymptote

AsymptoteはTeXLive 2020に含まれているから、そのまま動くはず。ただし、設定ファイルがまだ無いから、デフォルトの状態。ということで、

asy -vv foo.asy

とすると、無事に foo.eps が出来た。ちなみに、詳細表示は、

kpsewhich --var-value=TEXMFMAIN
kpsewhich --var-value=ASYMPTOTE_HOME
Using configuration directory /Users/hoge/.asy
Using history /Users/hoge/.asy/history
Welcome to Asymptote version 2.65
cd /Users/hoge/bar
Processing foo
Loading plain from /usr/local/texlive/2020/texmf-dist/asymptote/plain.asy
...

こんな感じで続く。TeXLive付属のAsymptoteの場合、デフォルトでは環境変数ASYMTOTE_HOMEは空になっていて、その場合は、~/.asy が設定フォルダーとなる。つまり、~/.asy/config.asy を探しに行くというわけだ。普段はPDFの出力にしてるので、そのあたりを、config.asy に書き込めばよい。もし、config.asy の場所を変えたい場合は、.zshenv にASYMPTOTE_HOME を設定すればよい。

設定を済ませて、asy foo.asyとしたのだが、Ghostscriptが見つからないよ、というエラー。そうか、TeXLiveではそこまではやってくれないのか。Homebrewで入れる。

brew install ghostscript

とするだけ。これで、PDFの出力もOKだ。

MacBook Pro 設定メモ(6) TeXLive

いよいよ、TeXLiveのインストール。何度かやったことがある作業なので、大丈夫なはずだが・・・。

まずは、http://mirror.ctan.org/systems/texlive/tlnet からインストーラーである install-tl-unx.tar.gz をダウンロードする。どこでも良いが、Safariが自動的に HOME/Downloads/ にダウンロードしたので、そこで作業する。解凍すると、install-tl-20200525 というフォルダーが出来る。そこに移動して、install-tl というperlスクリプトを起動する。

cd ~/Downloads/install-tl-20200525/
sudo perl install-tl -no-gui

そうそう、準備として、システム環境設定のセキュリティとプライバシーから、プライバシーに進み、フルディスクアクセス権をターミナルに与えるという設定にした。これが必要かどうかは不明だが。また、最初は、sudo 付けなかったのだが、/usr/local/texlive が作れないというエラーが出てしまった。

設定は、概ねデフォルトのまま。インストール先は、/usr/local/texlive/2020 だが、これでよい。高度な設定というボタンから、細かい設定を見ていく。
TEXDIR = /usr/local/texlive/2020
TEXMFLOCAL = /usr/local/texlive/texmf-local
TEXMFHOME = ~/Library/texmf
TEXMFVAR = ~/Library/texlive/2020/texmf-var
TEXMFCONFIG = ~/Library/texlive/2020/texmf-config
となっているが、このままで良いかな。

悩ましいのが、ポータブルにするかということ。前にMacBook Air に入れたときは、ポータブルにしたのだが、結局、それを利用することはなかった。ということで、今回は、ポータブル設定はなし、つまり、ディレクトリーは上記の通りの絶対パスに決めた。

2時間くらいかかっただろうか。なんとか成功し、次のメッセージでインストール完了。

Welcome to TeX Live!

See /usr/local/texlive/2020/index.html for links to documentation.
The TeX Live web site (https://tug.org/texlive/) contains any updates and
corrections. TeX Live is a joint project of the TeX user groups around the
world; please consider supporting it by joining the group best for you. The
list of groups is available on the web at https://tug.org/usergroups.html.

Add /usr/local/texlive/2020/texmf-dist/doc/man to MANPATH.
Add /usr/local/texlive/2020/texmf-dist/doc/info to INFOPATH.
Most importantly, add /usr/local/texlive/2020/bin/x86_64-darwin
to your PATH for current and future sessions.
Logfile: /usr/local/texlive/2020/install-tl.log

/usr/local/texlive/2020/bin/x86_64-darwin にパスを通さねば。以前、インストールしたときは、/usr/texbin というシンボリックリンクを作ったのだが。今回は作れるのか?

/usr/texbin は Operation not permitted ということで、結局作れなかった。/usr/local/以下なら作れるようだ。


sudo ln -s /usr/local/texlive/2020/bin/x86_64-darwin/ /usr/local/texbin

次は、/usr/local/texbin にパスを通す。とりあえず、暫定ということで、

export PATH=/usr/local/texbin:$PATH

とした。zshでも、この構文は使えるらしい。そうすると、which uptex などで、パスが通っていることが確認できた。あとは、ログイン時にパスを通すために、.zshenv に上記の設定を書いた。

最後に、カスタマイズ。TEXMFHOMEである ~/Library/texmf/ 以下に、個人的なマクロ、フォント、クラスファイルなどをコピー。ここは、texhash しなくてもファイルサーチする設定のはず。ただし、updmap-sysは必要。sudo付けないと、/usr/local/texlive/ 以下のファイルに書き込みできないとエラー出るので、sudo updmap-sys とする。ううむ、避けたい事態だが、仕方ないのか。

祈りながら(?)、ターミナルから、uplatex test.tex とする。無事にコンパイルできたようだ。dvipdfmx test.dvi としてPDFも出来た。ちょっと驚いたのが、日本語フォントがヒラギノではなく、HaraNoAji(原ノ味)というフォントだったこと。これでも良いが、ヒラギノに変更できるはずだよね。あとで調べよう。

[追記]何度もインストールしてるのに、今回も完全とは行かなかった。インストールするとき、sudo を付けないと進まなかったため、そうしたのだが、すると、/usr/local/texlive 以下がすべて、所有者 root、グループ wheel になってしまった。そのためか分からないが、updmap-sys も sudo updmap-sys としないと書き込みできないのだが、その際に、次のような警告が出る。

updmap [WARNING]: resetting $HOME value (was /Users/hoge) to root's actual home (/var/root)

その先を読むと、どうやら、TEXMFHOME以下にある /Users/hoge/Library/texmf/web2c/updmap.cfg が読み込まれていないようなのだ。だから、自分で設定したフォントの設定とかがエラーになってしまった。

どうしたものか。選択肢は2つ。修正できるなら修正、そうでなければ、別の場所に改めてインストールし直し。修正を試みた。sudo chown を使って、texlive以下のすべてのファイルを、所有者を自分、グループをadminとした。そうすると、updmap-sys が sudo なしで実行できて、/Users/hoge/Library/texmf/web2c/updmap.cfg も無事に読み込まれたようだった。

ということで、事なきを得たのだが、そもそもの問題は、インストールで sudo を使ったことにあるかなあ。しかし、sudoなしでは書き込めないと言われたしなあ。そういえば、Homebrewも/usr/local 以下にインストールされているのだが、sudo要らなかったような気がするけどなあ。記憶曖昧だが。

MacBook Pro 設定メモ(5) エディター

エディターがないと始まらない。とりあえず、Emacs, Sublime Text 3, Atom, Visual Studio Code, Bracket あたり。Emacsはいろんなバージョンがあって、ちょっと悩ましいので、後ほど。問題ないところで、普段から使っているSublime Text 3を入れる。

Sublime Text 3 のサイトから、最新版の Sublime Text Build 3211.dmg をダウンロード。dmgを開いて、Sublime Text.app を /Application に移動。起動させたら、何をおいても、Package ControlをInstallしなくてはならない。確か以前は、謎の呪文をどこぞからコピーしてきて、コンソールにコピーして・・・という手順だったと思うが、最新版では、メニューのToolsの一番下に、Install Package Control という項目があり、簡単にインストールできるようになっていた。(ちなみに、インストールが完了すると、この項目はToolsから消滅していた。) いろんなプラグインがあるが、それはまたいずれ。

Sublime Text 3 だけだと、utf8以外のファイルが読めないので、ミミカキエディット(mi)もダウンロードしておく。最新の3.0.4r1 というのが、Catalinaに対応しているバージョン。Windows使っている人は、いまだにShift-JISを使っている人が居るので、miがあると安心。

MacBook Pro 設定メモ(4) 開発環境

まずは、Xcode関係を入れる。App StoreからXcodeをインストール。8Gくらい消費する。仕方ない。次に、Command Line Tools for Xcode というのをインストールする。XcodeからOpen Developer Tool さらに More Developer Tools… へ進むと、Safariが開き、More Downloads for Apple Developers というサイトに行く。途中、Apple IDでのサインインが要求される。いろんなバージョンのがあるが、Xcodeのバージョン11.5に合わせて、Command_Line_Tools_for_Xcode_11.5.dmg をダウンロードして、インストールする。1Gと少し消費。

次に、Homebrewのインストール。Homebrew本家サイトに行き、例の呪文をコピーして、ターミナルから実行する。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

ちなみに、Homebrewのインストールには、Command Line Toolsが必須とのことで、先に、インストールしておくこと。

MacBook Pro 設定メモ(3) メール

メールは、Mac付属のMail.appとMozzila Thunderbirdとを併用してきたが。新しいMacBook Proでどうするか、悩ましいが、とりあえずは、Mail.app の設定。

Mail.appを起動する。まっさらな状態なので、アカウントを選ぶように促される。その他を選んで、契約しているメールアドレスと、パスワードを入れる。あとは、受信サーバーと送信サーバーを記入するだけ。ううむ。こんなに簡単だったかな。Thunderbirdのときは、以前、OB25だの、いろいろ苦労した記憶もあるが。ポート番号などの記入は一切なし。良きに計らってくれてるのだろうか。ともあれ、契約しているところの説明に従って記入。受信はpopじゃなくてimapにしているから、imap.hogehoge.jp と。送信は、smtp.hogehoge.jp と。これで終了。

Appleのメールだけか分からないが、近頃はいわゆるHTMLメールというのが多いような気がする。個人的には、プレーンテキストで、なおかつ等幅フォントが好きなのだが。