如何在Typst中使用cetz包定义可复用的内容框样式?
问题解决方法
问题出在样式传递方式错误:content函数并不支持名为style的参数,你需要把预定义的样式字典展开传递给函数,而非作为style的值传入。
修改后的代码如下:
#import "@preview/cetz:0.5.0" #cetz.canvas({ import cetz.draw: * content((0,0),[$x=5$],frame:"circle",padding:2pt,fill:white) let agent_style = (frame:"rect",padding:2pt,fill:blue) content((5,0),[$z=9$],**agent_style) // 用**展开样式字典 })
修改后z=9周围会显示预期的蓝色矩形框,通过**展开字典的方式,可实现预定义样式的批量传递,达成样式复用的目标。
内容的提问来源于stack exchange,提问作者nilrem
相关产品推荐
相关产品推荐

