6

我有一个 bookdown rmd 看起来像......

Further introductory materials are offered when the package is loaded:

```{r dt-startup, echo=-1, message=TRUE, verbose=TRUE, hide=FALSE}
if ("data.table" %in% .packages()) detach("package:data.table")
library(data.table)
```

我的目的是向读者展示包的启动消息。但是,它们不打印。这里还有其他的块选项可以使用吗?

正如你所看到的,我只是在它上面扔了几个可能相关的块选项,没有好的结果。我对输出流的管理不是很熟悉,所以就我所知。我也试过用 直接打电话data.table:::.onAttach(),但没有骰子。

我不确定这里还有什么相关的,但是......

  • 目前该包尚未在此块之前加载。我刚刚添加了第一行,以防我重新排列文档。
  • 我的 before_chapter_script 只包含knitr::opts_chunk$set(comment="#").
  • 我的编织头值是bookdown::render_book,输出是bookdown::html_book
4

1 回答 1

2

不。任何为此而被入侵的东西都将是脆弱的,并且可以说不是非常有用。

Yihui Xie(knitr 的作者)提出了一个很好的案例。我的简介:

  • 这没有用。您正在编写教程,那么为什么要包含动态内容(在包更改时可能会更改)?此外,为什么不直接指向资源而不是那里打印的资源列表呢?
  • 这很难。这不仅仅是输出流的问题。消息不会打印,因为它们被隔离在interactive()支票后面。目前尚不清楚应该如何覆盖它,并且假设它可以完成,可能会引入什么奇怪的副作用。
于 2017-03-17T20:31:05.930 回答