TexWorksでのエラーについて

TexWorksでのエラーについて

- 藤田 俊輔 の投稿
返信数: 10
はじめまして.
LaTex2『美文書作成入門(改訂第6版)』より,Mac OSX YosemiteにTex WorksをDLしたのですが,

env: texlua: No such file or directory


とのエラーが発生してしまいます.

こちら(http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?ptex2pdf)のページを参考に,shebang lineを修正しようとしましたが,「あなたはファイル“ptex2pdf.lua”の所有者ではなく、そのファイルに書き込む権限がありません。」と言われてしまい,変更することができません.


どのようにすればよろしいでしょうか.フォルダを辿って行って変更しようとしたのですが,ターミナルから変更する方法があるのでしょうか.


ご教授いただければ幸いです.

藤田 俊輔 への返信

Re: TexWorksでのエラーについて

- aminophen の投稿
ターミナルから nano で編集するのが一つの手です。

kpsewhich ptex2pdf.lua

を実行すると ptex2pdf.lua の場所が分かります。そのあと

sudo nano `!!`

を実行すると、nano というエディタが起動します。スクリプトを編集して Ctrl + x で上書き保存するかどうか聞かれるので、y を入力して Enter で保存。

これでいけるのではないでしょうか。
藤田 俊輔 への返信

Re: TexWorksでのエラーについて

- KUROKI Yusuke の投稿
私はMac OS X初心者で,昨日か一昨日に初めて美文書第6版のDVDでTeX環境をインストールしたばかりなのですが,ptex2pdf はうまく動いています.不思議ですね.
ターミナルから ptex2pdf -l hoge.ltx してもうまく動かないということですよね?

KUROKI Yusuke への返信

Re: TexWorksでのエラーについて

- aminophen の投稿
以前の Cygwin でのエラーのときから原因不明だったのですが、考えられるのは「多くの OS ではシェバンに引数を 1 つしか受け付けない」という件です。
http://d.hatena.ne.jp/japanrock_pg/20100319/1268968887

うちの OS X Lion では引数 2 つで
#! /usr/bin/env ruby -v
なんかも受け付けています。OS の種類 or バージョン依存でしょうかね。
藤田 俊輔 への返信

Re: TexWorksでのエラーについて

- Z. R. の投稿
shebang lineを修正しようとしましたが

もし本当に shebang 行が原因だとすると、エラーメッセージは

env: texlua  : No such file or directory

になるはずです。なので、メッセージが

env: texlua: No such file or directory

ということは、これは関係ないような気がします。

Z. R. への返信

Re: TexWorksでのエラーについて

- 和田 勇 の投稿
shebang 対策としての「行末のスペース除去」に関しては、その問題が発生するような OS 環境を有していないので検証できないのですが ... 今回の問題は

http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?ptex2pdf

に書かれている注意点の

二番目の PATH の設定を調整すること

で対応できると思います。

以下に簡単な実験の例を添付します。
実験環境は OS X Yosemite でネットワークインストールした TeXLive 2014 を使用し、ターミナルソフトを使って確認を行います。

1 準備と確認
=======

  - テストスクリプト準備
  ,----
  | $ echo '#!/usr/bin/env texlua  -h' > /tmp/ENV.test
  | $ echo 'print("ENV TEST")' >> /tmp/ENV.test
  `----

  - テストスクリプトに実行権付与
  ,----
  | $ chmod +x  /tmp/ENV.test
  `----

  - テストスクリプト確認
  ,----
  | $ cat /tmp/ENV.test
  | #!/usr/bin/env texlua  -h
  | print("ENV TEST")
  `----

2 実験 ...  ENV TEST が表示されるかどうか確認
===============================

  - TeXLive が PATH に入っていない場合
  ,----
  | $ PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:
  | $ /tmp/ENV.test
  | env: texlua: No such file or directory
  `----

  - TeXLive を PATH に追加 (パスは環境に合わせてください)
  ,----
  | $ PATH=/usr/local/texlive/2014/bin/x86_64-darwin:$PATH
  | $ /tmp/ENV.test
  | ENV TEST
  `----
和田 勇 への返信

Re: TexWorksでのエラーについて

- aminophen の投稿
なるほど、そもそも ptex2pdf に限らず TeX 自体のインストールに失敗しているのでしょうね。
サポートページ http://oku.edu.mie-u.ac.jp/~okumura/bibun6/ に Yosemite 用インストーラが公開されているので、書かれている指示に従って再インストールするといかがでしょう?

お持ちの美文書が第1刷であればインストール自体に失敗するようですし。
aminophen への返信

Re: TexWorksでのエラーについて

- 和田 勇 の投稿
いえ、美文書6のインストールは成功していると思いますので .bashrc などの起動時に参照される設定ファイルの PATH の設定を調整すると動くと思います。

美文書6も /usr/local/texlive/20xx に TeXLive をインストールされるようですので(違っていればご指摘ください)、ちょっとオーバスペック気味ですが、最新年版の TeXLive を利用できるようにするため私が使っている .bashrc を添付します。

PATH=/hoge/bin:$PATH などを繰り返すとPATH が見にくくなるので、多重定義を省く、存在しないものも省くなどの処理を行っているのでちょっと難しいので、できればコピーしてホームディレクトリの .bashrc の最後に追加していただければ利用できます。

# --8<--チョキチョキ--8<--チョキチョキ--8<--チョキチョキ--8<--
PATH=$(
    (
# 複数の TeXLive が入っている時、最新年版のものを使う
find /usr/local/texlive \
    -maxdepth 3 \
    -name $(uname -m)-$(uname | tr A-Z a-z) \
| sort -r \
| head -1

# ホームディレクトリや追加導入したものを先に持ってくる
for ii in bin sbin ; do
   for jj in $HOME/.rvm/bin $HOME /opt /usr/local /usr "" ; do
 echo $jj/$ii
   done
done

# /etc/bashrc とかの PATH は優先順位を下げる
echo $PATH | tr ':' '\012'
    ) \
| awk '$1 in path { next } { path[$1] = $1; print }' \
    | while read path ; do test -d "$path" && echo $path ; done \
| xargs echo | tr ' ' ':'
)
# --8<--チョキチョキ--8<--チョキチョキ--8<--チョキチョキ--8<--
和田 勇 への返信

Re: TexWorksでのエラーについて

- aminophen の投稿
美文書6版は「TL2013を/Applications/TeXLive以下にインストールする」と、335ページに書いてあるのですが…
aminophen への返信

Re: TexWorksでのエラーについて

- 和田 勇 の投稿
Yosemite用インストーラの「高度な設定」を見る platex などのコマンドは /Applications/TeXLive/Library/texlive 以下にインストールされるようですね。
そして、TeXLive 用の PATH 設定情報は /etc/paths.d/TeXLive に書き込まれるようです。ターミナルで cat /etc/paths.d/TeXLive などで内容を確認できます。
ここが正しければ使えるとは思いますが ...

もし差し支えなければ /etc/paths.d/TeXLive の内容と次のコマンドの結果を教えてください。

find /Applications/TeXLive -name platex

なお /etc/paths.d については「http://qiita.com/gm_kou/items/24dec9f0e51b9343651b
 PATH設定がどこにあるか分からないときに見るべきファイル」を参考にしました。
和田 勇 への返信

Re: TexWorksでのエラーについて

- 匿 名 の投稿
でびまるです。Mac に Linux がインストールできなくて
Mac 使い始めた初心者ですが普通に TeXworks インストール
しただけだと texlua が見付かりませんでした。

/etc/paths.d での設定はターミナルにしか効かないような
気がします。ターミナルで open -a TeXworks したときだけ
問題ないのではないでしょうか。

Launchpad から起動したときは /etc/launchd.conf で設定
というのがネットで良く見付かりますがこれは Mavericks
までとかで Yosemite だとスクリプトエディタで設定して、
云々、とからしいです。詳しくは
http://www.cryse.org/mac-environment-variable/
これで解決したように重います。

違う気もしますが参考になれば。