PS
# arrowex.m4
#
https://tex.stackexchange.com/questions/727004/how-do-i-create-hook-arrows-in-tikz-diagram-instead-of-plain-arrows
gen_init
movewid = 1
moveht = 12bp__
ifdpic(
`{{ arrow -> 0 }; move; "\tt arrow -> 0" ljust }
move down_; right_
{{ arrow -> 1 }; move; "{\tt arrow -> 1} (default)" ljust }
move down_; right_
{{ arrow -> 3 }; move; "\tt arrow -> 3" ljust } ',
`{{arrowhead = 0; arrow}; move; "\tt arrowhead = 0; arrow" ljust }
move down_; right_
{{arrowhead = 1; arrow}; move
"{\tt arrowhead = 1; arrow} (default)" ljust } ')
move down_; right_
arrowwid = 8bp__; arrowht = 10bp__
{{ sarrow(,type=Plain)}; move;
{"`\tt arrowwid=8bp\_\_; arrowht=10bp\_\_; sarrow(,type=Plain)'" ljust }}
move down_; right_
{{ sarrow(,type=PP;hook=R;)}; move;
{"`\tt sarrow(,type=PP;hook=R;)'" ljust }}
move down_; right_
{{ sarrow(,type=Open)}; move;
{"`\tt sarrow(,type=Open)'" ljust }}
move down_; right_
{{ sarrow(,type=DI;head=colored "blue")}; move;
{"`\tt sarrow(,type=DI;head=colored \"blue\")'" ljust }}
move down_; right_
{{ sarrow(,type=Open;head=fill_(0))}; move;
{"`\tt sarrow(,type=Open;head=fill\_(0))'" ljust }}
move down_; right_
{{ sarrow(,type=Crow;shaft=dashed)}; move
{"`\tt sarrow(,type=Crow;shaft=dashed)'" ljust }}
move down_; right_
{{ sarrow(,type=Diamond;head=shaded "red";lgth=16bp__)}; move
{"`\tt sarrow(,type=Diamond;head=shaded \"red\";lgth=16bp\_\_)'" ljust }}
PE