在论文中绘制流程图
这里我们推荐使用 fletcher,可以说是 CeTZ 的一个简略版本,在论文中,使用方法如下:
1#import "@preview/fletcher:0.5.8" as fletcher: diagram, edge, node2// Other Code3
4#figure(5 diagram(6 edge-stroke: 1pt,7 node-stroke: 1pt,8 label-size: .8em,9 {10 node((2, 0.3), name: <input>)11 node((2, 1), name: <bcp>)[单元传播]12 node((0, 2.3), name: <decide>)[决策]13 node((2, 2.3), name: <conf>)[冲突分析]14 node((4, 2.3), name: <bl>)[回跳]15 node((0, 3.5), stroke: none, name: <sat>)[SAT]16 node((2, 3.5), stroke: none, name: <unsat>)[UNSAT]17
18 edge(<input>, <bcp>, "->")19 edge(<bcp>, <conf>, "->", label-side: center)[存在冲突]20 edge(<bcp>, <decide>, "->", label-side: center)[无冲突]21 edge(<decide>, (0, 1), <bcp>, "->", label-side: left, label-pos: 55%)[选择一个自由变量赋值]22 edge(<decide>, <sat>, "->", label-side: center)[无自由变量]23 edge(<conf>, <unsat>, "->", label-side: center)[$"bl" lt 0$]24 edge(<conf>, <bl>, "->")[$"bl" gt.eq 0$]25 edge(<bl>, (4, 1), <bcp>, "->", label-side: right, label-pos: 55%)[撤销一组变量的赋值]26 },27 ),28 caption: [CDCL 算法框架],29)<cdcl-diagram>其效果如下图所示:

我们如果要引用这个流程图,与正常的引用图片一样:@fig:cdcl-diagram
更多的内容参考 文档