【问题标题】:Having a beamer_presentation and a pdf_book in the same Bookdown project在同一个 Bookdown 项目中有一个 beamer_presentation 和一个 pdf_book
【发布时间】:2020-01-08 11:29:34
【问题描述】:

在我的 Bookdown 项目中,_output.yml 中指定了 bookdown::pdf_bookbeamer_presentation。 (为什么?这里是an example,这里是the explanation。)

问题在于pdf_book 似乎尊重_bookdown.yml 中指定的output_dir,但不尊重beamer_presentation。因此,当点击Build Book 按钮时,演示文稿不会进入docs 目录,而是出现在基本目录中。

有没有办法让beamer_presentation 尊重output_dir 规范?

(另外,这意味着必须对文件名进行一些处理,因为默认情况下名称是相同的。)

编辑:我意识到使用bookdown::beamer_presentation2 而不是beamer_presentation 将解决问题,因为它会尊重output_dir。但我将其称为部分答案,因为我在最后一句话中的恐惧意识到:这将简单地覆盖pdf_book(因为它们确实具有相同的名称),所以它仍然没有真正工作......

【问题讨论】:

  • 这看起来不像stackoverflow.com/questions/56639760/…的副本吗?
  • @tchevrier 原始问题(如何尊重output_dir)不是重复的,但“编辑”中的后一个问题是。如果有人想投票关闭这个帖子作为重复,我没关系。
  • 是的,它现在真的是“半重复”,感谢@tchevrier 提到这个问题。

标签: r-markdown knitr bookdown beamer


【解决方案1】:

是的,您需要使用bookdown::beamer_presentation2,这将尊重_bookdown.yml 中的output_dir 设置。

关于您的第二个问题(两种格式具有相同的输出文件名),如果您只想单击 RStudio 中的 Knit 按钮,目前没有一个很好的解决方案——您必须调用 rmarkdown::render() 和在调用中指定输出文件名,例如,

rmarkdown::render('file.Rmd', 'bookdown::pdf_book', output_file = 'book.pdf')
rmarkdown::render('file.Rmd', 'bookdown::beamer_presentation2', output_file = 'beamer.pdf')

【讨论】:

  • 非常感谢您的回答!您是否预测此功能(即可以在_bookdown.yml 中指定输出文件的名称,以便“渲染”按钮就足够了)是否会实现?我完全明白,没有你可以承诺的时间表,只是一个近似值(我不知道这会有多复杂)。
  • 再一次,这个解决方案看起来像您为 stackoverflow.com/questions/56639760/… 提供的解决方案的副本?我还在您的相关帖子中提出了这个问题:stackoverflow.com/questions/58885889/… +1 将是一个不错的功能...
  • @tchevrier 感谢您的提醒!我完全忘记了它,但将来肯定会重新考虑它,因为Github issue 仍然开放。
  • 现在你知道为什么我们都这么爱你了吧! :-)
  • 谢谢你们!我很高兴它在 Github 上有一个未解决的问题,我已经订阅了它的通知。希望有一天能解决 :) 再次感谢!
猜你喜欢
  • 1970-01-01
  • 2019-11-06
  • 2016-02-05
  • 2016-06-13
  • 2011-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多