使用pst-node
和pst-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}