掲載元ページ
http://www.emeditor.com/forumj/viewtopic.php?p=23&sid=9115721157ff51251fa37cdbe09895e8
拡張子 .vbee
> 題名: TeXファイルコンパイル(PDF作成も含む)
> 投稿者: Fio
> 時間: 2004年8月10日(火) 15:07
> 開いているTeXファイルをコンパイルして、
> dviファイルまたはPDFファイルを作成し、その後閲覧します。
> 最新のLaTeX一式がインストールされている必要があります。
Flg = "DVI"
'Flg = "PDF" 'PDFファイルを作成する場合はこちらをコメントオフ
DeleteLogYes = True
If Flg = "DVI" Then
'dvioutのパスを指定しておきます。
dvioutPath = "C:\Soft\dviout\dviout.exe"
End If
'必要なインスタンスを形成します。
Set FS = CreateObject("Scripting.FileSystemObject")
Set WS = CreateObject("WScript.Shell")
'開いているファイルのフルパスを取得します。
FilePath = document.FullName
'拡張子が.TEXのファイルだけ処理するようにします。
If LCase(FS.GetExtensionName(FilePath)) = "tex" Then
'フォルダを取得します。
FolderPath = FS.GetParentFolderName(FilePath)
'ファイル名を取得します。
FileName = FS.GetFileName(FilePath)
'ファイル名の拡張子を除いた部分を取得します。
BaseName = FS.GetBaseName(FilePath)
'DVIファイル名を作成します。
DviFileName = BaseName & ".dvi"
'DVIファイルのフルパスを作成します。
DviFilePath =FS.BuildPath(FolderPath, DviFileName)
'処理を開始する時間を取得しておきます。
MyTime = Now
'カレントディレクトリをファイルのあるフォルダにします。
WS.CurrentDirectory = FolderPath
'pLaTeXでコンパイルします。
WS.Run "platex " & FileName, 1, True
'WS.Run "platex " & FileName, 1, True
'DVIファイルが作られなかったら処理をやめます。
If FS.FileExists(DviFilePath) Then
'DVIファイルの日時を調べ、以前のファイルのままだったら処理をやめます。
Set objDVI = FS.GetFile(DviFilePath)
If objDVI.DateLastModified > MyTime Then
If Flg = "DVI" Then
'DVIOUTを起動します。
WS.Run """" & dvioutPath & """ """ & DviFileName & """", 1, True
ElseIf Flg = "PDF" Then
'一気にPDFファイルを作成します。
WS.Run "dvipdfm """ & DviFileName & """", 1, True
WS.Run """" & FS.BuildPath(FolderPath, BaseName & ".pdf") & """"
End If
If DeleteLogYes Then
'不要なファイルを削除します。
AuxFile = FS.BuildPath(FolderPath, BaseName & ".aux")
If FS.FileExists(AuxFile) Then FS.DeleteFile AuxFile
LogFile = FS.BuildPath(FolderPath, BaseName & ".log")
If FS.FileExists(LogFile) Then FS.DeleteFile LogFile
End If
'PSファイルに変換します。
'WS.Run "dvipsk " & DviFileName, 1, True
'ゴ・#91;ストスクリプトで・#123;覧します。
'WS.Run "gswin32 " & BaseName & ".ps", 1, True
End If
End If
End If
Set FS = Nothing
Set WS = Nothing