バッチファイルの書き方(W32TeXのpdfpLaTeX)

バッチファイルの書き方(W32TeXのpdfpLaTeX)

- 奥村 晴彦 の投稿
返信数: 6
W32TeXでTeXworksを勉強中です。

pdfplatex.batというファイルが

@echo off
platex -synctex=1 -kanji=utf8 %*
dvipdfmx %*

となっていて,TeXworksからは$basenameで呼び出していますが,これだと *.ltx とか *.dtx とかが処理できないようです。

$fullnameにして

platex -synctex=1 -kanji=utf8 %1
dvipdfmx %~n1

のようにすればうまくいくように思います。
Windowsのバッチファイルの書き方がいまいちよくわかっていないので,これで本当にいいかちょっと不安ですが。
奥村 晴彦 への返信

Re: バッチファイルの書き方(W32TeXのpdfpLaTeX)

- Akira Kakuto の投稿
どうもありがとうございます。私も .BAT の文法を
勉強していません。奥村さんのものに訂正したいと思います。
エディタとしては、なかなか慣れないと思いますが、
synctex は便利でしょう?
コントロール + 左クリック で双方向に行けると思います。

Akira Kakuto への返信

Re: バッチファイルの書き方(W32TeXのpdfpLaTeX)

- 奥村 晴彦 の投稿
ありがとうございます。
synctexは便利ですね!
ptexliveでもぜひ対応していただければありがたいです。

TeXworksを私の本の第5版で大々的に宣伝したいのですが,日本語フォントを埋め込む設定だけが面倒なところです。
付録DVDに新しいIPAフォントipaexm.ttf,ipaexg.ttfでも同梱して,これらを埋め込む設定にすることも考えています。
奥村 晴彦 への返信

Re: バッチファイルの書き方(W32TeXのpdfpLaTeX)

- 若 雲 の投稿
> 日本語フォントを埋め込む設定だけが面倒なところです。

これについては、自分のサイトで少し解説記事を書いたことがありますが、TeXWorksに関して言えば、pdfplatexバッチファイルの中で
dvipdfmx -f msembed.map
といったように埋め込み可能なmapファイルを読み込むようにしていただくと、「日本語が出ない」とハマる人は少なくなるのではないかと思います。

埋め込むフォントについては、TeXのインストール以外に特に必要な作業なしに入手できる(OS同梱、あるいはTeXディストリに同梱)ことはもちろんですが、ライセンスや字形などを考慮して判断していただければと思います。
若 雲 への返信

Re: バッチファイルの書き方(W32TeXのpdfpLaTeX)

- 奥村 晴彦 の投稿
バッチファイルをいじるか,cid-x.mapをいじるか,dvipdfmx.cnfをいじるか,いろいろ方法がありそうですね。

あとは,いじりたいところは,extractbbが勝手にしかも安全に動いてくれるように,-shell-escapeを付ける代わりにtexmf.cnfのshell_escape_commandsにextractbbを追加することでしょうか。もともと書き込んである安全なプログラムと比べてもextractbbはまったく大丈夫な部類なので,問題なさそうに見えます。
奥村 晴彦 への返信

Re: バッチファイルの書き方(W32TeXのpdfpLaTeX)

- 匿 名 の投稿
空白を含むファイル名を考慮すると、
dvipdfmx %~n1

dvipdfmx "%~n1"
の方がよいと思います。
現在のところ、カレントディレクトリを TeX ソースとして実行されるようですが、その保証がないなら、さらに、
dvipdfmx "%~dpn1"
としておいた方がよいかもしれません。

# %1 は自動で "" で囲まれますが、
# %~n1 ではそうなりません。
匿 名 への返信

Re: バッチファイルの書き方(W32TeXのpdfpLaTeX)

- 奥村 晴彦 の投稿
> dvipdfmx %~n1
> は
> dvipdfmx "%~n1"
> の方がよいと思います。

御礼が遅れてしまいましたが,ご教示ありがとうございました。
そういえば(ba)shでも同じですね。