![TikZ で四角形に矢印を追加する](https://rvso.com/image/309867/TikZ%20%E3%81%A7%E5%9B%9B%E8%A7%92%E5%BD%A2%E3%81%AB%E7%9F%A2%E5%8D%B0%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B.png)
長方形を矢印で装飾することは可能ですか? 私が使用したのは:
\node [draw,rectangle,minimum width=4cm,minimum height=4cm](r){};
しかし、長方形の端と同じ高さになるように端を揃えるのは非常に難しいです。もっと簡単な方法はありますか? 次のようにしたいです:
答え1
長方形は です。したがって、や のnode
ように、アンカーに矢印形のノードを配置できます。south
east
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes.arrows}
\tikzset{
myarrow/.style={
draw,thick,
single arrow,
text width=1cm,
fill=white
},
}
\begin{document}
\begin{tikzpicture}
\node [draw,rectangle,minimum size=4cm](r){};
\node[myarrow,rotate=90] at (r.east){};
\node[myarrow] at (r.south){};
\end{tikzpicture}%
\end{document}
矢印の形状を変更するには、pgfmanual
725 ページの 67.5 セクションの形状を参照してくださいsingle arrow
。
答え2
そして、ここに簡単なメタポストアプローチ。
prologues := 3;
outputtemplate := "%j%c.eps";
ad_phi = 1/2;
ad_rho = 7/8;
% return the path of an arrow scaled to size "s" at time "t" on path "p"
vardef arrow_decor(expr s, t, p) =
save a; path a;
a = ((1,0) -- (0,ad_rho) -- (0,ad_phi) -- (-1,ad_phi)
-- (-1,-ad_phi) -- (0,-ad_phi) -- (0,-ad_rho) -- cycle)
scaled 1/2 s
rotated angle direction t of p
shifted point t of p;
unfill a;
a
enddef;
beginfig(1);
path R;
R = unitsquare xscaled 55 yscaled 34;
draw R;
for t = 1/2 step 1 until 4:
draw arrow_decor(8, t, R);
endfor
endfig;
end.
ad_rho
とを調整してad_phi
矢印の形状を制御します。または、a
マクロ内の の定義を適宜変更します。