【问题标题】:How do I insert a variable image file in a rmarkdown pdf如何在 rmarkdown pdf 中插入可变图像文件
【发布时间】:2018-08-18 14:37:54
【问题描述】:

问题很简单 - 如何将变量文件名插入 rmarkdown PDF?我想这样做:

---
FNL = "image.png"
---

![Some Text](params$FNL)

只有我需要在调用 rmarkdown::render 时传入 FNL 的值

目的是为图像提供唯一 ID,以便用户获得为其会话标记的图像。

谁能帮忙解决这个问题?

【问题讨论】:

  • 刚看到一个错误,应该是(%s)而不是%s,但是改了也没啥区别。现在我可以正确显示图片标签,但仍然没有图片。
  • 好吧paste0 工作得很好。我刚刚更改了解决方案,因为 sprintf 更优雅一点,并且由于引号更少而提高了可读性。

标签: r shiny r-markdown


【解决方案1】:

只需使用内联 R 评估(适用于 HTML 和 PDF 输出):

---
title: "Example"
author: "Martin"
date: "March, 11 2017"
output: html_document
params:
  img: NULL
---

`r sprintf("![A good boy](%s)", params$img)`

然后你可以通过调用来渲染带有图像文件的文档 rmarkdown::render("MyDocument.Rmd", params = list(img = "unnamed.png")).

【讨论】:

  • 见上面的注释。我直接尝试了您的示例,发现 rmd 正在寻找工作目录,当我从该工作目录运行 rmd 时它工作得很好!
  • 但我的应用程序仍然无法运行 - 我无法确定 pdf 预期图像的位置
  • 您始终可以使用原始 Latex 来包含图形并使用放置选项(请参阅 google):sprintf("\\includegraphics[options]{%s}", params$img)
  • 这没有帮助,谢谢。看来 rmd 正在某处寻找文件,但不在工作目录或临时文件夹中,其中几个 .rmd 被组装到 pdf 报告中。我无法弄清楚它在哪里寻找文件。即使我对现有文件名进行硬编码,它也无法在任何地方找到它。我将关闭这个问题并尝试为这个特定问题写一个新的
猜你喜欢
  • 1970-01-01
  • 2017-02-07
  • 1970-01-01
  • 1970-01-01
  • 2017-07-05
  • 2012-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多