zahyou環境
zahyou*環境

picture環境を拡張したもので,座標平面を設定します。
zahyou環境では,図の描画は tpic specials に依存します。
PostScript で描画する pszahyou環境の方をお勧めします。
 

定義されているスタイルファイル

emathPh.sty[2007/05/04]

(emathPxy.sty emathPha.sty emathPs.sty で拡張されていきます。)

  • emathPh.sty に先だって,graphicx.sty をロードしておきます。
    その際,ロードオプション を正しく付加しておかねばなりません。
    また,カラーを使用する際は,color.sty にも graphicx.sty と同じロードオプションをつけます。

書式

\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
斜交座標におけるx軸の単位ベクトルを指定します。(要:emathPha.sty)
ey
斜交座標におけるy軸の単位ベクトルを指定します。(要:emathPha.sty)
gentenhaiti
原点記号の位置を変更します。
デフォルトは [sw]
gentenkigou
原点記号を変更します。
デフォルトは O
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
  • このコマンドを実行後,原点が \O に,座標軸の両端が
      \XMAX, \XMIN, \YMAX, \YMIN に,
    座標平面の右上,左上,左下,右下が
      \RT, \LT, \LB, \RB
    保存されています。

基本例

x座標,y座標の範囲を指定して,座標平面を描画します。
zahyou01.png
  • この座標平面に,文字・図を配置しますが,位置の指定は \emathPut コマンドを用います。

保存されている点

zahyou(*)環境を実行後,原点は \O に,
座標軸の両端は \XMAX などに,右上は \RT などに
に保存されています。
XMAX01.png

単位長の変更 

zahyou環境の単位長は,その時点の \unitlength です。
(LaTeX のデフォルトは 1pt)
これを変更するオプションが [ul=..] です。
右辺値は単位を伴った長さです。
zahyou環境では,単位長を 1cm 程度にとることを推奨しています。
その理由は,線分の長さ計算などでオーバーフローが発生するのを防ぐためです。
(TeX では 128^2 でオーバーフローします。)
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}
    などとする必要が生ずるかもしれません。

座標軸の名称変更

デフォルトでは,座標軸の名称は
  横軸が x, 縦軸が y
となっていますが,これを変更するオプションが
  yokozikukigou=., tatezikukigou=.
です。右辺値は文字ですが,数式文字を使用したいときは $..$ とする必要があります。
yokozikukigou01.png

原点記号の変更

原点記号を変更するオプションが
  gentenkigou=.
です。右辺値は文字です。
gentenkigou01.png
特に右辺値を空にすれば,原点記号は表示されません。
gentenkigou02.png

座標軸名称の位置変更

座標軸名称・原点記号の位置を変更するオプションが
  yokozikuhaiti=...
  tatezikuhaiti=...
  gentenhaiti=...
です。右辺値は \emathPut の文字配置修正オプションです。
yokozikuhaiti01.png
  • \emathPut の文字位置修正オプションについては,\emathPut のページ「基本例」をご覧ください。
  • 右辺値には,[ , ] が含まれますから,右辺値全体を {...} で括っておかねばなりません。

座標軸の線種変更

座標軸は矢線で描画されますが,矢印はつけたくない,という場合は
  zikusensyu=\drawline
とします。
zikusensyu01.png

y軸を下方向へ

yazirusi.png
  • ただし,phazahyou環境は
      emathPha.sty
    で定義されていますから,
      \usepackage{emathPha}
    としておく必要があります。

余白の設定

下の図では,縦軸記号が描画領域(青緑色(シアン)の長方形)の上に飛び出しています。
TeX が認識している zahyou環境の大きさは図の青緑色の長方形です。
したがって,このままでは上の行と重なることも起きるでしょう。
ueyohaku01.png
描画領域の外に余白をつけて,TeX が認識する大きさを大きくするオプションが
  ueyohaku=..
  sitayohaku=..
  hidariyohaku=..
  migiyohaku=..
です。右辺値は単位を伴う長さですが,無名数も許容されます。その場合,単位は \unitlength と解釈されます。
上下左右の余白を一括して同じ値に設定する
  yohaku=..
オプションもあります。
下の図では
  ueyohaku=1em
として,青緑色の描画領域の上に 1em の余白を設定しています。
その結果,TeX が認識するボックスは図の赤色の長方形となります。
ueyohaku02.png
  • emathPh.sty v 3.08 までは
      Ueyohaku=.. の右辺値は単位を伴う長さ
      ueyohaku=.. の右辺値は無名数(単位は \unitlength)
    となっていましたが,v 3.09 以降は   ueyohaku=.. で,右辺値は単位を伴っても,無名数でもよくなりました。
    Ueyohaku=.. は従来どおり使用できますが, obsolete とします。
    Sitayohaku, Migiyohaku, Hidariyohaku ,Yohaku も同様です。

ベースライン

デフォルトでは,zahyou環境のベースラインは,下辺です。
haiti00.png
[haiti=t] オプションをつけた場合は,上辺となります。
haiti0t.png
横軸をベースラインとするには,[haiti=x] オプションをつけます。
haiti0x.png

縦横が異なる単位長 (emathPxy.sty)

xscale, yscale

下のような場合は,縦を縮めたくなります。
そのようなとき
  yscale=..
  xscale=..
オプションを用います。
右辺値は無名数で比率を表します。
yscale01.png
上の例で
  yscale=.5
と,縦方向を半分に縮めますと:
yscale02.png
  • ただし,このオプションは
      emathPxy.sty
    で定義されていますから,
      \usepackage{emathPxy}
    としておく必要があります。

適用除外

yscale(xscale) 指定は,\En, \Daen に対しては無効です。

yscale03.png

yscale(xscale) 指定は,\Gurafu に対しても無効です。
下の例では,放物線の弧 y=x^2 (0≦x≦1) を描画したつもりですが.....

yscale04.png

斜交座標 (emathPha.sty)

ex, ey

斜交座標を扱う環境 phazahyou は,emathPha.sty で定義されています。
zahyou環境とほとんど同様ですが,
縦横の比率だけではなく,傾きも変えて斜交座標を描画するオプション
  ex=...
  ey=...
が付加されています。それぞれ横軸,縦軸の単位ベクトルを与えます:
  (x, y) : 直交成分(無名数)
  r(R,Θ) : R は単位を伴う長さまたは無名数,Θ は度数法の角
exy11.png
  • ただし,eepic.sty のバージョンが古いと,上の図のようにならない
    という話題が BBS No.7326 からのスレッドにあります。
座標軸を回転した例です。
exy01.png
この場合,原点記号の位置などはデフォルトのままでは不十分なことが多いでしょう。
exy02.png
  • ただし,このオプションは
      emathPha.sty
    で定義されていますから,
      \usepackage{emathPha}
    としておく必要があります。

適用除外

入試問題から

2007 岩手大file0009200715.tex0009200715fig.png

注意事項

graphicx.sty のロードオプション

グラフィックスは dvi-ware に依存します。
したがって,graphicx.sty を読み込むさい,
  \usepackage[dvips]{graphicx}
  \usepackage[dvipdfmx]{graphicx}
  \usepackage[dviout]{graphicx}
などのように,ロードオプションでそれを明示しなければなりません。
この指定と,使用する dviware が異なると,正しい表示が得られなくなります。

オーバーフローの回避法

  • 単位長の変更 のところでも述べましたが, TeX は数値計算ソフトではありませんから,128*128 でオーバーフローします。
一例をあげましょう。
下のリストで,
%   \HenKo\A\B{$x$}
行頭の % を除去すると,エラー
! Arithmetic overflow.
が発生します。
(円弧の半径を求める計算でオーバーフローします)
overflow01.png
  • これを回避するには,単位長を大きくして,座標数値を小さくすることです。
上の例で
  単位長を10倍に
  座標数値を1/10
としたのが下のリストです。オーバーフローは発生しません。
overflow02.png
  • もう一つの回避法は,単位長を大きくしますが,座標数値はいじらず,
    xscale, yscale を用います。
下のリストは,
  単位長を10倍に
  xscale=0.1, yscale=0.1 
として,座標数値はいじらずに済ませています。
(ただし,この方法は別のトラブルが発生する懸念がありますから,
上の回避法(1)をお勧めします)
overflow03.png

関連事項


添付ファイル: fileXMAX01.png 548件 [詳細] fileyscale04.png 533件 [詳細] fileyscale03.png 571件 [詳細] fileyscale02.png 528件 [詳細] fileyscale01.png 586件 [詳細] fileyazirusi.png 482件 [詳細] fileexy02.png 491件 [詳細] fileexy01.png 485件 [詳細] fileexy11.png 523件 [詳細] fileoverflow01.png 471件 [詳細] fileoverflow02.png 453件 [詳細] fileoverflow03.png 378件 [詳細] filezikusensyu01.png 529件 [詳細] file0009200715.tex 798件 [詳細] file0009200715fig.png 510件 [詳細] filehaiti0x.png 515件 [詳細] filehaiti0t.png 518件 [詳細] filehaiti00.png 536件 [詳細] fileyazirusi_old.png 181件 [詳細] filezahyou01.png 1003件 [詳細] fileyokozikukigou01.png 855件 [詳細] fileyokozikuhaiti01.png 684件 [詳細] fileunitlength01.png 742件 [詳細] fileueyohaku02.png 561件 [詳細] fileueyohaku01.png 592件 [詳細] filegentenkigou02.png 692件 [詳細] filegentenkigou01.png 704件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-06-23 (日) 23:47:24 (2191d)