当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《在Rmarkdownhtml文档的右上角插入徽标》经验,为你挑选了2个好方法。

我正在尝试将我的公司徽标放在我的html文档的右上角

这是我的代码:



---
title: "Title"
author: "Author"
date: "Date"
theme: bootstrap
output: html_document
keep_md: true
---

```{r echo=FALSE,  include=FALSE}
knitr::include_graphics('./logo.png')
```


## 1) Header
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo.

但是,因为logo.png是共享html文档时的本地文件,所以人们无法看到它.

另外,我尝试了以下方法

---
title: "Title"
author: "Author"
date: "Date"

output: 
  html_document:
    css: markdown.css
    includes:
      in_header: extLogo.html
---

其中extLogo.html

但是它会在div之外创建一个div,其中Title是(

).任何人都可以帮忙吗?



1> alistaire..:

您可以使用htmltools::img一些内联CSS进行定位.src可以直接采用路径,但是当图像不像图一样处理时,有时编织无法正确地将图像转换为URI,这反过来又导致它们无法渲染.self_contained: false在YAML中使用是一种快速解决方案,但使用knitr::image_uri手动转换图像并不困难:

---
title: "Title"
author: "Author"
output: html_document
---


```{r, echo=FALSE}
htmltools::img(src = knitr::image_uri(file.path(R.home("doc"), "html", "logo.jpg")), 
               alt = 'logo', 
               style = 'position:absolute; top:0; right:0; padding:10px;')
```

---

# 1. Header

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor.

带徽标的页面



2> Sébastien Ro..:

如果您使用的是经典html输出,则可接受的答案有效。如果像我一样,您也可以使用bookdown,则徽标需要出现在每页上。因此,如果有人找到了这个答案,但想在书本上添加徽标,我可以提出一个建议:

我们需要创建一个带有在头文件中调用的脚本的外部文件,幸运的是,我们可以直接在rmarkdown脚本中创建该文件。

我们还使用htmltools::img了允许不包含外部图像文件的图像。

这是我的rmarkdown脚本用作示例:

---
title: "Logo with Bookdown"
author: "Author"
date: '`r format(Sys.time(), "%d %B, %Y")`'
output:
  bookdown::gitbook:
    includes:
      in_header: header.html
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{r htmlTemplate, echo=FALSE}
# Create the external file
img <- htmltools::img(src = knitr::image_uri(file.path(R.home("doc"), "html", "logo.jpg")), 
               alt = 'logo', 
               style = 'position:absolute; top:50px; right:1%; padding:10px;z-index:200;')

htmlhead <- paste0('

')

readr::write_lines(htmlhead, path = "header.html")

```

# Page 1

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see .

When you click the **Knit** button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

```{r cars}
summary(cars)
```

# Page 2

You can also embed plots, for example:

```{r pressure, echo=FALSE}
plot(pressure)
```

Note that the `echo = FALSE` parameter was added to the code chunk to prevent printing of the R code that generated the plot.

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有