如何使用r-markdown编织与多行文本对齐的嵌入式图像?


10

我想编织一个报告,使标题类似于下图。

  • 最左边的正方形是一个图标
  • 矩形是文字

我目前遇到三个问题

  1. 如何插入带有网址的图标(在线图像)?
  2. 如何设置图标的格式,使其与3行文本对齐
  3. 如何更改行之间的字体大小和行间距

在此处输入图片说明

请在下面找到最小的可复制示例(请注意,我已经注释了在线图片,因为我不知道如何正确编码)

---
output: pdf_document
geometry: margin=0.25in
classoption:
  - landscape
---

```{r, echo=FALSE, results='asis'}
for (i in unique(iris$Species)) {
  cat("\\newpage")
  # cat('\n![](https://bookdown.org/yihui/rmarkdown/images/hex-rmarkdown.png)\n')
  cat("\n#", "Iris Species Summary", "\\hfill", paste0("Exhibit ", grep(i, unique(iris$Species)), ".1"))
  cat("\n##", i, "\\hfill", "(Gross)")
  cat("\n######", "(000's)", "\\hfill", as.character(Sys.Date()))
}
```

听起来您需要创建自己的自定义模板,请参见bookdown.org/yihui/rmarkdown/document-templates.html。应该可以,但是可能需要一些更高级的LaTeX命令。
mikeck

我认为flexdashboard也是一个很好的解决方案。它允许您在rmarkdown文档中呈现闪亮的位。至少创建您想要的模板应该简单而闪亮。
贾斯汀·兰迪斯

Answers:


3

您的所有三个问题都可以通过包含html元素来解决。

RMarkdown本质上是Markdown,您可以在文件中包含html元素。

您可以通过以下方式使用html:

```{r echo=FALSE}
knitr::asis_output(htmltools::htmlPreserve("
<div>
    <div>block 2
    </div>
</div>
"))
\``` <remove the \ here.>

要么

<!--html_preserve-->
<div>
    <div>block 3
    </div>
</div>
<!--/html_preserve-->

然后,您可以使用html来更改文档中的布局和字体,基本上,您需要学习编写简单的html代码,而不仅仅是花费大量精力在Google上。

很抱歉没有为您的示例写出代码,它应该很简单。参考在这里,这是一个封闭的GitHub问题:https : //github.com/rstudio/rmarkdown/issues/326

希望这可以帮助。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.