Latexmkパッケージ

Latexmkを操作します.Latexmkとは,依存関係を調べながらlatexなどの実行を必要回数行うPerlスクリプトです.このパッケージを用いてLatexmkを使うには,PATH環境変数の指し示す先にlatexmk.exeが存在する必要があります.W32TeXではperlを別途インストールすることにより利用可能です.TeX LiveではPerlをインストールせずとも利用可能となります.

Latexmkパッケージは内部でTeXToDVIパッケージDVIToPDFパッケージDVIToPSパッケージを利用します.

設定項目

TeXソースの処理

latexの実行に関する設定を行います.TeXToDVIパッケージと同様です.PDFを生成するプログラム(pdflatex)などが指定されても問題ありません.

DVI→PDF

DVIからPDFへの変換を行うプログラムの設定を行います.DVIToPDFパッケージと同様です.

DVI→PS

DVIからPSへの変換を行うプログラムの設定を行います.DVIToPSパッケージと同様です.

出力形式

出力の形式を指定します.

プレビュー

プレビューの方法を指定します.

引数

<key1>=<val1>;<key2>=<val2>;...の形で指定します.<key>は以下のいずれかです.

todo

<val>はlatexmk/watchのどちらかです.watchが指定されるとLatexmkをにソースを監視させます.ファイルが更新された際に自動でコンパイルが行われるようになります.監視をやめる場合は,現れたコマンドプロンプトにてCtrl + Cを押してください.なお,watchが指定されるとパッケージはLatexmkの実行終了を待たずに終了します.そのため,直後にプレビュー用のパッケージを動かすと,コンパイル終了前に起動してしまい,ファイルが開けないなどのエラーが起こる可能性があります.通常モードで一度動かしてからwatchで動かすようにするとよいかもしれません.latexmk指定時は通常動作です.

interaction

-interaction=<val>を渡します.watch時は強制的にnonstopmodeになります.

error

todo=watchの時に,起こったエラーの通知を行う方法を指定します.<val>にはmessage/title/output/mark/onlyerrorをカンマ区切りで指定します.

また,onlyerrorを用いず,:errorや:successをつけることで,各々の動作を個別にエラー時のみ,成功時のみ行うようにすることができます.例えば,error=mark:errorは,エラーが発生するとその行に色がつくが,成功時にも戻らないという動作になります.title:error:successともできますが,これは単にtitleを指定するのと同じです.

この通知には,以下のような欠点があります.秀丸の仕様上回避するのは難しそうです.ただしこのような欠点はアウトプット枠への表示のみを選んだ場合には適用されません*1

*1
この場合は異なる方法で通知を実現しているため.
*2
秀丸を非表示状態で呼び出し,そのまま閉じているため起こらないはずなのですが,なぜか起こることがあります.
*3
エラー通知は,秀丸を非表示で起動してマクロ処理,という手順で行っています.この際,起動した秀丸を閉じるためにアクティブウィンドウを別の秀丸に動かす必要があります.また,タイトルの操作にも秀丸をアクティブにすることが必須です.まぁ,直前のアクティブウィンドウを覚えておいてそれをアクティブにする,という方法もあるかもしれませんが…….自動起動マクロを絡めて行えばより完全にできると思います.