/platexpdf

platex して dvipdfmx するスクリプト

Primary LanguagePerl

platexpdf

platex して dvipdfmx するスクリプト

概要

本スクリプトはTeXファイルを引数にとりPDFファイルを作成するPerlスクリプ トです.内部では,platexコマンド,dvipdfmxコマンドを使っています. つまり,

platexpdf hoge.tex

は,

platex hoge.tex
dvipdfmx hoge.dvi

とふたつのコマンドを実行することにほぼ等しいです.

使い方

Perlが動作する環境で本スクリプトをPATHの通ったところに置くと以下のよう にコマンドとして使えます.

platexpdf hoge.tex

hoge.texを引数にとり,DVIファイル及びPDFファイルを一度に作成していま す.

文字コードを明示的に指定したり,埋め込みたいフォントのフォントマップを 指定することができます.

platexpdf -k utf8 -f cid-x.map hoge.tex

また,ファイルの変更を監視して,変更されたときに自動でコンパイルを実行 することもできます.この機能を使うには Filesys::Notify::Simple モジュールが必要です.

# hoge.texが修正されたときに自動でコンパイル
platexpdf -w -- hoge.tex

# hoge.texもしくはpiyo.texが修正されたときに自動でhoge.texをコンパイル
platexpdf -w hoge.tex -w piyo.tex hoge.tex

WindowsでActivePerlを使用して いる場合は,コマンドラインから

pl2bat platexpdf

で,platexpdf.batを作成して,それをPATHの通ったところに置いてください.

オプション

本スクリプトは,いくつかのオプションを指定することができます.

  • --bibtex / -b

    bibTeXを使うときに指定します.

  • --clean EXTENSION / -c EXTENSION

    削除したい中間ファイルの拡張子を指定します.

  • --fontmap FILENAME / -f FILENAME

    フォントマップファイルを指定します.dvipdfmx-fオプションに相当 します.

  • --help / -h

    ヘルプを表示します.

  • --kanji ENCODING / -k ENCODING

    TeXファイルの文字コードを明示的に指定します.platex-kanjiオプショ ンに相当します.(ENCODING=euc|jis|sjis|utf8)

  • --landscape / -l

    用紙を横に使うモードでPDFを出力します.dvipdfmx-lオプションに相当します.

  • --papersize PAPERSIZE / -p PAPERSIZE

    用紙サイズを明示的に指定します.dvipdfmx-pオプションに相当しま す.(e.g. a4)

  • --watch FILE / -w FILE

    変更を監視するファイルを指定します.FILEを省略した場合は,コンパイル 対象のTeXファイルを監視します.このオプションを指定すると,ファイルを 監視し,ファイルが変更されればコンパイルを実行します.このオプション を使う場合は,追加モジュールとして Filesys::Notify::Simple が必要です.

    Filesys::Notify::Simpleは,プラットフォームごとに Linux::Inotify2Mac::FSEventsFilesys::Notify::KQueueWin32::ChangeNotify を使い分けます.プラットフォームに合ったモジュールをインストールする ことで,ファイルの監視を効率的に行えるようになります.

--cleanオプション,--fontmapオプション,--watchオプションは以下の ように複数指定することができます.

platexpdf --watch piyo.tex --watch hoge.tex --clean log --clean dvi hoge.tex

注意

Adobe ReaderでPDFファイルを開いている状態でplatexpdfを実行してもPDFファ イルを更新できません.これは,Adobe Readerがファイルをロックしているた めです.

platexpdf実行時にはPDFビューアを閉じるか,ファイルをロックしないような PDFビューアを使用するようにしてください.たとえば,Windowsでは, Sumatra PDFというPDFビューアがあります.Linuxでは,evince等を使え ば大丈夫です.

ライセンス

MITライセンスです.