論文等書く際にTexを使う必要がありますが,WinShellなどは使わず,EmEditorで編集してから,バッチファイルを実行することにより,.texを.dviや.ps, .pdfにしていました.
ここで,AutoHotkeyを利用して,EmEditorがアクティブな状態で,ホットキーを押すと,texファイルのコンパイルを行ってくれるようにしました.
(EmEditorのTexプラグインもあるのですが,どうも使いづらい)
AutoHotkeyのスクリプトは下記のようになります.
プログラム内部では,platex, dviout, dvipdfmのコマンドを使用しています.
これらのコマンドがお使いの環境で使用できることを確認してください.
このスクリプトでは,EmEditorで,texファイルを編集している時,F5を押すと,texファイルをコンパイルし,dvioutからdviファイルを閲覧することができます.
また,Ctrl+F5を押すと,tex=>dvi=>pdfの変換を行った後,pdfファイルを開いてくれます.
/* platex,dviout,dvipdfmが使用できる必要あり */ #NoEnv ; EmEditorか判断 #IfWinActive, ahk_class EmEditorMainFrame3 *F5:: ; 任意キーとF5 or F5が押された場合 GetKeyState, ctrlFg, Ctrl ; Ctrlが押されているか? WinGet, window,, ahk_class EmEditorMainFrame3 WinGetTitle, title, ahk_id %window% ; title=>C:\aaa\bbb\ccc.tex -EmEditor StringSplit, array, title, " " ; array=>{C:\aaa\bbb\ccc.tex,-EmEditor} filePath = %array1% ; filePath=>C:\aaa\bbb\ccc.tex StringRight, extension, filePath, 4 ; extension=>.txt If extension = .tex { StringGetPos, pos, filePath, \, 1 StringLeft, dir, filePath, pos ; path=>C:\aaa\bbb RunWait, platex %filePath%, %dir% ; tex=>dvi StringGetPos, pos, filePath, ., 1 StringLeft, name, filePath, pos ; name=>C:\aaa\bbb\ccc If ctrlFg = D ; Ctrlが押されている場合 { IfWinExist ahk_class dviout ; dvioutが開いていたら閉じる WinClose RunWait, dvipdfm %name%.dvi, %dir% ; dvi=>pdf If ErrorLevel = 1 Msgbox, "pdfを閉じてください" Run, %name%.pdf } Else { IfWinNotExist ahk_class dviout Run %name%.dvi Else WinActivate, ahk_class dviout } } return #IfWinActive