Re: Windows XP Home と dviout のニコニコ・マーク(原因)

名前: hoge
日時: 2005-09-17 19:56:10
IPアドレス: 133.31.18.*

>>38104 dvitmp.parの -o=r の意味がまだ不明ですが、懸案の問題には関係なさそうなので おいておきます.(前にdvitemp.parと書きましたがeは不要でした.) dvioutのVer.は1.7でも1.7.1でも起こります. dvipdfvmxのあるフォルダ(通常はC:\usr\local\bin)にパスは通っているとします. その後もいろいろ試し、おかしなことや疑わしいこともいろいろあって、なかなか 原因を切り分けられなかったのですが、どうやらこれが原因というものがつかめたので 報告いたします.分かってみれば単純なことでした. 原因:環境変数TMPに全角空白を含んでいたため 主な設定例:TMP=C:\Documents and Settings\(ユーザ名)\Local Settings\Temp において、ユーザ名を全角で氏 名(氏と名の間に全角空白あり)としている このような設定の人は割りといそうに思います. はじめに、ニコニコマークでPDF変換するときのdvioutの動作を(推測で)確認しておきます. とても詳しい説明はSHIMAさんご自身による>>29157 (佐渡さんへの回答)をご覧ください. ただし、その中で >よって,オプションのチェックボタンが2つともチェックされていると,例えば >dvipdfmx.exe a4 -l -s 1-50 "c:\text\tex\foo.dvi" >"c:\text\tex\foo.pdf" >というような2行からなるバッチファイルが作成されて,それが実行されます. >(マルチステートメントでないときは,バッチファイルが作成されず直接コマン ドが実行されます). と書かれていますが、最後の部分は少し違うようです. ちなみに、[Option]-[Setup Parameters]-[Printer]タブで最下行のdviprt: とその上の「dviprt is default」「follow defalut dpi」「CFG file」には 何も設定されてないか、または「CFG file」だけ「define Execution」になってます. # 一度何かを設定してしまうと消しても「CFG file」のところを最初の空白状態には # 戻せないんですよね.戻せるといいです.(Option-Uninstallしか手はない?) ニコニコマークを押して「dvipdfmx」and/or「Veiw PDF」にチェックを入れたとき、 ヘルプの「-dviprtの設定例」にあるように、環境変数TMPが設定してあれば、そこに dvitmp.parとdvitmp.batファイルを生成します. 「dvipdfmx」にしかチェックを入れないと1行からなるバッチファイル、例えば dvipdfmx.exe a4 -l -s 1-50 "c:\text\tex\foo.dvi" が生成されます. 「View PDF」にもチェックを入れると2行バッチファイル、例えば dvipdfmx.exe a4 -l -s 1-50 "c:\text\tex\foo.dvi" "c:\text\tex\foo.pdf" が生成されます. それでここからは推測ですが、現象から見て、「dvipdfmx」にしかチェックを入れてないときは、 バッチファイルを生成していてもそれは使わずに「直接コマンドを実行」 しているのではないでしょうか.それに対して、「View PDF」にもチェックを入れた 場合には生成したバッチファイルを実行しているのだと思います. なお環境変数TEMPはどう設定されていてもPDF生成には関係ありません. # Help-System Infoで見てみると、TEMP,TMPとも設定してあっても、「普通」の設定 # の場合はここに現れませんね.どちらかでも「変?」なパス設定にしてあると現れるようです. またdviのあるフォルダも全角文字や全角・半角空白など一切関係ありません. (カレントフォルダにあるdviと同じフォルダにpdfを生成するからでしょう.) 上のように考えると、なぜ「dvipdfmx」だけの場合はPDFファイルが作成され、 「View PDF」もチェックするとPDFファイルが生成されず、「コマンドがない云々」 とメッセージされるのかがわかります. 後者の場合、全角半角をパスに含んでいるため、バッチファイルのありかを正しく 認識できず、それがために結果的にバッチファイルが正しく実行されないから、ようです. 環境変数TEMPで指定したフォルダに生成されたバッチファイルそのものは、 実行してみるとちゃんとPDFを生成し、Adobe Readerで開くこともしてくれました. このように推理して、ほぼ納得できたのですが、強引に何度かトライして「PrintScreen」で メッセージをキャプチャすることに成功しました(我ながらしつこい!) 予想通り、 '(全角空白の前までのパス名)' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 というものでした. バッチファイルを認識できてません!

この書き込みへの返事:

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