emathを利用して数学教材のTeXロードを駆け抜けよう!
(注) MathJaxを使用しているので、 スマホでは表示に時間がかかることがあります。
モバイル利用(Android)でのメニュー選択は、 SiteMapを利用するか、 「長押し」から「新しいタブを開く」を選択してください。
■emath利用による関数グラフや図形の作成 [Map] |
| ||||
| ||||
[御案内] TeXを利用して数学プリントを作成するとき,
「emath」パッケージは必需品というべきです.
詳細なドキュメントが同包されているので,
そのドキュメントを見れば使いこなすことができるはずですが,
TeXを使い慣れていない場合は,
ドキュメントが詳しすぎて全体像を把握しにくいかもしれません.
そこで,ここでは,TeXを使い始めた方を念頭に, emathを用いた数学プリントの作成方法について解説します. ただし,TeXのインストールはすでになされており,TeXによる通常文書は 作成できるレベルにあることを前提とします. [注意] このサイトは,「emathc150309」以前のパッケージを もとにした解説です.グラフ描画は「\Gurafu」や「\yGurafu」により 行われますが,これらのコマンドは今では「obsolete」になっており, 「emathc160115」以降のemathではエラーになります. その場合は,\usepackage に「emathOld」も追記してください. 今ではグラフ描画はperl利用が前提であり, 「\YGraph」「\ParamC」「\PolarC」により描画されます.(2022.05.08)
【曲面描画ができる「MePoTeX」】 ★このページには数学絡みで訪れる方が多いと思われますが、
| ||||
[お知らせ] 下記を出版しました。PCやスマホで使える本格的な数式処理ソフトMaximaの解説書です。 手持ちのスマホやPCで、文字式や微分積分の計算、方程式の解法、関数グラフの確認ができます。計算問題やグラフ問題の解答を作るときに非常に重宝します。フリーソフトなので一度試してみてください。 コマンドはAndroid版もPC版も同一なので、 iPhoneを所持している方はPC版のコマンドレファレンスとして利用することができます。
| ||||
|
■「emath」とは? |
|
emath |
「emathパッケージ」は,
中学校や高校で数学プリントを作る際に必要な記号や
環境を集めたLaTeXのマクロ集で,tDBこと大熊一弘氏により作成されたものです.
日本の数学の教科書の記号とTeXの標準の記号は微妙に異なったりしていますが,
そのような部分の修正が施されています.たとえば,
TeXのコマンドにはない相似の記号が利用できます.
また,組み立て除法を自動出力するコマンドも用意されています.
さらには,TeXを使って数学プリントを作成するときに,
「この線はもっと太くしたい」「この矢印の角度はもうちょっと広げたい」など,
「こういう風にできれば良いな〜」と思うことがことごとく網羅されているといっても
過言ではありません.もともとは,
ニフティ(現在の、@nifty)のTeXに関するフォーラム(FTEX)の中で
出されたいろいろな意見・議論・要望を組み入れながら作成されてきたもので,
長い歴史があります。現在でも,
emath掲示板でのやりとりの中で進化し続けています.
パッケージのダウンロードは,下記サイトより行うことができます. ただし,「丸ごとパック」は,2005/11/07時点での古い内容です. 最新版は「訂正版」の方から入手できます. 解凍して得られる多数のスタイルファイルは, 適当なフォルダーにコピーまたは移動しておきます. 私の場合は,TeXシステムのフォルダー内で 「\texmf-local\tex\platex\emath」に配置しています. 納めた後は,ファイルの場所を認識させるために「\mktexlsr.exe」 を実行しておきます. emathを組み込んだファイルをコンパイルすると,幾つかの スタイルファイルが見当たらないとしてエラーになるかもしれません. 「emath 目次」には,emath以外に必要とされる主なスタイルファイルが登録されています. ただし,「uline--」を登録しているサイトは閉鎖されたようです. 下記にアーカイブされたサイトを登録しておきます. |
emathWiki |
emathWikiには,「emath」の最新情報がまとめられています.
IDとパスワードを求められる場合は,
emathのトップページから辿っていけば記されています.
表示される左側メニューの内容は,下記の通りです.
|
|
Perlとの連携の仕方 |
私は,これまでPerlは利用せず,
古いままのemath書式で教材やら資料作成をしてきて,
特に不満や不便さは感じませんでした.
先日(2022.05.06),TeXシステムをTeXLive2022に移行し,
ついでにemathも2022年5月時点の最新版「emathc210509」にしたところ,
グラフ描画関係がことごとく「! Undefined control sequence.」などの
エラーになりました.emathWikiの
「エラーメッセージ」をみると,
これまで使用してきたグラフ描画コマンドである
\Gurafu,\yGurafu,\xGurafu,\bGurafu,\rGurafu は,
いずれも「obsolete」であり,
現在は使用されていないようです!どうしても使いたいときは,
\usepackageに「emathOld」を追加するように記されていました.
どうやら,関数のグラフは,今ではPerl利用が前提であり,
グラフ描画コマンドは \YGraph,\XGraph,\ParamC,\PolarC
になっているようです.
そこで,私もPerlを組み込むことにしました. きちんと動作するまでにいろいろ紆余曲折がありましたが, 私なりの理解ではPerlとの連携手順は以下のとおりです.
|
旧書式のグラフ描画コマンド |
グラフ描画に関する旧書式のコマンドは,
\Gurafu,\yGurafu,\xGurafu,\bGurafu,\rGurafu が利用されてきましたが,
現在はいずれも「obsolete」になっており「索引」にも掲載されていません.
コンパイルして
「! Undefined control sequence」が表示されるときは,
エラーメッセージ
で確認してください.そのような場合,
\usepackageに「emathOld」を追記すれば大丈夫のようです.
グラフ描画のコマンドは,現在は
\YGraph,\XGraph,\ParamC,\PolarC になっています.
使い方は,emathWikiの「索引(アルファベット順)」で見てください.
「索引」は最新版に対応した内容です.
ただし, これらの新たなグラフ描画関係のコマンドは「Perl利用」が前提となっているので, まずemathをPerlと連携させる必要があります. 連携の仕方は「こちら」を参照してください. Perlをうまく組み込めなかった場合は, \usepackageに「emathOld」を追記して旧書式で利用するしかないと思われます. 私の確認した限りでは,「emathc150309.zip」を利用すれば, 「emathOld」を追記する必要はありませんでした. 「関数のグラフ」に関する解説は,以前は「sampleP.pdf」で詳細に 解説されていました.しかし,現在,emathWikiの「sampleP.pdf」では, その解説が削除されています. Perlと連携させると旧書式を利用する必要はないとは思いますが, 何らかの理由でPerlと連携させることができなかった場合は, 旧書式で利用するしかないと思われます. その場合は,「丸ごとパック」をダウンロードして, その中の「pdf」フォルダーに含まれている「sampleP.pdf」(2005/11/02)を 見てください. 「関数のグラフ」について旧書式で詳細に解説されています. 最新版のemathパッケージであっても, \usepackageで「emathOld」を追記しておけば, 旧書式で利用することが可能です. |
■プリントの判型指定 |
私の場合は,B4横置きの2段組で作成しています.
具体例は,こちらを参照してください.
横幅が広いので,3段組や4段組にすることもできます.
その場合のやり方は,(私の場合は)
[share]>[texma-local]>[doc]>[emath]>[b4yoko3]の箇所に
あるファイルをみてください.
2段組から4段組までのサンプルファイルが置かれており,
具体例も記載されています.
そっくり借用して問題を書き換えれば,数学プリントができあがります.
B4縦置きにしたい場合は,(私の場合は)
[share]>[texmf-local]>[tex]>[latex]>[emath0501]
にあるb4tate2.styという縦置き用のスタイルファイルを利用するとよいでしょう.
なお,以下の例では \usepackage で指定するスタイルファイルは emathP だけです.
他に必要とするファイルは自動的に読み込まれます.
■描画範囲の設定 |
図形やグラフを描くにはzahyou環境を利用するのがよいでしょう.
zahyou\(*\)環境では座標軸が描画されません.
デフォルトでは単位長(\unitlength)が1ptになっています.
1ptは0.35mm,1mmは2.83ptなので,単位をptのまま使用して,
\(\small 0\le x\le 35{\rm mm},~0\le y\le 35{\rm mm}\) の範囲を指定するには,
次のように指定します.図は出力結果です.
プリアンブルでは,
\documentclass[11pt,a4paper]{jsarticle}
|
ptを単位とすると実際の長さとの感覚が取りにくいので,
この単位長の単位をmmに変更します.
emathでは「\unitlength=10mm」とすることが推奨されています.
この指定で同じ範囲を描画するには,zahyou環境のオプションとして
ulを利用して次のように指定します.同じ図が表示されます.
|
この「ul」の値を大きくすると図が拡大され、小さくすると図が縮小されます。
下図では半分の「ul=5mm」としています。図の大きさが半分になっています。
|
指定する範囲は任意でかまいません。 範囲を大きくすると図も大きくなるので、 その場合はulの値で調整します。 |
■多項式グラフの描画 |
【注意】 以下の解説は,「emathc150309」以前のパッケージを もとにした解説です.多項式グラフの描画は「\Gurafu」が用いられていますが, 今では「obsolete」になっており「emathc160115」以降のemathでは動作しません. 「\Gurafu」のまま利用するには,\usepackage に「emathOld」も追記してください. 最新のemathでは,「\def\Fx{Xの多項式}」で定義して, 「\YGraph\Fx」によりグラフが描画されます. 「\YGraph{Xの式}」だけでもよいようです. ただし,Perlとの連携が必要です. 連携の仕方は「こちら」を参照してください. (2022.05.08) |
さっそくグラフを描画させてみましょう.たとえば,
区間 \(\small [a, b]\) で
\(\small y=x^2-2x-3\) のような多項式で表される関数のグラフを
描画させるには,\Guraph{1, -2, -3}{a}{b} とします.
当然,\(\small a, b\) は具体的な値である必要があります.
「\begin{zahyou}(a,b)(c,d)」の箇所で定める範囲は,
\xmin=a, \xmax=b, \ymin=c, \ymax=d に保持されます.
したがって,横軸の左端や右端の値は\xmin,\xmax を利用することもできますが,
関数の値が大きいとグラフが描画範囲を越えてしまう場合があります.
この関数では \(\small [-2, 4]\) の区間での値域が \(\small [-4, 5]\) なので, 余裕をみて次のようにします.ulの値は、コンパイル後のグラフの大きさを 見ながら決めています.
|
【注】perlと連携済の場合は, 「\def\Fx{X\(\small **\)2-2\(\small *\)X-3}」で関数を定義すると, 「\YGraph\Fx」でグラフが描画されます. あるいは,いきなり「\YGraph{X\(\small **\)2-2\(\small *\)X-3}」 でもかまいません.いちいち範囲を指定しなくても, zahyou環境の範囲内でグラフが描画されます. perlでのべき乗は,X^2ではなく,X\(\small **\)2とする必要があります. 大文字のXであることに注意してください. 小文字を使用すると「0」として扱われます. |
このグラフをみると,幾つかのことが気になってきます.
|
1. 座標軸を消したい |
座標軸を表示しないようにするのは簡単で,「zahyou」を「zahyou\(*\)」とするだけです.
|
2.目盛りを入れたい |
座標軸に目盛りを入れるには,
\zahyouMemori というコマンドを利用します.
TeXは大文字と小文字を区別するので,
注意して入力してください.
|
\zahyouMemori にはいろいろなオプションがあります.
以下では目盛り幅を2としていますが,
軸によって目盛りの幅を変えることもできます.
以下では,HTML書式との関係で「<, >」は全角で書いていますが,
実際に入力するときは半角にしてください.
詳しくは,索引(アルファベット順)で見てください.
|
3. 格子を入れたい |
座標平面に格子模様を入れるには,\zahyouMomori[g] として
グリッド線を入れる指定をします.
|
\zahyouMemori には多数のオプションがあります.
マニュアルをよく見ると,
破線ではなく実線にしたり,
線を描かないで格子点に記号を付したり,
目盛りを消すこともできます.
下記では,[o]により格子点にドットを配置し,
[n]により目盛りを消しています.目盛りは 1 刻みです.
この順番も重要なので気をつけてください.
|
4. 軸名の文字を変えたい |
座標軸に付される文字は,
ulと同じ[]内で指定することができます.
\(\small x\) 軸の名前は yokozikukigou,
\(\small y\) 軸の名前は tatezikukigou により変更することができます.
たとえば,\(\small s=t^2-2t-3\) のグラフの場合は,
次のように指定します.
|
5. 太線で表示したい |
複数のグラフを描画するとき,特定のグラフだけ太線で強調したい場合があります.
そのようなときは,中括弧{ }で囲んで\thicklines というコマンドを利用します.
中括弧で囲まないと,座標軸も太線になるので注意してください.
または,グラフ描画のコマンド \Gurafu\Fx{a}{b} の前後を,
\thicklines と \thinlines で囲みます.
|
グラフの一部を点線で表示することもできます.
たとえば,\(\small x\) 軸より上にある部分を点線で表示するには
次のようにします.
[n] の \(\small n\) の値は点の個数です.その値は,
コンパイル結果を見ながら調整してください.
|
6. 原点記号の場所を変えたい |
グラフが原点記号「O」に重なってしまう場合は,
ul と同じオプションを利用して原点記号を移動することができます.
それを行うのは,字句通りの gentenhaiti です.
デフォルトの指定は [sw] です.
方向は東西南北(ewsn)の組合せで指定します.
swは「南西」を意味します.
例えば,第4象限に配置するには南東として [se] を中括弧で囲んで指定します.
|
7. 交点に数値を入れたい |
グラフと座標軸との交点に数値を入れるには,
\Put というコマンドを利用します.
点 \(\small (-1, 0)\) と 点 \(\small (3, 0)\) に数値を入れるには
次のようにします.[s] を指定して点の真下に配置するとグラフと重なるので,
南西方向(sw)と南東方向(se)にずらして配置しています.
この[]部分を省くと,指定した点の位置に配置されます.
|
8. 頂点の座標を書き込みたい |
座標軸との共有点ではない箇所の座標を書き入れるときも
\Put を利用します.
たとえば,頂点の座標 \(\small (1, -4)\) を書き入れるには
次のようにします.数式部分は$で囲みます.
|
ただし,このような表示だと,どの点の座標なのかが明確ではありません.
グラフ上の点を強調したい場合は,その箇所に黒丸を配置することができます.
そのコマンドは,字句通りの \Kuromaru です.
\Kuromaru[1.5pt]{$\small (1,-4)$} などとして,
[]内の数値で黒丸の大きさを調整することもできます.
|
点の座標は,その点に \(\small (a, b)\) を表記するのではなく,
その点から座標軸に垂線を下ろして座標軸の座標で表記することもできます.
\Put コマンドを利用すると,その点から座標軸に垂線を下ろすことができます.
たとえば,次のようにします.
「syaei=xy」だけで軸上に数値が書き入れられるので,
最後の中括弧部分は空欄にします.
|
具体的な座標ではなく,\(\small (a,b)\) として \(\small a\) の方だけを
書き入れたいときは,次のようにします.
\(\small y\) 軸のラベルは「ylabel」です.いずれも$で囲う必要はありません.
|
■一般の関数グラフの描画 |
【注意】 以下の解説は,「emathc150309」以前のパッケージを もとにした解説です.グラフ描画は「\yGurafu」が用いられていますが, 今では「obsolete」になっており「emathc160115」以降のemathでは動作しません. 「\yGurafu」のまま利用するには,\usepackage に「emathOld」も追記してください. 最新のemathでは,「\def\Fx{Xの関数式}」で定義して「\YGraph\Fx」 とするか,あるいは「\YGraph{Xの関数式}」だけでもグラフが描画されます. ただし,Perlとの連携が必要です. 連携の仕方は「こちら」を参照してください. なお,旧書式での解説は,「丸ごとパック」に含まれる「sampleP.pdf」(2005/11/02) の16・17節を見てください. (2022.05.08) |
||||||||||||||||||||||||||||||||||||||
四則計算と主要な関数 | ||||||||||||||||||||||||||||||||||||||
多項式で表される関数は,
その係数を指定するだけでグラフを描画することができますが,
一般の関数の場合は関数の式を定義する必要があります.
Perlとの連携がなされていれば,独立変数を X (大文字)として,
\def\Fx{sin(X)+cos(X)} のように関数の式を記述するだけで済みます.
★以下の関数定義は,emathの古い書式での解説です.
利用する場合は,\usepackageに「emathOld」を追記してください.
たとえば,\(\small x\cdot y/(x+y)\) の結果を \(\small z\) に保存するには, \(\small x, y\) の値が \x, \y に保存されている場合は, \Mul\x\y\z\Add\x\y\w\Div\z\w\z とすることになります. これは,プログラミング的な書式で, \(\small z=x\cdot y,\, w=x+y,\, z=z/w\) としていることになります. つまり,このような関数の定義を具体的に記述するには, プログラミングでの計算に関する感覚が必要になります. その感覚が備わっていない場合は,最初にプログラミングでの計算書式について 把握しておくことが必要かもしれません. よく利用される関数として,次の関数についてはコマンドが用意されています. 指数関数と対数関数の底は,いずれもネイピア数です. 下記の右側の書式で,\yには関数の値が保存されます. 記号は,必ずしも\x, \yである必要はありません. 1番目の記号\xが入力,2番目の記号\yが出力です.
【注】 perlと連携済みの場合は, これらの関数は,sqrt(X),exp(X),log(X),sin(X),cos(X),tan(X) として利用することになります.\(\small a^b\)は,「a\(\small **\)b」です. 連携の仕方は「こちら」を参照してください. べき乗 \(\small a^b\) は, \(\small a^b=e^{\log{a^b}}=\exp(b\log(a))\) により定義できます.また, このような関数を扱うときは,\(\small \pi, e\) などの定数を扱う必要もあります.
| ||||||||||||||||||||||||||||||||||||||
関数の定義 | ||||||||||||||||||||||||||||||||||||||
★以下の関数定義は,emathの古い書式での解説です.
利用する場合は,\usepackageに「emathOld」を追記してください.
以上をもとに,たとえば関数 \(\small f(x)=\dfrac{2x}{x^2+1}\) を 定義するには次のようにします.分かりやすいよう途中に空白を挟んでいますが, 実際には続けて入力します. | ||||||||||||||||||||||||||||||||||||||
\def\Fx#1#2{ \Mul{2}#1\x \Mul#1#1\y \Add\y{1}\y \Div\x\y#2} これは,関数 \Fx(#1) の値を #2 とするとき,\Fx(#1) を中括弧内の式で 定義する,ということです.この #1, #2 は必須です. \(\small f(x)\) の \(\small x\) には #1 が入るので, 中括弧内では次のような計算をしていることになります. \x, \y, \z などは,適当な文字でかまいません. | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
同じ書式で多項式関数 \(\small f(x)=x^2-2x-3\) を定義するには,
\def\Fx#1#2{ \Mul#1#1\x \Mul{2}#1\y \Sub\x\y\y \Sub\y{3}#2} とすることになります.ただし,多項式関数の場合は,実際には 次のような形で簡単に定義することができます.\def\Fx{1,-2,-3} 【注】 perlと連携済みの場合は, この関数の定義は \def\Fx{2\(\small *\)X/(X\(\small **\)2+1)} ですみ, グラフは \YGraph\Fx により描画されます. 連携の仕方は「こちら」を参照してください. | ||||||||||||||||||||||||||||||||||||||
一般関数のグラフ | ||||||||||||||||||||||||||||||||||||||
多項式関数のグラフ描画は \Gurafu{1,-2,-3}{a}{b} のような書式でしたが,
一般の関数の場合は,\Fx を定義して \yGurafu\Fx{a}{b} のような
書式になります.
下図は,\(\small f(x)=\dfrac{2x}{x^2+1}\) のグラフです.
| ||||||||||||||||||||||||||||||||||||||
【注】 perlと連携済みの場合は, この関数の定義は \def\Fx{2\(\small *\)X/(X\(\small **\)2+1)} ですみ, グラフは \YGraph\Fx により描画されます. 連携の仕方は「こちら」を参照してください. \xmin, \xmax は,描画範囲の左端と右端の値です. 中括弧で囲う必要はありません. 同様に,描画範囲の下端と上端の値は, それぞれ \ymin, \ymax に納められています.このような関数の性質上やむを得ませんが,どうしても横長になってしまいます. そのようなとき,縦軸や横軸のスケールを変更することができます. ul と同じ箇所で,xscale や yscale で調整します. たとえば,横軸の長さを 0.8倍にするには,xscale=0.8 と指定します.
| ||||||||||||||||||||||||||||||||||||||
漸近線を持つ関数のグラフ | ||||||||||||||||||||||||||||||||||||||
関数 \(\small y=\dfrac{1}{x}\) のような漸近線を持つ関数の場合は,
グラフを描画するときの範囲に気をつける必要があります.
定義されていない箇所で2つに分けてグラフを描画します.
| ||||||||||||||||||||||||||||||||||||||
逆関数のグラフ | ||||||||||||||||||||||||||||||||||||||
関数 \(\small y=f(x)\) の逆関数は,\(\small x=f(y)\) を \(\small y\) に
ついて解いたものです.\Fx が定義されていれば,
\yGurafu\Fx{a}{b} により \(\small y=f(x)\) のグラフが描画されますが,
\(\small x=f(y)\) のグラフは \xGurafu\Fx{c}{d} により描画することが
できます.下図は,\(\small x=\dfrac{2y}{y^2+1}\) のグラフを
描画したものです.
変更されている箇所に注意してください. 変更したのは,描画範囲を逆にして, \yGurafu を \xGurafu にして, \xmin, \xmax を \ymin, \ymax に変更しただけです. 一価関数のグラフとして表示するには, \(\small y\) の描画範囲を \xGurafu\Fx{0}\ymax などに変更すればよいでしょう.
| ||||||||||||||||||||||||||||||||||||||
【注】 perlと連携済みの場合は,\Fyをperl仕様でYの式で定義済みとすると,
「\XGraph\Fy」によりグラフが描画されます.
連携の仕方は「こちら」を参照してください.
| ||||||||||||||||||||||||||||||||||||||
媒介変数表示による関数のグラフ | ||||||||||||||||||||||||||||||||||||||
関数が,\(\small x=f(t),\, y=g(t)\) のように媒介変数表示で表されている
場合は,2つの関数を\Ft, \Gt などに定義しておいてから,
\bGurafu\Ft\Gt{a}{b} とします.
たとえば,半径1の円が転がることにより得られる
サイクロイド \(\small x=t-\sin(t), \, y=1-\cos(t)\) は,
次のようになります.
| ||||||||||||||||||||||||||||||||||||||
\Pii や \Pie には,\(\small 2\pi\) や \(\small \pi\)
の具体的な値が小数で定義されているので,
「syaei=xy」だけだと 3.14159265 が書き込まれます.
このようなとき,各軸に書き込む値を xlabel や ylabel で別に
定義することができます.数式も定義することができますが,
$記号は不要です.その値を配置する場所も,xpos や ypos を
利用して調整することができます.sampleP.pdfを参照してください.
また,グラフを描画するときの範囲には気をつけてください.
媒介変数 \(\small t\) の範囲で指定する必要があります.
上図では,\(\small -2\le t\le 9\) として描画しています.
【注】 perlと連携済みの場合は, 「\def\Ft{T-sin(T)}」「\def\Gt{1-cos(T)}」とすると, 「\ParamC\Ft\Gt」によりグラフが描画されます. 連携の仕方は「こちら」を参照してください. | ||||||||||||||||||||||||||||||||||||||
極座標で表された関数のグラフ | ||||||||||||||||||||||||||||||||||||||
極方程式 \(\small r=f(\theta)\) で表された関数のグラフも描くことが
できます.計算式が \Ft に定義済みの場合は,
\rGurafu\Ft{a}{b} とするだけです.
\(\small \theta\) という文字を必要とはしません.
例えば,三葉線 \(\small r=4\sin(3\theta)\) は次のようになります.
| ||||||||||||||||||||||||||||||||||||||
【注】 perlと連携済みの場合は, 「\def\Ft{4\(\small *\)sin(3\(\small *\)T)}」とすると, 「\PolarC\Ft」によりグラフが描画されます. 連携の仕方は「こちら」を参照してください. |
■塗りつぶし |
■平面図形 |
関数のグラフではなく,三角形や円などの平面図形を描くときも zahyou環境を
利用することができます.
以下では zahyou環境での作成方法について解説し,
座標軸を残した図で示します.
zahyou を zahyou\(*\) に変更すれば座標軸や原点記号は描画されません.
| ||||||||||
|
||||||||||
点と線分 | ||||||||||
平面図形の基本要素は「点」です.
たとえば,点 P\(\small (a,b)\) は,\def\P{(a,b)} により定義することができます.
定義した後は,その点は \P だけで参照することができます.
複数の点を線で結ぶには,\Drawline{ } を利用します. 3つの点 \A, \B, \C が定義済みとすると, それらの点を線で結ぶには,\Drawline{\A\B\C} とします. たとえば,3つの点 A(-4,-4), B(3,-2), C(1,4) を線で 結んで三角形を描くには次のようにします. 点の名前をつけるのが面倒なときは, 座標を続けて書いて \Drawline{(-4,-4)(3,-2)(1,4)(-4,-4)}とすることもできます. 点の個数は何個でもかまいません.
| ||||||||||
上図では点を定義しましたが,その点の名前は描かれていません.
A, B, C という点の名前を残すには,\tenretu を利用します.
複数の点について,点の名前,座標,そして配置場所を一度に
定義することができます.
e,w,n,s の1・2文字の組合せで東西南北の8方向を指定することができます.
swは南西, seは南東, そしてnは北です.
| ||||||||||
配置した複数の点をまとめて黒丸で強調したい場合は,\kuromaru を使用します.
\Kuromaru は1個の点だけの場合に使用します.
\tenretu で,点の名前と座標を指定しておいてから \kuromaru を使用すると,
指定した複数の点に黒丸が配置されます.
最初に点列を定義する必要があるので気をつけてください.
| ||||||||||
線で繋ぐ操作を1回で済ますことができないときは,\Drawlines を利用します.
たとえば,上図で,AB, BC, CA をそれぞれ線で結ぶには,
\Drawlines{\A\B\; \B\C; \C\A} とします.
実線ではなく破線で結ぶには,\Hasen を利用します. 他に,点線(\Dottedline)や鎖線(\Chainline)で結んだり, 点の代わりに \(\small *\) を用いる結び方もあります. 詳しくは sampleP.pdfの「2. 直線図形」を見てください.
| ||||||||||
直線 | ||||||||||
線分ではなく直線を描きたい場合のコマンドは,
字句通りの \Tyokusen です.
2点 A, B の座標が \A, \B に定義済みのときは,
\Tyokusen\A\B{}{} により,指定された描画領域いっぱに
直線が描かれます.中括弧内は空欄でかまいません.
\xmin, \xmax を指定することもできますが,
傾きによっては描画範囲を超えてしまう場合があるので,
{}{} で指定するのがよいと思います.
| ||||||||||
直線は,通過する2点を指定するばかりではなく,いろいろな指定の仕方が あります.それぞれについて,そのコマンドが用意されています. 以下では,2点 A, B の座標は \A, \B に, 直線の方向ベクトルの成分は \u に定義済みとします. なお,\(\small d\) には度数法での角度の値を入れます. 描画範囲を,\(\small y\) 座標で指定することもできます. 描画範囲を{}{}と空欄で指定するとエラーになるときは, 具体的な値を入れるか,{}{}を\xmin\xmaxとして指定します. 点線や破線で描画することもできます. 詳しくは,索引から参照してください. | ||||||||||
| ||||||||||
矢印 | ||||||||||
ベクトルを扱うときは,点を矢印で結ぶことになります.
2点 A,B の座標が定義済みのとき,AからBに向かう矢印は
\ArrowLine\A\B です.中括弧は付かないので注意してください.
\Drawlines のように,まとめて定義することはできません.
矢印先端の鏃(やじり)の形(角度や長さ)を修正したり,
矢印の中間に記号を付すこともできます.
詳しくは, 索引で見てください.
| ||||||||||
\ArrowLine はベクトルの始点と終点を指定する必要がありますが,
ベクトルの成分で指定することもできます.
たとえば,A(-4, -4),B(3, -2) なので,
\(\small \vec{\rm AB}\) の成分は \(\small (7,2)\) です.
成分が \(\small (7,2)\) の矢線は \yasen(7, 2) で表され,
原点を始点とする矢線が描かれます.
始点を点Aにするには,
「原点を始点とする矢線を点Aに置く(\Put)」ことで \(\small \vec{\rm AB}\) が
描かれます.この描き方は,終点を意識することなく,
始点からの方向性を意識するだけで描くことになります.
\(\small \vec{\rm BC}\) , \(\small \vec{\rm CA}\) の成分は
それぞれ \(\small (-2, 6), (-5, -8)\) なので,
\yasen を利用するとそれぞれ以下のように定義することになります.
| ||||||||||
矢線の間に \(\small \vec{a}\) などを書き入れることもできます.
\yasen<[se]{\beku a}>(7,2) のような形で定義します.
(実際の入力では「<, >」は半角です.)
\ArrowLine の場合は,\ArrowLine<putstr=[se]{\bekua}>\A\B のような
書式になります.
さらに,いずれもその位置を微妙に調整することができます.
詳しくは,索引から調べてください.
| ||||||||||
円 | ||||||||||
点 P\(\small (a, b)\) を中心とする半径 \(\small r\) の円は,
点Pを \def\P{(a,b)} により定義しておくと
\En\P{r} により描画されます.または,
直接 \En{(a,b)}{r} としてもかまいません.
下図は,点 \((1,2)\) を中心とする半径 2 の円を描画したものです.
分かりやすいように,格子線を入れています.
円周を破線で描くには
<hasen=[a][b]> を挟んで
\En<hasen=[a][b]>\P{(a,b)} とします.
(実際の入力では「<, >」は半角です.)
\(\small a\) は破線の長さ,\(\small b\) には破線の間隔を指定します.
その値は,コンパイルしながら調整してください.
| ||||||||||
円を確定するには中心と半径の他に,中心と円周上の1点を与えたり,
2点を与えて直径の端点とすることでも円が確定します.
emath では,そのような場合に対応するコマンドも用意されています.
下記は,直径の端点が与えられた場合のコマンド \EnT を利用したものです.
| ||||||||||
円周全体ではなく円弧を描くには \Enko を利用し,
中心と半径の他に円弧の開始角と終了角を,それぞれ度数法で指定します.
開始点と終了点を指定することで描くこともできます.
下図は,角を指定して,30°から150°の間の円弧を破線で描いたものです.
破線にするには,<hasen=[a][b]> を挟みます.
(実際の入力では「<, >」は半角です.)
\(\small a\) は破線の長さ,\(\small b\) には破線の間隔を指定します.
その値は,コンパイルしながら調整してください.
点が1個だけのとき,\tenretu では「;」は不要ですが,
\kuromaru では「;」をつける必要があるので注意してください.
円弧に配置する点の個数を指定して点線で表示することもできます.
詳しくは,索引から調べてください.
| ||||||||||
円弧に矢印をつけるには,<yazirusi=a> を追加します.
逆向きにしたいときは <yazirusi=r>,
両側に矢印をつけたいときは <yazirusi=b> とします.
(実際の入力では「<, >」は半角です.)
破線と併用することもできます.
詳しくは,索引で見てください.
| ||||||||||
円弧の端点を中心と結ぶと扇形ができます.
扇形を描画するコマンドは,字句通りの \ougigata です.
中心が原点にあるときは,\ougigata{r}{a}{b} です.
\(\small r, a, b\) は,半径と扇形の開始角度,終了角度です.
| ||||||||||
中心が原点ではないときは,
中心とする点に「原点を中心とする扇形を置く(\Put)」というコマンドになります.
\ougigata ではなく \yumigata にすると,
扇形の開始点と終了点を通る線分が引かれて弓形が描画されます.
| ||||||||||
円や扇形の内部を塗りつぶすには \En\(\small *\), \ougigata\(\small *\)
のように「\(\small *\)」をつけ,斜線塗りにしたいときは
\En\(\small **\)[d], \ougigata\(**\)[d] のように「\(\small **\)」を
つけます.\(\small d\) には斜線の角度を\(\small -90〜90\)の
度数法で指定します.
\En\(\small *\)[k], \ougigata\(\small *\)[k]のようにすると,
塗りの濃さを調整できます.デフォルトは\(\small k=0.5\) に設定されています.
\(\small k=0\) は真っ白,\(\small k=1\) は真っ黒です.
下図は,斜線塗りをした場合の図です.
輪郭線を描くため,「\(\small **\)」のつかないコマンドと併用する必要があります.
| ||||||||||
同心円の外側の円内を斜線塗りして,
内側の円内を「真っ白」(k=0)に塗りつぶすと,
ドーナツ状の形を斜線塗りすることができます.
下図では,斜線の向きを逆にしています.
塗りつぶしと曲線描画の順番には注意する必要があります.
4つの境界線が適当な曲線になっていると,
emathで塗りつぶすことはできません.
MePoTeXを利用すると,
そのようなときでも塗りつぶしが可能です.
| ||||||||||
楕円 | ||||||||||
楕円についても,円の場合と同様のコマンドがあります. 詳細は,索引で見てください. |
■グラフと図形に関するTips |
emathでは,グラフや図形に関して「〜したい」ということが、
ことごとく実現されているといっても過言ではありません。
たとえば,グラフや図形を描くときに内分点や交点の座標を知る必要があるとき,
その座標を自分で計算するのはちょっと面倒です.
そのようなとき,emathにはそれらの座標を求める機能があります.
|
|
内分点の座標 |
たとえば,3点 A(-4,-4), B(3,-2), C(1,4) が与えられたとき,
辺 AB, BC, CA をそれぞれ \(\small 2:1\) に内分する点を
D, E, F として,三角形 DEF を描画する場合を考えてみましょう.
点 A, B, C の座標が \A, \B, \C として定義済みのとき,
点D の座標は \Bunten\A\B{2}{1}\D により求められます.
|
なお,中括弧を省略して,\Bunten\A\B21\D のようにしてもかまいません.
{2}{-1} または {-2}{1} のようにすると,内分ではなく外分になります.
また,emathWiki によれば,定義済みの点 D, E, F に名前を付すとき,
\tenretu\(**\){D[s];E[e];F[w]} のようにすればよいと書かれていますが,
著者の環境ではエラーになるので \Put を利用して個別に配置しました.
\Put\D[s]{D} は,「点\Dの南側[s]に D を置け」というコマンドになります.
|
2直線の交点 |
それぞれが2点を通る直線の交点を求めるコマンドは,\LandL です.
たとえば,上記の内分点を求める図で,線分 AE と線分 CD の交点を
点P とするには,
\LandL\A\E\C\D\P とします.
|
(中略)の箇所は,内分点座標を求める4〜12行目の箇所と同一です. 2直線の交点を求めるコマンドは,他にも次のようなものがあります. 「l」は小文字のエルです。 なお,\A, \B, \C, \D は点の座標, \u, \v はベクトルの成分として事前に定義済みとし, {d}, {e} は度数法による角度とします.\Pには, これらのコマンドにより求められる交点の座標が入ります. 直線ばかりではなく,円と円,円と直線,楕円と直線,放物線と直線 の交点を求めるコマンドもあります.詳しくは,索引から調べてください. |
|
|
三角形の諸性質 |
三角形にはいろいろな性質があり,
その主要な性質にはコマンドが用意されています。
たとえば,三角形ABCの重心を求めるコマンドは \Zyuusin\A\B\C\G で,
\G には重心の座標が入ります.
|
三角形については,次のようなコマンドもあります.
|
いろいろな記号 |
平面図形を扱うと,いろいろな記号が出てきます.
よく現れる記号には下図のようなものがあります.
|
それぞれのコマンドは,次のような内容です.
詳しくは,索引から調べてください.等辺記号や,等角記号もあります.
|
いろいろな三角比 |
三角比とその逆数で表される値は,
角を表す動径と単位円との交点,
交点での単位円の接線,そして
接線と座標軸との交点をもとにしてできる
いろいろな三角形の辺の長さとして現れてきます。
下図では,次のようになります. \[\small \sin\theta={\rm OI},\cos\theta={\rm OH},\tan\theta={\rm PA}\] \[\small {\rm cosec}\,\theta={\rm OB},\sec\theta={\rm OA},\] \[\cot\theta={\rm PB}\] この三角形を,できるだけ点の座標を個別に明示することなく, emathのコマンドだけを用いて描画してみました. 明示的に記述したのは,原点の座標, 単位円であることを示すための半径の値, 座標軸上の適当な点の座標,動径を指定するための角度, そして,その動径に垂直であることを示す角度だけです.
|
それぞれのコマンドは,次のような内容です.
詳しくは,索引から調べてください.
|
|
統計グラフ |
統計教材の作成や研究発表などのプレゼンでは、
いろいろな統計グラフが有用です。
「emathG」を\usepackageで読み込ませると、
円グラフ、帯グラフ、棒グラフ、折れ線グラフなどを、
単に描画範囲とグラフのための数値を指定するだけで作成できます。
最近使用してみたら非常に便利だったので、
ここに紹介しておきます。(2024.03.22)
ただし、「emathG.sty」は、まだ仕様が確定していないαバージョンのようです。
また、「tpic specials」を利用しているようです。
「PostScript」利用のものは「emathGps.sty」です。
詳細は、それぞれのドキュメント
(
emathG、
emathGps)
を参照してください。
|
以下に、幾つか、ソースコードとグラフを紹介しておきます。
■円グラフ
■帯グラフ
|
■棒グラフ
■積み上げ棒グラフ
|
■折れ線グラフ
|
「\multido{変数名=初期値+増加数}{繰返し回数}{処理内容}}」 ということのように思われます。 |
■グラフの割り付け |
グラフや図形をテキスト文章と横並びに配置するには,
mawarikomi環境を使用します.
左側にテキスト,右側にグラフや図を配置することができます.
この環境を利用するには,\usepackage に emathMw を追加して
\usepackage{emathP, emathMw} とする必要があります.
emathMw の詳しい解説は sample.pdf でなされています.
このページの「一般関数のグラフ」の箇所を例に取ります.
下記は,そのTeXのソースコードです.
プリアンブル部分は, |
\begin{document} \begin{mawarikomi}{}{ \begin{zahyou}[ul=6mm, gentenhaiti={[se]}] (-4, 4)(-2, 2) \zahyouMemori[g][n] \def\Fx#1#2{ \Mul{2}#1\x\Mul#1#1\y \Add\y{1}\y\Div\x\y#2} \yGurafu\Fx\xmin\xmax \end{zahyou} } 多項式関数のグラフ描画は \verb+\Gurafu{1,-2,-3}{a}{b}+ のような書式でしたが, 一般の関数の場合は,\verb+\Fx+ を定義して \verb+\yGurafu\Fx{a}{b}+ のような書式になります. 右図は, $f(x)=\dfrac{2x}{x^2+1}$ のグラフです. \verb+\xmin, \xmax+ は, 定義域の左端と右端の値です. 中括弧で囲う必要はありません. 同様に,値域の下端と上端の値は, それぞれ \verb+\ymin, \ymax+ に納められています. \end{mawarikomi} \end{document} |
上記をタイプセットすると,下記のように表示されます.
つまり,テキストと図が並列で並び, 図の下側へのテキストの回り込みが自動で行われます. 図の箇所に表を配置したり, \includegraphics を利用して画像ファイルを用いることもできます. mawarikomi の書式は, \begin{mawarikomi}{図の横幅}{図} テキスト部分 \end{mawarikomi} となります.図の横幅を省略すると, emathが自動的に計算して適切な横幅に設定します. 基本的には上記の書式ですが,詳しい解説は sample.pdf の後半でなされています. 熟読すると,次のようなことが可能になります.
|
■問題番号の書式 |
具体的なプリントでenumerate環境を利用して問題を配置するとき,
番号付けの書式を変更したくなる場合があります.
その書式は,emathを利用しなくても変更することができます.
例として,enumerateを入れ子にした次の問題を考えます.
ここでは,\usepackageにはなにも指定していません.
|
enumerateを入れ子にすると,デフォルトでは「1. 2.」,「(a) (b)」,「i. ii.」,
「A. B. 」のような順に番号付けがなされます.
この番号付けを変更する最も簡単な方法は,
\begin{enumerate}[・・・]として,[ ]内で指定することです.
たとえば,大問を[1][2]として,小問を(1)(2)とする場合は,
次のように指定します.
|
大問の指定では[]が続くので,{}で囲う必要があります.
[2]とすると,番号付けが[2]から始まります.
[]のオプションで指定した箇所の番号付けが変更されます.
[2]の小問ではその指定を行っていないので,
デフォルトのままのアルファベット小文字で表示されます.
この方法は簡単に変更できて便利なのですが, enumerateが出てくる度に指定するのは面倒です. プリアンブルでまとめて指定するには, 番号付けを行っているTeXのコマンドを理解する必要があります. このような番号付けはカウンター変数で制御されており, 最初のenumerateの番号付けには, カウンターとしてenumi,2番目のenumerateにはenumiiが使われています. そのカウンターの値を数字で表すのかアルファベットで表すのか等は\theenumiに, それを括弧で囲うのかどうか等は\labelenumiに定義されています. デフォルトでは,\theenumiは\arabic{enumi}として数字で定義され, \theenumiiは\alph{enumii}として小文字のアルファベットで定義されています. その書式は,\labelenumiは\theenumiにピリオドを追加して「\theenumi.」として, \labelenumiiは()で囲って「(\theenumii)」として定義されています. そこで,大問の番号を[1][2]のようにするには,\renewcommandを利用して \labelenumiの定義を次のように再定義します. \renewcommand{\theenumii}{\arabic{enumii}} 以下では,最初の番号を四角い枠で囲い, 2番目の番号を(1)(2)のように再定義し, それを\begin{enumerate}の前に置いています. \labelenumiiはデフォルトで括弧で囲うようになっているので, \theenumiiを変更するだけです. また,document内では一度定義しておけば十分です.
|
■問題の配置の仕方 |
emathのedaenumerate環境を使用すると,
小問を簡単に並列配置にすることができます.
その個数は自由に指定することができ,
並列配置の個数を混在させることもできます.
この環境を使用するには,\usepackage{emathp, emathEy}を指定します.
最初の小問3つを横並びにするには次のようにします. なお,問題番号の書式については前述のやり方で変更しています. また,<>は実際には半角で入力します.
|
括弧内の数値を変えることで,横に並べる小問の数を指定することができます.
指定が無いときは2個ずつ配置します.最大何個まで並べることができるかは,
自分で試してみるとよいでしょう.
内容によっては,特定の小問だけ横幅が必要なときがあります. そのようなときは,その小問の箇所だけ特別扱いすることができます. たとえば,(1)(2)は横並びにして,(3)は1個だけで配置したいときは 次のようにします.<>は半角で入力します.
|
前半は3個ずつ配置して後半は2個ずつにしたいときは,
\begin{edaenumerate}<3>で指定しておいて,
該当する\itemの箇所だけ<2>とします.
<>は半角です.
問題の後に説明を加えたいときがあります. enumerate環境を終了して説明を加えた後で, あらためてenumerate環境で別な問題を配置すると, 大問の番号が再び「1」から始まってしまいます.
|
(注) 最後の「\end{enumerate}」が枠から外れる理由は不明.修正できませんでした.
このようなときは,2回目のenumerateの内側で\setcounterというコマンドを利用して, 番号付けを行っている大問のカウンターenumiの値を変更します.
|
(注) 最後の「\end{enumerate}」が枠から外れる理由は不明.修正できませんでした.
大問の番号を制御するカウンターenumiは, \begin{enumerate}の度にリセットされて「1」から始まります. そこで,最初の\itemの前にenumiに「1」を代入して 番号が「2」から始まるようにしています. この指定はenumerateの内側で指定します. ただし,いちいちこの指定を行うのは面倒です. emathでは,このような場合に対応するためEnumerate環境が用意されています. 最初の1字が大文字になり,次のように使用します.
|
最初はEnumerateで大問の番号を引き継ぐことを宣言します. その後は,Enumerate\(*\)を利用することで, その直前の番号の続きから番号づけられます. \end{Enumerate}でEnumerate環境を閉じた後では, Enumerate\(*\)環境を何回でも続けることができます. |
emathのマニュアルであるsample.pdfの後半では, このedaenumerate環境やEnumerate環境について詳しく解説されています. 熟読すると,次のようなことが可能です. 具体的な利用法はマニュアルを参照してください.
|
■作表に関するTips |
増減表や度数分布表などの表を作成したいとき, tabular環境を利用すると, セルに数式を含むときは個別に$で囲んで数式モードにしなければならず面倒です。 そのようなときは,array環境を利用するとよいでしょう. さらに,emathの作表に関するスタイルファイル「emathT.sty」を組み込んでおくと, 列幅や行高などを簡単に変更できるようになっています. 下記は array環境の場合で説明していますが,tabular環境の場合にも適用できます. |
|
array環境 |
下図は,LaTeXの標準仕様の場合です.
列幅は自動調整されますが,セルの内容により幅が異なります.
また,高さもセルの内容が収まるように自動調整されますが,
上下が窮屈です.
|
(注) TeXのソースコードを示している部分は,
この項目以前では四角い枠で囲まれています.それは,
こちらで指定したわけではなく,ブラウザーで表示させると
\begin...\end の間が自動的に四角い枠で囲まれました.
これは,MathJaxの仕様なのかと思っていました.
しかし,array環境の場合は
TeXのソースコードは表示されず,MathJaxによる出力結果だけが表示されます.
$を省いても同様です.
そのため,ここではTeXのソースも表示させるため,
「\verb」に相当するhtmlの<pre>を利用して
ソースコードを表示しています.
ただし,モバイル表示ではセンタリングされてしまうようです.
|
行高の調整 |
行の高さは,emathを利用しなくても「\arraystretch」を利用すると
調整することができます.
|
ただし,\arraystretchはすべての行に対して適用されます.
そのため,高さを変える必要のない1行目も広がります.
また,2行目をみると分かるように,「1.5」の指定では上下の空きがまだ窮屈です.
そのようなときは,「emathT.sty」を組み込んで
\usepackage{emathP, emathT}として,
分数の上下に余白を入れるコマンドである「\bsityuu」を利用すると,
\arraystretchを利用しなくても適当な余白を作ってくれます.
この指定は,その行全体に適用されます.
「b」は分数(bunsuu),「sityuu」は「支柱」のことのようです.
「分数の上下に支柱を立てて空きを作る」というイメージと思います。
下記では,「\bunsuu2{34}」の箇所に追記しました.
|
\arraystretchを外したことにより,1行目の行高がデフォルトに戻り,
2行目の分数の下方に多少の空きができているのが分かります.
ただし,繁分数の箇所の上方が窮屈です.
かといって「\bunsuu9{10}」の箇所にも「\bsityuu」を追記すると,
分母の「10」の箇所にも空きができてしまいます.
このようなときは,セル全体に対して上方や下方の空きを調整する
「\EMvphantom*」を利用します.書式は次の形です.
\EMvphantom*[高さ][深さ]{セルの内容} 高さは上方の空き,深さは下方の空きを指定します. [ ]が1つだけの場合は,同じ値で上下の空きを指定します. 一つのセルで指定された空きは行全体に適用されるので, 下記では「\bsityuu」は削除しています.
|
以上のようにして,セルの上下の空きを調整することができますが,
個々のセル毎に指定するのは面倒かもしれません.
すべての行に対して指定するには,
array宣言の配置の仕方を指定する箇所で「>{\bsityuu}」を
追記しておきます.
ただし,前述のような繁分数を含む場合は,
\EMvphantom* を利用するしかないと思われます.
|
|
列幅の調整 |
表を作成するとき,
列によって列幅を変えたいようなときの指定は面倒です.
そのようなとき,emathTを利用すると幅や配置の仕方を同時に
指定することができます.
配置の仕方は C, L, R の大文字を用い,
例えば列幅を 4zw にして中央寄せにしたい場合は,
「C{4zw}」のように指定します.
下記は,全角1文字ずつ増やして配置を変えた場合です.
|
度数分布表などのように列数が多いとき,
複数列の指定を一気に行うこともできます.
たとえば,「*{列数}{C{4zw}}」などのようにします.
2つ目の中括弧 { } 内が,列数の分だけ繰り返されます.
この中括弧内に縦の仕切り線も含めることもできます.
たとえば,下記では3つの列に対して中央寄せを指定し,
列幅を「3zw」として右側に縦の区切り線を配置しています.
列幅と区切り線の指定が,列数の分だけ繰り返されます.
|
一つのセル内で改行したい場合があるかもしれません.
デフォルトでは,「p{列幅}」とすることで \newline により改行することが
できますが,すべて左寄せになります.
emathWikiの「作表」の解説では \parbox を利用するとよいと書かれていますが,
私の環境ではエラーになりました.
array環境を入れ子にすると,
改行を含めることができて配置の指定も生かせるようです.
|
|
増減表の作成 |
微分法の箇所で増減表を作成するには,
関数の増減や凹凸を表す記号が必要になります.
それぞれ,次のようになります.
\[\small
\begin{array}{|*{4}{C{2zw}|}}
\hline
増加& 減少& 下に凸& 上に凸\\
\nearrow & \searrow & \quad \cup & \quad \cap\\
\hline
\small ¥{\small \rm NE} &\small ¥{\small \rm SE}
&\small ¥{\small \rm cup}&\small ¥{\small \rm cap}\\
\hline
\end{array}\]
\[\small
\begin{array}{|*{4}{C{2.5zw}|}}
\hline
下に凸減& 下に凸増 & 上に凸増 & 上に凸減\\
\hline
\small ¥{\small \rm SEE} &\small ¥{\small \rm NEN}
&\small ¥{\small \rm NEE}&\small ¥{\small \rm SES}\\
\hline
\end{array}\]
増加は北東方向の矢印(\nearrow),
減少は南東方向の矢印(\searrow)で,
スペルが長いので単に \NE, \SE と略記することができます.
凹凸を加味した増減の3文字目の E, N, S は,
それぞれ東の方向,北の方向,そして南の方向への矢印であることを示しています.
これらの記号を用いると,たとえば \(\small y=x^3-3x^2\)
の増減表は次のようになります.
|
\(\small x, y\) の値が分数になるときは
「\bsityuu」を設定しておくとよいでしょう.
繁分数等の複雑な式の場合は
「\EMvphantom*」で対応することができます.
一方,値が定義されていない箇所には,斜線を引きたくなります. セル内に斜線を引くには「\emTsya(W=列幅)」とします. たとえば,\(\small y=\dfrac1{x^2-1}\) の場合は,\(\small x=\pm 1\) の 箇所で \(\small y, y'\) の値が定義されていません. この場合の増減表は次のようになります. 単に「\sya」だけでも斜線が引かれますが, セルを囲う矩形の頂点を結ぶ斜線にはなりません. 列幅を 2zw で指定しているので, 斜線を引きたい箇所では「\emTsya(W=2zw)」とします.
|
「emathT.sty」を組み込むと, 他にも枠線の太さやセル内の色等, 作表に関して多彩な指定をすることができます. 詳細は「emathWiki」の左側メニューから, 「emath講座」の「作表」の箇所を参照してください. 「sampleP.pdf」にも作表に関する解説があります. 2重波線で表を2つに分けたりすることができます. |
★とりあえずは, 以上の説明で一通りのことは可能になるのではないかと思われます. |