MacTeX 2020: 「フォーマットパスを変更できません」

MacTeX 2020: 「フォーマットパスを変更できません」

MacTeX 2020 をインストールしましたが、ConTeXt が動作しません (MacTeX 2019 からアップグレードした別のマシンでは動作します)。エラーは次のとおりです:

$ context file.tex
mtx-context     | warning: no format found, forcing remake (commandline driven)
[…] snip lots of lines
resolvers       | formats | changing to format path '/var/folders/rj/hfjmjx796q102y4v23vh038c0000gp/T/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/formats/luatex'
resolvers       | formats | unable to change to format path '/var/folders/rj/hfjmjx796q102y4v23vh038c0000gp/T/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/formats/luatex'
mtx-context     | error, no format found with name: cont-en, aborting
system          | total runtime: 5.315 seconds

私は読むランニングマークIVウィキから実行してみました

context --make
context --make cont-en

しかし、同じunable to change to format pathメッセージが表示されて終了しました。これが根本的な問題だと思います。これらのコマンドを実行した後、PDF を作成しようとすると、依然として同じエラーが発生します。

これをどうすれば修正できますか?

答え1

この問題の解決策はConTeXtメーリングリストから得た(スレッドへのリンク)、そこから引用します。

これらのメッセージは、ConTeXt が作業ディレクトリを変更しようとしたときに、ファイル luat-fmt.lua の途中 (私のシステムではそれぞれ 180 行目と 183 行目) から出力されます (この文脈での「変更」とは、cd や chdir のように別のディレクトリに移動するという意味です)。関連する抜粋は次のとおりです。

report_format("changing to format path %a",validformatpath)
lfs.chdir(validformatpath)
if dir.current() ~= validformatpath then
  return fatalerror(startupdir,"unable to change to format path %a",validformatpath)
end

あなたの場合有効なフォーマットパスは のサブディレクトリで$TMPDIR、 の下です /var/folders/。ただし、あなたの Mac が私のものと似ている場合、/varは実際には へのシンボリック リンクなので/private/var、 はdir.current()で始まるパスを報告し/private、テストは失敗します。

TMPDIRこれを回避するには、--で始まらない他の値に設定します。/varまた、-- もシンボリック リンクなので、どちらでもありません/tmp:-) ホーム フォルダー内の一時ディレクトリで機能するはずです。

私がやっていることは次の通りです:

env TMPDIR=~/tmp context <file>

これをシェルのエイリアスとして設定できます。たとえば、fish の場合は次のようになります。

function context
  env TMPDIR=~/tmp /Library/TeX/texbin/context $argv
end

関連情報