如何在R Markdown的YAML头部调整作者/日期与摘要的间距?
解决R Markdown调整作者/日期与摘要间距的问题
要调整作者、日期和摘要(包括「Abstract」标题)之间的间距,核心是通过LaTeX命令修改摘要环境的顶部间距,以下是两种可行方案:
方案一:用etoolbox包修改摘要环境的起始间距
在YAML头部的header-includes中添加LaTeX代码,在摘要环境开始前插入指定间距:
--- title: subtitle: author: "Me " date: "`r format(Sys.time(), '%B %d, %Y')`" abstract: "The document shows the answer to all questions & the output (as it relates to each)" output: pdf_document: keep_tex: false toc: false header-includes: - \usepackage{etoolbox} - \AtBeginEnvironment{abstract}{\vspace{1cm}} # 这里的1cm可按需调整 ---
\AtBeginEnvironment{abstract}会在LaTeX生成的abstract环境开头执行\vspace{1cm},直接拉开日期与「Abstract」标题的间距。
方案二:重定义摘要环境(自定义标题样式+间距)
如果需要同时调整「Abstract」标题的样式和间距,可以直接重定义abstract环境:
--- title: subtitle: author: "Me " date: "`r format(Sys.time(), '%B %d, %Y')`" abstract: "The document shows the answer to all questions & the output (as it relates to each)" output: pdf_document: keep_tex: false toc: false header-includes: - \renewenvironment{abstract}{% \vspace{1cm} # 日期与Abstract标题的间距 \begin{center}\bfseries Abstract\end{center}% \vspace{0.5cm} # Abstract标题与正文的间距 \begin{quote}% }{% \end{quote}% } ---
这种方式可以同时控制标题上下的间距,还能修改标题的字体、对齐方式等。
为什么之前的方法无效?
- 在YAML的
date字段后加\vspace:YAML字段会被R Markdown解析后插入到LaTeX模板的固定位置,直接添加命令会被转义或无法作用到正确的位置。 - 在摘要文本开头加
\vspace:只会调整摘要正文与「Abstract」标题的间距,无法影响标题和日期之间的距离。
内容的提问来源于stack exchange,提问作者PTS390
相关产品推荐
相关产品推荐

