テキストエディタMery用LaTeXコンパイルマクロ
以前powershellを併用したバージョンを作りましたが、今度はJavascriptマクロ+コマンドラインだけです。powershellはローカルのスクリプトファイルを実行するのに色々めんどくさいんで… PDFの出力先は.texファイルがあるところと同じ場所です。
コマンドライン側で.texの拡張子を取り除こうとしてて、馬鹿だなぁと思いましたw 普通にマクロ側で削除してから渡せばいいのに。
その中でsaiさんがTeX Live 2012での使い方を書いてたのでこちらの方にも追記させて頂きます。
var docPath = '"'+document.Path + document.Name+'"'; var cmd = 'cmd /c cd /d "' + document.Path + '" & platex ' + docPath + ' & dvipdfmx '+docPath.replace(".tex",""); document.Save(); new ActiveXObject("WScript.Shell").Run(cmd, 1, true);
コマンドライン側で.texの拡張子を取り除こうとしてて、馬鹿だなぁと思いましたw 普通にマクロ側で削除してから渡せばいいのに。
2012/07/27追記:---
Meryの開発ブログのこの記事を覗いていたら意外にこのマクロを使ってくださってる人がいるみたいでありがたやwその中でsaiさんがTeX Live 2012での使い方を書いてたのでこちらの方にも追記させて頂きます。
TeX Live 2012の場合
var cmd = 'cmd /c cd /d "' + document.Path + '" & platex 'の部分を
var cmd ='cmd /c cd /d "' + document.Path + '" & platex -guess-input-enc'に置き換える。
PDF,DVIともうまくできます。あとPDFができた後0.5秒後にAcrobat readerが起動し確認できるようにお願いしたいのですが。
返信削除@匿名さん
返信削除document.Save();以降をこれに置き換えてください。pdfファイルに関連付けられているアプリケーションで開かれるはずです。動作未確認です。
var shell = new ActiveXObject("WScript.Shell");
shell.Run(cmd, 1, true);
shell.Run("cmd /c "+docPath.replace(".tex",".pdf"),1,false);
私はChromeでPDFを見ているのでコンパイルするたびに新しいタブでPDFが開かれるのがうるさくてつけていませんでした。お好みでしたらどうぞお使いください。
ありがとうございます。DVI, PDFが生成しAcrobat Reader9が立ち上がり確認できました。感謝です。
返信削除@匿名さん
返信削除お役に立てたなら何よりです。大したコンテンツはありませんが、よろしければまたお越しくださいませ。
Mery Ver2でもsjisでtexファイルとして保存すると上記のマクロがしっかり機能しています。UTF-8では機能しませんが, windowsではもともとsjisだからこのままでよいと思われます。
返信削除個人的にsift-jisは使いづらいと思うのです。それにもしUTF-8で保存したとしてこのマクロが使えなかったらなんだよ使えないゴミじゃんって初見さんならなりますよねw 更にsift-jisだと韓国語や中国語等他の言語を使うことができません。英数字しか使えない文字コードが私達にとって使えないものであるようsift-jisは使いづらいものだと思います。
返信削除もうこのマクロは自分自身では使っていない(texworksを使っている)のですが、記事の保守として追記させて頂きました。