pszahyou環境
pszahyou*環境
picture環境を拡張したもので,座標平面を設定します。
zahyou環境が,tpic specials によって記述されるのに対し,
pszahyou環境は,
PostScript によって記述された EPSファイル
を作成し,それを読み込みます。
定義されているスタイルファイル †
emathPs.sty
書式 †
\begin{pszahyou}[#1](#2,#3)(#4,#5)
..
\end{pszahyou}
座標平面を設定し,座標軸を描画します。
\begin{pszahyou*}[#1](#2,#3)(#4,#5)
..
\end{pszahyou*}
座標軸を描画しません。
- #1: オプション引数で key=val の形式
- #2: x座標の下限 (\xmin に保存される)
- #3: x座標の上限 (\xmax に保存される)
- #4: y座標の下限 (\ymin に保存される)
- #5: y座標の上限 (\ymax に保存される)
#1 における有効な key は
- borderwidth
- 描画領域を拡げます。
- gentenhaiti
- 原点記号の位置を変更します。
デフォルトは [sw]
- gentenkigou
- 原点記号を変更します。
デフォルトは O
- getxyrange
- setxyrange で設定した描画範囲を受け取ります。
- haiti
- ベースラインを変更します。
- hidariyohaku
- 描画領域の左方に余白を設定します。
- migiyohaku
- 描画領域の右方に余白を設定します。
- sitayohaku
- 描画領域の下方に余白を設定します。
- tatezikuhaiti
- 縦軸記号の位置を変更します。
デフォルトは (-3pt,0)[rt]
- tatezikukigou
- 縦軸の名称を変更します。
デフォルトは $y$
- ueyohaku
- 描画領域の上方に余白を設定します。
- ul
- 単位長を変更します。
デフォルトは 1pt
- xscale
- 横軸方向の単位長を変更します。(要:emathPxy.sty)
- yohaku
- 描画領域の上下左右の余白を一括して変更します。
- yokozikuhaiti
- 横軸記号の位置を変更します。
デフォルトは (0,-3pt)[rt]
- yokozikukigou
- 横軸の名称を変更します。
デフォルトは $x$
- yscale
- 縦軸方向の単位長を変更します。(要:emathPxy.sty)
- zikusensyu
- 座標軸を描画する線種を変更します。
デフォルトは \arrowdrawline
基本例 †
x座標,y座標の範囲を指定して,座標平面を描画します。
保存されている点 †
pszahyou(*)環境を実行後,原点は \O に,
座標軸の両端は \XMAX などに,右上は \RT などに
に保存されています。
単位長の変更 †
pszahyou環境の単位長は,その時点の \unitlength です。
(LaTeX のデフォルトは 1pt)
これを変更するオプションが [ul=..] です。
右辺値は単位を伴った長さです。
pszahyou環境では,単位長を 1cm 程度にとることを推奨しています。
その理由は,線分の長さ計算などでオーバーフローが発生するのを防ぐためです。
(TeX では 128^2 でオーバーフローします。)
- (注1)\setlength{\unitlength}{10mm}などと \unitlength を変更しても同じ効果が得られます。
- (注2)\setlength{\unitlength}{10mm}など\unitlength の変更は,その後のすべてに影響を与えますが,
[ul=10mm] オプションによる変更は当該pszahyou環境に限定されます。
- (注3)両方の変更が指令された場合は,[ul=..]オプションの指定が優先されます。
- (注4)jsarticle クラスなどを使用するときは,長さの単位には true を附加しておくのがよいでしょう:
【例】ul=10truemm
単に ul=10mm では,文字サイズが 10pt でない場合,図が伸縮されます。
更にうるさいことを言えば,線の太さも伸縮されますから
\linethickness{0.4truept}
などとする必要が生ずるかもしれません。
座標軸 †
pszahyou環境における座標軸は \Drawline ではなく,
矢線を引くコマンド \ArrowLine で描画されます。
従って,その太さなどは \linethickness コマンドでは制御できず,
\setarrowsize
によって変更しなければなりません。
- 座標軸の描画は,\end{pszahyou} の処理中に行われます。
したがって,\setarrowsize は \end{pszahyou}の直前に置くのがよいでしょう。
- \setarrowsize については,こちら をご覧ください。
座標軸を描画しない †
座標軸を描画したくない場合は,アスタリスク付き環境 pszahyou* を用います。
- x軸のみを描画したい場合も,zahyou*環境を用いた上,\drawXaxis コマンドを発行します。
ただし,このコマンドは座標軸名称を出力しませんから,x軸右端である \XMAX を配置基準点として軸名称を \emathPut で出力します。
- 軌跡の問題などで,除外点に白丸を付加する場合,除外点が軸上ですと
pszahyou環境では,軸が最後に描画される関係で,白丸の中を軸が突っ切ります。
これを回避するには,pszahyou*環境を用いて,適当なタイミングで \drawXYaxis コマンドを発行します。
座標軸の線種変更 †
座標軸は矢線で描画されますが,矢印はつけたくない,という場合は
zikusensyu=\drawline
とします。
- このとき,座標軸が太くなることが気に入らない,という場合は
座標軸の描画が行われるのは \end{pszahyou} の中ですから,その直前に
\linethickness, \setlinewidth
などのコマンドで太さを指定します。
- \setarrowsize を用いて,鏃をつぶしてしまう,という手もあります。
- もっと込み入った注文をつけたいときは
pszahyou*環境
を用いて,
\Drawline コマンド
などにオプションをつけて座標軸を描画します。
原点記号の変更 †
原点記号を変更するオプションが
gentenkigou=.
です。右辺値は文字です。
特に右辺値を空にすれば,原点記号は表示されません。
座標軸の名称変更 †
デフォルトでは,座標軸の名称は
横軸が x, 縦軸が y
となっていますが,これを変更するオプションが
yokozikukigou=., tatezikukigou=.
です。右辺値は文字ですが,数式文字を使用したいときは $..$ とする必要があります。
座標軸名称の位置変更 †
座標軸名称・原点記号の位置を変更するオプションが
yokozikuhaiti=...
tatezikuhaiti=...
gentenhaiti=...
です。右辺値は \emathPut の文字配置修正オプションです。
- \emathPut の文字位置修正オプションについては,\emathPut のページ「基本例」をご覧ください。
- 右辺値には,[ , ] が含まれますから,右辺値全体を {...} で括っておかねばなりません。
余白の設定 †
下の図では,縦軸記号が描画領域(青緑色(シアン)の長方形)の上に飛び出しています。
TeX が認識している zahyou環境の大きさは図の青緑色の長方形です。
したがって,このままでは上の行と重なることも起きるでしょう。
描画領域の外に余白をつけて,TeX が認識する大きさを大きくするオプションが
ueyohaku=..
sitayohaku=..
hidariyohaku=..
migiyohaku=..
です。右辺値は単位を伴う長さですが,無名数も許容されます。その場合,単位は \unitlength と解釈されます。
上下左右の余白を一括して同じ値に設定する
yohaku=..
オプションもあります。
下の図では
ueyohaku=1em
として,青緑色の描画領域の上に 1em の余白を設定しています。
その結果,TeX が認識するボックスは図の赤色の長方形となります。
斜交座標 (emathPsa.sty) †
斜交座標を扱う環境 psazahyou は,emathPsa.sty で定義されています。
pszahyou環境とほとんど同様ですが,
縦横の比率だけではなく,傾きも変えて斜交座標を描画するオプション
ex=...
ey=...
が付加されています。それぞれ横軸,縦軸の基本ベクトルを与えます:
(x, y) : 直交成分(無名数)
r(R,Θ) : R は単位を伴う長さまたは無名数,Θ は度数法の角
入試問題から †
注意事項 †
- pszahyou(*)環境はネストできません。
- エラーが出た場合は,空の(あるいは不完全な)eps ファイルが作成されてしまう場合があり,思わぬエラーにつながることがあります。
エラーメッセージのページをご覧ください。
関連事項 †