web-dev-qa-db-ja.com

R Markdownで、出力タイプ(pdf、html、docx)に関係なく、すべてのページにヘッダー/フッターを作成します。

質問に追加したい Rマークダウンを使用してすべてのページ(最初を含む!)のフッターを作成する 。そこにあるコード(以下も)は、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]
8
lowndrul

ドキュメントの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}
---

htmlヘッダーとフッター

上記のYAMLに示されているように、html出力の場合、before_body:タグとafter_body:タグを使用して、ヘッダーとフッターを別々のhtmlファイルで指定できます。たとえば、ヘッダーの後にルール行を取得するには、header.htmlファイルは次のようになります。

This is a header
<hr>

Wordのヘッダーとフッター

knitrの作者であるYihuiXieが、これを行う方法を説明しています ここthis SO answer も参照))必要なスタイルを選択して、そのファイルをローカルディレクトリに保存します(または、ファイルが別のディレクトリにある場合は、ファイルへのパスを指定できます)。次に、reference_docx: YAMLタグを使用して、knitrをそのドキュメントにポイントします。新しいWordファイルを開き、ヘッダーとフッターを追加して、ファイルをtemplate.docxとしてローカルディレクトリに保存しました。

7
eipi10