1. 動機
以下のページを参考にW32TeXをインストールした際,ファイルの解凍やインストールも自動で実行されれば楽だと思ったこと.
2. 本論
・インストール
以下のコードを保存し,実行する.
W32TeXinstaller.bat
@echo off
setlocal enabledelayedexpansion
set URL=https://ftp.jaist.ac.jp/pub/CTAN/systems/win32/w32tex/
set files= ^
unzip.exe ^
texinstwin.zip ^
latex.tar.xz ^
mftools.tar.xz ^
pdftex-w32.tar.xz ^
platex.tar.xz ^
ptex-w32.tar.xz ^
web2c-lib.tar.xz ^
web2c-w32.tar.xz ^
dvipdfm-w32.tar.xz ^
dvipsk-w32.tar.xz ^
ltxpkgs.tar.xz ^
luatexja.tar.xz ^
luatex-w32.tar.xz ^
makeindex-w32.tar.xz ^
manual.tar.xz ^
newtxpx-boondoxfonts.tar.xz ^
t1fonts.tar.xz ^
tex-gyre.tar.xz ^
txpx-pazofonts.tar.xz ^
sam2p-w32.tar.xz ^
uptex-w32.tar.xz ^
xetex-w32.tar.xz
if not exist W32TeX\Temp (
mkdir W32TeX\Temp
)
set elements_count=0
for %%i in (%files%) do (
set /a elements_count += 1
)
set download_count=0
for %%j in (%files%) do (
set /a download_count += 1
echo. & echo Downloading %%j [!download_count!/%elements_count%]...
bitsadmin /transfer W32TeXdownload /priority foreground %URL%%%j %cd%\W32TeX\Temp\%%j > nul
cls.exe
)
chdir W32TeX\Temp
echo. & echo Extracting files...
unzip.exe texinstwin.zip -d .. > nul
cls.exe
chdir ..
texinstwin.exe %cd%\Temp > nul
echo. & echo Installation finished. Press any key to exit.
pause >nul
実行結果
...
Add
C:\Users\***\Desktop\W32TeX\bin
or
C:\Users\***\Desktop\W32TeX\bin64;C:\Users\***\Desktop\W32TeX\bin
in the case of 64bit OS
to user's PATH in the control panel.
Installation finished. Press any key to exit.
各ファイルの詳細は 00FILES.sjis
に書かれています.他に必要なファイルがある場合は,コードに追記してください.
ディレクトリー構造は以下のようになりますが, Temp\
以下はダウンロードしたアーカイブファイルなので削除して問題ありません.
.
├─ W32TeXinstaller.bat
└─ W32TeX
├─ bin
├─ share
│ ├─ ctxdir
│ ├─ texmf-context
│ ├─ texmf-dist
│ ︙
│ └─ texworks
│ ├─ share
│ ├─ texworks-help
│ └─ twdata
│ COPYING
│ README.txt
│ texworks.exe
│ texworks-setup.ini
└─ Temp
W32TeX\share\texworks\texworks.exe
を実行すればTeXWorksが利用できます.
・環境変数(Path)追加
コマンドラインによるコンパイルをしない場合,この手順は不要のはずですが,一応記載しておきます.
以下のコードを保存し, W32TeX\
と同じディレクトリーに置いて実行する.
.
└─ W32TeX
Path.bat
AddPath.bat
@echo off
set PATH=%PATH%;%cd%\W32TeX\bin;%cd%\W32TeX\bin64
echo. & echo Path added. & echo. & echo Checking files, please wait...
platex.exe --help >nul
if %errorlevel% == 1 (
echo. & echo [ERROR] platex.exe is not installed.
goto close
)
dvipdfmx.exe --help >nul
if %errorlevel% == 1 (
echo. & echo [ERROR] dvipdfmx.exe is not installed.
goto close
)
echo. & echo OK.
cmd.exe /k cls.exe
:close
echo. & echo The program is closing in 10 seconds...
timeout /t 10 /nobreak >nul
exit
実行結果(正常終了時)
C:\Users\***\Desktop>
これらの環境変数は,コマンドプロンプトを終了すると削除されます.