phpスクリプトを使用して、MAMPを使用してローカルOSX 10.6.7でLaTeXファイル(report.tex)を生成します(ファイルシステムはHFS +です)。次にexec()
、LaTexを使用してファイルをビルドするために使用します。.texはファイルシステム上で適切に作成されますが、ファインダーやLaTexによって.texファイルとして認識されません。問題がファイル自体にあるのではなく、phpスクリプトが作成した方法にあることを確認しました。
実際、テキストエディタを使用してreport.texを作成すると、ファイルはシステムによって正しく処理され、LaTexで問題は発生しません。phpスクリプトを実行すると、同じディレクトリに同じ名前(!)の別のファイルが作成されます。内部的には、これらのファイルはまったく同じであり、16進エディタでチェックされます。ls -ls@
dirで実行すると、次のようになります。
8 -rw-r--r--@ 1 tom staff 871 4 jui 12:30 report.tex
com.apple.FinderInfo 32
com.apple.TextEncoding 15
8 -rw-r--r-- 1 tom staff 805 4 jui 12:35 report.tex
最後のファイルはphpで生成されたものです。xattr -p com.apple.FinderInfo
最初のファイルで実行すると、
54 45 58 54 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
そして、私が実行した場合xattr -p com.apple.TextEncoding
、
UTF-8;134217984
テキストエディタを指定すると、2番目のファイルを問題なく開くことができます(このファイルは.texとして認識されませんが、最初のファイルは認識されます!)。その後、ファイルはTextWranglerで正常に表示されますが、texの構文の色付けはアクティブ化されていません(最初のファイルに対してアクティブ化され、その内容はバイト単位で同じです)。
これらの問題は、この余分な属性に関連していると確信しています。私の質問は:PHPまたはOSXで正しい動作を実現する方法はありますか?つまり、phpによって作成されたファイルは通常の.texファイルとして認識され、たとえば最初のファイルを上書きします(もちろん処理できます) LaTexによる)?
よろしく、
トム