![Hinzufügen von Pfeilen zu Rechtecken in TikZ](https://rvso.com/image/309867/Hinzuf%C3%BCgen%20von%20Pfeilen%20zu%20Rechtecken%20in%20TikZ.png)
Kann man Rechtecke mit Pfeilen verzieren? Ich habe verwendet:
\node [draw,rectangle,minimum width=4cm,minimum height=4cm](r){};
Allerdings ist es wirklich schwierig, eine Kante so auszurichten, dass sie auf gleicher Höhe mit der Kante des Rechtecks ist. Gibt es einen einfacheren Weg? Ich möchte, dass es so aussieht:
Antwort1
Ihr Rechteck ist ein node
. Daher können Sie an seinen Ankern einen pfeilförmigen Knoten wie south
und platzieren 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}
Informationen zum Ändern der Pfeilform finden Sie auf pgfmanual
Seite 725, Abschnitt 67.5, unter „Form“ single arrow
.
Antwort2
Und hier ist eine einfacheMetapostAnsatz.
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.
Passen Sie ad_rho
und an ad_phi
, um die Form des Pfeils zu steuern. Oder ändern Sie einfach die Definition von a
im Makro entsprechend.