Создать лингвистическую диаграмму (в TikZ?)

Создать лингвистическую диаграмму (в TikZ?)

Я хочу создать диаграмму зависимостей, подобную следующей: диаграмма зависимости

До сих пор я делал это с помощью TikZ:

\documentclass{article}
\usepackage{tikz}
\usepackage{calc}

\begin{document}
\def\mytext{The man}

\newlength{\basewidth}
\setlength{\basewidth}{\widthof{\mytext}}

\begin{tikzpicture}[
    firstnode/.style={
      shape = rectangle,
      inner sep = 2pt,
      anchor=south west,
    }
    ]
    \draw[thin] (0,0) -- (\basewidth + 2ex,0);
    \draw[thin] (0,0) -- (0, 1.5em);
    draw (0,0) \node[firstnode,
    minimum width = \basewidth] {\mytext};
  \end{tikzpicture}
\end{document}

Что дает мне следующий результат:

мой вывод

Как мне заполнить диаграмму (повторяемым и эффективным способом)?

решение1

Как насчет этого?

\documentclass{article}
\usepackage[edges]{forest}
\forestset{students/.style={folder,
grow'=0,edge = {semithick},
edge path'={(!u.south-|.south west) |- (.south east)},
anchor=west,l sep=2.5em,s sep=0em}}
\usepackage{adjustbox}
\begin{document}
\begin{tabular}{lll}
\begin{adjustbox}{valign=T}
\begin{forest}
for tree={students}
[The man
 [big]
 [who lept
  [nimbly]
  [over the wall]
 ]
]
\end{forest}\end{adjustbox}&
\begin{adjustbox}{valign=T}\begin{forest}
for tree={students}
[sends 
 [always]
 [to mother
  [his]
 ] 
 [because he loves her
  [truly,xshift=3em]] 
]
\end{forest}\end{adjustbox}&
\begin{adjustbox}{valign=T}\begin{forest}
for tree={students}
[flowers
 [expansive]
]
\end{forest}
\end{adjustbox}
\end{tabular}
\end{document}

введите описание изображения здесь

В этом обновлении я добавил второе дерево для иллюстрации и упаковал все определения в стиле, который вы можете перерабатывать, и который позволяет вам вносить изменения глобально. Относительное вертикальное выравнивание адаптировано изэтот хороший ответ.

Связанный контент