最近は ptex2pdf というプログラム(実体は Lua スクリプト)が開発されたこともあり,あらゆる環境で (u)pLaTeX + dvipdfmx という「日本語ユーザが最も利用しているタイプセット方法」が一発で可能になりました。 しかし,今でも従来の
による方法が使われている環境も,各所で見受けられます。 そこで,ここにそうしたスクリプトの例を挙げておきます。
オーソドックスな pLaTeX + dvipdfmx による PDF 生成スクリプトです。 TeXShop にはシェルスクリプト版が含まれています。
@echo off platex -synctex=1 -kanji=utf8 -no-guess-input-enc %1 && ^ dvipdfmx "%~n1"
#!/bin/sh platex -synctex=1 "$1" && \ dvipdfmx "`basename "$1" .tex`"
upLaTeX + dvipdfmx による PDF 生成スクリプトです。 TeXShop にはシェルスクリプト版が含まれています。
@echo off uplatex -synctex=1 -kanji=utf8 -no-guess-input-enc %1 && ^ dvipdfmx "%~n1"
#!/bin/sh uplatex -synctex=1 "$1" && \ dvipdfmx "`basename "$1" .tex`"
PSTricks などの dvips ドライバ依存のパッケージを利用している場合に使用します。 convbkmk は日本語文書で PDF のしおりが文字化けしないようにする Ruby スクリプトです。 事前に Ruby インタプリタがインストールされていることを確認してください。 TeXShop にはシェルスクリプト版が含まれています。
@echo off platex -synctex=1 -kanji=utf8 -no-guess-input-enc %1 && ^ dvips -z -f "%~n1.dvi" | ^ convbkmk -g > "%~n1.ps" && ^ ps2pdf.exe "%~n1.ps"
#!/bin/sh platex -synctex=1 "$1" && \ dvips -z -f "`basename "$1" .tex`.dvi" | \ convbkmk -g > "`basename "$1" .tex`.ps" && \ ps2pdf "`basename "$1" .tex`.ps"
上の pdfpLaTeX2 の upLaTeX 版です。 やはり convbkmk を使用します。 TeXShop にはシェルスクリプト版が含まれています。
@echo off uplatex -synctex=1 -kanji=utf8 -no-guess-input-enc %1 && ^ dvips -z -f "%~n1.dvi" | ^ convbkmk -u > "%~n1.ps" && ^ ps2pdf.exe "%~n1.ps"
#!/bin/sh uplatex -synctex=1 "$1" && \ dvips -z -f "`basename "$1" .tex`.dvi" | \ convbkmk -u > "`basename "$1" .tex`.ps" && \ ps2pdf "`basename "$1" .tex`.ps"
LaTeX ではなく plain TeX を使うスクリプトも同様に作成することができます。 参考までに,TeXShop に含まれているものを紹介します*1。
#!/bin/sh euptex -synctex=1 -file-line-error "$1" && \ dvipdfmx "`basename "$1" .tex`"
#!/bin/sh euptex -synctex=1 -file-line-error "$1" && \ dvips -z -f "`basename "$1" .tex`.dvi" | \ convbkmk -u > "`basename "$1" .tex`.ps" && \ ps2pdf "`basename "$1" .tex`.ps"
シェルスクリプト(Unix 系)を自作した場合は,当然ながら PATH の通っている場所に置き,さらに実行権限を割り当てておく必要があります。
スクリプトを置く場所を例えば ~/bin とすると,~/.bash_profile または ~/.bashrc に
export PATH=$HOME/bin:$PATH
と書き加えます。
スクリプト pdfuplatex を nano で作成するには,ターミナルで
$ nano ~/bin/pdfuplatex
として下記のシェルスクリプトを記述し,保存してから
$ chmod +x ~/bin/pdfuplatex
を実行します。