```{mermaid}
flowchart LR
A[硬边缘] --> B(圆角边缘)
B --> C{决策}
C --> D[结果一]
C --> E[结果二]
```
flowchart LR A[硬边缘] --> B(圆角边缘) B --> C{决策} C --> D[结果一] C --> E[结果二]
Quarto基于Pandoc,并使用其变体的Markdown作为其底层文档语法。Pandoc Markdown是John Gruber的Markdown语法的扩展和略微修订版本。
Markdown是一种纯文本格式,旨在易于编写,更重要的是易于阅读:
Markdown格式的文档应该可以直接发布为纯文本,而不像用标签或格式指令标记过一样。 – John Gruber
本文档提供了最常用的Markdown语法示例。有关更深入的文档,请参阅Pandoc的Markdown的完整文档。
Markdown语法 | 输出 | | |
---|---|
markdown | *斜体*, **粗体**, ***粗斜体*** | *斜体*, **粗体**, ***粗斜体*** | | | |
|
上标2 / 下标2 | |
markdown | ~~删除线~~ ~~删除线~~ | | |
|
markdown | `原样代码` `原样代码` | | |
Markdown语法 | 输出 | | |
---|---|
标题1 |
|
标题2 |
|
标题3 |
|
标题4 |
|
标题5 |
|
标题6 |
Markdown语法 | 输出 | | |
---|---|
https://quarto.org | |
Quarto | |
markdown | {fig-alt="一只大象的线条画。"}  | | | |
|
markdown | [](https://quarto.org) [](https://quarto.org) | | | |
|
markdown | [{fig-alt="一只大象的线条画。"}](https://quarto.org) [](https://quarto.org) | | | |
|
![]() |
Markdown 语法 | 输出 |
---|---|
|
|
|
|
|
|
继续后 |
|
|
|
|
|
注意,与其他Markdown渲染器(特别是Jupyter和GitHub)不同,Quarto中的列表要求在列表上方有一个完整的空行。否则,列表不会以列表形式渲染,而是会全部显示为一行普通文本。
Pandoc支持使用以下语法对脚注进行编号和格式化:
这里是一个脚注引用,[^1] 还有另一个。[^longnote]
[^1]: 这里是脚注。
[^longnote]: 这里有一个包含多个块的脚注。
后续段落缩进以显示它们属于前一个脚注。
{ some.code }
整个段落可以缩进,或者只缩进第一行。这样,多段落脚注的工作方式就像多段落列表项一样。
这个段落不会成为脚注的一部分,因为它没有缩进。
上述语法生成以下输出:
此外,您还可以使用以下语法编写单段落内联脚注:
此语法生成以下输出:
这里是一个内联脚注。3
右对齐 | 左对齐 | 默认 | 居中 |
---|---|---|---|
12 | 12 | 12 | 12 |
123 | 123 | 123 | 123 |
1 | 1 | 1 | 1 |
在表格的文章中了解更多信息。
使用 ```
来分隔源代码块:
为代码块添加语言以进行语法高亮:
Pandoc 支持超过 140 种不同语言 的语法高亮。如果你的语言不受支持,你可以使用 default
语言来获得类似的视觉效果:
等同于上面示例中使用的简短形式的是一种较长的形式,它使用语言作为类(即 .python
)放在大括号内:
较长的形式允许你以类似于 Divs 的方式向块添加属性。一些使用此语法的功能是 行号 和 代码文件名。以下是后者的示例:
如果你正在创建 HTML 输出,有多种选项可用于代码块输出。有关更多详细信息,请参阅 HTML 代码 的文章。
可以使用 Pandoc 的原始属性 直接包含原始内容,而无需 Quarto 解析它。原始块以 ```{=
开头,后跟格式和闭合 }
,例如,这是一个原始 HTML 块:
对于 PDF 输出,请使用原始 LaTeX 块:
再举一个例子,如果你使用 Typst 格式,你可以使用原始块来包含 Typst 语法:
你也可以包含内联原始内容:
使用 $
分隔符表示内联数学公式,使用 $$
分隔符表示显示数学公式。例如:
Markdown 语法 | 输出 | | |
---|---|
markdown | 内联数学公式: $E = mc^{2}$ | 内联数学公式: $E=mc^{2} | |
|
显示数学公式: \[E = mc^{2}\] |
如果你想定义自定义 TeX 宏,请将它们包含在 $$
分隔符内,并放在 .hidden
块中。例如:
对于使用 MathJax(默认)处理的 HTML 数学,你可以使用 \def
、\newcommand
、\renewcommand
、\newenvironment
、\renewenvironment
和 \let
命令来创建你自己的宏和环境。
Quarto 原生支持嵌入 Mermaid 和 Graphviz 图表。这使你可以使用受 markdown 启发的纯文本语法创建流程图、序列图、状态图、甘特图等。
例如,这里我们嵌入了一个使用 Mermaid 创建的流程图:
flowchart LR A[硬边缘] --> B(圆角边缘) B --> C{决策} C --> D[结果一] C --> E[结果二]
在 图表 的文章中了解更多信息。
你可以使用 {{< video >}}
短代码 在文档中包含视频。例如,这里我们嵌入了一个 YouTube 视频:
视频可以引用视频文件(例如 MPEG)或可以是发布在 YouTube、Vimeo 或 Brightcove 上的视频链接。在 视频 的文章中了解更多信息。
pagebreak
短代码 允许你在文档中插入一个原生的分页符(例如,在 LaTeX 中这是 \newpage
,在 MS Word 中是 docx 原生的分页符,在 HTML 中是 page-break-after: always
CSS 指令等):
原生分页符支持 HTML、LaTeX、Context、MS Word、Open Document 和 ePub 格式(对于其他格式,插入一个换页符 \f
)。
你可以使用 Divs 和 Spans 为内容区域添加类、属性和其他标识符(你将在下面的 提示块 中看到一个示例)。
例如,这里我们使用 div (:::
) 将 “border” 类添加到内容区域:
一旦渲染为 HTML,Quarto 会将 markdown 转换为:
Divs 以包含至少三个连续冒号以及一些属性的栅栏开头。属性可以选择后跟另一串连续的冒号。Div 以另一行包含至少三个连续冒号的字符串结束。Div 应与前面的和后面的块用空行分隔。Div 也可以嵌套。例如
一旦渲染为 HTML,Quarto 会将 Markdown 转换为:
没有属性的栅栏总是关闭栅栏。与栅栏代码块不同,关闭栅栏中的冒号数量不需要与打开栅栏中的冒号数量匹配。然而,使用不同长度的栅栏可以帮助视觉清晰地区分嵌套的 Div 与其父级。
如果一个带括号的内联序列(如开始链接时使用的)紧随其后的是属性,它将被视为带有属性的 Span
:
一旦渲染为 HTML,Quarto 会将 Markdown 转换为:
通常,您会结合使用 CSS 和/或 Filter 以及 Divs 和 Spans 来在渲染文档中提供样式或其他行为。
Pandoc 中的 Divs 和 Spans 可以具有标识符、类和(可能许多)键值属性的任意组合。为了使这些被 Pandoc 识别,它们必须按特定顺序提供:标识符、类,然后是键值属性。这些中的任何一个都可以省略,但如果提供,必须遵循该顺序。例如,以下是有效的:
然而,以下不会被 Pandoc 识别:
此排序限制适用于 Divs 和 Spans。有关更多详细信息,请参阅 Pandoc 关于 Divs 和 Spans 的文档。
请注意,有五种提示块类型,包括 note
、tip
、warning
、caution
和 important
。
在 提示块 的文章中了解更多信息。
Markdown 语法 | 输出 |
---|---|
|
|
Div |
|
行块 空格和新行保留 |
Markdown 语法 | 输出 | | |
---|---|
短划线:– | | |
长划线:— | |
人工智能(AI)和机器学习(ML)是当今科技领域最热门的话题之一。AI是指计算机系统能够执行通常需要人类智能的任务,如视觉识别、语音识别和决策制定。ML是AI的一个子集,专注于开发能够从数据中学习的算法。
深度学习是ML的一个分支,使用多层神经网络来模拟人脑的工作方式。它在图像和语音识别等领域取得了显著的成功。
强化学习是一种通过试错来学习的ML方法。它通常用于游戏和机器人控制等领域。
AI和ML在医疗保健领域有广泛的应用,包括疾病诊断、药物发现和个性化治疗。
在金融领域,AI和ML用于风险管理、欺诈检测和投资策略优化。
随着AI和ML的发展,数据隐私成为一个重要问题。如何在利用数据的同时保护个人隐私是一个亟待解决的挑战。
AI和ML的决策过程往往不透明,这引发了关于算法偏见和伦理责任的讨论。
AI和ML的未来充满希望,但也伴随着挑战。随着技术的进步,我们有望看到更多创新应用的出现,但同时也需要解决随之而来的伦理和社会问题。
kbd
短代码 可用于描述文档中的键盘快捷键。在 Javascript 格式中,它会尝试检测格式的操作系统并显示正确的快捷键。在打印格式中,它会为所有操作系统打印键盘快捷键信息。
例如,编写以下 Markdown:
要打印,请按 {{< kbd Shift-Ctrl-P >}}。要打开现有项目,请按 {{< kbd mac=Shift-Command-O win=Shift-Control-O linux=Shift-Ctrl-L >}}。
将呈现键盘快捷键为:
要打印,请按 Shift-Ctrl-PShift-Ctrl-P。要打开现有项目,请按 。