如何删除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里的title、author、date都设为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




