2013-01-15 26 views
15

Czy można dodawać etykiety i odnośniki do wyników dzierżawy innych niż rysunki i tabele. Wiem, że mogę użyć xtable odpowiednio print.xtable, aby ustawić napisy do tabel i umieścić je tak, jakbym chciał. Podobną rzecz można zrobić dla liczb. Ale czy możliwe jest oznaczenie i podpisanie niektórych danych wyjściowych, które zostały wygenerowane po prostu przez echo jakiegoś kodu R? Aby napisać coś takiego w moim tekście: code chunk \ref{mychunk} shows how to do XYZ.Czy mogę oznaczyć fragmenty i wyjścia kodu knitr i dodać do nich napisy?

Odpowiedz

9

Tak, jest to możliwe. Zobacz example 074, w jaki sposób zdefiniować środowisko dla porcji R, aby możliwe było korzystanie z odsyłaczy. Aby całkowicie to zrozumieć, może zajść potrzeba przeczytania dokumentacji chunk hooks.

+1

thx za pomoc się po raz drugi w ciągu ostatnich 24 godzin. Dla mnie może być odwrotnie: przeczytać zbyt dużo dokumentacji i mniej przykładów. Dowiedziałem się, że istniały, mimo że korzystali z dzianiny i kilku jej zaawansowanych opcji przez jakiś czas. Może powinieneś połączyć się z demami z przykładami na githubie. Jednak inni mogą lepiej je znaleźć, thx man! –

+0

Pracuję nad książką knitr (która szczegółowo omawiała tę funkcję), więc na stronie internetowej był niższy priorytet. Masz całkowitą rację, że powinienem mieć link na stronie demonstracyjnej, chociaż już mam na stronie głównej. –

+2

Dzianinowa książka! to jest absolutnie niesamowite. To zdecydowanie najlepsza wymówka dla tego brakującego ogniwa. Powiem wszystkim i ich babciom, kiedy ta książka się skończy. –

2

Nie jestem pewien, czy to jest dokładnie to, czego szukasz, ale spróbować i dać tej witrynie strzał:
http://yihui.name/knitr/demo/reference/

Nie irytuje pierwszym zdaniu mówi o kawałkach Sweave, jest całkowicie skupiony na knitr Kawałki.

Pozdrowienia ...

3

chciałem dodatkowy tekst w podpisie po głowie, więc używany to w preambule do dostosowywania mojego kodu napisów chunk pomocą 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} 

Wzorem użyłem knit_hooks z opcjami $ komentarza:

knit_hooks$set(rexample = function(before, options, envir) { 
    if (before) sprintf('\\begin{rexample}%s\\label{%s}\\hfill{}', options$comment, options$label) else '\\end{rexample}' 
}) 

I w definicji bryłkach, komentarz jest przekazywany do utworzenia etykiety:

<<setup, echo=TRUE, tidy=FALSE, eval=FALSE, rexample=TRUE, comment='Setups for some management functions and database connections'>>= 

Który daje mi piękny napis:

http://gis.washington.edu/phurvitz/knitr/rexample_theorem_caption.png