TeXshopでbibTeXがうまく動かなくなりました

TeXshopでbibTeXがうまく動かなくなりました

- T Y の投稿
返信数: 8
以前TeXmakerで文献と図の挿入について質問した者です。
https://okumuralab.org/tex/mod/forum/discuss.php?d=988

使用環境はMacOSXのVersion10.8.3、奥村先生の美文書作成入門5版よりインストールし、TeXのアップデート等は行なっておりません。

うまくTeXmakerを動かせるようにはなったのですが、TeXshopでコンパイルすると、bibTeXで問題が発生しました。
次のソースファイルをタイプセットすると、以下のエラーが出てきます。
¥documentclass{jsarticle}
¥begin{document}
文献を参照する方法については van Leunen~¥cite{leunen},木下~¥cite[pp.~161--167]{木下:作技} が参考になろう。
¥bibliographystyle{jplain}
¥bibliography{myrefs}
¥end{document}

エラー内容

** ERROR ** Unable to find TFM file "jis".

Output file removed.


jif.tfmが見つからないというエラーですが、次の箇所にjis.tfmは有りました。

/usr/local/texlive/p2009/texmf/fonts/tfm/ptex

これも前回の問題と同じく、pathのせいなのでしょうか?pathは以下のところを通しています。

/usr/local/bibunsho/bin/i386-darwin:/usr/local/texlive/p2009/bin/i386-apple-darwin10.3.0:/usr/local/texlive/2009/bin/universal-darwin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/texlive/2009/bin/universal-darwin:/usr/local/texlive/p2009/bin/i386-apple-darwin10.3.0:/usr/local/bibunsho/bin/i386-darwin

ちなみに奥村先生の美文書作成入門5版に入っているTeXworksで試したところ、問題なくコンパイルしました。初めにも書きましたが、TeXmakerでも問題なく動いています。TeXshopのほうの設定をいじった記憶がないのですが、どうしたら無事に使えるようになるのでしょうか?

TeXshopも気に入って使っているので何とかしたいです。

ご回答よろしくお願いします。

T Y への返信

Re: TeXshopでbibTeXがうまく動かなくなりました

- 匿 名 の投稿
少し落ち着かれたほうが良いのではありませんか・・・.

> TeXshopでbibTeXがうまく動かなくなりました

との標題ですが,

> ** ERROR ** Unable to find TFM file "jis".

というエラーであるなら,BibTeX 以前の問題ではないでしょうか.

このエラーが出るのであれば,BibTeX を使わなくともjsclassesを使うと同じエラーが生じると思われますが,もっと簡単なソースでも試されましたか? 御質問をされる際には,問題の切り分けが必要です.

> TeXshopのほうの設定をいじった記憶がないのですが、どうしたら無事に使えるようになるのでしょうか?

TeX に限った話ではありませんが,うまく動いていたときと,うまく動かなくなったときとの間に行ったことが,当然,不具合の原因だと思われます.

私は Mac ユーザーでもなく,奥村先生の御本からインストールしているわけでもないのでよく分からないのですが,

> /usr/local/bibunsho/bin/i386-darwin:
> /usr/local/texlive/p2009/bin/i386-apple-darwin10.3.0:
> /usr/local/texlive/2009/bin/universal-darwin:

これらすべてにパスを通す必要があるのですか(しかも,この順番で)? 

TeXmakerのほうの御投稿では,

> "/usr/local/texlive/p2009/bin/i386-apple-darwin10.3.0/pbibtex" %.aux

と書いてらっしゃったので,TeXmakerではフルパスで指定されているので /usr/local/texlive/p2009/bin/i386-apple-darwin10.3.0/ 以下を見に行っていて,他方TeXshopのほうは /usr/local/bibunsho/bin/i386-darwin/ 以下を見に行っているのではないでしょうか?
匿 名 への返信

Re: TeXshopでbibTeXがうまく動かなくなりました

- T Y の投稿

匿名さん、ありがとうございます。

お恥ずかしながら、少し取り乱していたようです。


次のソースファイルで試したところエラーが発生しました。

\documentclass{jsarticle}

\begin{document}

こんにちは、\TeX 

\end{document}


「こんにちは、」のところを「Hello」にすると問題なく動きました。

どうやらbibTeXの問題ではなかったようです。

すみませんでした。


また、ドキュメントクラスをjarticleにしてもおかしくなっていました。

>

/usr/local/bibunsho/bin/i386-darwin:

/usr/local/texlive/p2009/bin/i386-apple-darwin10.3.0:

/usr/local/texlive/2009/bin/universal-darwin:

これらすべてにパスを通す必要があるのですか(しかも,この順番で)?


に関してですが、bibunshoの中にGhostscriptのgsがあり、p2009にはpLaTeXがあります。

そして2009にはAsympoteなどが2009にだけ存在するので、pathは3つ必要なようです。

順番に関してはよくわかっていません。

ただ、TeXshopで内部パス設定をTeXの方を/usr/local/texlive/p2009/bin/i386-apple-darwin10.3.0

Ghostscriptの方は

/usr/local/bibunsho/bin/i386-darwin

にしているので上手く動いてくれるはずなんですが動いてくれません。


前回の質問で環境変数をいじったのでもう一回pathをいじってみることにしました。

/etc/launchd.confの中身は前回の時には

setenv PATH /usr/local/texlive/2009/bin/universal-darwin:/usr/local/texlive/p2009/bin/i386-apple-darwin10.3.0:/usr/local/bibunsho/bin/i386-darwin

と記述していました。

これを、

setenv PATH /usr/local/texlive/2009/bin/universal-darwin:$PATH

setenv PATH /usr/local/texlive/p2009/bin/i386-apple-darwin10.3.0:$PATH

setenv PATH /usr/local/bibunsho/bin/i386-darwin:$PATH


と記述して保存、Macを再起動したところ、TeXshopは上手くエラーが無くなり、TeXmakerは前回の質問で挙げた症状が再発しました。


どうもpathの通し方に問題があることだけはわかりましたが、ではどのようにpathを通せばいいのかがわかりません。

そもそもpathの通し方を間違っているのかもしれませんが、ネットで調べたものです。

pathの通し方を間違っているのであれば(記述方法も含めて)ご指南よろしくお願いします。

T Y への返信

Re: TeXshopでbibTeXがうまく動かなくなりました

- 奥村 晴彦 の投稿
まずlaunchd.confは通常のシェルが読むものではないので後者の書き方はダメなのでは?(あくまでも勘ですのでググってお調べください)
T Y への返信

Re: TeXshopでbibTeXがうまく動かなくなりました

- 匿 名 の投稿
上の匿名です.
エラそうにお説教じみた物言いをしておきながら,はずしていたようで申し訳ありません.
あとは,Macにお詳しい方にお任せいたします.よろしくお願いします.
匿 名 への返信

Re: TeXshopでbibTeXがうまく動かなくなりました

- T Y の投稿

奥村先生、匿名さん、ありがとうございます。

依然として問題解決にはいたっておりません。

少々自分なりの実験(私にとってはですが・・・)を行って思ったことがありますので書かせて頂きます。

まず、/etc/launchd.confについてなのですが、あまりネットに情報がないような感じです(英語があまり読めないので、それとパスの記述方法がほとんどありませんでした)

試しに.bashrcに書いていたパス

/usr/local/texlive/2009/bin/universal-darwin

/usr/local/texlive/p2009/bin/i386-apple-darwin10.3.0

/usr/local/bibunsho/bin/i386-darwin

を削除して上書き保存しました。

しかし、TeXshopでの挙動は相変わらずエラーでした。

ちょっとここで話がそれますがよろしくお願いします。

私はいまJavaの勉強のために、Eclipseを使っていました。

そして本日使おうと思うと、起動しなくなりました。つい先日まで動いていたのにです。

エラー内容はjavaをインストールしているディレクトリが見つからないというものでした。

これは先日質問した、TeXmakerの問題で奥村先生に/etc/launchd.confをいじるヒントを実行し、この/etc/launchd.confにパスを通してから発生しました。

つまり/etc/launchd.confにパスを通したせいでなぜかEclipseが動かなくなってしまったことに気づきました。

話を戻します。

そこで試しに/etc/launchd.confの中身を削除して、上書き保存しました。

これで自分がわざわざ書いたパスはすべてなくなったはずなので、初期のパスだけが残るはずと予想しました。

ターミナルでprintenv PATHを実行すると、

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin

となりました。予想通りでした。

この状態ではTeXshopの方は上手く動きます。(文献、図の挿入といった機能すべてが起動します)しかしTeXmakerのほうは先日の相談と同じ症状がでます。


次にもう一度/etc/launchd.confにパスを書くことにしました。前回と同じ内容では意味が無い(TeXshopだけでなくEclipseも動きません)ので、次のように記述しました。

setenv PATH /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/texlive/2009/bin/universal-darwin:/usr/local/texlive/p2009/bin/i386-apple-darwin10.3.0:/usr/local/bibunsho/bin/i386-darwin:$PATH


要は初期状態のパスに加えて、TeXで使うパスを記入しました。上書き保存してMacを再起動すると

EclipseとTeXmakerがしっかりと動きます。

しかしTeXshopのほうが上手く動きませんでした。

これらのことから私が考察できるのは、

・TeXshopが動かないのは/etc/launchd.confにパスを記入したためである。

・どうやら/etc/launchd.confには初期状態のパスも書かないと、他のソフトに影響が出ることがある。

.bashrcにかいたパスがあまり活用されていない(気がする)

ということです。

最後にもう一度通っているパスをターミナルで表示すると

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/texlive/2009/bin/universal-darwin:/usr/local/texlive/p2009/bin/i386-apple-darwin10.3.0:/usr/local/bibunsho/bin/i386-darwin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/texlive/2009/bin/universal-darwin:/usr/local/texlive/p2009/bin/i386-apple-darwin10.3.0:/usr/local/bibunsho/bin/i386-darwin:$PATH

となっていました。なぜかTeX関係のパスが2つ入っています。初期のパスは2つあってもおかしくはないのですが、TeX関係のパスは1つじゃないといけないような気がします。

長々となりましたが、ここまでが私が試したことです。パスとか環境変数自体知らなかった人間なので、だいぶ怖かったですが、ここまで何とか理解できてきました。

何か、手がかりや、気になることがあれば些細な事でもいいので、ご回答よろしくお願いします。


T Y への返信

Re: TeXshopでbibTeXがうまく動かなくなりました

- 匿 名 の投稿
Macユーザーでもないのに余計な口出しをしている匿名です.乗りかかった船で多少責任を感じて(?)ググってみましたところ,下掲の [1] と [2] のようなやり方がヒットしました.

なお,奥村先生が,

> まずlaunchd.confは通常のシェルが読むものではないので後者の書き方はダメなのでは?

と書いてらっしゃり,また,例えば,http://d.hatena.ne.jp/fuzzhead/20100907/p1 にも,

> ちなみに、
> setenv PATH $PATH:~/bin
> みたいに書いたら
> 環境変数PATHの値が、
> $PATH:~/bin
> になってしまって、iTermとかも動かなくなってあせった。

とあります.同様に,下記 [1] にも,

> Note also that it doesn't support shell environment variable substitutions (like $PATH) so you'll have to set every path that you want to include.

とありますので,launchd.confで“$PATH”を使うのはマズいようです.(なお,この書法をご案内された匿名氏は私ではありません)

[1] に従うとしますと,/etc/launchd.confに

setenv PATH /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/texlive/2009/bin/universal-darwin:/usr/local/texlive/p2009/bin/i386-apple-darwin10.3.0:/usr/local/bibunsho/bin/i386-darwin

と書くということになり,[2] に従うとしますと,.bash_profileに

export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/texlive/2009/bin/universal-darwin:/usr/local/texlive/p2009/bin/i386-apple-darwin10.3.0:/usr/local/bibunsho/bin/i386-darwin
launchctl setenv PATH $PATH

と書く,ということになりそうです.

これで本当にうまくいくのかどうか私には確認のしようがありませんが,一応ご参考まで.

------------------------------------------------------------
[1] How to change PATH environment variable to OS X 10.8 Mountain Lion that will be visible to GUI applications?
http://apple.stackexchange.com/questions/63662/how-to-change-path-environment-variable-to-os-x-10-8-mountain-lion-that-will-be

With Mountain Lion /etc/launchd.conf is where you should set the GUI applications Path. Remember it's not a script file; it only supports launchctl commands so you should write something like:

    setenv PATH /new/path:/usr/bin:/bin:/usr/sbin:/sbin

Note also that it doesn't support shell environment variable substitutions (like $PATH) so you'll have to set every path that you want to include. It's a good idea to keep the original paths that you've mentioned (/usr/bin:/bin:/usr/sbin:/sbin).

You'll have to reboot after changing (or creating) the file for the changes to take effect.

------------------------------------------------------------
[2] How to set PATH for Finder-launched applications
http://apple.stackexchange.com/questions/51677/how-to-set-path-for-finder-launched-applications

I had the same problem with eclipse, but now I've added e.g. the following to my .bash_profile and then it worked.

    export PATH=some_path:another_path
    launchctl setenv PATH $PATH

In case you want to leave the original path intact use

    p=$(launchctl getenv PATH)
    launchctl setenv PATH /my/new/path:$p

instead (or just launchctl setenv PATH /my/new/path:$(launchctl getenv PATH)).

-----
I ended up using: "launchctl setenv PATH $PATH". Appending the existing launchctl path via "$p" ends up repeating the path each time you open a shell.

------------------------------------------------------------
匿 名 への返信

Re: TeXshopでbibTeXがうまく動かなくなりました

- 匿 名 の投稿
追記:

上記の“setenv PATH”や“export PATH=”の中味はTYさんの御投稿をコピーしたものですが,昨日書店で奥村先生の御本を立ち読みしたところ,パスを通す順番は,

/usr/local/texlive/2009/bin/universal-darwin
/usr/local/texlive/p2009/bin/i386-apple-darwin10.3.0

ではなく,

/usr/local/texlive/p2009/bin/i386-apple-darwin10.3.0
/usr/local/texlive/2009/bin/universal-darwin

の順と書いてあったように思います.
匿 名 への返信

Re: TeXshopでbibTeXがうまく動かなくなりました

- T Y の投稿
大変返信が遅くなってしまいました。
申し訳ございません。

なんとか解決方法はないかとネットを徘徊していましたところ、dvipdfmxの読み込み違いといった感じの記事を見つけました。(http://blog.k-sakabe.com/?p=4939)

奥村先生の美文書作成入門5版の付属のDVDよりインストールしますと、

/usr/local/texlive/2009/bin/universal-darwin

/usr/local/texlive/p2009/bin/i386-apple-darwin10.3.0

の2箇所にdvipdfmxが入っていました。どちらを使ってもいいような感じなのですが、ちょっと気になったのでパスを以下のようにしてみました。エラーが出た時のパスと比較して載せます。いじったのは、etc/launchd.confです。

エラーが出た時のパス設定

setenv PATH /new/path:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/texlive/2009/bin/universal-darwin:/usr/local/texlive/p2009/bin/i386-apple-darwin10.3.0:/usr/local/bibunsho/bin/i386-darwin

成功した時のパス設定

setenv PATH /new/path:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/texlive/p2009/bin/i386-apple-darwin10.3.0:/usr/local/bibunsho/bin/i386-darwin:/usr/local/texlive/2009/bin/universal-darwin

つまり、:/usr/local/texlive/2009/bin/universal-darwinを最後に読み込むようにしてみました。これでエラーが回避出来ました。

どうも2つあるdvipdfmxの読み込む順番で日本語に対応していない方から読みこんで起動したのでエラーが出たのだと推測します。またTeXshopにおいてのパス設定はetc/launchd.confの方のパス設定が優先されているのか、無視されるようです。(あくまで推測です。)

この件について関わってくれた方々にこの場を借りて御礼申し上げます。