天天看點

Quarto文檔處理神器

作者:SuperOps
Quarto文檔處理神器

Quarto介紹

Quarto 是一種開源的文檔處理工具,旨在簡化文檔的建立、組織和共享過程。它提供了一種靈活的方式來建立、編輯和釋出文檔,适用于各種應用場景,包括學術論文、報告、筆記、技術文檔等。

以下是 Quarto 的一些主要特點和功能:

  1. 多語言支援:Quarto 支援多種程式設計語言,如R、Python、Julia和Markdown等,這意味着你可以在同一個文檔中混合使用不同的語言和代碼塊。
  2. 實時可視化輸出:Quarto 支援在文檔中内嵌可視化圖表、圖像和互動式圖形,可以即時生成和更新。
  3. 自動化報告生成:Quarto 可以根據預定義的模闆和規則自動生成報告,使得報告的生成過程更加高效和一緻。
  4. 版本控制和協作:Quarto 支援與版本控制系統(如Git)內建,友善多人協作和版本管理。
  5. 出版和導出:Quarto 支援将文檔導出為多種格式,包括HTML、PDF、Word和LaTeX等,以滿足不同的釋出和共享需求。
  6. 可擴充性:Quarto 提供了豐富的擴充機制和插件接口,可以根據需要自定義和擴充功能。

Quarto 提供了一個靈活且強大的文檔處理平台,使得建立、編輯和共享文檔變得更加高效和便捷。無論是個人使用者還是團隊協作,Quarto 都可以幫助使用者更好地組織和展示他們的想法和資料。

Quarto 支援哪些常見的文檔格式?

  1. Markdown:Markdown 是一種輕量級标記語言,Quarto 可以完全解析和呈現 Markdown 格式的文檔,并支援在 Markdown 中嵌入代碼塊和可視化輸出。
  2. R Markdown:R Markdown 是擴充的 Markdown 格式,具有額外的功能和文法,Quarto 提供了對 R Markdown 的全面支援,包括代碼執行、可嵌入的 R 代碼塊和實時可視化輸出。
  3. Jupyter Notebooks:Quarto 可以讀取和呈現 Jupyter Notebook 格式的文檔,包括代碼塊、Markdown 單元格和可視化圖表等。
  4. LaTeX:LaTeX 是一種專業的排版系統,Quarto 可以将 LaTeX 文檔作為輸入,并生成相應的 PDF 輸出。
  5. HTML:Quarto 可以将文檔導出為 HTML 格式,進而友善在 Web 上共享和展示。
  6. PDF:Quarto 可以将文檔導出為 PDF 格式,以便列印、釋出和共享。

此外,Quarto 還支援其他一些格式的部分功能或導出選項,例如 Microsoft Word(.docx)格式。Quarto 的目标是提供靈活的文檔處理平台,使使用者能夠使用各種常見的文檔格式來滿足各種需求。

Quarto的安裝使用

Quarto文檔處理神器

可以通過vscode使用來舉例

quarto的檔案格式為qmd,大概長如下這樣:

---
title: Quarto Computations
jupyter: python3
---

## NumPy

```{python}
import numpy as np
a = np.arange(15).reshape(3, 5)
a
```

## Matplotlib

```{python}
import matplotlib.pyplot as plt

fig = plt.figure()
x = np.arange(10)
y = 2.5 * np.sin(x / 20 * np.pi)
yerr = np.linspace(0.05, 0.2, 10)

plt.errorbar(x, y + 3, yerr=yerr, label='both limits (default)')
plt.errorbar(x, y + 2, yerr=yerr, uplims=True, label='uplims=True')
plt.errorbar(x, y + 1, yerr=yerr, uplims=True, lolims=True,
             label='uplims=True, lolims=True')

upperlimits = [True, False] * 5
lowerlimits = [False, True] * 5
plt.errorbar(x, y, yerr=yerr, uplims=upperlimits, lolims=lowerlimits,
             label='subsets of uplims and lolims')

plt.legend(loc='lower right')
plt.show(fig)
```

## Plotly

```{python}
import plotly.express as px
import plotly.io as pio
gapminder = px.data.gapminder()
gapminder2007 = gapminder.query("year == 2007")
fig = px.scatter(gapminder2007, 
                 x="gdpPercap", y="lifeExp", color="continent", 
                 size="pop", size_max=60,
                 hover_name="country")
fig.show()
```           

編輯完成後使用quarto進行渲染

Quarto文檔處理神器

渲染後的效果如下:

Quarto文檔處理神器

總結

quarto是一個非常好的文檔編輯渲染工具,在markdown的基礎上支援了動态執行代碼和實時展示繪圖的能力,效果非常不錯,我最近編寫的專欄裡就已經開始逐漸使用Quarto進行代碼和圖檔實時生成來寫文檔了。最近寫的專欄

和asyncio的專欄後續繪圖和代碼示範執行結果的估計都會基于quarto來生成了:

如果對我寫的專欄感興趣,可以進一步了解,目前價格優惠期還有一周。

繼續閱讀