これまで、私は 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}
このアップデートでは、説明のために2番目のツリーを追加し、すべての定義を再利用でき、グローバルに変更できるスタイルにまとめました。相対的な垂直配置は、この素敵な答え。