2019年12月22日 / cygwinのパス名

まだそのメカニズムはよく分かってないのだけど、とりあえずメモ。

私は Windows で LaTeX を使うとき、TeXLive を cygwin で走らせている。その TeXLive は2017年版で、cygwin のディストリビューションに含まれているものではなく、独自にインストールしている。

その pbibtex で、環境変数 BIBINPUTS がうまく使えなかった。その BIBINPUTS には以下のような値を設定していた(私の実際の設定はもう少し複雑だけど、ここでは簡略化して示す):

.;/cygdrive/c/Users/taro/Documents/bib

cygwin では、UNIX と異なり、各ディレクトリ(フォルダ)はセミコロン `;' で区切られている(UNIX の場合はコロン `:' が用いられる)。

しかし、上記設定がうまくいかない。そこで、以下のように設定すると、期待通りに動いた:

.;c:/Users/taro/Documents/bib

うーん、上の二つの設定は同じはずなんだけどなあ。ちなみに、シェル上で /cygdrive/c/Users/taro/Documents/bib にディレクトリ変更しても、問題なく変更できる。私はこっちの書き方のほうが好きなんだけどな。Cドライブを指定するためのコロンを使わないし。

​念のため書くと、fstab は変更しておらず、mount の出力結果は以下のようになる:

C:/cygwin64/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin64/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin64 on / type ntfs (binary,auto)
C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)

私の知識では、TeXLive のせいなのか cygwin のせいなのか、よく分からない。こういうものなのかなあ? いずれにせよ、cygwin にはよくはまる。


この記事が気に入ったらサポートをしてみませんか?