lualatex で -synctex=1 または -synctex=-1 を付けてコンパイルすると
エラーが発生し,正常な PDF ファイルが出力されません.
>lualatex -synctex=1 hoge.tex
! ==> Fatal error occurred, no output PDF file produced!
使用している lualatex は
>lualatex -v
This is LuaTeX, Version beta-0.71.0-2011062921 (Web2C 2011) (rev 4315)
です.
-synctex=1 を外すとコンパイルでき,正常な PDF ファイルが出力されます.
あと,この問題とは別に 2011/05/11 以降の W32TeX では
出力される synctex ファイルに記述されている tex ファイルのパスが
2011/05/11 よりも前のものとは異なっていて以前は
hoge.tex
で出力されていたものが
C:/tex/./hoge.tex
のように出力されるようです.
このため SumatraPDF で forward search ができないものが発生しているようです.
今のところ
・ファイル名をフルパスで指定してコンパイルし ForwardSearch に渡す引数もフルパスにする
・-output-directory= を指定してコンパイルし ForwardSearch に渡す引数もフルパスにする
・ForwardSearch に渡す引数を hoge.tex ではなく ./hoge.tex にする
などの回避策で forward search できていますがなぜこのような出力に変更されたのが
ご存じの方はおられませんか?
Kakuto さん.返信ありがとうございます.
stable version ( luatex-w32.tar.xz ) の lualatex を展開,上書きして
-synctex=1 を付けてコンパイルすると
エラーとならず,正常な PDF ファイルが出力されました.
stable version の lualatex は以下の通りです.
>lualatex -v
This is LuaTeX, Version beta-0.70.1-2011061421 (Web2C 2011) (rev 4277)
わざわざ問い合わせていただいてありがとうございました.
> C:/tex/./hoge.tex
> は正しい名前なので、SumatraPDF も訂正されたはずです。
> 最新のものを入手してみてください。
SumatraPDF は v1.6 でテストしました.
すみません.記述している情報が少なすぎました.もう少し詳細な記述をします.
2011/05/11 以降の W32TeX で WinShell 3.3.2.4 と SumatraPDF v1.6 で forward search をしようとすると
不明な ソースファイル (C:\TeX\hoge.tex)
と出力され forward search ができません.
synctex ファイルを見てみると
SyncTeX Version:1
Input:1:C:/tex/./hoge.tex
のように記述されています.
synctex ファイルの
SyncTeX Version:1
の次に出力されているファイル名を
Input:1:C:/tex/hoge.tex
または 2011/05/11 よりも前の W32TeX で出力されていたように
Input:1:hoge.tex
のように変更した場合は SumatraPDF で forward search が可能です.
Input:1:C:/tex/./hoge.tex
のように記述されている場合は SumatraPDF が
不明な ソースファイル (C:\TeX\hoge.tex)
と出力して forward search ができません.
. (ドット) はカレントディレクトリなので C:/tex/./hoge.tex もファイルの場所を示すパスの記述としては正しい記述です.
ただし,この場合はなぜかうまくいかないのです.
WinShell の LaTeX の exeファイル名を
powershell.exe
コマンドラインを
-Command "& {platex -synctex=1 -interaction=nonstopmode "$pwd\%s.tex"}"
として無理矢理フルパスを与えてコンパイルさせれば SumatraPDF で forward search を行います.
この場合の synctex ファイルは
Input:1:c:/tex/hoge.tex
のように記述されています.
おそらく SyncTeX の仕様が変更されたのだと思ったのですが
SyncTeX のコミットログからはなぜこのように変更されたのかが分からなかったので
こちらで質問させていただきました.
とりあえずバグではなく仕様が変更されたのだということが分かったのでよかったです.
どうもありがとうございました.
stable version ( luatex-w32.tar.xz ) の lualatex を展開,上書きして
-synctex=1 を付けてコンパイルすると
エラーとならず,正常な PDF ファイルが出力されました.
stable version の lualatex は以下の通りです.
>lualatex -v
This is LuaTeX, Version beta-0.70.1-2011061421 (Web2C 2011) (rev 4277)
わざわざ問い合わせていただいてありがとうございました.
> C:/tex/./hoge.tex
> は正しい名前なので、SumatraPDF も訂正されたはずです。
> 最新のものを入手してみてください。
SumatraPDF は v1.6 でテストしました.
すみません.記述している情報が少なすぎました.もう少し詳細な記述をします.
2011/05/11 以降の W32TeX で WinShell 3.3.2.4 と SumatraPDF v1.6 で forward search をしようとすると
不明な ソースファイル (C:\TeX\hoge.tex)
と出力され forward search ができません.
synctex ファイルを見てみると
SyncTeX Version:1
Input:1:C:/tex/./hoge.tex
のように記述されています.
synctex ファイルの
SyncTeX Version:1
の次に出力されているファイル名を
Input:1:C:/tex/hoge.tex
または 2011/05/11 よりも前の W32TeX で出力されていたように
Input:1:hoge.tex
のように変更した場合は SumatraPDF で forward search が可能です.
Input:1:C:/tex/./hoge.tex
のように記述されている場合は SumatraPDF が
不明な ソースファイル (C:\TeX\hoge.tex)
と出力して forward search ができません.
. (ドット) はカレントディレクトリなので C:/tex/./hoge.tex もファイルの場所を示すパスの記述としては正しい記述です.
ただし,この場合はなぜかうまくいかないのです.
WinShell の LaTeX の exeファイル名を
powershell.exe
コマンドラインを
-Command "& {platex -synctex=1 -interaction=nonstopmode "$pwd\%s.tex"}"
として無理矢理フルパスを与えてコンパイルさせれば SumatraPDF で forward search を行います.
この場合の synctex ファイルは
Input:1:c:/tex/hoge.tex
のように記述されています.
おそらく SyncTeX の仕様が変更されたのだと思ったのですが
SyncTeX のコミットログからはなぜこのように変更されたのかが分からなかったので
こちらで質問させていただきました.
とりあえずバグではなく仕様が変更されたのだということが分かったのでよかったです.
どうもありがとうございました.
> SumatraPDF は v1.6 でテストしました.
v1.6 はだめです。まだ正式 release は無いようですね。
prerelease 1.7.3952 から対応しています。
http://blog.kowalczyk.info/software/sumatrapdf/prerelease.html
> おそらく SyncTeX の仕様が変更されたのだと思ったのですが
> SyncTeX のコミットログからはなぜこのように変更されたのかが分か
> らなかったので
> こちらで質問させていただきました.
TeXLive での変更です。 Taco Hoekwater さんによる、
LuaTeX の仕様に全部あわせられました。
v1.6 はだめです。まだ正式 release は無いようですね。
prerelease 1.7.3952 から対応しています。
http://blog.kowalczyk.info/software/sumatrapdf/prerelease.html
> おそらく SyncTeX の仕様が変更されたのだと思ったのですが
> SyncTeX のコミットログからはなぜこのように変更されたのかが分か
> らなかったので
> こちらで質問させていただきました.
TeXLive での変更です。 Taco Hoekwater さんによる、
LuaTeX の仕様に全部あわせられました。
Kakuto さん.素早い回答ありがとうございます.
> prerelease 1.7.3952 から対応しています。
> http://blog.kowalczyk.info/software/sumatrapdf/prerelease.html
早速ためしてみました.
Input:1:C:/tex/hoge.tex
Input:1:hoge.tex
Input:1:C:/tex/./hoge.tex
すべての場合で forward search が動作することを確認しました.
これで W32TeX のバージョンを気にせずに forward search が使用可能になりました.
TeX Live 2011 から変更されるようですね.
http://code.google.com/p/sumatrapdf/source/detail?r=3952
> TeXLive での変更です。 Taco Hoekwater さんによる、
> LuaTeX の仕様に全部あわせられました。
やはりそうなのですね.
コミットログから LuaTeX でいろいろテストされているようだったので
開発版の LuaTeX をためしてみようと思って今回の LuaTeX のエラーに遭遇しました.
これで全ての謎が解けました.
本当にありがとうございました.
> prerelease 1.7.3952 から対応しています。
> http://blog.kowalczyk.info/software/sumatrapdf/prerelease.html
早速ためしてみました.
Input:1:C:/tex/hoge.tex
Input:1:hoge.tex
Input:1:C:/tex/./hoge.tex
すべての場合で forward search が動作することを確認しました.
これで W32TeX のバージョンを気にせずに forward search が使用可能になりました.
TeX Live 2011 から変更されるようですね.
http://code.google.com/p/sumatrapdf/source/detail?r=3952
> TeXLive での変更です。 Taco Hoekwater さんによる、
> LuaTeX の仕様に全部あわせられました。
やはりそうなのですね.
コミットログから LuaTeX でいろいろテストされているようだったので
開発版の LuaTeX をためしてみようと思って今回の LuaTeX のエラーに遭遇しました.
これで全ての謎が解けました.
本当にありがとうございました.