2025-01-12 04:36:52 +08:00

128 lines
3.3 KiB
Plaintext

---
title: "knitr Reference Card"
author: "Yihui Xie"
date: "`{r} Sys.Date()`"
output:
litedown::html_format:
meta:
css: ["@default"]
options:
number_sections: true
---
```{=html}
<!--
%\VignetteEngine{litedown::vignette}
%\VignetteIndexEntry{knitr Reference Card}
-->
```
## Syntax
| format | start | end | inline | output |
|-----------|---------------------|-----------------|--------------------|----------|
| Rnw | `<<*>>=` | `@` | `\Sexpr{x}` | TeX |
| Rmd | ```` ```{r *} ```` | ```` ``` ```` | `` `r x` `` | Markdown |
| Rhtml | `<!--begin.rcode *` | `end.rcode-->` | `<!--rinline x-->` | HTML |
| Rrst | `.. {r *}` | `.. ..` | `` :r:`x` `` | reST |
| Rtex | `% begin.rcode *` | `% end.rcode` | `\rinline{x}` | TeX |
| Rasciidoc | `// begin.rcode *` | `// end.rcode` | `+r x+` | AsciiDoc |
| Rtextile | `### begin.rcode *` | `### end.rcode` | `@r x@` | Textile |
| brew | | | `<% x %>` | text |
`*` denotes local chunk options, e.g., `<<label, eval=FALSE>>=`; `x` denotes
inline R code, e.g., `` `r 1+2` ``.
## Minimal Examples
::: col-2
### Sweave (\*.Rnw)
``` tex
\documentclass{article}
\begin{document}
Below is a code chunk.
<<foo, echo=TRUE>>=
z = 1 + 1
plot(cars)
@
The value of z is \Sexpr{z}.
\end{document}
```
### R Markdown (\*.Rmd)
```` md
---
title: "An R Markdown document"
---
Hi _Markdown_!
```{r foo, echo=TRUE}
z = 1 + 1
plot(cars)
```
The value of z is `r z`.
````
:::
## Chunk Options
`opts_chunk` controls global chunk options, e.g.,
`knitr::opts_chunk$set(tidy = FALSE)`, which can be overridden by local chunk
options. See all options at <https://yihui.org/knitr/options/>. Some frequently
used options are:
- `eval`: whether to evaluate the chunk
- `echo`: whether to echo source code
- `results`: `'markup'`, `'asis'`, `'hold'`, `'hide'`
- `tidy`: whether to reformat R code
- `cache`: whether to cache results
- `fig.width`, `fig.height`, `out.width`, `out.height`: device and output size
of figures
- `include`: whether to include the chunk results in output
- `child`: path to child documents
- `engine`: language name (R, python, ...)
## Functions
- `knit()`: the main function in this package; knit input document and write
output
- `purl()`: extract R code from an input document
- `spin()`: spin goat's hair (an R script with roxygen comments) into wool (a
literate programming document to be passed to `knit()`)
- `stitch()`: insert an R script into a template and compile the document
- `knit_hooks$set()`: set or reset chunk and output
[hooks](https://yihui.org/knitr/hooks/)
## Resources
- Homepage: <https://yihui.org/knitr/>
- Github: <https://github.com/yihui/knitr>
([CRAN](https://cran.r-project.org/package=knitr))
- Examples: <https://github.com/yihui/knitr-examples>
- Stack Overflow: <https://stackoverflow.com/tags/knitr/>
```{css, echo=FALSE}
body {
max-width: none;
}
table {
width: 100%;
}
.body h2 {
border-bottom: none;
font-size: 1.3em;
}
.body, .col-2 {
columns: 2;
& > :first-child {
margin-top: 0;
}
}
```