今回はTikZで描画する矢印のカスタマイズについて紹介したい。
まずカスタマイズのために以下のライブラリをプリアンブルでロードしておく。直線矢印だけの場合は\usetikzlibrary {arrows.meta}のみでよい。
\usetikzlibrary {arrows.meta} \usetikzlibrary {bending}
通常の矢印は以下のようになる。
\tikz \draw[->] (0,0)--(1,0);

次に矢印の矢じりの形状を指定するStealthを付加する。たとえば>-Stealthは矢印の前後に矢じりを設定する。Stealthはオプションを指定することができ{Stealth[red]}とすると矢じりを赤にすることができる。
\begin{tikzpicture} \draw[>-Stealth] (0,0) -- (1,0); \end{tikzpicture} \begin{tikzpicture} \draw[-{Stealth[red]}] (0,0) -- (2,0); \end{tikzpicture}

以下はStelth[length=5mm]として矢じりの長さを指定している。またLatexはStealthとは異なる形状を与える。
\tikz{ \draw [-{Stealth[length=5mm]}] (0,0) -- (1.5,0); } \tikz{ \draw [-{Latex[length=5mm]}] (0,0) -- (1.5,0); }

Classical TikZ RightarrowもStealthやLatexと同様に矢じり形状を与える。double distance=3pt,arrows =とすることで2重線矢印のすることができる。
またStealth[length=10mm, open]のようにopenを指定すると矢印の塗りつぶしが白抜きになる。
\tikz{ \draw [-{Classical TikZ Rightarrow[length=5mm]}] (0,0) -- (1,0); } \tikz{ \draw [line width=1pt, double distance=3pt, arrows = {-Latex[length=0pt 3 0]}] (0,0) -- (1,0);} \tikz{ \draw [line width=1mm, -{Stealth[length=10mm, open]}](0,0) -- (1.5,0); }

以下はangleを指定すると矢じりの開き角度、scaleは矢じりの大きさを指定する。
\tikz \draw [arrows = {-Stealth[inset=0pt, angle=90:10pt]}] (0,0) -- (1,0); \tikz { \draw [arrows = {-Stealth[]}] (0,1) -- (1,1); \draw [arrows = {-Stealth[scale=1.5]}] (0,0.5) -- (1,0.5); \draw [arrows = {-Stealth[scale=2]}] (0,0) -- (1,0); }

Hooksは矢じりをフック形状にし、さらにオプションarcはフックの曲がりを指定する。
\tikz [ultra thick] { \draw [arrows = {-Hooks[]}] (0,1) -- (1,1); \draw [arrows = {-Hooks[arc=90]}] (0,0.5) -- (1,0.5); \draw [arrows = {-Hooks[arc=270]}] (0,0) -- (1,0); }

slantは矢じりの傾きを指定することができる。
\tikz { \draw [arrows = {->[]}] (0,1) -- (1,1); \draw [arrows = {->[slant=.5]}] (0,0.5) -- (1,0.5); \draw [arrows = {->[slant=1]}] (0,0) -- (1,0); }

fillオプションは塗りつぶすことができる。
\tikz [ultra thick] \draw [draw=red, fill=red!50, arrows = {-Stealth[length=10pt]}] (0,0) -- (1,1) -- (2,0);

Computer Modern Rightarrowのline joinを指定すると接合部の形状が変わる。
\tikz [line width=2mm] \draw [arrows = {-Computer Modern Rightarrow[line join=miter]}] (0,0) -- (1,0); \tikz [line width=2mm] \draw [arrows = {-Computer Modern Rightarrow[line join=round]}] (0,0) -- (1,0); \tikz [line width=2mm] \draw [arrows = {-Computer Modern Rightarrow[sharp]}] (0,0) -- (1,0);

fillとline widthの指定により矢印を白抜きにすることもできる。
\tikz \draw [arrows = {-Latex[line width=0.1pt, fill=white, length=10pt]}] (0,0) -- (1,0); \tikz \draw [arrows = {-Latex[line width=1pt, fill=white, length=10pt]}] (0,0) -- (1,0);

プリアンブルのbendingライブラリを用いて、カーブをもつ矢印を指定できる。
\begin{tikzpicture} \draw [red,line width=1mm,-{Stealth[length=20pt,bend]}] (-1,-.5) .. controls (0,-.5) and (0,0) .. (1,0); \end{tikzpicture}

最後にStealthで矢じりの形状reversedやharpoon、矢印の色を以下のように指定できる。
\tikz [ultra thick] \draw [arrows = {-Stealth[reversed]}] (0,0) -- (1,0); \tikz [ultra thick] \draw [arrows = {-Stealth[harpoon]}] (0,0) -- (1,0); \tikz [ultra thick] \draw [red, arrows = {-Stealth}] (0,0) -- (1,0); \tikz [ultra thick] \draw [red, arrows = {-Stealth[color=blue]}] (0,0) -- (1,0);
