2016年8月17日

こんなん困ったことないでしょうか?例えばpdftexで作業中.今編集中のファイルは全5ページ.もちろんSumatraPDFで開いているのは最終ページの5ページ目.ここで入力をミスってコンパイルエラー.早速ソースを編集し直して,エラーを修正し再度コンパイル&プレビュー.……あれ,5ページ目を開いていたはずなのに4ページ目になっているぞ.

つまり,エラーが発生した時に生成されたPDFが途中までになっていて,それが全4ページ.今まで開いていた5ページ目がなくなってしまって,仕方なく4ページ目に移動,その後復帰されずというわけなんですが.TeXからの出力先を一旦変更しておいて,コンパイルが成功したときに限りコピーすればいいかなと思ったんだけど,うまく行かず..dviや.pdfの出力先だけを変更することはできないみたい.

というわけで,SumatraPDFで開く際のマクロ側で「一時ファイルに保存してそっちを開く」ようにしてみた.つまり,C:\dir\test.texで作業していた場合にtest.pdfができるのだが,これを%TMPDIR%\test.pdfにコピーして,SumatraPDFが開くのはこっち,という形.

それもこめて開発版更新.補完マクロを書き直しました.まだごちゃごちゃしているけど,だいぶましになったと思う.カラーマーカーをやめたので速度が戻りました(たぶん).手元の環境だと普通の入力が取りこぼされてイライラしていたので.メモリ内で殆ど処理するようにした分,前のバージョンからもスピードあがってるんじゃないかなー(たぶん).

併せて自動起動マクロに登録する用のsub\autoexec\edit.macも更新.といっても前回どうしていたか忘れた…….とりあえず\(アルファベット)の組み合わせでコントロールシークエンス用の辞書を食わせて単語補完を起動,単語補完終了時に通常の補完マクロを起動するようにしている.単語補完起動時にコントロールシークエンスの開始位置を保存しているので,補完マクロの解析がその分速いはず.

0 件のコメント:

コメントを投稿

コメントの追加にはサードパーティーCookieの許可が必要です