= 高级样式
在本教程的前两章中，您已经学习了如何使用 Typst 编写文档以及如何更改其格式。你在最后两章写的报告得到了全A，你的主管想以此为基础写一篇会议论文！当然，报告必须符合会议的风格指南。让我们看看如何实现这一目标。

在开始之前，让我们创建一个团队，邀请您的主管并将他们添加到团队中。为此，您可以使用编辑器左上角的四圆图标返回应用程序仪表板。然后，选择左侧工具栏中的加号图标并创建一个团队。最后，单击新团队，然后单击团队名称旁边的“管理团队”进入其设置。现在，您可以通过电子邮件邀请您的主管。

#image("3-advanced-team-settings.png")



接下来，将您的项目移动到团队中：打开它，通过选择左侧工具栏中的齿轮图标并从所有者下拉列表中选择您的新团队来进入其设置。不要忘记保存您的更改！

现在，您的主管也可以编辑项目，并且你们都可以实时查看更改。您可以加入我们的 Discord 服务器以查找其他用户并尝试与他们合作！

== 会议指引
布局指南可在会议网站上找到。让我们看看它们：

- 字体应该是 11pt serif 字体
- 标题应为 17 磅且粗体
- 论文包含单栏摘要和两栏正文
- 摘要应居中
- 正文应合理
- 一级章节标题应为 13 磅、居中并以小写字母呈现
- 二级标题是插入语，斜体，大小与正文相同
- 最后，页面应为美国信函大小，在页脚中心编号，每页的右上角应包含论文标题
我们已经知道如何做其中许多事情，但对于其中一些事情，我们需要学习一些新技巧。

== 编写正确的规则
让我们首先为文档编写一些设定规则。
#image("2.png")

您已经熟悉这里发生的大部分内容。我们将文本大小设置为 Linux Libertine，将字体设置为 Linux Libertine。我们还启用段落对齐并将页面大小设置为美式字母。11pt

这个论点是新的：有了它，我们可以提供内容来填充每个页面的上边距。在标题中，我们根据会议风格指南的要求指定了论文的标题。我们使用该函数将文本向右对齐。headeralign

最后但并非最不重要的一点是论点。在这里，我们可以提供一种编号模式来定义如何对页面进行编号。通过设置为 ，Typst 仅显示裸页码。将其设置为将显示当前页面和括号括起来的总页数。我们甚至可以在这里提供一个完全自定义的功能来根据我们的喜好格式化内容。*numbering"1""(1/1)"*

== 创建标题和摘要

现在，让我们添加一个标题和一个摘要。我们将从标题开始。我们居中对齐它，并通过将其封闭在 中来增加其字体粗细。`*stars*`

#image("4.png")
\

\
\


这看起来是对的。我们使用该函数在本地覆盖了之前的文本集规则，将函数参数的大小增加到 17pt。让我们也添加作者列表：由于我们是和我们的导师一起写这篇论文的，我们将添加我们自己的和他们的名字。text

#image("5.png")
\
\
\
两个创作块彼此相邻布置。我们使用grid函数来创建此布局。使用网格，我们可以精确控制每列的大小以及哪些内容进入哪个单元格。该参数采用相对长度或分数的数组。在本例中，我们给它传递了两个相等的小数大小，告诉它将可用空间分成两列相等的列。然后，我们将两个内容参数传递给 grid 函数。第一个是我们自己的细节，第二个是我们的主管。我们再次使用该函数将内容置于列的中心。网格采用任意数量的内容参数来指定单元格。行是自动添加的，但也可以使用参数手动调整行的大小。columnsalignrows

现在，让我们添加摘要。请记住，会议希望摘要设置得参差不齐且居中。
#image("6.png")
\
\
\
\
\

干的好！值得注意的一点是，我们在 content 参数中使用了一个集合规则来关闭摘要的合理性。这不会影响文档的其余部分，即使它是在第一个设置规则之后指定的，因为内容会阻止范围样式。在内容块中设置的任何内容都只会影响该块中的内容。align

另一个调整可能是将论文标题保存在一个变量中，这样我们就不必为标题和标题键入两次。我们可以使用关键字来做到这一点：let

#image("7.png")
将内容绑定到变量后，我们可以在函数中使用它，也可以在标记中使用它（以 ，为前缀，如函数）。这样，如果我们决定使用另一个标题，我们可以轻松地在一个地方更改它。`title#`
== 添加列和标题
不幸的是，上面的纸看起来像一堵铅墙。为了解决这个问题，让我们添加一些标题，并将我们的论文切换到两列布局。columns 函数采用数字和内容，并将内容布局为指定数量的列。由于我们希望摘要后面的所有内容都放在两列中，因此我们需要将列函数应用于整个文档。

我们可以使用“everything”显示规则，而不是将整个文档包装在一个巨大的函数调用中。要编写这样的 show 规则，请在 show 关键字的正后方加一个冒号，然后提供一个函数。此函数作为参数提供给文档的其余部分。我们在这里调用了该参数，但您可以自由选择任何名称。然后，该函数可以对此内容执行任何操作。在我们的例子中，它将其传递给函数。restcolumns
#image("8.png")

现在只剩下一件事要做：设置标题样式。我们需要让它们居中并使用#link("小写.typ")[小写]字母。由于该函数没有提供任何设置方法，因此我们需要编写自己的标题显示规则。heading

#image("9.png")

这看起来很棒！我们使用了适用于所有标题的显示规则。我们给它一个函数，该函数将标题作为参数传递。该参数可以用作内容，但它也有一些字段，如 、 和 ，我们可以从中构建自定义外观。在这里，我们是居中对齐的，将字体粗细设置为因为标题默认为粗体，并使用小写函数以小写字母呈现标题的标题。titlenumberslevel"regular"

唯一剩下的问题是所有标题现在看起来都一样。“动机”和“问题陈述”小节应该在标题中以斜体形式运行，但现在，它们看起来与部分标题没有区别。我们可以通过使用设置规则上的选择器来解决这个问题：这是一种我们可以调用标题（和其他元素）的方法，它允许我们按它们的级别过滤它们。我们可以用它来区分章节和小节标题：where

#image("10.png")
这看起来很棒！我们编写了两条显示规则，每条规则都有选择地应用于第一级和第二级标题。我们使用一个选择器来按标题的级别过滤标题。然后，我们将小节标题呈现为磨合。我们还会自动在小节标题的末尾添加句点。where

让我们回顾一下会议的风格指南：
  - 字体应该是 11pt 衬线字体 ✓
  - 标题应为 17pt 和粗体 ✓
  - 论文包含单栏摘要和两栏正文✓
  - 摘要应该居中✓
  - 正文应该对齐✓
  - 第一级章节标题应居中，以小写字母和 13pt ✓ 呈现
  - 第二级标题是斜体，与正文大小相同 ✓
  - 最后，页面应为美制字母大小，中间编号，每页的右上角应包含论文标题✓

我们现在符合所有这些风格，可以将论文提交给会议！完成的论文如下所示：

#image("11.png")

== 回顾
您现在已经学习了如何创建页眉和页脚，如何使用函数和范围在本地覆盖样式，如何使用网格函数创建更复杂的布局，以及如何为各个函数编写显示规则，以及整个文档。您还学习了如何使用 where 选择器按标题级别筛选标题。

这篇论文取得了巨大的成功！你在会议上遇到了很多志同道合的研究人员，并正在计划一个项目，你希望明年在同一地点发表。不过，您需要使用相同的风格指南撰写新论文，所以也许现在您想为您和您的团队创建一个节省时间的模板？

在下一节中，我们将学习如何创建可在多个文档中重复使用的模板。这是一个更高级的话题，所以如果你现在觉得不合适，请随时回来讨论。