tags:

views:

238

answers:

4

This seems like it would be fairly simple, but I've been unable to find anything about how to do this on the web. I'm writing the steps for Kruskal's algorithm. I need to create a list of edges sorted by weight, with labels above the weight referencing the edges, something like this:

a-b b-c c-e
 1   3   5  ...

Design and Analysis of Algorithms by Anany Levitin uses similar formatting on p. 316. If there are no other options, I suppose verbatim might work, though I was hoping to make it look a little nicer. Any recommendations?

+1  A: 

What about something like:

$a\xrightarrow{1}b$

or

$b\xrightarrow[{3}]{}c$

or

$c\overset{5}{-}e$

or

$c\underset{3}{-}f$

(with \usepackage{amsmath} in your preamble)

You can find more advanced math techniques here: http://en.wikibooks.org/wiki/LaTeX/Advanced_Mathematics

Suppressingfire
+2  A: 

As someone suggested, TikZ might be overkill, but it does work.

\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}

EDIT: Actually, this is probably simpler and does what you want:

\[ \left. \begin{array}{ccc}
   {a-b \atop 1} & {b-c \atop 3} & {c-e \atop 5}
   \end{array} \right. \]

You can compare for yourself: tikzedgeweights.pdf

Steve
Why overkill? TikZ is perfect for this kind of thing. Much nicer look than `xypic` or `amsmath`.
Konrad Rudolph
Oh, personally, I agree completely. TikZ is awesome.
Steve
+1  A: 

For a bit more finesse and better looks use

\usepackage{amsmath}
\begin{document}

\[ \overset{a-b}{1} \qquad \overset{\text{\it c-b}}{2} \]

\end{document}

I gave you two different-looking possibilities here -- pick what you like more.

You can achieve the same effect without amsmath by modifying Steve's code to

\[ \left. \begin{array}{ccc}
   {a-b \atop {\displaystyle 1}} & {b-c \atop {\displaystyle 3}}
    & {c-e \atop {\displaystyle 5}} 
   \end{array} \right. \]
AVB
+1  A: 

tikz is probably your best bet, though it is a little heavyweight for what you're after. Perhaps xypic would offer a better solution, and one that isn't quite as intensive as tikz. I'm not sure what you want the thing to look like, but would this be close:

   A \ar[r]^{label} & B

Or something like that?

Seamus