以下のような test.tex を latexmk でタイプセットする場合に W32TeX の latexmk.exe でタイプセットしようとすると
TeX Live の latexmk.exe や Perl から latexmk.pl を呼び出して実行する場合のコマンドライン引数と同じように実行すると
エラーになるようです.
\documentclass{jsarticle}
\begin{document}
Latexmk テスト
\end{document}
TeX Live の latexmk.exe は以下のコマンドライン引数でタイプセットできます.
latexmk -e "$latex=q/platex -guess-input-enc -synctex=1/" -e "$dvipdf=q/dvipdfmx %O -o %D %S/" -norc -gg -pdfdvi test.tex
Perl から TeX Live の latexmk.pl を実行すると TeX Live の latexmk.exe と同様のコマンドライン引数でタイプセットできます.
perl C:\texlive\2012\texmf-dist\scripts\latexmk\latexmk.pl -e "$latex=q/platex -guess-input-enc -synctex=1/" -e "$dvipdf=q/dvipdfmx %O -o %D %S/" -norc -gg -pdfdvi test.tex
W32TeX で TeX Live の latexmk.exe と同様のコマンドライン引数で latexmk.exe を使用すると以下のようにエラーになります.
latexmk -e "$latex=q/platex -guess-input-enc -synctex=1/" -e "$dvipdf=q/dvipdfmx %O -o %D %S/" -norc -gg -pdfdvi test.tex
Latexmk: Stopping because executing following code from command line
$latex=q/platex
gave an error:
Can't find string terminator "/" anywhere before EOF at (eval 8) line 1.
W32TeX では以下のように latexmk.exe を実行するとタイプセットできるようです.
latexmk -e "$latex=q/platex"" ""-guess-input-enc"" ""-synctex=1/""" -e "$dvipdf=q/dvipdfmx"" ""%O"" ""-o"" ""%D"" ""%S/""" -norc -gg -pdfdvi test.tex
Perl から W32TeX の latexmk.pl を実行すると TeX Live の latexmk.exe と同様のコマンドライン引数でタイプセットできます.
perl C:\w32tex\share\texmf\scripts\latexmk\latexmk.pl -e "$latex=q/platex -guess-input-enc -synctex=1/" -e "$dvipdf=q/dvipdfmx %O -o %D %S/" -norc -gg -pdfdvi test.tex
W32TeX の latexmk.exe がこのような挙動になっているのはなにか理由があるのでしょうか?