有时,我需要将项目放在幻灯片上的特殊位置(幻灯片模板中未定义)。我使用了很棒的Officer包。
已经有ph_location_left(),ph_location_right()等,我想我可以定义自己的ph_location_custom()。
这是MWE。我使用了更多职位(具有依赖项),这就是为什么我想要一个自定义函数。
library(officer)
ph_location_custom <- function(where) {
if (where=="A") return(list(left=1, top=1, width=4, height=3, ph_label="", ph=NA_character_, bg=NULL, rotation=NULL))
if (where=="B") return(list(left=2, top=1, width=1, height=3, ph_label="", ph=NA_character_, bg=NULL, rotation=NULL))
}
# Test seems to work:
ph_location_custom("A")%in%ph_location(width=4, height=3)
# [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
my_pptx <- read_pptx()
my_pptx <- add_slide(x=my_pptx, layout="Title and Content", master="Office Theme")
# This works:
my_pptx <- ph_with(x=my_pptx, value="Hello world",
location=ph_location(width=4, height=3))
# This fails:
my_pptx <- ph_with(x=my_pptx, value="Hello world",
location=ph_location_custom("A"))
错误消息太长,无法在此处包含。我怀疑我必须在名称空间或类似名称中包含某些内容,但这超出了我的编程技能。
缺少什么?用另一种方法也许更好?