図や表以外の Knitr 出力にラベルや参照を追加することはできますか? xtable
それぞれprint.xtable
を使用して、テーブルのキャプションを設定し、好きなように配置できることを知っています。似たようなことがフィギュアにもできます。しかし、単に R コードをエコーするだけで生成された出力にラベルを付けたりキャプションを付けたりすることは可能でしょうか? テキストに次のようなものを書くことができるように: code chunk \ref{mychunk} shows how to do XYZ
.
3 に答える
Yes it is possible. See example 074 on how to define an environment for R chunks so that you can make use of cross references. To completely understand it, you may need to read the documentation of chunk hooks.
ヘッドの後のキャプションに追加のテキストが必要だったので、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 を使用しました。
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
これがまさにあなたが探しているものかどうかはわかりませんが、このサイトを試してみてください:
http://yihui.name/knitr/demo/reference/
Sweave チャンクについて話している最初の文にイライラしないでください。それは完全に Knitr チャンクに焦点を当てています。
乾杯 ...