LuaLaTeX で -synctex=1 または -synctex=-1 を付けてコンパイルするとエラー

LuaLaTeX で -synctex=1 または -synctex=-1 を付けてコンパイルするとエラー

- 匿 名 の投稿
返信数: 8
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 できていますがなぜこのような出力に変更されたのが
ご存じの方はおられませんか?
匿 名 への返信

Re: LuaLaTeX で -synctex=1 または -synctex=-1 を付けてコンパイルするとエラー

- Akira Kakuto の投稿
> C:/tex/./hoge.tex
> のように出力されるようです.
> このため SumatraPDF で forward search ができないものが発生してい > るようです.

C:/tex/./hoge.tex
は正しい名前なので、SumatraPDF も訂正されたはずです。
最新のものを入手してみてください。

luatex に関しては、調べてみて問い合わせてみます。

Akira Kakuto への返信

Re: LuaLaTeX で -synctex=1 または -synctex=-1 を付けてコンパイルするとエラー

- Akira Kakuto の投稿
> luatex に関しては、調べてみて問い合わせてみます。

開発中のバージョンに入っているバグだと思います。
stable version ( luatex-w32.tar.xz ) では ok のようです。

Akira Kakuto への返信

Re: LuaLaTeX で -synctex=1 または -synctex=-1 を付けてコンパイルするとエラー

- 匿 名 の投稿
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 のコミットログからはなぜこのように変更されたのかが分からなかったので
こちらで質問させていただきました.

とりあえずバグではなく仕様が変更されたのだということが分かったのでよかったです.
どうもありがとうございました.
匿 名 への返信

Re: LuaLaTeX で -synctex=1 または -synctex=-1 を付けてコンパイルするとエラー

- Akira Kakuto の投稿
> SumatraPDF は v1.6 でテストしました.

v1.6 はだめです。まだ正式 release は無いようですね。
prerelease 1.7.3952 から対応しています。
http://blog.kowalczyk.info/software/sumatrapdf/prerelease.html

> おそらく SyncTeX の仕様が変更されたのだと思ったのですが
> SyncTeX のコミットログからはなぜこのように変更されたのかが分か
> らなかったので
> こちらで質問させていただきました.

TeXLive での変更です。 Taco Hoekwater さんによる、
LuaTeX の仕様に全部あわせられました。

Akira Kakuto への返信

Re: LuaLaTeX で -synctex=1 または -synctex=-1 を付けてコンパイルするとエラー

- 匿 名 の投稿
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 のエラーに遭遇しました.

これで全ての謎が解けました.
本当にありがとうございました.
匿 名 への返信

Re: LuaLaTeX で -synctex=1 または -synctex=-1 を付けてコンパイルするとエラー

- Akira Kakuto の投稿
> わざわざ問い合わせていただいてありがとうございました

問い合わせの返事が来る前に予想を言ったのですが、
このバグは無いらしいので、私がビルドする際にミス
をしているようです。

Akira Kakuto への返信

Re: LuaLaTeX で -synctex=1 または -synctex=-1 を付けてコンパイルするとエラー

- Akira Kakuto の投稿
> 問い合わせの返事が来る前に予想を言ったのですが、
> このバグは無いらしいので、私がビルドする際にミス
> をしているようです。

訂正しておきました。

Akira Kakuto への返信

Re: LuaLaTeX で -synctex=1 または -synctex=-1 を付けてコンパイルするとエラー

- 匿 名 の投稿
> 訂正しておきました。

lualatex で -synctex=1 または -synctex=-1 を付けてコンパイルして
エラーが発生せず,正常な PDF ファイルが出力されることを確認しました.

確認した lualatex の version は以下の通りです.

>lualatex -v
This is LuaTeX, Version beta-0.71.0-2011070119 (Web2C 2011) (rev 4315)

対応ありがとうございました.