图表说明,使用knitr和降价到HTML引用(figure captions, references

2019-07-05 01:51发布

我正在写一个RMD文件,由knitr加工成HTML。 它包含生成的数字,其中获得存储在HTML数据的URI一些[R块。

1)我如何添加标题这样一个形象? 我想有一个标题说像“图3:等等等等等等”,其中“3”是自动生成的。

2)如何做我以后参考此图像,即,“你可以在图3中,等等等等看”。

Answer 1:

  1. 您可以创建R中一个简单的计数器的数字编号; 看到这里一个例子 。 问题是,降价渲染器是否会使你的图题,R降价V1不会,但V2 (基于Pandoc)会。
  2. 我不知道。 有插入一个标签作为数字的标识符没有直接的方法,所以它可能是不可能的交叉参考数字与纯减价。 一旦你的问题是这样,认为(1)我真的需要它吗? (2)如果它的目的是与一个结构复杂的文档,我觉得这是更好地使用LaTeX的直接(RNW文件)。


Answer 2:

我迟到了,但我想提一个小包装我最近建做图字幕和交叉引用knitr 。 这就是所谓的kfigr ,您可以使用安装devtools::install_github('mkoohafkan/kfigr') 它仍然在积极的发展,但主要功能是存在的。 一定要检查出的小插曲,它显示了一些使用的实例,并定义图标题和锚钩部分(稍后我可能会选择将数据包导入knitr并定义负载的钩子)。

编辑:kfigr现已有CRAN!



Answer 3:

也很晚了党,我改变Yihuis建议, 在这里 ,他也与上面做参照。

```{r functions, include=FALSE}
# A function for captioning and referencing images
fig <- local({
    i <- 0
    ref <- list()
    list(
        cap=function(refName, text) {
            i <<- i + 1
            ref[[refName]] <<- i
            paste("Figure ", i, ": ", text, sep="")
        },
        ref=function(refName) {
            ref[[refName]]
        })
})
```
```{r cars, echo=FALSE, fig.cap=fig$cap("cars", "Here you see some interesting stuff about cars and such.")}
plot(cars)
```

What you always wanted to know about cars is shown in figure `r fig$ref("cars")`


Answer 4:

做这两种方法之一是这里描述: http://rmflight.github.io/posts/2012/10/papersinRmd.html

另外,这里描述的(但我不知道如果这样做你的#2)。 http://gforge.se/2014/01/fast-track-publishing-using-knitr-part-iii/



Answer 5:

另一种解决方案:

https://github.com/adletaw/captioner

自述:

captioner() returns a captioner function for each set of figures, tables, etc. that you want to create. See the help files for more details.

For example:

> fig_nums <- captioner()

> fig_nums("my_pretty_figure", "my pretty figure's caption")

"Figure 1: my pretty figure's caption"

> fig_nums("my_pretty_figure", cite = TRUE)


文章来源: figure captions, references using knitr and markdown to html