【问题标题】:How to use inline R code in a bookdown theorem or example environment如何在 bookdown 定理或示例环境中使用内联 R 代码
【发布时间】:2017-09-26 15:55:46
【问题描述】:

我使用 bookdown 生成 html 和 PDF 格式的文档。如何在定理和示例环境中使用内联 R 代码的结果?

这是我尝试过的:

---
title: "Test"
output:
  bookdown::pdf_book:
    toc: false
html_document:
    toc: false
---

```{r}
a <- 2
b <- 3
```

If $a = `r a`$ and $b = `r b`$, then $a + b = `r a + b`$.

```{theorem}
If $a = `r a`$ and $b = `r b`$, then $a + b = `r a + b`$.
```

```{example}
If $a = `r a`$ and $b = `r b`$, then $a + b = `r a + b`$.
```

我得到

【问题讨论】:

  • bookdown 无法做到这一点(至少目前如此)。
  • @YihuiXie 有没有希望让它与r paste0("'''{example}\n") r paste0("If $a = ", a, "$ and $b = ", b, ", then $a + b = ", a + b, "$.\n") r paste0("'''") 之类的东西一起使用我找不到如何使它与```一起使用。
  • 很遗憾,没有...

标签: r latex r-markdown bookdown theorem


【解决方案1】:

你可以使用明确的 Latex 标签:

---
title: "Test"
output:
  bookdown::pdf_book:
    toc: false
html_document:
    toc: false
---

```{r}
a <- 2
b <- 3
```

\begin{theorem}

If $a = `r a`$ and $b = `r b`$, then $a + b = `r a + b`$.

\end{theorem}

\begin{example}

If $a = `r a`$ and $b = `r b`$, then $a + b = `r a + b`$.

\end{example}

【讨论】:

  • 显式 LaTeX 标记适用于 PDF 输出,但 html 输出不包含定理或示例(仅包含最初的两行 R 代码)。我错过了什么吗?
  • 不,此方法仅适用于 Latex。我忘了考虑这是否适用于 html。
【解决方案2】:

为避免此类问题,我插入一个空白环境(仅用于编号和参考),然后编写内容(您可能希望以特殊字符或--- 结尾)。

```{example, myexample}
```
If $a = `r a`$ and $b = `r b`$, then $a + b = `r a + b`$.

---

See for instance \@ref(exm:myexample)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-16
    • 2020-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多