TikZ on $\mathrm{\LaTeX}$するときのためのチートシートです。画像が用意できていなくて申し訳ない。
個人用のメモとしての一面が強いです。何か間違ったことを言っていたらコメントか何かで教えてください。
TikZとは
$\mathrm{\TeX}$で図を書くためのパッケージです。
TikZを使う
だいたいのことは texdoc visualtikz
で表示されるPDF文書を参考にしたらわかります。
ここでは、わざわざ texdoc
するのが面倒な、頻繁に使う構文だけを紹介します。
使い方
%% \documentclass[dvipdfmx]{jsarticle}
%% のように、ドライバオプションは指定しておきましょう。
\usepackage{tikz}
\usetikzlibrary{calc} %TikZに計算をさせるおまじない
\begin{tikzpicture}
%% この環境中にコマンドを書く。
%% コマンドは必ず`;'で行が終わる。
\end{tikzpicture}
使うにあたって
TikZでは座標を元にして色々なモノを配置します。あらかじめ作りたい図があるならば、それを方眼紙に書き出して何がどこの座標にあるかを把握しておいた方が良いです。
コマンド
座標の指定
(3,4)
のようにしてX座標、Y座標を指定する。座標は描画領域の左下を原点として、右がXの正の向き、上がYの正の向き。単位は1が1cmです。多分js系のクラスでは真の1cmからずれたりすると思う。
相対的な配置もできるらしいけどよくわからない。
極座標も指定できるようだけど、私はうまくいかなかったので割愛。
ノードを配置する
\node(P) at (3,4) {Text};
%% (3,4)にPという名前のノード(点)を配置して、Textというラベルをつける。
%% ラベルは必須。空のラベルでもOK。
\coordinate(Q) at (12,5);
%% こちらはラベルの指定をしない方法。
上の例の、P
とかQ
とか言った点の名前は後で呼び出せる。
ラベルとして指定した文字列は出力される。
線を引く
\draw(P) -- (Q);
%% 直線を引く。
\draw[->] (P) -- (Q);
%% 矢印を引く。
\draw[<->] (P) -- (Q);
%% 両矢印を引く。
\node
で設定したノードには大きさがあるので、
\node(O) at (0,0) {原点$\mathrm{O}$}; %ラベルで数式モードに入ってもOK。
\node(P) at (1,0) {};
\node(Q) at (2,0) {};
\draw(O) -- (P) -- (Q);
%% 3点を直線で結ぶこともできる。
みたいに書くと、点Pのところに空白ができてしまう。
\coordinate
でノードを設定すれば、ノードの大きさは0になるので、
\coordinate(O) at (0,0); %ラベルは書けない。
\coordinate(P) at (1,0);
\coordinate(Q) at (2,0);
\draw(O) -- (P) -- (Q);
ちゃんと直線になる。
\coordinate
しながらラベルをつけたい欲張りな方には、
\coordinate(O) at (0,0);
\coordinate(P) at (1,0);
\coordinate(Q) at (2,0);
\draw(O) node {原点$\mathrm{O}$} -- (P) -- (Q);
とすればラベルがつけられる。
文字を配置する(ラベルの位置変更)
\node(P1) at (3,4) [right] {Text1};
\node(P2) at (12,5) [left] {Text2};
\node(P3) at (4,5) [above] {Text3};
\node(P4) at (7,9) [below] {Text4};
\coordinate(Q1) at (0,0);
\coordinate(Q2) at (1,0);
\draw(Q1) node [above] {原点$\mathrm{O}$} -- (Q2);
のようにずらす方向を指定して、少しずらすことができる。