答案1
你是指这样的事情吗?
\documentclass[tikz]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[blue]
\node (a) at (0,0) {-};
\node (b) at (1,0) {rwx};
\node (c) at (2,0) {rw-};
\node (d) at (3,0) {r-\--};
\draw (a.south west)--(a.south east);
\draw (b.south west)--(b.south east);
\draw (c.south west)--(c.south east);
\draw (d.south west)--(d.south east);
\draw (d.south)--($(d.south)+(0,-1)$)--($(d.south)+(1,-1)$) node[right,align=left,font=\scriptsize\sffamily] {Read, write and execute\\permissions for all other users};
\draw (c.south)--($(c.south)+(0,-2)$)--($(c.south)+(2,-2)$) node[right,align=left,font=\scriptsize\sffamily] {Read, write and execute permissions for\\members of the group owning the file};
\draw (b.south)--($(b.south)+(0,-3)$)--($(b.south)+(3,-3)$) node[right,align=left,font=\scriptsize\sffamily] {Read, write and execute permissions\\for the owner of the file};
\draw (a.south)--($(a.south)+(0,-4)$)--($(a.south)+(4,-4)$) node[right,align=left,font=\scriptsize\sffamily] {File type: ``---'' means a file.\\``d'' means a directory};
\end{tikzpicture}
\end{document}
答案2
我基本上窃取了 JouleV 的答案,并对其进行了修改,以使用相对定位并将节点紧密地打包在一起。具体来说,两个相邻节点的文本之间的间隙是 的 2 倍inner sep
。不幸的是,inner sep
也添加到了文本下方的行中,因此我不得不inner xsep
使用 来减少和增加间隔[right=4pt]
。
顺便说一句,默认值inner sep
是 0.333em。
\documentclass[tikz]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[blue]
\begin{scope}[every node/.style={inner xsep=0pt, inner ysep=2pt}]
\node (a) {-};
\node[right=4pt] (b) at (a.east) {rwx};
\node[right=4pt] (c) at (b.east) {rw-};
\node[right=4pt] (d) at (c.east) {r-\--};
\end{scope}
\begin{scope}[every node/.style={below right, align=left, font=\scriptsize\sffamily}]
\node (e) at (d.south east) {Read, write and execute\\permissions for all other users};
\node (f) at (e.south west) {Read, write and execute permissions for\\members of the group owning the file};
\node (g) at (f.south west) {Read, write and execute permissions\\for the owner of the file};
\node (h) at (g.south west) {File type: ``---'' means a file.\\``d'' means a directory};
\end{scope}
\draw (a.south west)--(a.south east)
(b.south west)--(b.south east)
(c.south west)--(c.south east)
(d.south west)--(d.south east)
(a.south) |- (h.west)
(b.south) |- (g.west)
(c.south) |- (f.west)
(d.south) |- (e.west);
\end{tikzpicture}
\end{document}