[246]
TeX→PDF用マクロ
てふにしゃん
2006年02月10日 14:29
var objShell = new ActiveXObject("WScript.Shell"); var i; var FileName; //原型ファイル名格納用 var TeXFileName; //TeXファイル名格納用 var DviFileName; //DVIファイル名格納用 var PdfFileName; //PDFファイル名格納用 Editor.FileSave(); //ファイル上書き保存 FileName=Editor.GetFileName(); //ファイルパスの取得 TeXFileName=""; //初期化 DviFileName=""; //初期化 PdfFileName=""; //初期化 for(i=0;i<FileName.length;i++){ if(FileName.charAt(i)=="\\"){ //ファイルパスの「\」を「/」に変換 TeXFileName=TeXFileName+"/"; }else{ TeXFileName=TeXFileName+FileName.charAt(i); } if(i<FileName.length-3){ //拡張子をdvi、pdfに変換 DviFileName=DviFileName+TeXFileName.charAt(i); PdfFileName=PdfFileName+FileName.charAt(i); }else{ if(i==FileName.length-3)DviFileName=DviFileName+"d"; if(i==FileName.length-2)DviFileName=DviFileName+"v"; if(i==FileName.length-1)DviFileName=DviFileName+"i"; if(i==FileName.length-3)PdfFileName=PdfFileName+"p"; if(i==FileName.length-2)PdfFileName=PdfFileName+"d"; if(i==FileName.length-1)PdfFileName=PdfFileName+"f"; } } objShell.Run("C:/usr/local/bin/platex "+TeXFileName,1,1); //TeXコンパイラ実行(各自でパス変更) objShell.Run("C:/usr/local/bin/dvipdfmx "+DviFileName,1,1); //PDFに変換(各自でパス変更) objShell.Run('"C:\\Program Files\\Adobe\\Acrobat 7.0\\Acrobat\\Acrobat"'+PdfFileName,1,0); //PDF表示(各自でパス変更) ------- 人によってTeX→PDFの作り方は違うと思いますが、dvipdfmxで作る方法でのマクロを晒しときます。 (拡張子変換するところがアホっぽい) アクロバットを一々閉じないとだめっぽいですね。多分ファイルがロックされているんだろうと思います。