TikZ 入門（Part.1）　線分を引く／太さ・色・線種を変える

いぇと（[@yetput_ikura](https://twitter.com/yetput_ikura)）です．
TikZ の簡単な説明をします．まとめてたくさん書くのは面倒なので少しずつ書くつもりです．

# TikZ を使おう
TikZ は TeX で図が書けるパッケージです．
私自身 TikZ について知らないことはたくさんあるので記事を書きながら学ぶことにします．

## プリアンブル
プリアンブル（`\begin{document}` の前）で TikZ パッケージを導入しときましょう．

```TeX
\usepackage{tikz}
```

おしまいです．これで基本は問題ないです．

## 書き方
`tikzpicture` 環境で書きます．

```TeX
\begin{tikzpicture}

\end{tikzpicture}
```

普段の私は「図」だからといって `figure` 環境に入れてます．

```TeX
\begin{figure}[htbp]
\centering #中央揃え
\begin{tikzpicture}

\end{tikzpicture}
\caption{} #キャプション
\label{} #ラベル
\end{figure}
```
あとはこの中にごにょごにょ書くだけです．

# 線分を引く
座標 $(x_1,y_1)$ から座標 $(x_2,y_2)$ への線分を描くためには次のように書きます．

```TeX
\begin{tikzpicture}
\draw (x1,y1) -- (x2,y2);
\end{tikzpicture}
```

TikZ の文法では最後に必ずセミコロン `;` を忘れないように気をつけてください．
`\draw` は描きなさいという命令です．座標は `(x,y)` と書きます．線分を引くときには `--` で座標をつなぎます．

例として $(0,0)$ から $(2,1)$ への線分を書いてみましょう．

```TeX
\begin{tikzpicture}
\draw (0,0) -- (2,1);
\end{tikzpicture}
```
![img1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1545738/2176ca39-fbe0-07ae-491e-af3d8fa4c367.png)

## 線分をつなぐ
$(x_1,y_1)$ から $(x_2,y_2)$ への線分と，$(x_2,y_2)$ から $(x_3,y_3)$ への線分が書きたいとします．もちろん，次のように書いても良いでしょう．

```TeX
\begin{tikzpicture}
\draw (x1,y1) -- (x2,y2);
\draw (x2,y2) -- (x3,y3);
\end{tikzpicture}
```

次のように書いても同じように線分をつなぐことができます．

```TeX
\begin{tikzpicture}
\draw (x1,y1) -- (x2,y2) -- (x3,y3);
\end{tikzpicture}
```

例えば，$(0,0),(0,1),(1,1),(1,0)$ の順に線分をつなぐときには次のように書けば良いです．

```TeX
\begin{tikzpicture}
\draw (0,0) -- (0,1) -- (1,1) -- (1,0);
\end{tikzpicture}
```
![img2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1545738/7f26b71d-7aa3-569c-733e-1f413ef26585.png)

 
## 始点と終点をつなぐ
始点と終点をつなぐ際には `-- cycle` を最後に加えれば良いです．

```TeX
\begin{tikzpicture}
\draw (x1,y1) -- (x2,y2) -- (x3,y3) -- cycle;
\end{tikzpicture}
```

先の $(0,0),(0,1),(1,1),(1,0)$ をつないだ例の場合を用いて始点と終点をつないでみましょう．

```TeX
\begin{tikzpicture}
\draw (0,0) -- (0,1) -- (1,1) -- (1,0) -- cycle;
\end{tikzpicture}
```
![img3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1545738/9fdbdf16-3c9f-2a6b-d691-4cf5339341b2.png)

## 太さ・色・線種を変える
線の太さや色，線種を変える際には `\draw[・]` とします．

```TeX
\begin{tikzpicture}
\draw[option]  ・・・;
\end{tikzpicture}
```

### 太さ
太さには `ultra thin`, `very thin`, `thin`, `semithick`, `thick`, `very thick`, `ultra thick` があります．数値で指定する際には `line width = ` のように書きます．

```TeX
\begin{tikzpicture}
\draw[ultra thin] (0,0) -- (0,1);
\draw[very thin] (1,0) -- (1,1);
\draw[thin] (2,0) -- (2,1);
\draw[semithick] (3,0) -- (3,1);
\draw[thick] (4,0) -- (4,1);
\draw[very thick] (5,0) -- (5,1);
\draw[ultra thick] (6,0) -- (6,1);

\draw[line width = 10] (7,0) -- (7,1);
\end{tikzpicture}
```
![img4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1545738/108978f4-1a0c-cafa-ffd3-652574ed2ea5.png)

### 色
`black`, `white`, `blue`, `red`, `yellow`, `green` あたりはもちろん，`brown`, `cyan`, `darkgray`, `gray`, 'lightgray', `lime`, `magenta`, `olive`, `orange`, `pink`, `purple`, `teal`, `violet` なんかも標準色として備わっています．

```TeX
\begin{tikzpicture}
\draw[blue] (1,0) -- (1,1);
\draw[red] (2,0) -- (2,1);
\draw[yellow] (3,0) -- (3,1);
\draw[green] (4,0) -- (4,1);
\end{tikzpicture}
```
![img5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1545738/28c6020e-a612-60a8-6003-47b1944a7fd1.png)

### 線種
線種は `solid`, `dotted`, `dashed`, `dash dot`, `dash dot dot` あたりが備わっています．`densely` をつけると密に，`loosely` をつけると疎になります．

```TeX
\begin{tikzpicture}
\draw[solid] (1,0) -- (1,1);
\draw[dotted] (2,0) -- (2,1);
\draw[dashed] (3,0) -- (3,1);
\draw[dash dot] (4,0) -- (4,1);
\draw[dash dot dot] (5,0) -- (5,1);
\draw[densely dotted] (6,0) -- (6,1);
\draw[loosely dotted] (7,0) -- (7,1);
\end{tikzpicture}
```
![img6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1545738/65f61c0a-fcf0-c9cf-9b36-016df62043b1.png)

### 複数のオプション
オプションを複数つける場合にはカンマで区切れば良いです．

```TeX
\begin{tikzpicture}
\draw[option1, option2, option3] ・・・;
\end{tikzpicture}
```

太くて赤い点線を描いて，今回は終わりにしましょう．

```TeX
\begin{tikzpicture}
\draw[ultra thick, red, dashed] (1,0) -- (1,1);
\end{tikzpicture}
```
![img7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1545738/1405a238-fb88-50a6-cb68-a0b72b47fd3d.png)

めでたし．