在R markdown pdf文档的右上角插入徽标

时间:2015-01-16 10:36:40

标签: r pdf yaml knitr r-markdown

我开始使用R markdown,我想在每个页面的右上角创建一个包含公司图片logo.png的新报告。

有没有办法在YAML部分对此进行编码,或者需要在R块部分中进行编码?

5 个答案:

答案 0 :(得分:23)

您可以使用yaml中的includes选项指定乳胶头的自定义添加项。 yaml部分看起来像

---
output: 
    pdf_document:
      keep_tex: true
      includes:
          in_header: header.tex
---

您需要保存一个名为header.tex的单独文件,其中包含以下定义公司徽标的内容:

\usepackage{fancyhdr}
\pagestyle{fancy}
\rhead{\includegraphics[width = .05\textwidth]{logo.png}}

在这里,我使用fancyhdr乳胶包添加徽标,但还有其他潜在的解决方案。有关更多选项,请参阅here

答案 1 :(得分:18)

好的,我找到了解决方案:

---
title:
header-includes: 
   \usepackage{graphicx}
   \usepackage{fancyhdr}
   \pagestyle{fancy}
   \setlength\headheight{28pt}
   \fancyhead[L]{\includegraphics[width=5cm]{GPIM_Logo_300x85.png}}
   \fancyfoot[LE,RO]{GPIM}
output: pdf_document
---

答案 2 :(得分:13)

我已尝试过在此处和其他论坛中提供的许多解决方案,其中没有一个有效。我终于找到了适合我的解决方案。

---
title: 'Fancy Title Here'
author: "Diego"
date: "today"
output:
  pdf_document:
    toc: yes
header-includes:
    - \usepackage{fancyhdr}
---
\addtolength{\headheight}{1.0cm} % make more space for the header
\pagestyle{fancyplain} % use fancy for all pages except chapter start
\rhead{\includegraphics[height=1.2cm]{C:/Path/to/logo/logo}} % right logo
\renewcommand{\headrulewidth}{0pt} % remove rule below header

我希望能帮助某人帮助我。

答案 3 :(得分:2)

对于那些使用flexdashboard的用户,请参阅徽标和图标的条目序言文字的新增内容,尽管其左上角不对:

http://rmarkdown.rstudio.com/flexdashboard/using.html#logo__favicon

所以.Rmd文件的开头如下所示:

---
title: "myappR"
output:
  flexdashboard::flex_dashboard:
    logo: mylogo.png
    favicon: mylogo.png
    theme: bootstrap
runtime: shiny
---

我将徽标留在根目录中,名称简单。和

  • 保持徽标高度48像素,因为这与主题很好地相配,
  • 小心空格和缩进,
  • 不要忘记flexdashboard后的结尾

答案 4 :(得分:2)

我找到了仅在首页上制作徽标的解决方案:

\addtolength{\headheight}{1.0cm} % make more space for the header
\fancypagestyle{plain}{} % this is to remove the default plain style for the first page
\thispagestyle{fancy} % use fancy for all pages except chapter start
\fancyhead[L]{\includegraphics[width = 100pt]{ManchesterLogo.png}}
\renewcommand{\headrulewidth}{0pt} % remove rule below header