在R markdown pdf文档的右上角插入一个标志

Insert a logo in upper right corner of R markdown pdf document

我开始使用 R markdown,我想创建一个新报告,在每个页面的右上角都有我们公司的形象 logo.png

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

您可以使用 yaml 中的 includes 选项来指定对乳胶 header 的自定义添加。 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 latex 包来添加标志,但还有其他可能的解决方案。有关更多选项,请参阅 here

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

---
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
---

我已经尝试过此处和其他论坛中介绍的许多解决方案,none 其中有效。我终于找到了适合我的解决方案。

---
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

我希望它能像帮助我一样帮助别人。

对于那些使用 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 后的结尾 :

我找到了只在第一页制作徽标的解决方案:

\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