TeXとBiBTeXとbashのgetoptの練習がてらに

texからpdfまでを一括で行うスクリプト。作ったけどtexbinの中に入ってそうだ。-bオプションを取得してBiBTeXの処理オプション、-cオプションを取得して中間ファイルの削除オプションもつけてみた。

function tex2pdf() {
    
    # set options
    BIBTEX=false
    CLEANING=true
    
    while getopts bc OPT; do
        case $OPT in
            b) BIBTEX=true;;
    	c) CLEANING=true;;
        esac
    done
    shift $((OPTIND - 1))
    
    # tex process
    platex $1
    if $BIBTEX; then
    	pbibtex $1
    	platex $1
    fi
    dvipdfmx $1
    
    # cleaning
    if $CLEANING; then
    	rm $1.{log,aux,dvi}
    	if $BIBTEX; then
    		rm $1.{bbl,blg,lof,lot,toc}
    	fi
    fi

}

使い方

第一引数にターゲットのtexファイルを拡張子抜きで指定。

$ tex2pdf texfile

bibtexする場合

$ tex2pdf texfile -b

中間ファイルを削除する場合

$ tex2pdf texfile -c

はじめはplatexとdvipdf打つのが面倒だなと思って作り始めたこんなのだった。

function tex2pdf() {
    platex $1
    dvipdfmx $1
}

こんなのになるまで

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s