問題:
例えば emacs で tex を文章をコンパイルするとき(例えば yatex などの機能で C-c C-t j する),No such directory or file. bad interpreter と出る.
(emacs からではなく)通常のOSの機能として開いた端末からでは latex にパスを通していることは確認(例えば ~/.bashrc に
PATH=$PATH:/usr/local/texlive/??/bin
と書いている).
emacs で呼ばれる bash が .bashrc の設定を読んでいないことが原因なので、emacs に通常使っている PATH を教える必要がある.
それには以下のような設定を .emacs に書き加えればよい。
参考 http://stackoverflow.com/a/6415812
1 2 3 4 5 6 7 8 |
(defun set-exec-path-from-shell-PATH () (let((path-from-shell (replace-regexp-in-string "[ \t\n]*$" "" (shell-command-to-string "$SHELL --login -i -c 'echo $PATH'")))) (setenv "PATH" path-from-shell) (setq eshell-path-env path-from-shell) ; for eshell users (setq exec-path (split-string path-from-shell path-separator)))) |
余談ですが,シェルスクリプトの 1 行目に書いてある
#!/bin/sh
などのインタプリタ指定のための行は シェバン (shebang) というらしい.