首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Graphviz Subscript

Graphviz Subscript
EN

Stack Overflow用户
提问于 2013-07-24 03:49:33
回答 2查看 4.1K关注 0票数 4

我正在尝试使用graphviz,我迫切需要在我的节点标签中使用下标。不幸的是,看着人们关于类似问题的无休止的帖子,我似乎适合所有提出的解决方案,但仍然不起作用。下面是我的代码:

代码语言:javascript
复制
 digraph G{
execute [label=<ex<SUB>2</SUB>>];
main -> parse -> execute;
main -> init;
main -> cleanup;
init -> make_string;
main -> printf;
}

还可以运行以下命令:

代码语言:javascript
复制
$ dot -Tps:cairo -v test.gv -o out.ps

作为输出:

代码语言:javascript
复制
> dot - graphviz version 2.26.3 (20100126.1600)
Activated plugin library: libgvplugin_pango.so.6
Using textlayout: textlayout:cairo
Activated plugin library: libgvplugin_dot_layout.so.6
Using layout: dot:dot_layout
Using render: cairo:cairo
Using device: ps:cairo:cairo
The plugin configuration file:
    /usr/lib/graphviz/config6
        was successfully loaded.
    render  :  cairo dot fig gd map ps svg tk vml vrml xdot
    layout  :  circo dot fdp neato nop nop1 nop2 osage patchwork sfdp twopi
    textlayout  :  textlayout
    device  :  canon cmap cmapx cmapx_np dot eps fig gd gd2 gif gv imap imap_np ismap jpe jpeg jpg pdf plain plain-ext png ps ps2 svg svgz tk vml vmlz vrml wbmp x11 xdot xlib
    loadimage   :  (lib) eps gd gd2 gif jpe jpeg jpg png ps svg
Error: Unknown HTML element <SUB> on line 1 
fontname: "Times-Roman" resolved to: (ps:pango  Times Roman,) (PangoCairoFcFont) "DejaVu Sans 14" 
in label of node execute
network simplex:  7 nodes 6 edges maxiter=2147483647 balance=1
network simplex: 7 nodes 6 edges 0 iter 0.00 sec
mincross: pass 0 iter 0 trying 0 cur_cross 0 best_cross 0
mincross G: 0 crossings, 0.00 secs.
network simplex:  13 nodes 16 edges maxiter=2147483647 balance=2
network simplex: 13 nodes 16 edges 1 iter 0.00 sec
routesplines: 6 edges, 18 boxes 0.00 sec
Using render: cairo:cairo
Using device: ps:cairo:cairo

我不太熟悉cairo或svg渲染,也不太确定这是与graphviz打包在一起的,还是一个单独的库。我有Ubuntu 12,通过apt-get安装了graphviz。任何帮助都将不胜感激。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2013-07-24 18:00:13

以下是原因-来自the graphviz documentation

粗体、斜体、下划线、下标和上标(<B><I><U><SUB>;和<SUP>)的字体标记仅在2011年10月14日之后的版本中可用,并且当前仅通过cairo和svg渲染器可用

你的版本是来自2010年1月的2.26.3。

我建议升级。

另请参阅this answer to a similar question

票数 4
EN

Stack Overflow用户

发布于 2014-09-21 08:47:47

另一个可能的问题是一些SVG渲染器(inkscape?)在graphviz -Tsvg (即-Tsvg:core:core)输出中,似乎无法识别用于下标的baselineskip结构。

请尝试-Tsvg:cairo。这可能是可行的,因为cairo渲染器进行自己的低级字形放置,而不依赖于SVG中那些烦人的高级功能。

斯蒂芬·诺斯

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17819718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档