这看起来很简单,但我一直无法在网上找到任何关于如何做到这一点的内容。我正在为Kruskal的算法编写步骤。我需要创建一个按重量排序的边列表,标签上方的标签引用边缘,如下所示:
a-b b-c c-e
1 3 5 ...
Anany Levitin的算法设计和分析在p上使用类似的格式。 316.如果没有其他选择,我认为逐字可能有效,但我希望能让它看起来更好一些。有什么建议吗?
答案 0 :(得分:4)
正如有人所说,TikZ可能有点矫枉过正,但确实有效。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) node[anchor=east]{a} -- (0.4,0) node[anchor=west]{b};
\draw (0.2,0) node[anchor=north]{1};
\draw (2,0) node[anchor=east]{b} -- (2.4,0) node[anchor=west]{c};
\draw (2.2,0) node[anchor=north]{3};
\draw (4,0) node[anchor=east]{c} -- (4.4,0) node[anchor=west]{e};
\draw (4.2,0) node[anchor=north]{5};
\end{tikzpicture}
\end{document}
编辑:实际上,这可能更简单并且可以满足您的需求:
\[ \left. \begin{array}{ccc}
{a-b \atop 1} & {b-c \atop 3} & {c-e \atop 5}
\end{array} \right. \]
您可以自己比较:tikzedgeweights.pdf
答案 1 :(得分:1)
如下:
$a\xrightarrow{1}b$
或
$b\xrightarrow[{3}]{}c$
或
$c\overset{5}{-}e$
或
$c\underset{3}{-}f$
(序言中\usepackage{amsmath}
)
您可以在此处找到更多高级数学技巧:http://en.wikibooks.org/wiki/LaTeX/Advanced_Mathematics
答案 2 :(得分:1)
使用更精细和更好看的外观
\usepackage{amsmath}
\begin{document}
\[ \overset{a-b}{1} \qquad \overset{\text{\it c-b}}{2} \]
\end{document}
我在这里给了你两种不同的可能性 - 选择你喜欢的东西。
通过将Steve的代码修改为
,您可以在没有amsmath
的情况下实现相同的效果
\[ \left. \begin{array}{ccc}
{a-b \atop {\displaystyle 1}} & {b-c \atop {\displaystyle 3}}
& {c-e \atop {\displaystyle 5}}
\end{array} \right. \]
答案 3 :(得分:1)
tikz可能是你最好的选择,尽管它对你所追求的东西有点重量级。也许xypic会提供更好的解决方案,而且不像tikz那么强大。我不确定你想要的东西是什么样的,但这会很接近:
A \ar[r]^{label} & B
或类似的东西?