&size(24){''zahyou環境''};~
&size(24){''zahyou*環境''};
 picture環境を拡張したもので,座標平面を設定します。
 zahyou環境では,図の描画は tpic specials に依存します。
 PostScript で描画する pszahyou環境の方をお勧めします。
#contents
#br
*定義されているスタイルファイル [#t06d5dfc]
emathPh.sty[2007/05/04]

(emathPxy.sty emathPha.sty emathPs.sty で拡張されていきます。)
- emathPh.sty に先だって,graphicx.sty をロードしておきます。~
その際,[[ロードオプション>#driver]] を正しく付加しておかねばなりません。~
また,カラーを使用する際は,color.sty にも graphicx.sty と同じロードオプションをつけます。
*書式 [#y1b2dcc9]
 \begin{zahyou}[#1](#2,#3)(#4,#5)
 ..
 \end{zahyou}
 座標平面を設定し,座標軸を描画します。

 \begin{zahyou*}[#1](#2,#3)(#4,#5)
 ..
 \end{zahyou*}
 座標軸を描画しません。
-#1: オプション引数で key=val の形式
-#2: x座標の下限 (\xmin に保存される)
-#3: x座標の上限 (\xmax に保存される)
-#4: y座標の下限 (\ymin に保存される)
-#5: y座標の上限 (\ymax に保存される)

#1 における有効な key は
:[[ex>#syakou]]|斜交座標におけるx軸の単位ベクトルを指定します。(要:emathPha.sty)
:[[ey>#syakou]]|斜交座標におけるy軸の単位ベクトルを指定します。(要:emathPha.sty)
:[[gentenhaiti>#gentenhaiti]]|原点記号の位置を変更します。~
デフォルトは [sw]
:[[gentenkigou>#gentenkigou]]|原点記号を変更します。
:[[gentenkigou>#gentenkigou]]|原点記号を変更します。~
デフォルトは O
:[[haiti>#haiti]]|ベースラインを変更します。
:[[hidariyohaku>#yohaku]]|描画領域の左方に余白を設定します。
:[[migiyohaku>#yohaku]]|描画領域の右方に余白を設定します。
:[[sitayohaku>#yohaku]]|描画領域の下方に余白を設定します。
:[[tatezikuhaiti>#gentenhaiti]]|縦軸記号の位置を変更します。~
デフォルトは (-3pt,0)[rt]
:[[tatezikukigou>#yokozikukigou]]|縦軸の名称を変更します。~
デフォルトは $y$
:[[ueyohaku>#yohaku]]|描画領域の上方に余白を設定します。
:[[ul>#unitlength]]|単位長を変更します。~
デフォルトは 1pt
:[[xscale>#yscale]]|横軸方向の単位長を変更します。(要:emathPxy.sty)
:[[yohaku>#yohaku]]|描画領域の上下左右の余白を一括して変更します。
:[[yokozikuhaiti>#gentenhaiti]]|横軸記号の位置を変更します。~
デフォルトは (0,-3pt)[rt]
:[[yokozikukigou>#yokozikukigou]]|横軸の名称を変更します。~
デフォルトは $x$
:[[yscale>#yscale]]|縦軸方向の単位長を変更します。(要:emathPxy.sty)
:[[zikusensyu>#zikusensyu]]|描画する座標軸の線種を変更します。~
デフォルトは \arrowdrawline
-このコマンドを実行後,原点が \O に,座標軸の両端が~
  [[\XMAX, \XMIN, \YMAX, \YMIN>#XMAX]] に,~
座標平面の右上,左上,左下,右下が~
  [[\RT, \LT, \LB, \RB>#XMAX]] に~
保存されています。
*例 [#o70fbeaa]
**基本例 [#f852ecbc]
 x座標,y座標の範囲を指定して,座標平面を描画します。
#ref(zahyou01.png)
-この座標平面に,文字・図を配置しますが,位置の指定は [[\emathPut>emathPut]] コマンドを用います。
**保存されている点 [#XMAX]
 zahyou(*)環境を実行後,原点は \O に,
 座標軸の両端は \XMAX などに,右上は \RT などに
 に保存されています。
#ref(XMAX01.png)
**単位長の変更 [#unitlength]
 zahyou環境の単位長は,その時点の \unitlength です。
 (LaTeX のデフォルトは 1pt)
 これを変更するオプションが [ul=..] です。
 右辺値は単位を伴った長さです。
 zahyou環境では,単位長を 1cm 程度にとることを推奨しています。
 その理由は,線分の長さ計算などでオーバーフローが発生するのを防ぐためです。
 (TeX では 128^2 でオーバーフローします。)
#ref(unitlength01.png)
-(注1)\setlength{\unitlength}{10mm}などと \unitlength を変更しても同じ効果が得られます。~
-(注2)\setlength{\unitlength}{10mm}など\unitlength の変更は,その後のすべてに影響を与えますが,~
[ul=10mm] オプションによる変更は当該zahyou環境に限定されます。~
-(注3)両方の変更が指令された場合は,[ul=..]オプションの指定が優先されます。
-(注4)jsarticle クラスなどを使用するときは,長さの単位には true を附加しておくのがよいでしょう:~
【例】ul=10truemm~
単に ul=10mm では,文字サイズが 10pt でない場合,図が伸縮されます。~
更にうるさいことを言えば,線の太さも伸縮されますから~
  \allinethickness{0.4truept}~
などとする必要が生ずるかもしれません。
**座標軸の名称変更 [#yokozikukigou]
 デフォルトでは,座標軸の名称は
   横軸が x, 縦軸が y
 となっていますが,これを変更するオプションが
   yokozikukigou=., tatezikukigou=.
 です。右辺値は文字ですが,数式文字を使用したいときは $..$ とする必要があります。
#ref(yokozikukigou01.png)
**原点記号の変更[#gentenkigou]
 原点記号を変更するオプションが
   gentenkigou=.
 です。右辺値は文字です。
#ref(gentenkigou01.png)
 特に右辺値を空にすれば,原点記号は表示されません。
#ref(gentenkigou02.png)
**座標軸名称の位置変更 [#gentenhaiti]
 座標軸名称・原点記号の位置を変更するオプションが
   yokozikuhaiti=...
   tatezikuhaiti=...
   gentenhaiti=...
 です。右辺値は \emathPut の文字配置修正オプションです。
#ref(yokozikuhaiti01.png)
-\emathPut の文字位置修正オプションについては,[[\emathPut のページ「基本例」>emathPut#j7621635]]をご覧ください。
-右辺値には,[ , ] が含まれますから,右辺値全体を {...} で括っておかねばなりません。
**座標軸の線種変更 [#zikusensyu]
 座標軸は矢線で描画されますが,矢印はつけたくない,という場合は
   zikusensyu=\drawline
 とします。
#ref(zikusensyu01.png)

**y軸を下方向へ [#zdded74b]
#ref(yazirusi.png)
-ただし,phazahyou環境は~
  emathPha.sty~
で定義されていますから,~
  \usepackage{emathPha}~
としておく必要があります。
**余白の設定 [#yohaku]
 下の図では,縦軸記号が描画領域(青緑色(シアン)の長方形)の上に飛び出しています。
 TeX が認識している zahyou環境の大きさは図の青緑色の長方形です。
 したがって,このままでは上の行と重なることも起きるでしょう。
#ref(ueyohaku01.png)
 描画領域の外に余白をつけて,TeX が認識する大きさを大きくするオプションが
   ueyohaku=..
   sitayohaku=..
   hidariyohaku=..
   migiyohaku=..
 です。右辺値は単位を伴う長さですが,無名数も許容されます。その場合,単位は \unitlength と解釈されます。
 上下左右の余白を一括して同じ値に設定する
   yohaku=..
 オプションもあります。

 下の図では
   ueyohaku=1em
 として,青緑色の描画領域の上に 1em の余白を設定しています。
 その結果,TeX が認識するボックスは図の赤色の長方形となります。
#ref(ueyohaku02.png)
-emathPh.sty v 3.08 までは~
  Ueyohaku=.. の右辺値は単位を伴う長さ~
  ueyohaku=.. の右辺値は無名数(単位は \unitlength)~
となっていましたが,v 3.09 以降は
  ueyohaku=..
で,右辺値は単位を伴っても,無名数でもよくなりました。~
Ueyohaku=.. は従来どおり使用できますが, obsolete とします。~
Sitayohaku, Migiyohaku, Hidariyohaku ,Yohaku も同様です。
**ベースライン [#haiti]
 デフォルトでは,zahyou環境のベースラインは,下辺です。
#ref(haiti00.png)
 [haiti=t] オプションをつけた場合は,上辺となります。
#ref(haiti0t.png)
 横軸をベースラインとするには,[haiti=x] オプションをつけます。
#ref(haiti0x.png)
**縦横が異なる単位長 (emathPxy.sty) [#yscale]
***xscale, yscale  [#i3566b4b]
 下のような場合は,縦を縮めたくなります。
 そのようなとき
   yscale=..
   xscale=..
 オプションを用います。
 右辺値は無名数で比率を表します。
#ref(yscale01.png)
 上の例で
   yscale=.5
 と,縦方向を半分に縮めますと:
#ref(yscale02.png)
-ただし,このオプションは~
  emathPxy.sty~
で定義されていますから,~
  \usepackage{emathPxy}~
としておく必要があります。
***適用除外 [#jdc8a4df]
yscale(xscale) 指定は,[[\En>En]], [[\Daen>Daen]] に対しては無効です。
#ref(yscale03.png)
yscale(xscale) 指定は,\Gurafu に対しても無効です。~
下の例では,放物線の弧 y=x^2 (0≦x≦1) を描画したつもりですが.....
#ref(yscale04.png)

**斜交座標 (emathPha.sty) [#syakou]
***ex, ey [#qbcb696b]
 斜交座標を扱う環境 phazahyou は,emathPha.sty で定義されています。
 zahyou環境とほとんど同様ですが,
 縦横の比率だけではなく,傾きも変えて斜交座標を描画するオプション
   ex=...
   ey=...
 が付加されています。それぞれ横軸,縦軸の単位ベクトルを与えます:
   (x, y) : 直交成分(無名数)
   r(R,Θ) : R は単位を伴う長さまたは無名数,Θ は度数法の角
#ref(exy11.png)
-ただし,eepic.sty のバージョンが古いと,上の図のようにならない~
という話題が [[BBS No.7326>http://hpcgi3.nifty.com/emath/treebbs.cgi?kako=1&all=7326&s=7326]] からのスレッドにあります。

 座標軸を回転した例です。
#ref(exy01.png)
 この場合,原点記号の位置などはデフォルトのままでは不十分なことが多いでしょう。
#ref(exy02.png)
-ただし,このオプションは~
  emathPha.sty~
で定義されていますから,~
  \usepackage{emathPha}~
としておく必要があります。
***適用除外 [#xf52e3f5]
***入試問題から [#s056f433]
|||LEFT:|c
|2007 岩手大 |&ref(0009200715.tex); |&ref(0009200715fig.png);|
*注意事項 [#n540a9cf]
**graphicx.sty のロードオプション [#driver]
 グラフィックスは dvi-ware に依存します。
 したがって,graphicx.sty を読み込むさい,
   \usepackage[dvips]{graphicx}
   \usepackage[dvipdfmx]{graphicx}
   \usepackage[dviout]{graphicx}
 などのように,ロードオプションでそれを明示しなければなりません。
 この指定と,使用する dviware が異なると,正しい表示が得られなくなります。
**オーバーフローの回避法 [#overflow]
-[[単位長の変更>#unitlength]] のところでも述べましたが,
TeX は数値計算ソフトではありませんから,128*128 でオーバーフローします。~

 一例をあげましょう。
 下のリストで,
 %   \HenKo\A\B{$x$}
 行頭の % を除去すると,エラー
 ! Arithmetic overflow.
 が発生します。
 (円弧の半径を求める計算でオーバーフローします)
#ref(overflow01.png)
-これを回避するには,単位長を大きくして,座標数値を小さくすることです。

 上の例で
   単位長を10倍に
   座標数値を1/10
 としたのが下のリストです。オーバーフローは発生しません。
#ref(overflow02.png)
-もう一つの回避法は,単位長を大きくしますが,座標数値はいじらず,~
xscale, yscale を用います。

 下のリストは,
   単位長を10倍に
   xscale=0.1, yscale=0.1 
 として,座標数値はいじらずに済ませています。
 (ただし,この方法は別のトラブルが発生する懸念がありますから,
 上の回避法(1)をお勧めします)
#ref(overflow03.png)
*関連事項 [#b906709f]
-[[目盛り線描画>zahyouMemori]]
-[[pszahyou環境]]
RIGHT:&counter;

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS