2008年02月17日

Beamer with PSTricks

以前,記事 で Beamer について書きましたが,今回は動きのあるスライドをつくるために Beamer と PSTricks の連携にチャレンジしました.そのときのメモです.

以前の記事には書いていませんが,TeX の Beamer クラスで PDF を作る方法は二つあります.一つは,tex から作成した dvi ファイルを dvipdfmx コマンド一発で変換する方法です.もう一つは,dvi ファイルを一度 dvipsk コマンドで ps ファイルに変換したあとに ps2pdf コマンドで変換する方法です.使用する変換方法に従い,TeX の documentclass のオプションに dvipdfm か dvips のどちらかを指定します.

今回は Beamer v3.0 with PSTricks (PDF) に従い,後者の方法を利用します.この PDF によると,documentclass を次のように設定します.

\documentclass{slidestop, xcolor=pst, dvips]{beamer}
\usepackage{pstricks}

私の環境ではこの設定ではエラーが出てしまいました.Beamer + PSTricks = Undefined control sequence [Archiv] - mrunix.de と同じように xcolor ではなく color にしたらうまくいきました.原因はわかりません.

サンプルとして日本語を含んだ文章を書いたら変換します.dvi ファイルからの変換は次のコマンドです.

>dvipsk -P PDF -G0 sample.dvi
>ps2pdf sample.ps

基本的にはこれで完成です.ただし,日本語のしおりが文字化けします.

dvipdfmx を用いた変換の場合は,nDiki: hyperref - pTeX の内部コードを判別して hyperref の設定を切り換え (2005-04-26) を参考に,次のコマンドを書けば文字化けは解消できます.

\ifnum 42146=\euc"A4A2 \AtBeginDvi{\special{pdf:tounicode EUC-UCS2}}\else
\AtBeginDvi{\special{pdf:tounicode 90ms-RKSJ-UCS2}}\fi

ただし,dvipsk の環境ではうまくいかなかったような気がします.そこで bkmk2uni というコマンドを使います.私の環境では TeX をインストールしたときに一緒にインストールされたようです.

bkmk2uni を使うには先ほどの変換コマンドを次のように修正します.

>dvipsk -P pdf -G0 sample.dvi
>bkmk2uni <sample.ps >sample.tmp.ps
>ps2pdf sample.tmp.ps

ファイル名は何でもいいのですが,とりあえず2行目を挿入すると文字コードを修正してくれるようです.これを実行するとしおりが文字化けしていないスライドが完成します.

ただ,私の環境だと,R で作成した ps ファイルの図のラベルが文字化けしました.もともとラベルは英語なので文字化けするはずがないのですが,特定の一枚だけおかしくなりました.

そこで,diff コマンドで sample.ps と sample.tmp.ps ファイルの差分を見たところ,/P /Q /R /S /T /U /V /W という行が2行ありました.確認するとその分だけ文字列がずれていたので,1行削除すると問題は解決しました.よかった.

あとは PSTricks と同じように pspicture でキャンバスを作って,順番に表示するようにすれば動きのあるスライドが完成します.
【関連する記事】
posted by おぷ at 19:38| TeX | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。