在R Markdown中,无论输出类型如何,都在每个页面上创建页眉/页脚(pdf,html,docx)

low*_*rul 7 latex yaml r pandoc r-markdown

我想使用R markdown添加为每个页面创建一个页脚(包括第一个!)的问题.编织到pdf时,那里的代码(也在下面)对我来说非常好.但我不会得到html或docx输出的页眉/页脚.

在R Markdown中,无论输出文档的类型如何,我还能为输出文档的每个页面生成页眉/页脚?

---
title: "Test"
author: "Author Name"
header-includes:
- \usepackage{fancyhdr}
- \usepackage{lipsum}
- \pagestyle{fancy}
- \fancyhead[CO,CE]{This is fancy header}
- \fancyfoot[CO,CE]{And this is a fancy footer}
- \fancyfoot[LE,RO]{\thepage}
output: pdf_document
---
\lipsum[1-30]
Run Code Online (Sandbox Code Playgroud)

eip*_*i10 7

您可以在文档的html和Word版本中添加页眉和页脚的YAML说明.以下是YAML的样子.解释如下.

---
title: "Test"
author: "Author Name"
output:
  pdf_document: 
  html_document:
    include:
      before_body: header.html
      after_body: footer.html
  word_document: 
    reference_docx: template.docx
header-includes:
- \usepackage{fancyhdr}
- \usepackage{lipsum}
- \pagestyle{fancy}
- \fancyhead[CO,CE]{This is fancy header}
- \fancyfoot[CO,CE]{And this is a fancy footer}
- \fancyfoot[LE,RO]{\thepage}
---
Run Code Online (Sandbox Code Playgroud)

html 页眉和页脚

如上面的YAML所示,对于html输出,您可以html使用before_body:after_body:标记在单独的文件中指定页眉和页脚.例如,要获取标题后跟规则行,header.html文件可能如下所示:

This is a header
<hr>
Run Code Online (Sandbox Code Playgroud)

单词页眉和页脚

谢毅辉,作者knitr,在这里解释了如何做到这一点(也见这个答案).使用所需样式创建Word文件,然后将该文件保存在本地目录中(如果文件位于另一个目录中,则可以提供该文件的路径).然后使用reference_docx:YAML标记指向knitr该文档.我刚刚打开一个新的Word文件并添加了页眉和页脚,然后将文件保存template.docx在本地目录中.

  • html输出是一个单独的html页面.你想怎么分页呢? (2认同)