如何在RStudio中建立一个不在顶层目录的bookdown书?

问题描述 投票:0回答:1

在RStudio中,如何建立不在顶层目录下的书本?摊派文件 说好 _bookdown.yml 适当地。

然后,您可以单击 RStudio 中 Build 窗格中的 Build Book 按钮,将 Rmd 文件编译成一个书。

我在RStudio中看不到 "Build Book "按钮,即使在重新启动后也是如此。

> packageVersion('bookdown')
[1] ‘0.18’

以下是我的 _bookdown.yml:

rmd_files: ["one.Rmd", "two.Rmd", "three.Rmd"]
site: "bookdown::bookdown_site"
output:
  bookdown::gitbook:
    lib_dir: "book_assets"
  bookdown::pdf_book:
    keep_tex: yes
delete_merged_file: true

不知道是不是因为我的 _bookdown.yml 和我 .Rmd 文件不在顶层目录中。 我想每周做一本书,所以我为每本书都有一个子目录。 我使用相同的顶层项目,所以我可以在书籍之间共享代码。

所以,如果我对子目录是问题的看法是正确的:如何在RStudio中建立一个不在顶层目录中的bookdown书?

否则,我是不是应该检查一下其他的东西?

EDIT: 我只是在研究一个功能来代替建立书,类似于。

make_book <- function(subdir) {
  setwd(paste0('dir/',subdir))
  # note: input doesn't matter, because config_file will have the book
  bookdown::render_book(input='_bookdown.yml',
                        config_file='_bookdown.yml')
  setwd(here::here())
}
r bookdown
1个回答
1
投票

我建议保留这个函数的想法.用这个代替。

make_book <- function(subdir) { 

origwd <- setwd(file.path('dir', subdir))
on.exit(setwd(origwd))
 bookdown::render_book(input='_bookdown.yml', config_file='_bookdown.yml')
}
© www.soinside.com 2019 - 2024. All rights reserved.