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

如何避免Quarto/Pandoc导出PDF时作者列表溢出页边距

Quarto/Pandoc渲染PDF时作者列表过长溢出页面的解决办法

当使用Quarto(依赖Pandoc)导出PDF时,若YAML前置区的作者列表是长串连续文本,渲染后会出现作者名超出页面边距、无法自动换行的问题。

可复现示例

将以下内容保存为article.qmd:

---
title: "What a nice day"
author: First name1 Name, First name2 Name, First name3 Name, First name4 Name, First name5 Name, First name6 Name, First name7 Name, First name8 Name, First name9 Name
---

bla bla bla

执行渲染命令:

quarto render article.qmd --to pdf

或直接使用Pandoc:

pandoc article.qmd -o article.pdf

渲染后的PDF中,作者列表会溢出页面边缘,无法自动换行(当前使用Quarto版本:1.5.57)


解决方法

方法1:将作者拆分为YAML列表

把作者字符串拆成列表项,Quarto/Pandoc会自动处理排版,超出宽度时自动换行:

---
title: "What a nice day"
author:
  - First name1 Name
  - First name2 Name
  - First name3 Name
  - First name4 Name
  - First name5 Name
  - First name6 Name
  - First name7 Name
  - First name8 Name
  - First name9 Name
---

这种方式会自动将作者名按垂直列表或换行的水平列表排版,避免溢出。

方法2:插入LaTeX强制换行命令

如果需要保持作者在同一行但手动控制换行位置,可在作者字段中插入LaTeX的\linebreak命令:

---
title: "What a nice day"
author: First name1 Name, First name2 Name, First name3 Name, First name4 Name, First name5 Name,\linebreak First name6 Name, First name7 Name, First name8 Name, First name9 Name
---

该命令会在指定位置强制换行,防止文本溢出页面。

方法3:自定义LaTeX模板(进阶)

若需要更灵活的全局排版控制,可自定义Quarto的LaTeX模板:

  1. 导出默认PDF模板到本地:
quarto template export pdf my-custom-template
  1. 打开模板目录中的template.tex文件,找到作者相关的代码(通常是\author{$author$}),修改为支持自动换行的格式,例如:
\author{\raggedright $author$}

\raggedright会让文本自动换行,避免溢出边距。
3. 在QMD文件的YAML中指定使用自定义模板:

---
title: "What a nice day"
author: First name1 Name, First name2 Name, First name3 Name, First name4 Name, First name5 Name, First name6 Name, First name7 Name, First name8 Name, First name9 Name
format:
  pdf:
    template: my-custom-template/template.tex
---

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 16:02:40