正如标题所说,我试图将四开文档的一页分成两列,该文档正在使用typst渲染为pdf。
我已经尝试过这两个选项
:::: {.columns}
::: {.column width="60%"}
blablablablablabla
:::
:::{.column width="40%"}
blablablabla
:::
::::
# Here's the title ```{typst} #set page(columns: 2) ``` blablablablablabla ```{typst} #colbreak() ``` blablablabla
在这两种情况下,生成的打字代码都是
= Here's the title
<heres-the-title>
blablablablablabla
blablablabla
因此,没有列。
您可以通过添加
typst-template.typ
在 show: columns.with(2)
文件中执行此操作。您可以添加一些其他配置选项。请参阅示例模板此处(第 177-179 行)和此处(第 142-144 行)。
使用此解决方案,您无法明确指定每列中显示的文本 - 它只是填充第一列,然后继续进入下一列(类似于 MS Word 中的工作方式)。
我使用了here引用的quarto创建扩展格式命令,它为打字机设置了
_extensions
目录。这创建了两个 .typ
文件:typst-show.typ
和 typst-template.typ
。
这是
typst-template.typ
:
#let report(
title: "title",
body,
) = {
// adjust page defaults here
set page(
"us-letter",
margin: (
left: 1in,
right: 1in,
top: 1in,
bottom: 1in
))
// Start two column mode and configure paragraph properties.
show: columns.with(2)
// Display the paper's contents.
body
}
这是
typst-show.typ
:
#show: body => report(
$if(title)$
title: [$title$],
$endif$
$if(by-author)$
authors: (
$for(by-author)$
$if(it.name.literal)$
( name: [$it.name.literal$]),
$endif$
$endfor$),
$endif$
$if(date)$
date: [$date$],
$endif$
body,
)