【发布时间】:2014-05-27 22:11:10
【问题描述】:
在 knitr/LaTeX 文档的块中生成的绘图内,我想定位一个文本字符串,并参考文档中的特定图形 elsehwere,例如“参见图 10”,基于标签那个特定的数字,让我们说“fig:sim1”。所以我编写了以下 R 函数,它读取我正在编写的 LaTeX 文档的 .aux 文件并提取与特定标签匹配的图形的计数器
ref <- function(label) {
lines <- scan("mismatch-final.aux","character",sep="\n")
line <- grep(paste("\\{",label,"\\}",sep=""),lines,value=TRUE)
strsplit(strsplit(line,"\\{\\{")[[1]][2],"\\}\\{")[[1]][1]
}
然后我可以从块中生成所需的文本字符串并将其放置在绘图中,例如
text(5,10,paste("See Fig.~",ref("fig:sim1")))
这应该可以,但也许有更清洁的方法?另外,有没有办法从块中获取 .aux 文件名,从而使上面的 ref 函数更通用?
【问题讨论】: