Windows 用 TeX Live で texexec を使う

Windows 用 TeX Live で texexec を使えるようにしたので、その備忘録。

Ruby をインストール

Windows 用 TeX Live で texexec を使うには、別途 Ruby をインストールしなけれならない(Perl は付属しているのに.....)。残念ながら Ruby の Windows 用バイナリは、公式のものは存在しないので、「有志による」下記のいずれかをインストールする。

※ それぞれの違いは、公式サイトに簡単な説明がある。

試しに ActiveScriptRuby の最新版「Ruby-2.1.2-p95 Microsoft Installer Package(2014-5-08 revision 45877 改)」をインストールしてみた。32bit だが、64bit Windows でも問題なく動作しているようだ。

インストーラー Ruby-2.1.msi をダブルクリックしてインストールを進めると、動作中のプログラムに影響するらしく、インストール後に再起動する必要がある旨の説明が出るが、該当するプロセスを強制終了してインストールした。

インストール完了後に、環境変数 PATH に次を追加。

C:\Program Files (x86)\Ruby-2.1\bin

バッチファイル

A4(縦)の文書を、A3 用紙に冊子印刷(2 面付)するためのバッチファイル(a4a3_booklet.bat)。

@echo off
setlocal
set D=%~dp1
set F=%~n1
set E=%~x1
if %E%==.pdf (
	cd /d %D%
	texexec --pdfarrange --paperformat=a4a3 --print=up --result=%F%_booklet %F%%E%
	if %ERRORLEVEL%==0 del %F%_booklet.log
)
endlocal

A5(縦)の文書を、A3 用紙に並べて配置(4 面付)するためのバッチファイル(a5a3_combine.bat)。

@echo off
setlocal
set D=%~dp1
set F=%~n1
set E=%~x1
if %E%==.pdf (
	cd /d %D%
	texexec --pdfcombine --combination=2*2 --nobanner --paperformat=a3 --result=%F%_combine %F%%E%
	if %ERRORLEVEL%==0 del %F%_combine.log
)
endlocal