是否可以添加除图形和表格之外的knitr输出的标签和参考。
我知道我可以分别使用xtable
print.xtable
为表格设置字幕并按照我的意愿放置它们。数字也可以做类似的事情。但是有可能标记和标题生成的一些输出
只是通过回应一些R代码?所以我可以在我的文字中写下这样的内容:code chunk \ref{mychunk} shows how to do XYZ
。
答案 0 :(得分:9)
是的,这是可能的。请参阅example 074,了解如何为R块定义环境,以便您可以使用交叉引用。要完全理解它,您可能需要阅读chunk hooks的文档。
答案 1 :(得分:3)
我希望在标题后面的标题中添加其他文本,因此在序言中使用此文本来使用amsthm自定义我的代码块标题:
\usepackage{amsthm}
\newtheoremstyle{rexample}
{3pt}%Space above
{3pt}% Space below
{}%Body font
{}%Indent amount
{\bfseries}%Theorem head font
{:}%Punctuation after theorem head
{.5em}%Space after theorem head
{}%Theorem head spec (can be left empty, meaning `normal')
\theoremstyle{rexample}
\newtheorem{rexample}{Code chunk}
根据这个例子,我使用knit_hooks和选项$ comment:
knit_hooks$set(rexample = function(before, options, envir) {
if (before) sprintf('\\begin{rexample}%s\\label{%s}\\hfill{}', options$comment, options$label) else '\\end{rexample}'
})
在块定义中,注释被传递以形成标签:
<<setup, echo=TRUE, tidy=FALSE, eval=FALSE, rexample=TRUE, comment='Setups for some management functions and database connections'>>=
这给了我一个不错的标题:
http://gis.washington.edu/phurvitz/knitr/rexample_theorem_caption.png
答案 2 :(得分:2)
不确定这是否正是您所寻找的,但请尝试给这个网站一个镜头:
http://yihui.name/knitr/demo/reference/
不要因为第一句话谈论Sweave大块而烦恼,它完全专注于knitr chunk。
干杯......