
두 점 사이에 큰 화살표를 그리고 싶습니다. 도움이 되는 유사한 답변을 찾았습니다.여기. 그 대답은 체인 조인에 대한 것이며 잘 작동합니다. 하지만 그냥 복사해서 draw
명령에 적용했지만 아무런 효과가 없었습니다.
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.arrows, calc, chains}
\tikzset{
myarr node/.style={
shape=single arrow, draw=black, minimum width=20mm, anchor=tail,
shape border uses incircle, single arrow head extend=+1pt,
inner sep=+0pt, outer sep=+0pt},
%
myarr with anchors/.style 2 args={
to path={
let \p0=($(\tikztotarget.#2)-(\tikztostart.#1)$) in
node[myarr node,
minimum height={veclen(\x0,\y0)},
shape border rotate={atan2(\y0,\x0)}] at (\tikztostart.#1) {}}
},
%
myarr/.default={}{},
myarr/.style 2 args={
to path={
\expanded{
(\tikztostart#1) edge[path only, overlay, line to]
coordinate[at start] (@start)
coordinate[at end] (@end) (\tikztotarget#2)}
let \p0=($(@end)-(@start)$) in
node[myarr node,
minimum height={veclen(\x0,\y0)},
shape border rotate={atan2(\y0,\x0)}] at (@start) {}}
},
}
\begin{document}
\begin{tikzpicture}
\draw[myarr] (0,0) -- (3,1);
\end{tikzpicture}
\end{document}
답변1
답변2
이것이 당신에게 필요한 것입니까? 코드는PGF매뉴얼.
\documentclass[tikz,border=5mm]{standalone}
\usetikzlibrary{shapes.arrows}
\begin{document}
\begin{tikzpicture}[every node/.style={single arrow, draw},
rotate border/.style={shape border uses incircle, shape border rotate=#1}]
\node {right};
\node at (2,0) [shape border rotate=90]{up};
\node at (1,1) [rotate border=37, inner sep=0pt]{$37^\circ$};
\end{tikzpicture}
\end{document}