Prosper に関連する Pstricks の使い方

Prosper に関連する Pstricks の使い方

$Lastupdate: Tue Oct 30 10:10:58 2007 $

Prosper を使う上で, pstricks が使えた方が便利です. というのは, いろいろな図を任意の位置に張り付けたくなることが多いからです.


  1. pstricks 自体は,覚えると便利なものですが, これで全てを解決しようとするのは非常に時間が掛ります.
    特に,説明用の図で,曲線が多く含まれる場合は, ドロー系のソフトウェア等を使って別途作成しておいた方が 楽なことが多いです.

    直線で構成される要素を描く場合,例えば, 矢印,箱 (二重に囲まれたものも)などは, pstricks で十分に対応できます. 実は, pstricks のマニュアルを良く読むと, こんなスライドも作れます. ソースリストは こちらです.

  2. 図表を配置するのに用いる基本コマンドは \rput です.
    \rput の書式は,
          \rput[pos](px,py){オブジェクト}
          
    です.

    \rput は,オブジェクト (例えば文字や図) の大きさに相当するボックスを, x座標が px,y座標がpy の位置に配置します.

    その際, このボックスの中心を (px,py) に配置するのか, ボックスの左下を (px,py) に配置するのか, 或は, ボックスの右上を (px,py) に配置するのか, いろいろありますが,これを指定するのが, pos というパラメータです.

    c Center
    t Top
    b Bottom
    u Upper
    l Left
    r Right

  3. それでは,どのような座標値に \rput を用いて オブジェクトを配置すれば良いのでしょうか. Prosper の場合, スライド1ページを構成するのは一つの slide 環境です. この slide 環境内に, \rput を用いてオブジェクトをおくわけですが, この場合,後々のことを考えて, pspicture 環境を用いるようにします.

    pspicture 環境は, pstricks で定義されています. 図を描くためのキャンバスを指定するようなものです. pspicture 環境は, 左下と右上の座標を指定し, 指定した座標値に対応するサイズの領域 (キャンバスに相当する) を 確保してくれます. pspicture 環境を通常に用いる場合, キャンバス外にも絵を描けます. \begin{pspicture*} ... \end{pspicture*} とすると, 指定した領域外での描画はしなくなります.

    Prosper の slide 環境 で作られる 1ページの大きさは, pspicture 環境を用いた場合, ほぼ (12,7) 単位となります. 下の例では, pspicture 環境の領域として, 左下(0,0) 右上 (12,7) のサイズの箱を取っています.

    例:
          \documentclass[pdf,ps2pdf]{prosper}
          
          \usepackage{pstricks}
          \begin{document}      
          \begin{slide}{サンプル}
             \begin{pspicture}(0,0)(12,7)
    	 \psline(0,0)(12,0)
    	 \psline(0,0)(0,7)
    	 \qdisk(0,0){0.04}
    	 \rput[lb](0,0){$(0,0)$}
             \end{pspicture}
          \end{slide}
          \end{document}      
          

    結果は以下のようになります.

    384x272(1440bytes)

    上のスライドでは, 左下 座標 (0,0)に, \qdisk を用いて点を描画しています. また,\rput を使って,$(0,0) $ (数式環境) を 座標 (0,0) に置いていますが, $(0,0) $ で作られる領域の箱の左下が (0,0) になっています. \rput の pos パラメータとして,lb (left と bottom) を 指定したからです.

    \psline(x1,y1)(x2,y2) によって,座標 (x1,y1) と 座標 (x2,y2) の間に直線を引くことができます. 上の例では,(0,0)から(12,0) と,(0,0) から (0,7) に 直線を引いています.
    直線の太さ,種類,色を変えることも出来ます.

          \psline[linewidth=2pt,linestyle=dashed,linecolor=red](x1,y1)(x2,y2)
          
    とすると,2ポイントの太さの赤い破線を引きます.
          \psline[linecolor=blue]{c->}(x1,y1)(x2,y2)
          
    とすると,青い実線の矢印を (x1,y1) から (x2,y2) 方向に引きます.

    以下は,2つ目のサンプルです.

    842x596(9851bytes)

    ソースコードは以下です.

          \documentclass[pdf,ps2pdf]{prosper}
          \usepackage{pstricks}
          \slideCaption{これはどう?}
          \begin{document}
          \begin{slide}{サンプル2}
          \begin{itemize}
               \item 第1行目のアイテム
                     \begin{pspicture}(0,0)(10,5)
                     \pspolygon(0,0)(10,0)(10,5)(0,5)
    	         \psline[linewidth=4pt,linestyle=dotted,linecolor=cyan]%
    	         {C->}(4,3)(8,2)
    	         \pscircle(4,3){0.5}
    	         \pscircle[linecolor=green](8,2){0.7}
    	         \qdisk(0,0){0.04}
    	         \rput[rt](10,5){右上}
    	         \end{pspicture}
               \item 第2行目のアイテム
          \end{itemize}
          \end{slide}
          \end{document}
          
    itemize 環境内において, 最初の \item の次に pspicture 環境を置いています. 例1と違い,サイズを (0,0)(10,5) でとりました. サイズを (0,0)(10,3) でとると こちら になります.

    上のサンプル2では,

    • \pspolygon
    • \pscircle
    を新たに用いています.また, \psline で矢印を描いています.

    \pspolygon は,指定した座標値から構成される多角形を描きます. 多角形の辺や,多角形内をどのように描くか, 例えば,塗り潰すのか,色を付けるのか等も指定できます.

          \pspolygon[linewidth=2pt,linestyle=dashed,linecolor=red](x1,y1)(x2,y2)....
          
    とすると,2ポイントの太さの赤い破線による 多角形を描きます.
          \pspolygon[fillstyle=solid,fillcolor=red](x1,y1)(x2,y2)....
          
    とすると,内部を赤で塗り潰します. この他にも,チェッカー模様等の柄で内部を描くことも出来ますが, マニュアルを参照してください.

    \pscircle は円を描きます.

          \pscircle(x1,x2){r}
          
    とすると, 半径 r の円を位置が (x1,x2) を 中心として描くことができます.
  4. \rput のオブジェクトには, EPS ファイルなどもOKです. 以下の例を見てください.

    例:
          \documentclass[pdf,distiller]{prosper}
    
          \usepackage{pstricks}
          \usepackage{pst-node}
          \usepackage{graphicx}
    
          \slideCaption{次はこれ!}
    
          \begin{document}
          \begin{slide}{カオス的探索と確率的探索}
          \begin{itemize}
          \item 確率的なダイナミクスによるローカルミニマムの回避
    	\begin{pspicture}(0,0)(12,3)
    	 \rput(3,1.8){\scalebox{0.3}[0.3]{%
    	 \includegraphics{stochasticsearch.eps}}}
    	 \rput(3,0.5){状態}
    	 \rput(8,1.6){\scalebox{0.3}[0.3]{%
    	 \includegraphics{stochasticstatespace.eps}}}
    	 \rput(9,0.5){ランダム}
    	\end{pspicture}
          \item カオスダイナミクスを用いたローカルミニマムの回避
    	\begin{pspicture}(0,0)(12,3)
    	 \rput(3,1.8){\scalebox{0.3}[0.3]{%
    	 \includegraphics{chaoticsearch.eps}}}
    	 \rput(3,0.5){状態}
    	 \rput(8,1.6){\scalebox{0.3}[0.3]{%
    	 \includegraphics{chaoticstatespace.eps}}}
    	 \rput(9,0.0){フラクタル}
    	\end{pspicture}
          \end{itemize}
          \end{slide}
          \end{document}
          
    上のサンプルでは, 4つのEPSファイルを読み込んでいますが, 読み込み自体は, 通常に用いられる方法である \includegraphics を用いています. プリアンブルにおいて
          \usepackage{graphicx}
          
    しています.
    この例では, これらの図のサイズの変更を \scalebox を用いていますが, これは graphicx.sty の \scalebox です. この例のプリアンブルで, pstricks.sty を後に読み込めば, pstricks.sty の\scalebox を使うことになるので, 書式が異なることに注意しましょう.

    上のソースプログラム例による結果は以下のようになります.

    750x532(17028bytes)

  5. 色をつけたい.

    \newrbgcolor{色名}{R G B}

    を使います. RGBは0以上1以下の数値で指定します.というのは, 実態は,psのsetrgbcolorだからです.
    myrgbcolor.sty として,作ってみました. http://www.geocities.co.jp/HeartLand/8819/webjpcol.html を参考にして作りました.

続く...
Copyright (C) 2003 - 2007 Tohru Ikeguchi, Saitama University.