扇型を描く
<script type="text/tikz"> \begin{tikzpicture} \draw [-stealth](-2,0)--(2,0); \draw [-stealth](0,-2)--(0,2); \filldraw [fill=blue, opacity=.5, draw=red](0,0)--(1,0)--(1,0)arc(0:120:1)--cycle; \end{tikzpicture} </script>
図を傾ける or 回転させる
中心が原点の場合
原点を中心に普通の楕円を描いた。
<script type="text/tikz"> \begin{tikzpicture} \draw [-stealth](-2,0)--(2,0); \draw [-stealth](0,-2)--(0,2); \draw (0,0) circle [x radius=2, y radius=1]; \end{tikzpicture} </script>
これを回転させたい。
<script type="text/tikz"> \begin{tikzpicture} \draw [-stealth](-2,0)--(2,0); \draw [-stealth](0,-2)--(0,2); \draw (0,0) circle [x radius=2, y radius=1, rotate=30]; \end{tikzpicture} </script>
オプションにrotate=30を入れると、反時計回りに30°回転できる。
中心が原点でない場合
普通の正方形を描いた。
<script type="text/tikz"> \begin{tikzpicture} \draw [-stealth](-2,0)--(2,0); \draw [-stealth](0,-2)--(0,2); \draw (1,1) rectangle (2,2); \end{tikzpicture} </script>
同じように回転させてみると…
<script type="text/tikz"> \begin{tikzpicture} \draw [-stealth](-2,0)--(2,0); \draw [-stealth](0,-2)--(0,2); \draw [rotate=45] (1,1) rectangle (2,2); \end{tikzpicture} </script>
どんな時でも回転中心が(0,0)になってしまうようだ。(0,0)ではなく、重心を中心として回したい。どうすれば良いか?
<script type="text/tikz"> \begin{tikzpicture} \draw [-stealth](-2,0)--(2,0); \draw [-stealth](0,-2)--(0,2); \draw [rotate around={45:(1.5,1.5)}] (1,1) rectangle (2,2); \end{tikzpicture} </script>
目的の図ができた。[rotate around={45:{1.5,1.5}}]で、座標(1.5,1.5)を中心に45°回転させるという意味になる。
図に文字を書き込む TeXを使う
そのまま書く
\begin{tikzpicture}[x=3cm,y=3cm] \draw (0,0)--(1,1); \node (end) at (1,1) [above] {a}; \end{tikzpicture} </script>
なにも設定しないとローマン体で出力される。
TeXモードにする
$で囲むとTeXモードになる。これでイタリック体になった。
上付け文字と下付け文字
<script type="text/tikz"> \begin{tikzpicture}[x=3cm,y=3cm] \draw (0,0)--(1,1); \node (end) at (1,1) [above] {$a^2$}; \end{tikzpicture} </script>
\begin{tikzpicture}[x=3cm,y=3cm] \draw (0,0)--(1,1); \node (end) at (1,1) [above] {$a_{11}$}; \end{tikzpicture} </script>
上付き、下付き、中括弧が使用できる。Mathjaxと違ってMarkdown記法のコマンドとも干渉しない。HTMLタグで囲っているからかもしれない。
関数
<script type="text/tikz"> \begin{tikzpicture}[x=3cm,y=3cm] \draw (0,0)--(1,1); \node (end) at (1,1) [above] {$\sin x$}; \end{tikzpicture} </script>
関数も問題なさそう。
分数
<script type="text/tikz"> \begin{tikzpicture}[x=3cm,y=3cm] \draw (0,0)--(1,1); \node (end) at (1,1) [above] {$\frac{ a }{ 2 }$}; \end{tikzpicture} </script>
分数も書ける。
<script type="text/tikz"> \begin{tikzpicture}[x=3cm,y=3cm] \draw (0,0)--(1,1); \node (end) at (1,1) [above] {$\displaystyle \frac{ a }{ 2 }$}; \end{tikzpicture} </script>
\displaystyleも大丈夫。
図に文字を書き込む
オプション無し
<script type="text/tikz"> \begin{tikzpicture}[x=3cm,y=3cm] \draw (0,0)--(1,1); \node (end) at (1,1) {a}; \end{tikzpicture} </script>
図に文字を書き込むにはソースコード4行目の\nodeコマンドを用いる。endは後で座標を呼び出すときに使える名前で、aが書き込む文字である。
オプションをつけないと、指定した点の真上に表示される。この図だと線分の端に重なってしまった。
位置オプション
<script type="text/tikz"> \begin{tikzpicture}[x=3cm,y=3cm] \draw (0,0)--(1,1); \node (end) at (1,1) [above] {a}; \end{tikzpicture} </script>
オプション[above]で文字の位置を上にずらして見やすくなった。他に[below]、[left]、[right]のオプションがある。
位置オプションの組み合わせ
<script type="text/tikz"> \begin{tikzpicture}[x=3cm,y=3cm] \draw (0,0)--(1,1); \node (end) at (1,1) [above right] {a}; \end{tikzpicture} </script>
上下と左右を組み合わせることができる。 [above right]で指定した点の右上に書き込まれた。
カッコは区切らず、オプションの間にコンマも入れない。
数式テスト
Mathjaxインラインモード
[tex: ]
と冒頭に一度書いておいて、はてなブログの数式モードを呼び出せば、そのページではフル機能のMathjaxを使用できる。
普通に書いてみる
ほげ(ax_12 + (bx_1 + c) > 0) ほげ
ほげ\(ax_1^2 + (bx_1 + c) > 0\) ほげ
Mathjax記法のリファレンス通り書いても数式にならない。
^と_の前に\をつけてみる
ほげ(ax_1^2 + (bx_1 + c) > 0) ほげ
ほげ\(ax\_1\^2 + (bx\_1 + c) > 0\) ほげ
Markdown記法との被りを対策したがまだダメ。最初と最後の\がうまく動作していない。
さらに\を\でエスケープしてみる
ほげ\(ax_1^2 + (bx_1 + c) > 0\) ほげ
ほげ\\(ax\_1\^2 + (bx\_1 + c) > 0\\) ほげ
やっと表示された。また()や>は\でエスケープしなくてもちゃんと数式になっている。
Mathjax独立モード
ほげ\[ax_1^2 + (bx_1 + c) > 0\]ほげ
ほげ\\[ax\_1\^2 + (bx\_1 + c) > 0\\]ほげ
同じ要領で書ける。ちゃんと独立したブロックに書かれている。
ほげ$$ax_1^2 + (bx_1 + c) > 0$$ほげ
ほげ$$ax\_1\^2 + (bx\_1 + c) > 0$$ほげ
\\[ \\]
の代わりに$$を用いても同じ。
\[ \frac{\pi}{2} = \left( \int_{0}^{\infty} \frac{\sin x}{\sqrt{x}} dx \right)^2 = \sum_{k=0}^{\infty} \frac{(2k)!}{2^{2k}(k!)^2} \frac{1}{2k+1} = \prod_{k=1}^{\infty} \frac{4k^2}{4k^2 - 1} \]
CSSと組み合わせて、横に長い式だけ左右にスクロールが出来る。
文字入力のテスト
<script type="text/tikz"> \begin{tikzpicture} \draw[-stealth]( 0,-3.5) -- (0,3.5); \draw[-stealth](-3.5,0) -- (3.5,0); \draw(-0.3,-0.1) node[below]{0}; \foreach \x in {-3,-2,-1,1,2,3} \draw (\x,-0.1)node[below]{\x} -- (\x, 0.1); \foreach \y in {-3,-2,-1,1,2,3} \draw (-0.1,\y)node[left]{\y} -- (0.1,\y); \end{tikzpicture} </script>
線の基本色
xcolor 19色
x軸とy軸を作る
中心が原点
<script type="text/tikz"> \begin{tikzpicture}[x=3cm,y=3cm] \node (O) at (0,0) [below left] {O}; \draw [thick, -stealth](-1.5,0)--(1.5,0) node [anchor=north]{$x$}; \draw [thick, -stealth](0,-1.2)--(0,1.2) node [anchor=east]{$y$}; \end{tikzpicture} </script>
-stealthは「ステルス機型矢印を終点に描く」という意味。何か隠しているわけではない。
端っこが原点
<script type="text/tikz"> \begin{tikzpicture}[x=3cm,y=3cm] \node (O) at (0,0) [below left] {O}; \draw [thick, -stealth](-0.2,0)--(2,0) node [anchor=north]{$x$}; \draw [thick, -stealth](0,-0.2)--(0,2) node [anchor=east]{$y$}; \end{tikzpicture} </script>
インライン形式と独立形式
TikZには2種類の描画方法がある。簡単な図を描くインライン形式と、複雑な図も描ける独立形式である。
同じ図を描いてそれぞれの見え方を比べる。
インライン形式
ああああいいいい
ああああ<script type="text/tikz"> \tikz \draw (0,0) circle (2); </script>いいいい
独立形式
ああああいいいい
ああああ<script type="text/tikz"> \begin{tikzpicture} \draw (0,0) circle (2); \end{tikzpicture} </script>いいいい
どっちでも別に表示は変わらないようだ。独立形式も改行を入れなければ普通にインライン表示される。これはMathjaxと違うところだ。
線の種類
普通の円
<script type="text/tikz"> \begin{tikzpicture} \draw (0,0) circle (3); \end{tikzpicture} </script>
点線の円
<script type="text/tikz"> \begin{tikzpicture} \draw[dashed] (0,0) circle (3); \end{tikzpicture} </script>
赤線の円
<script type="text/tikz"> \begin{tikzpicture} \draw[red] (0,0) circle (3); \end{tikzpicture} </script>
太線の円
<script type="text/tikz"> \begin{tikzpicture} \draw[ultra thick] (0,0) circle (3); \end{tikzpicture} </script>
赤くて太い点線の円
<script type="text/tikz"> \begin{tikzpicture} \draw[red,dashed, ultra thick] (0,0) circle (3); \end{tikzpicture} </script>
フィボナッチ数列の一般項
こちらに引っ越しました。