在 pstricks 树中的多行之间拆分节点的标签

在 pstricks 树中的多行之间拆分节点的标签

使用pst-nodepst-tree,是否可以在多行上显示节点的标签?

使用 TikZ 非常简单,只需在节点标签的适当位置放置换行符即可{ first line of the label \\ second line of the label}。我尝试使用pst-tree和执行相同操作pst-node

  \pstree[nodesep=5pt,levelsep=7em]{ \TR{first line of label \\ second line of label}} {
    \pstree{ \TR{N2}} {
        \TR{N3}
    }
    \pstree{ \TR{N4}} {
        \TR{N5}
    }
}

但它不起作用。一般来说,换行符只会导致“label”和“second”之间没有空格,当将整个代码插入到 \begin{center} ... \end{center}我收到错误消息时

line 123: Something's wrong--perhaps a missing \item. ...t line of label \\ second line of label}}
: Unable to redefine math accent \vec.
: You have enabled option `breaklinks'.
line 116: Overfull \hbox (89.58849pt too wide) in paragraph
: Underfull \hbox (badness 10000) has occurred while \output is active

关于如何使用pst-tree和来完成这项工作,您有什么想法pst-node吗?

答案1

stackengine例如,你可以使用包来获取它。演示了两种对齐方式:居中和左对齐:

\documentclass[1pt, pdf, svgnames]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fourier}
\usepackage{pstricks-add, pst-tree}
\usepackage{stackengine}
\usepackage{xcolor}
\setstackEOL{\\}

\begin{document}

\begin{pspicture}\def\stackalignment{l}
\pstree[nodesep=5pt,levelsep=7em]{ \TR{\Centerstack{first line of label\\ second line of label}}} {
\pstree{ \TR{N2}} {
    \TR{N3}
}
\pstree{ \TR{N4}} {
    \TR{N5}
}
}
\end{pspicture}
\qquad
\begin{pspicture}
\pstree[nodesep=5pt,levelsep=7em]{ \TR{\Centerstack{first line of label\\ second line of label}}} {
\pstree{ \TR{N2}} {
    \TR{N3}
}
\pstree{ \TR{N4}} {
    \TR{N5}
}
}
\end{pspicture}

\end{document}

在此处输入图片描述

相关内容