Re: DOSプロンプトからのプレビュー実行 (73行追加)

名前: 岸本芳昌
日時: 2001-08-30 17:39:34
IPアドレス: 130.54.204.*

>>1933 Windows NT 系の Windows NT や 2000 の CMD.EXE (コマンドプロンプト) では拡張子 の関連付けが有効です。たとえば,拡張子 .tex が「メモ帳」に関連付けられていれば, foo.tex と打つと,「メモ帳」が foo.tex を読み込んで直ちに編集可能になります。つまり,エ クスプローラでダブルクリックするのと同じです。一方,Windows 9x (95/98/Me) では CMD.EXE ではなく COMMAND.COM (MS-DOS プロンプト) なので上記の芸当はできません。 バッチ処理の挙動をまとめてみました。すでに foo.pdf が存在していたら,このファイ ルを削除するようにしたバッチファイルを作成します。PDF ファイルは Distiller で変 換し,Acrobat で表示することにします。 if exist foo.pdf del foo.pdf platex foo dvipsk -Pdl foo start foo.ps start foo.pdf これを実行すると Windows 9x および Windows NT/2000 では `start foo.ps' までは 順次に処理されます。しかし,`start foo.ps' と `start foo.pdf' は並列 (もどき) 処理され,Windows 9x では,   ファイル 'foo.pdf' またはその構成ファイルが見つかりません。 Windows NT/2000 でも,   ファイル foo.pdf が見つかりません。 というメッセージが表示されます。これを回避するには foo.pdf が生成されたら抜け るというループを `start foo.pdf' の前に入れてみます。 if exist foo.pdf del foo.pdf platex foo dvipsk -Pdl foo start foo.ps :PDF if not exist foo.pdf goto PDF start foo.pdf この方法では PDF 変換が完了した Distiller を閉じることができないままに Acrobat が起動してしまいます。また,これは Windows 9x にのみ有効です。NT では「プロセ スはファイルにアクセスできません。別のプロセスが使用中です。」なるメッセージが 表示されます。Windows NT/2000 では単純に platex foo dvipsk -Pdl foo foo.ps foo.pdf のようにして,Distiller は手動で閉じるのがよいと思います。 さらに 32 ビット Windows すべてで同一のバッチファイルを使用するなら,NT のみに 設定されている環境変数 OS を利用して (Windows 2000 は NT 5.0 です), platex foo dvipsk -Pdl foo if "%OS%"=="Windows_NT" goto NT if exist foo.pdf del foo.pdf start foo.ps :PDF if not exist foo.pdf goto PDF start foo.pdf goto END :NT foo.ps foo.pdf :END とするのも一法です。PDF 変換を dvipdfm で行なう場合は Windows NT/2000 でも start コマンドを使用しても弊害はないから,Windows 9x と共通のバッチファイルが 利用できます。 platex foo dvipdfm foo start foo.pdf この方法ではノンストップで処理できる利点があるほか,Adobe Acrobat Reader で済 ませられます。

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)