You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在RStudio中使用Quarto实现PDF输出的多行标题?

在Quarto生成PDF时实现多行标题的三种可行方法

方法1:YAML多行字符串(固定内容首选)

直接在YAML的title字段用|标记多行字符串,每行对应一个标题元素,Quarto会自动转换为LaTeX的换行格式:

---
title: |
  学校名称
  年度考试
  数学
format: pdf
---

渲染后PDF里的标题会自动分成三行,无需额外转义。

方法2:直接使用LaTeX换行命令(固定内容)

如果要明确控制换行,直接在标题字符串里插入LaTeX的\\linebreak命令,YAML里反斜杠不需要额外转义:

---
title: "学校名称 \\linebreak 年度考试 \\linebreak 数学"
format: pdf
---

方法3:用R代码动态生成标题(动态内容)

如果标题内容需要从R变量生成,要注意反斜杠的双重转义:R字符串里的反斜杠要写两个,YAML里还要再转一次,最终是四个反斜杠。示例:

---
title: "`r paste(c('学校名称', '年度考试', '数学'), collapse = '\\\\\\\\linebreak ')`"
format: pdf
---

paste(..., collapse = '\\\\\\\\linebreak ')会把三个元素用\\linebreak连接,渲染时LaTeX会识别并换行。

你之前出错的原因

之前的写法有两个问题:

  1. YAML中的inline R代码必须放在双引号内,否则解析会出错;
  2. 反斜杠转义不足:\\linebreak在R字符串里是一个反斜杠,但YAML解析时会吃掉一个,导致LaTeX无法识别正确的换行命令,必须写成四个反斜杠才能让最终传递给LaTeX的是\\linebreak。

内容的提问来源于stack exchange,提问作者Eva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 21:12:48