Quarto 高级应用

Quarto 使用各种图表,引用,计算模块等高级功能

Quarto提供了丰富的拓展功能来搭建想要的HTML,PDF,word,PPT等内容,还可以搭建网站,书籍,dashboards等

前文介绍了如何选择自己的系统安装Quarto,并选择自己顺手的工具(Tools),并且简单的介绍了一下如何开启自己的第一个qmd文档编写渲染,本文将分组介绍Quarto的高级语法及复杂的应用,主要作为参考手册使用。

语法,插件,Code只有在边做边学的时候才能更快理解学会

1. 内容创作

大类 子功能 说明
基础语法 Markdown Basics 标题、列表、代码、段落等基础写作
内容元素 Figures 插图与图注
Tables 表格
Diagrams 流程图 / Mermaid 等
学术支持 Citations 文献引用
Cross References 交叉引用(图、表、公式)
结构与排版 Article Layout 版式控制(分栏、边距等)
Shortcodes 快捷组件(提示框、嵌入等)

1.1 Markdown

常规的markdown语法,请参考Markdown语法大全,这里只补充Quarto新增的语法

Quarto 是基于 Pandoc 构建的,并且使用 Pandoc 的 Markdown 变体 作为底层语法。

  1. 引用模块

基础的引用模块请看基础篇

Quarto补充:

| Line Block
|   Spaces and newlines
|   are preserved
  1. 列表模块

基础的列表请看基础部分,Quarto中增加了很多列表语法,更多的是交叉使用和复杂升级

  • 新增i),A可进行列表
  • item2进行换行,需要空一行,并且缩进4个空格,构成列表嵌套
  • 任务列表
  • @自动连续编号列表,防止被打断之后 从头开始编号
  • 每个 ::: 都创建了一个独立块(div),所以列表会被“重置编号”
Markdown Syntax Output
* unordered list
  + sub-item 1
  + sub-item 2
    - sub-sub-item 1
  • unordered list
    • sub-item 1
    • sub-item 2
      • sub-sub-item 1
*   item 2

    Continued (indent 4 spaces)
  • item 2

    Continued (indent 4 spaces)

1. ordered list
2. item 2
   i) sub-item 1
      A.  sub-sub-item 1
  1. ordered list
  2. item 2
    1. sub-item 1
      1. sub-sub-item 1
1. ordered list
2. item 2

   ```python
   print("Hello, World!")
   ```

   A.  sub-sub-item 1
  1. ordered list

  2. item 2

    print("Hello, World!")
    1. sub-sub-item 1
- [ ] Task 1
- [x] Task 2
(@)  A list whose numbering

continues after

(@)  an interruption
  1. A list whose numbering

continues after

  1. an interruption
::: {}
1. A list
:::

::: {}
1. Followed by another list
:::
  1. A list
  1. Followed by another list
term
: definition
term
definition
  1. 代码块

Quarto中也是使用(```)划分代码块,但是Quarto支持多种编程语言,并且可以设置代码块的语言类型,例如pythonrsql等。此外,Quarto还支持代码块的行号、高亮、折叠等功能。


::: {#6af6df89 .cell}
``` {.python .cell-code}
print("Hello, World!")
```
:::

Pandoc 支持超过 140 种不同语言的语法高亮显示。如果您的语言不受支持,您可以使用默认语言获得类似的视觉效果

```{default}
code
```

上述的写法相当于简写形式,等效的是一种更长的形式

```{.python filename = "run.py"}
1+1
```

这种较长的形式允许您以类似于 div 的方式向块添加属性。使用此语法的一些特定功能包括行号和代码文件名。

注记

quarto中,代码块嵌套也是可以的,比如(````),后续接(```)即可

  1. Page Breaks

分页符短代码允许您在文档中插入原生分页符(例如,在 LaTeX 中是 \newpage,在 MS Word 中是 docx-native pagebreak,在 HTML 中是 page-break-after: always CSS 指令,等等)

page 1



page 2
  1. Links和图片

基础的Links和图片的markdown用法,看mardkwon基础

Quarto新增来一些Links和图片的用法,比如:

  • [Markdown Basics](./markdown-basics.qmd)可引用之前的qmd文档,与markdown基础类似

  • [Markdown Basics - Links & Images](./markdown-basics.qmd#links-images),markdown中可以引用标题,qmd用的更多的是图片,表格的label引用

  • [![Caption](elephant.png "An elephant")](https://quarto.org)图片加链接,在加链接之后,图片的标题被隐藏,后续"An elephant"是图片的figure-alt