![如何绘制树形图,其中每个矩形节点都有一个浮动编号标签?](https://linux22.com/image/237628/%E5%A6%82%E4%BD%95%E7%BB%98%E5%88%B6%E6%A0%91%E5%BD%A2%E5%9B%BE%EF%BC%8C%E5%85%B6%E4%B8%AD%E6%AF%8F%E4%B8%AA%E7%9F%A9%E5%BD%A2%E8%8A%82%E7%82%B9%E9%83%BD%E6%9C%89%E4%B8%80%E4%B8%AA%E6%B5%AE%E5%8A%A8%E7%BC%96%E5%8F%B7%E6%A0%87%E7%AD%BE%EF%BC%9F.png)
这是某人用 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}