You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何删除R Markdown knit为PDF时自动生成的LaTeX \maketitle默认标题?

解决R Markdown Knit PDF时默认LaTeX标题的问题

嘿,这个问题我之前帮不少同学处理过,其实有几个简单的办法可以去掉或者替换这个默认生成的标题,下面给你详细拆解:

方法一:重定义\maketitle命令为空

如果R Markdown还是会自动插入\maketitle,但你不想让它生成任何内容,可以在YAML头里通过header-includes重定义这个命令:

---
title: "你的硕士论文标题"
author: "你的姓名"
output: 
  pdf_document:
    header-includes:
      - \renewcommand{\maketitle}{}
---

这样\maketitle就变成了一个空命令,不会再输出默认的标题块,你可以自己用Markdown或LaTeX代码写自定义标题。

方法二:完全禁用默认标题生成

如果你根本不想让R Markdown插入\maketitle,可以把YAML里的titleauthordate都设为NULL

---
title: NULL
author: NULL
date: NULL
output: pdf_document
---

这样R Markdown就不会生成任何默认标题相关的代码,你可以完全自由地设计自己的标题页,比如用LaTeX的titlepage环境来写定制化的标题内容。

方法三:自定义标题样式(替代删除)

如果只是默认样式不好看,不想删除而是替换成自己的样式,可以用LaTeX的titling包来定制:

---
title: "我的硕士论文"
author: "张三"
output: 
  pdf_document:
    header-includes:
      - \usepackage{titling}
      - \pretitle{\begin{center}\Huge\bfseries}  # 标题设置为居中、超大号、加粗
      - \posttitle{\end{center}\vspace{2cm}}     # 标题后加2cm间距
      - \preauthor{\begin{center}\Large}         # 作者设置为居中、大号
      - \postauthor{\end{center}}
---

这种方式既保留了\maketitle的便捷性,又能完全掌控标题的字体、位置、间距等样式,比直接删除更灵活。

要是还有细节没搞明白,随时问我就行!

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

火山引擎 最新活动