Mak*_*gan 6 math markup typesetting typst
我正在使用 typest 渲染一些东西,我想要并排显示 2 个图像,我弄清楚了如何垂直获取东西:
#figure(
(image("eulerian.svg", width: 10%),
image("lagrangian.svg", width: 10%)).join(),
caption: [A curious figure.],
) <glacier>
Run Code Online (Sandbox Code Playgroud)
我现在想知道如何使事情水平化。
小智 9
@honkbug 给出了一个很好的例子,但没有解释解决方案。因此,我想展示该文档以及不同参数会发生什么。
grid
Typst 有一个功能grid
,它允许我们安排内容。这是我们可以用来放置子图的函数。
最重要的参数grid
在columns
这里:
列
指定轨道大小数组或提供整数以创建具有许多自动调整大小的列的网格。
当我们只给出一个整数时,grid
将创建自动调整大小的列并自动放置内容。假设我们有两个图像并希望将它们并排放置;我们可以通过这种简单的方式实现这一点:
// A function to represent a virtual image
#let vimg(body) = {
rect(width: 10mm, height: 5mm)[
#text(body)
]
}
#figure(
grid(
columns: 2, // 2 means 2 auto-sized columns
gutter: 2mm, // space between columns
vimg("1"),
vimg("2"),
),
caption: "some caption"
)
Run Code Online (Sandbox Code Playgroud)
我们告诉 Typst 我们需要两个自动调整大小的列,它们之间的距离为 2 毫米。但是如果我们提供两个以上的图像怎么办?我们用 3 来测试一下:
#figure(
grid(
columns: 2,
gutter: 2mm,
vimg("1"),
vimg("2"),
vimg("3"),
),
caption: "some caption"
)
Run Code Online (Sandbox Code Playgroud)
由于我们仍然使用两列,Typst 将第三列放在第二行上。如果我们将 更改
columns
为3
,它们将位于同一行。
stack
我们还可以使用以下方法stack
来实现目标:
#figure(
stack(
dir: ltr, // left-to-right
spacing: 2mm, // space between contents
vimg("1"),
vimg("2"),
),
caption: "some caption"
)
Run Code Online (Sandbox Code Playgroud)
在这里,我们将图像放置在水平堆栈中,方向为“从左到右”。
这样一来,columns
图片的数量就不受限制,但只能是一行。因此,如果我们放置太多图像,它们可能会超出页面。
归档时间: |
|
查看次数: |
2913 次 |
最近记录: |