◀一般トップへ
  • 296 TeXで使う場合問題になる点など2.
  • [296] TeXで使う場合問題になる点など2. じぇぷろ 2001年03月28日 19:07

    TeXでコンパイルエラーがあったとき、[e]キーを押せばエラー行にジャンプする機能がある。そのためにはautoexec.batなどに環境変数TEXEDITに、編集で使うエディタのタグジャンプを記述しておく。sakuraの場合は例えば
    set TEXEDIT="C:\Program Files\SakuraEd\sakura.exe" -Y=%%d %%s
    %dは行数, %sはファイル名が入る変数。バッチを実行したときに%記号が一つ取れるため、%をダブって書く。なおこれはバッチで書くときだけの注意ではなく、DOSプロンプトで直接setコマンドを叩いて設定するときも実は%をダブらせないとダメ。(この点がFOR %a in の%aの書き方と違う。)さもないと%d %sのうちの%d %が環境変数と解釈されてしまう。
    さて、一見これでうまく環境変数TEXEDITが設定されたと思いきや、実は設定されていない。DOSプロンプトで直接set ...を打ってみればわかるが、構文エラーとなる。
    (原因) オプションスィッチに使われている'='が set xxx=の'='と見なされるから。
    (対策) オプションスィッチに'='を使わないようにする。少なくとも使わない指定もできるようにする。
    (例1)省く。-Y%%d
    (例2):にする。-Y:%%d
    起動オプションに=を使うのはsetコマンドとの絡みで、あまりいい仕様とはいえない。起動オプションを使っているユーザは少ないだろうから、個人的には指定に=を使わない仕様に変更したい。しかし互換性の問題で誰かに言われそうなので、一歩譲って、なし(一般にこれが多い)や:でもいいように追加したい。しかしそうするとほとんど同じコードがずらーーっと増えるのであんまり・・・ (やっぱり仕様変更したいな)
    とりあえずTeXのために最低限必要なYオプションだけ、Y=の他にY:でもOKとなるように追加した。
    set TEXEDIT="C:\Program Files\SakuraEd\sakura.exe" -Y:%%d %%s
    これで環境変数が設定可能となった。