Dot graph language - как сделать двунаправленные края?

Вот очень упрощенный пример моего графика точек:

strict digraph graphName {
A->B
B->A
}

Это создает alt text

Вместо этого я хочу, чтобы между А и В было показано одно ребро, но с двойной стрелкой. Я знаю, как получить двойную стрелку в качестве глобальной опции:

strict digraph graphName {
  edge [dir="both"]
A->B
B->A
}

Но это выглядит очень некрасиво, и не все мои края должны быть двуглавыми.

alt text

Если я выполню дополнительную обработку графика и сам обнаружу двойную ссылку и заменим два ребра одним ребром, все будет в порядке. Но я бы предпочел не делать этот дополнительный шаг

strict digraph graphName {
A->B [dir="both"]
}

alt text

Есть ли лучшие решения?

Ответ 1

Как насчет "концентрат = правда"?

strict digraph graphName {
concentrate=true
A->B
B->A
}

with concentrate=true

Из документации:

Если это правда, используйте краевые концентраторы. Это объединяет несколько ребер в одно ребро и заставляет частично параллельные ребра делить часть своих путей. Последняя функция еще не доступна за пределами точки.

Ответ 2

Вы должны просто использовать:

A → B [dir = "both" ]