Могу ли я маркировать куски кода и выходы и добавлять подписи к ним?

Можно ли добавлять ярлыки и ссылки на вывод knitr, отличные от цифр и таблиц. Я знаю, что я могу использовать xtable соответственно print.xtable для установки титров для таблиц и размещения их, как хотелось бы. Аналогичные вещи можно сделать и с цифрами. Но возможно ли обозначить и подписать некоторый результат, который был сгенерирован просто повторив некоторый R-код? Чтобы я мог написать что-то вроде этого в моем тексте: code chunk \ref{mychunk} shows how to do XYZ.

Ответы

Ответ 1

Да, это возможно. См. пример 074 о том, как определить среду для фрагментов R, чтобы вы могли использовать перекрестные ссылки. Чтобы полностью понять это, вам может потребоваться прочитать документацию chunk hooks.

Ответ 2

Мне нужен дополнительный текст в заголовке после заголовка, поэтому он использовался в преамбуле для настройки моих подтипов фрагментов кода с использованием 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

Ответ 3

Не уверен, что это именно то, что вы ищете, но попробуйте сделать этот сайт:
http://yihui.name/knitr/demo/reference/

Не раздражайтесь первым предложением, рассказывающим о кусках Sweave, он полностью сосредоточен на кусках кузнеца.

Приветствия...