J'écris un fichier Rmd, qui sera traité par knitr en HTML. Il contient des morceaux R qui génèrent des chiffres, qui sont stockés sous forme d'URI de données en HTML.
1) Comment ajouter une légende à une telle image? J'aimerais avoir une légende qui dit quelque chose comme "Figure 3: bla bla bla", où le "3" est généré automatiquement.
2) Comment puis-je référencer plus tard cette image, c'est-à-dire "comme vous pouvez le voir sur la figure 3, bla bla".
Je suis en retard à la fête, mais je voulais mentionner un petit paquet que j'ai récemment construit pour faire des sous-titres et des références croisées avec knitr
. Il s'appelle kfigr
et vous pouvez l'installer en utilisant devtools::install_github('mkoohafkan/kfigr')
. Il est toujours en développement actif mais la fonctionnalité principale est là. N'oubliez pas de consulter la vignette, elle montre quelques exemples d'utilisation et définit certains crochets pour les légendes et les ancres des figures (je pourrai plus tard choisir que le package importe knitr
et définisse ces crochets lors du chargement).
EDIT: kfigr est désormais disponible sur CRAN!
Aussi très tard pour la fête, j'ai changé la suggestion de Yihuis ici qu'il a également lié ci-dessus pour faire du référencement.
```{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")`
Une façon de faire les deux est décrite ici: http://rmflight.github.io/posts/2012/10/papersinRmd.html
Un autre est décrit ici (mais je ne sais pas s'il fait votre # 2). http://gforge.se/2014/01/fast-track-publishing-using-knitr-part-iii/
Une autre solution:
https://github.com/adletaw/captioner
Du README:
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)