Graphviz-如何使标签中的文本左对齐?

Graphviz-如何使标签中的文本左对齐?,graphviz,Graphviz,我正在使用graphviz来可视化我正在解析的语言的AST。我希望包含源代码(作为标签),但graphviz将标签内的文本对齐,这会干扰缩进(代码对缩进敏感)。下面是一个问题示例,第二行代码不应缩进: 这是生成的.dot文件的相关部分: graph [fontname=Courier,fontsize=10.0,labeljust=l,nojustify=true]; node [shape=box,width=0.2,height=0.2,fontname=Courier,fontsize=

我正在使用graphviz来可视化我正在解析的语言的AST。我希望包含源代码(作为标签),但graphviz将标签内的文本对齐,这会干扰缩进(代码对缩进敏感)。下面是一个问题示例,第二行代码不应缩进:

这是生成的.dot文件的相关部分:

graph [fontname=Courier,fontsize=10.0,labeljust=l,nojustify=true];
node [shape=box,width=0.2,height=0.2,fontname=Courier,fontsize=10.0,penwidth=0.5];
edge [weight=1.2,penwidth=0.5,fontname=Courier,fontsize=10.0,labeljust=c];
labelloc="t";
label="\ndef square(a, b) -> a * b\ndef dotProduct(a, b) -> \n    a.x * b.x + a.y * b.y\n";

您可以使用
\l
而不是
\n
来执行以下操作:


我得到的结果是,它只适用于两行(一次出现
\l
)。有人认识到这个问题吗?对我来说,第三行没有对齐。我意识到,旧线程,但@Tarrasch:在最后一行末尾添加一个
\l
将解决这个问题,例如
“第1行\lLine 3\lLine 3\l”