読者です 読者をやめる 読者になる 読者になる

Random Walker Log's Log

二度と見ない系ログファイル

TeXの設定でダメージを受ける

京都から帰ってきて、荷物を整理し、部屋を少し掃除した。仮想環境のArchLinuxでTeXを使えるようにした。大学で本を借りて少し読んだ。ガルパンを12話まで見た。一日のほとんどが移動だったしこんなものだろう。

TeX関連でちょっと不可解なふるまいを見たので、ふらっと現れたtex神が光の速さで解決してくれることを期待して書いておく。
pdf形式の図を含んだtexファイルをplatexコンパイルしようとしたら、こんなエラーが出た:

runpopen command not allowed: extractbb

! LaTeX Error: Cannot run pipe command. Try --shell-escape
(--enable-pipes in MikTeX) option.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.

extractbbというコマンドの実行が許可されていないので、platex --shell-escape ***.texとオプションをつけてみろということらしい。その通りにしたら通った。
しかし、調べてみると、TeX Live 2015以降ではデフォルトでこのextractbbの実行は許可されているそうだ。
extractbb の自動実行許可の設定 - TeX Wiki

このTeX Liveは2016なので、本来こんなエラーが出るはずがない。
念の為バージョンを見てみると、やっぱり2016だ:

$ platex -v
e-pTeX 3.14159265-p3.7-160201-2.6 (utf8.euc) (TeX Live 2016/Arch Linux)
kpathsea version 6.2.2
ptexenc version 1.3.4
Copyright 2016 D.E. Knuth.
There is NO warranty.  Redistribution of this software is
covered by the terms of both the e-pTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the e-pTeX source.
Primary author of e-pTeX: Peter Breitenlohner.

実行が許可されているコマンドはtexmf.cnfという設定ファイルのshell_escape_commands変数に記述されているとのことだったので見てみると、extractbbが入ってない。どういうことだ。
自分でextractbbを追記してみても同じエラーが出る。どうなっているんだ。
結局、毎回--shell-escapeオプションをつけるようにして対処している。セキュリティ的にまずい措置らしいが、現状それしかない。
こういう環境の構築・管理で困らされるのは本当に嫌いだ。ある人が"ツール属性のダメージ"という上手い表現をしているが、実際かなりの精神的ダメージが来る。