编程 用 Kotlin 写就的 Quarkdown:在 Markdown 简单性和 LaTeX 排版能力之间取交集

2026-09-04 21:05:20

用 Kotlin 写就的 Quarkdown:在 Markdown 简单性和 LaTeX 排版能力之间取交集

Quarkdown 是一个基于 Kotlin 开发的开源排版系统,设计目标是融合 Markdown 的简洁语法与 LaTeX 的专业排版能力,面向技术写作、学术论文、图书出版等对排版有较高要求的场景。

功能特性

Quarkdown 以 CommonMark/GFM 规范为基础,通过引入「函数调用」机制扩展语法。例如,可以在 Markdown 源文件中这样写:

## Quarkdown函数演示以下函数演示了自定义函数:.function {greet}    to from:    **你好, .to** 我是 .from!.greet {世界} from:{Quarkdown}

Quarkdown 会将其渲染为对应的格式化输出。

标准代码库提供页面布局、数学计算、条件语句和循环等函数能力,降低专业排版的学习门槛。官方示例覆盖了常见的排版需求,例如:

  • 文章版式排布:
  • 读取 CSV 数据并绘制图表:
  • 读取 Mermaid 文件绘制图形:
  • 运行动态脚本,以表格形式计算并展示斐波那契数列:

Quarkdown 支持快速编译和实时预览,以配合写作过程中的即时反馈。

支持多种输出格式:

  • HTML
  • HTML 动态演示文稿(reveal.js 风格)
  • HTML 印刷级文稿(图书、文章)
  • PDF(基于 Node.js 工具链)

产品比较

Quarkdown 与相关排版/标记方案的功能对比如下:

维度QuarkdownMarkdownLaTeXTypstAsciiDocMDX
简洁易读
完全文档控制
动态脚本部分
印刷级文稿第三方
演示文稿第三方
学习曲线🟢(平缓)🟢🔴(陡峭)🟠(中等)🟢🟢
输出格式HTML、PDFHTMLPDF、PostScriptPDFHTML、PDF、ePubHTML

以 LaTeX 与 Quarkdown 的语法对比示例来看,Quarkdown 源码的简洁性和可读性都优于 LaTeX 写法。

在线演示

在线演示地址:

https://iamgio.eu/quarkdown/demo/

下载安装

前置依赖:Java 17 或更高版本。

从以下地址下载最新的 quarkdown.zip

https://github.com/iamgio/quarkdown/releases/latest

解压后,bin 目录中包含可执行脚本 quarkdown.bat(Windows)或 quarkdown(Unix-like)。

初始化一个项目:

quarkdown.bat create [directory]

该命令以交互式提示创建新项目,并生成一个示例 .qmd 文件。

编译源文件(默认输出到 ./output 目录):

quarkdown.bat c file.qmd
复制全文 生成海报 排版工具 Markdown LaTeX 开源软件 Kotlin

推荐文章

程序员茄子在线接单