LaTeX - Добавление меток узлов над отсортированным списком ребер для взвешенного графика - PullRequest
1 голос
/ 01 марта 2010

Кажется, это было бы довольно просто, но я не смог найти ничего о том, как это сделать в Интернете. Я пишу шаги для алгоритма Крускала. Мне нужно создать список ребер, отсортированных по весу, с метками над весом, ссылающимися на ребра, что-то вроде этого:

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

Разработка и анализ алгоритмов Анани Левитин использует аналогичное форматирование на стр. 316. Если других вариантов нет, я полагаю, что дословный вариант может сработать, хотя я надеялся, что он будет выглядеть немного лучше. Любые рекомендации?

Ответы [ 4 ]

4 голосов
/ 01 марта 2010

Как кто-то предположил, 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 голос
/ 01 марта 2010

tikz - это, вероятно, ваш лучший выбор, хотя он немного тяжел для того, что вы ищете. Возможно, xypic предложит лучшее решение, но не такое интенсивное, как у tikz. Я не уверен, как вы хотите, чтобы вещь выглядела, но это было бы близко:

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

Или что-то в этом роде?

1 голос
/ 01 марта 2010

Для немного большей утонченности и лучшего внешнего вида используйте

\usepackage{amsmath}
\begin{document}

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

\end{document}

Я дал вам две разные возможности - выберите то, что вам больше нравится.

Вы можете добиться того же эффекта без amsmath, изменив код Стива на

\[ \left. \begin{array}{ccc}
   {a-b \atop {\displaystyle 1}} & {b-c \atop {\displaystyle 3}}
    & {c-e \atop {\displaystyle 5}} 
   \end{array} \right. \]
1 голос
/ 01 марта 2010

Как насчет чего-то вроде:

$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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...