@echo off REM modification by ischo REM 2007/01/03 pdfclose (if pdf file is open) rem MTeX2が自動的に設定する環境変数一覧 rem %MTeX2_AutoClose% 自動的に閉じるかどうか rem %MTeX2_cmd% コマンドライン設定ファイルのパス rem %MTeX2_DLLPath% DLLファイルが存在するファイルパス rem %MTeX2_Set% 命令セットの番号が入る rem %MTeX2_Type% コンパイルタイプ rem TeX処理の時のみ rem %MTeX2_CFName% コンパイルをすべきファイル名 rem %MTeX2_CFPath% コンパイルをすべきファイルがあるディレクトリパス rem %MTeX2_FName% コンパイル命令を出したファイル名 rem %MTeX2_FPath% コンパイル命令を出したファイルがあるディレクトリパス rem %MTeX2_Line% コンパイル命令を出したファイルにおけるエディタのカーソルの行数 rem %MTeX2_New% コンパイル命令を出したファイルが編集状態だったか否か rem %MTeX2_PSize% 用紙サイズ情報が入る rem %MTeX2_PSPDFDefault% PDFを作成する際の標準の作成方法がPSからPDFを作成する形式か否か rem %MTeX2_ShortMake% index処理を必要のない時はスキップするか否か rem 画像変換の時のみ rem %MTeX2_ImageFile% 画像ファイルパス rem %MTeX2_ImageFileName% 画像ファイルで拡張子をのぞいた名前 rem Batファイルのコメントを表示 "%MTeX2_DLLPath%\MTeX2.exe" bat rem 念のため初期化 set pspdfreturn= set dvipdfreturn= set psreturn= set allreturn= set MTeX2_CTParam1= set MTeX2_CTParam2= set UseUNC= rem UNC check rem Windows Version check "%MTeX2_DLLPath%\MTeX2.exe" winvar rem case NT/2000/XP if errorlevel 4 goto unccheck rem case 95/98/Me goto uncend rem check :unccheck set MTeX2_CTParam1=%MTeX2_CFPath% "%MTeX2_DLLPath%\MTeX2.exe" unc rem 結果判定 if errorlevel 1 goto unc goto uncend :unc set UseUNC=1 pushd%MTeX2_CFPath% :uncend rem 処理タイプに応じたラベルへジャンプ goto %MTeX2_Type% rem -------------------------------------------------- rem 一回のTeX処理 rem -------------------------------------------------- :1 call "%MTeX2_cmd%" tex goto end rem -------------------------------------------------- rem 全てのTeX処理 rem -------------------------------------------------- :2 rem TeX1回目 call "%MTeX2_cmd%" tex rem auxファイルを解析しbib処理がいるかチェック set MTeX2_CTParam1=%MTeX2_CFPath%\%MTeX2_CFName%.aux "%MTeX2_DLLPath%\MTeX2.exe" bibtex rem 結果判定 if errorlevel 1 goto allbib goto allnbib rem bibファイル処理 :allbib call "%MTeX2_cmd%" bib call "%MTeX2_cmd%" tex rem TeX2回目 :allnbib call "%MTeX2_cmd%" tex rem index処理 if not "%MTeX2_ShortMake%"=="1" goto allindex if not exist "%MTeX2_CFName%.idx" goto allend :allindex call "%MTeX2_cmd%" index call "%MTeX2_cmd%" tex :allend rem 他から呼び出されている場合にはそこへジャンプ if not "%allreturn%"=="" goto %allreturn% goto end rem -------------------------------------------------- rem PS作成 rem -------------------------------------------------- :3 rem 日付チェック if "%MTeX2_New%"=="1" goto enddc3 set MTeX2_New=1 set MTeX2_CTParam1=%MTeX2_FPath%\%MTeX2_FName%.tex set MTeX2_CTParam2=%MTeX2_CFPath%\%MTeX2_CFName%.dvi "%MTeX2_DLLPath%\MTeX2.exe" comparedate if errorlevel 3 set MTeX2_New=0 :enddc3 set allreturn=ps1 if "%MTeX2_New%"=="1" goto 2 :ps1 call "%MTeX2_cmd%" dvips if not "%psreturn%"=="" goto %psreturn% goto end rem -------------------------------------------------- rem DVIからPDF作成 rem -------------------------------------------------- :4 rem 日付チェック if "%MTeX2_New%"=="1" goto enddc4 set MTeX2_New=1 set MTeX2_CTParam1=%MTeX2_FPath%\%MTeX2_FName%.tex set MTeX2_CTParam2=%MTeX2_CFPath%\%MTeX2_CFName%.dvi "%MTeX2_DLLPath%\MTeX2.exe" comparedate if errorlevel 3 set MTeX2_New=0 :enddc4 set MTeX2_CTParam1=%MTeX2_CFPath%\%MTeX2_CFName%.pdf "%MTeX2_DLLPath%\MTeX2.exe" iswritable if errorlevel 2 goto nowrite4 goto exec4 :nowrite4 REM following line added by ischo pdfclose --file "%MTeX2_CFName%.pdf" REM following two lines commented out by ischo REM "%MTeX2_DLLPath%\MTeX2.exe" pdfcantopen REM pause :exec4 set allreturn=dtop1 if "%MTeX2_New%"=="1" goto 2 :dtop1 call "%MTeX2_cmd%" dvipdf if not "%dvipdfreturn%"=="" goto %dvipdfreturn% goto end rem -------------------------------------------------- rem PSからPDF作成 rem -------------------------------------------------- :5 rem 日付チェック tex←→dvi if "%MTeX2_New%"=="1" goto enddc5 set MTeX2_New=1 set MTeX2_CTParam1=%MTeX2_FPath%\%MTeX2_FName%.tex set MTeX2_CTParam2=%MTeX2_CFPath%\%MTeX2_CFName%.dvi "%MTeX2_DLLPath%\MTeX2.exe" comparedate if errorlevel 3 set MTeX2_New=0 rem 日付チェック dvi←→ps if "%MTeX2_New%"=="1" goto enddc5 set MTeX2_New=1 set MTeX2_CTParam1=%MTeX2_CFPath%\%MTeX2_CFName%.dvi set MTeX2_CTParam2=%MTeX2_CFPath%\%MTeX2_CFName%.ps "%MTeX2_DLLPath%\MTeX2.exe" comparedate if errorlevel 3 set MTeX2_New=0 :enddc5 set MTeX2_CTParam1=%MTeX2_CFPath%\%MTeX2_CFName%.pdf "%MTeX2_DLLPath%\MTeX2.exe" iswritable if errorlevel 2 goto nowrite5 goto exec5 :nowrite5 REM following line added by ischo pdfclose --file "%MTeX2_CFName%.pdf" REM following two lines commented out by ischo REM "%MTeX2_DLLPath%\MTeX2.exe" pdfcantopen REM pause :exec5 if not "%MTeX2_New%"=="1" goto pstopdf set MTeX2_New=0 set psreturn=pstopdf goto 3 :pstopdf call "%MTeX2_cmd%" pspdf if not "%pspdfreturn%"=="" goto %pspdfreturn% goto end rem -------------------------------------------------- rem DVI表示 rem -------------------------------------------------- :6 rem 日付チェック tex←→dvi if "%MTeX2_New%"=="1" goto enddc6 set MTeX2_New=1 set MTeX2_CTParam1=%MTeX2_FPath%\%MTeX2_FName%.tex set MTeX2_CTParam2=%MTeX2_CFPath%\%MTeX2_CFName%.dvi "%MTeX2_DLLPath%\MTeX2.exe" comparedate if errorlevel 3 set MTeX2_New=0 :enddc6 set allreturn=dviview if "%MTeX2_New%"=="1" goto 2 :dviview call "%MTeX2_cmd%" dviview goto nopause rem -------------------------------------------------- rem PS表示 rem -------------------------------------------------- :7 rem 日付チェック tex←→dvi if "%MTeX2_New%"=="1" goto enddc7 set MTeX2_New=1 set MTeX2_CTParam1=%MTeX2_FPath%\%MTeX2_FName%.tex set MTeX2_CTParam2=%MTeX2_CFPath%\%MTeX2_CFName%.dvi "%MTeX2_DLLPath%\MTeX2.exe" comparedate if errorlevel 3 set MTeX2_New=0 rem 日付チェック dvi←→ps if "%MTeX2_New%"=="1" goto enddc7 set MTeX2_New=1 set MTeX2_CTParam1=%MTeX2_CFPath%\%MTeX2_CFName%.dvi set MTeX2_CTParam2=%MTeX2_CFPath%\%MTeX2_CFName%.ps "%MTeX2_DLLPath%\MTeX2.exe" comparedate if errorlevel 3 set MTeX2_New=0 :enddc7 if not "%MTeX2_New%"=="1" goto psview set MTeX2_New=0 set psreturn=psview goto 3 :psview call "%MTeX2_cmd%" psview goto nopause rem -------------------------------------------------- rem PDF表示 rem -------------------------------------------------- :8 if "%MTeX2_PSPDFDefault%"=="1" goto pspdfdef set pdfmaketype=4 set dvipdfreturn=pdfview rem 日付チェック tex←→dvi if "%MTeX2_New%"=="1" goto enddc8 set MTeX2_New=1 set MTeX2_CTParam1=%MTeX2_FPath%\%MTeX2_FName%.tex set MTeX2_CTParam2=%MTeX2_CFPath%\%MTeX2_CFName%.dvi "%MTeX2_DLLPath%\MTeX2.exe" comparedate if errorlevel 3 set MTeX2_New=0 rem 日付チェック dvi←→pdf if "%MTeX2_New%"=="1" goto enddc8 set MTeX2_New=1 set MTeX2_CTParam1=%MTeX2_CFPath%\%MTeX2_CFName%.dvi set MTeX2_CTParam2=%MTeX2_CFPath%\%MTeX2_CFName%.pdf "%MTeX2_DLLPath%\MTeX2.exe" comparedate if errorlevel 3 set MTeX2_New=0 goto enddc8 :pspdfdef set pdfmaketype=5 set pspdfreturn=pdfview rem 日付チェック tex←→dvi if "%MTeX2_New%"=="1" goto enddc8 set MTeX2_New=1 set MTeX2_CTParam1=%MTeX2_FPath%\%MTeX2_FName%.tex set MTeX2_CTParam2=%MTeX2_CFPath%\%MTeX2_CFName%.dvi "%MTeX2_DLLPath%\MTeX2.exe" comparedate if errorlevel 3 set MTeX2_New=0 rem 日付チェック dvi←→ps if "%MTeX2_New%"=="1" goto enddc8 set MTeX2_New=1 set MTeX2_CTParam1=%MTeX2_CFPath%\%MTeX2_CFName%.dvi set MTeX2_CTParam2=%MTeX2_CFPath%\%MTeX2_CFName%.ps "%MTeX2_DLLPath%\MTeX2.exe" comparedate if errorlevel 3 set MTeX2_New=0 rem 日付チェック ps←→pdf if "%MTeX2_New%"=="1" goto enddc8 set MTeX2_New=1 set MTeX2_CTParam1=%MTeX2_CFPath%\%MTeX2_CFName%.ps set MTeX2_CTParam2=%MTeX2_CFPath%\%MTeX2_CFName%.pdf "%MTeX2_DLLPath%\MTeX2.exe" comparedate if errorlevel 3 set MTeX2_New=0 goto enddc8 :enddc8 if not "%MTeX2_New%"=="1" goto pdfview set MTeX2_New=0 goto %pdfmaketype% :pdfview call "%MTeX2_cmd%" pdfview goto nopause rem -------------------------------------------------- rem JPEG2PS rem -------------------------------------------------- :10 call "%MTeX2_cmd%" jpeg2ps goto end rem 終了 :end if "%MTeX2_AutoClose%"=="1" goto nopause echo, echo, pause :nopause if "%UseUNC%"=="1" popd