Использование north
и south
(и phantom
) делает все в порядке по вертикали. Вместо этого я хотел использовать библиотеку calc
TikZ для более горизонтального смещения конечных точек стрелок от узлов (a)
, (b)
, (c)
более элегантным способом, но мне это не удалось:
\documentclass[tikz,border=5mm]{standalone}
\usetikzlibrary{arrows,decorations.markings}
\begin{document}
\begin{tikzpicture}[>=triangle 45, thick, sloped]
\node [rectangle, very thick, draw, right] (a) at (0,6) {\large\textbf{Government}};
\node [rectangle, very thick, draw, right] (b) at (0,3) {\large\textbf{Bank}};
\node [rectangle, densely dotted, draw, right] (c) at (0,0) {\large Transaction};
\node (d) at (.2,6) {\phantom{G}};
\node (e) at (.2,3) {\phantom{B}};
\node (f) at (.2,0) {\phantom{T}};
\node (g) at (1.1,6) {\phantom{G}};
\node (h) at (1.1,3) {\phantom{B}};
\node (i) at (1.1,0) {\phantom{T}};
\node (j) at (2,6) {\phantom{G}};
\node (k) at (2,0) {\phantom{T}};
\draw [->] (e.north) -- (d.south) node[pos=0.5, above] {reporting};
\draw [->] (g.south) -- (h.north) node[pos=0.5, above] {fines};
\draw [->] (f.north) -- (e.south) node[pos=0.5, above] {information};
\draw [->] (h.south) -- (i.north) node[pos=0.5, above] {monitoring};
\draw [->] (j.south) -- (k.north) node[pos=0.5, above] {investigation};
\end{tikzpicture}
\end{document}
Этот код приводит к:
Тогда вы можете настроить это в зависимости от вашего вкуса!