如何在Typst中让SVG与文本同行显示?
解决SVG与文本同行显示的问题
你的问题出在#image指令默认渲染成了块级元素,所以会独占一行,只需要让它变成行内元素即可,试试下面几种方法:
直接给
#image添加行内样式:[#image(entry.Logo, height: 1em, width: 1em, fit: "contain", style: "display: inline; vertical-align: middle;") #h(0.5cm) This is what I wanted to show ]加
vertical-align: middle是为了让SVG和文本垂直居中对齐,优化视觉效果。如果你的模板语言不支持给
#image传style参数,就用行内容器包裹它:[<span style="display: inline-block; vertical-align: middle;">#image(entry.Logo, height: 1em, width: 1em, fit: "contain")</span> #h(0.5cm) This is what I wanted to show ]inline-block既能保持行内布局,又能正常控制元素尺寸。另外检查
#h(0.5cm)是否会生成块级间距,如果是的话,换成行内间距样式,比如把间距加到图片的margin上:[#image(entry.Logo, height: 1em, width: 1em, fit: "contain", style: "display: inline; vertical-align: middle; margin-right: 0.5cm;") This is what I wanted to show ]
内容的提问来源于stack exchange,提问作者Sudoh
相关产品推荐
相关产品推荐

