如何绘制树形图,其中每个矩形节点都有一个浮动编号标签?

如何绘制树形图,其中每个矩形节点都有一个浮动编号标签?

这是某人用 Word 发给我的一张图表: 在此处输入图片描述

忽略希伯来语文本,我怎样才能在 LaTeX 中生成这样的图表(我实际上使用 LyX,但我想它对我帮助不大)?

如果有一种优雅而简单的方法来添加编号,那就太好了。否则,我只会在简单的文本中添加它们。

答案1

以下是使用 TikZ 的解决方案(具体来说tikz-qtree):

\documentclass{article}
\usepackage{tikz-qtree}
\usepackage{amsmath}
\usepackage[margin=1in]{geometry}
\newcommand{\OVal}{Optimal-value: }
\begin{document}
\tikzset{edge from parent/.style={draw, edge from parent path=
    {(\tikzparentnode) -- (\tikzchildnode)}}
   ,level distance={1.25in},sibling distance={.5in}}
\begin{tikzpicture}[every tree node/.style={draw,rectangle,minimum width=2.25in,
    minimum height=.65in,align=center},scale=.8]
\Tree [.\node (1) {$x(1)=15.5;x(2)=6.75;x(3)=7;$\\\OVal $51.75$};
        \edge node [auto=right] {$x(2)\le 6$}; 
        [.\node (3) {$x(1)=14.4951; x(2)=6;x(3)=6.5049;$\\\OVal $48$};
            \edge node [auto=right] {$x(3)\le 6$};
            [.\node (5) {$x(1)=15;x(2)=6;x(3)=6$\\\OVal $48$}; ]
            \edge node [auto=left] {$x(3)\ge 7$};
            [.\node (4) {$x(1)=14;x(2)=6;x(3)=7$\\\OVal $48$}; ] ]
        \edge node [auto=left] {$x(2)\ge 7$};
        [.\node (2) {\OVal\ -inf}; ] ]

\tikzset{every node/.style={draw,rectangle,fill=white}}
\foreach \x in {1,...,5} 
 {
 \node at (\x.north east) {\x};
 };
\end{tikzpicture}
\end{document}

代码输出

相关内容