投稿前的最后一周通常会发生两件事:手稿被硬塞进期刊模板,插图被冻结在当天的状态。本指南把 Folio Writer 的两套工作流结合起来,让这两件事都不会发生——用 Quarto 扩展得到期刊的精确版式,插图则在每次编译时根据你的数据重新生成,一直到你上传的那一刻。
Quarto 的期刊扩展是由出版商维护的模板——AGU、Elsevier、Copernicus,名单还在不断增加。在终端中把扩展安装到项目里:
cd /path/to/YourProject # the folder with folio.json quarto add quarto-journals/agu
这会在项目内创建一个 _extensions/ 文件夹——也就是说,模板会随手稿一起移动和同步。合著者打开项目时也就有了期刊格式,无需任何设置。
在元数据文稿(或 编译 ▸ 格式元数据)中添加:
quarto-to: agu-pdf
以渲染器 = Quarto、格式 = PDF 进行编译。Folio Writer 会以 --to agu-pdf 渲染,把你结构化的作者、单位和 ORCID 原样传给期刊模板使用——并去掉会与期刊文档类冲突的通用版式键(geometry、fontsize、documentclass…)。你日常的编译设置不会污染投稿文件。
每个扩展都会增加几个自己的键——请在 GitHub 上查看它的 template.qmd。以 AGU 为例:
citation: container-title: "JGR: Solid Earth" plain-language-summary: | One paragraph for non-specialists. key-points: - Up to three statements, ≤140 characters each.
这些键和其他内容一样放在元数据文稿里——纯 YAML,存在项目中,纳入版本控制。
因为期刊渲染本身就是 Quarto 渲染,你的可执行代码单元也会在其中运行:每次编译都会重新读取数据、重新拟合模型、重新绘制插图——而且是在期刊自己的浮动体版式、题注样式和编号体系之内。有两个选项负责让插图融入版式:
```{python}
#| label: fig-eos
#| fig-cap: "Compression curve with third-order Birch–Murnaghan fit."
#| fig-width: 5.6 # match the journal's text width
#| echo: false # journals want figures, not code
...
```
在正文中像引用其他插图一样用 @fig:eos 引用它——Folio Writer 会在编译时转换为 Quarto 的原生语法,因此当你需要普通构建时,同一部手稿照样可以通过 pandoc/LaTeX 渲染。
.tex,由同一个扩展从同一份源文件生成。插图按生成结果一并包含。分开来看,每一半都能帮你省下一个下午。合在一起,它们改变了一份投稿是什么:一个装满纯文本文件的文件夹——文本、数据、分析代码和期刊模板——能确定性地生成你上传的那份产物。合著者今天可以重跑,学生五年后可以重跑,你在修改稿阶段也可以重跑。这不只是方便;这是可重复性,作为你写作方式的副产品自然而来。