从Rmarkdown编织PDF,每页一张图像,垂直居中

问题描述

我想将数百张图像从Rmarkdown编织到一个pdf文件中。我只希望每页一张图像,并且每张图像在页面上水平和垂直居中。我一直在努力尝试与kable配套,但是没有运气。谢谢您的帮助。

这是一组示例图像:

filenames <- structure(list(img_url = c("https://images.freeimages.com/images/large-previews/ce3/puppies-1-1308839.jpg","https://images.freeimages.com/images/large-previews/006/young-dachshund-1362378.jpg","https://images.freeimages.com/images/large-previews/20c/my-puppy-maggie-1362787.jpg"
)),row.names = c(NA,-3L),class = c("tbl_df","tbl","data.frame"
))

解决方法

您可以使用glue包在每个图像周围添加一些LaTeX,这应该可以完成您想要的操作。

glue使您可以将变量直接放入字符串中,然后可以通过`results ='asis'块选项将其合并到编织文件中。

---
title: "One Image Per Page"
output: pdf_document
---

```{r one-per-page,results = 'asis',echo = FALSE}
library("glue")

# full path to all image files,URLs should work too
image_path_list <- c("/path/image1.jpg","/path/image2.jpg")

# create LaTeX output,alter the glue open delimiter to avoid conflict
glue('\\vspace*{\\fill}\n\\begin{center}\n\\includegraphics{{(image_path_list}}\n\\end{center}\n\\vspace*{\\fill}\n\\newpage\n',.open = "{(")

```

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...