Graphviz: запись node с жирным шрифтом

Я пытаюсь использовать graphviz, чтобы сделать что-то похожее на диаграммы классов UML.

Интересно, есть ли способ сделать node стиля 'register' иметь свое первое поле жирным шрифтом, чтобы он отличался от других полей.

Мой node выглядит следующим образом:

digraph i { 
  "node" [
    label = "<f0> title | <f1> index | ... | <f2> field1 | <f3> field2"
    shape = "record"
  ];  
}

Я пробовал это, но он не работает: (embedting html)

digraph i { 
  "node" [
    label = "<f0> <B>title</B> | <f1> index | ... | <f2> field1 | <f3> field2"
    shape = "record"
  ];  
}

Ответ 1

Я не верю, что узлы, основанные на записи, позволяют им форматировать HTML. Документация node предполагает, что узлы на основе записей устарели в пользу использования не-формы node с HTML-подобная метка, которая намного более гибкая при форматировании. Эти метки окружены < > вместо двойных кавычек.

Я не смог проверить это, но это близко к тому, что вы хотите:

digraph i { 
  "node" [
    label =<<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="0">
                    <TR><TD PORT="f0"><B>title</B></TD></TR>
                    <TR><TD PORT="f1">index</TD></TR>
                    <TR><TD PORT="f2">field1</TD></TR>
                    <TR><TD PORT="f3">field2</TD></TR>
                </TABLE>>
    shape = "none"
  ];  
}

Вывод:

введите описание изображения здесь