Включение фрагментов кода в блоки примеров / упражнений в вывод PDF - PullRequest
2 голосов
/ 20 апреля 2020

Bookdown расширяет R markdown, добавляя окружения для теорем, примеров и упражнений (и более). Я хотел бы поместить фрагмент кода в пример среды:

```{example, label="ex1"}
Here is an example:

```{r eval=FALSE}
x <- 1+1
x+2
```

```

Желаемый вывод следующий:


Пример 1. Здесь пример:

x <- 1+1
x+2

Приведенный выше код не работает, поскольку фрагмент кода уже находится в среде `` `.

Я нашел следующий обходной путь, который работает хорошо, когда я вяжу документ на страницу html:

```{example, label="ex1"}
Here is an example:

<pre><code>
x <- 1+1
x+2
`` `

К сожалению, это не работает, когда я вяжу документ в файл PDF - вместо этого я просто получите пустое место. Есть ли способ сделать это, который работает как для html, так и для вывода PDF?


Обновление: еще одно решение, которое не работает, следующее (на основе this ) :

  ```{example, label="ex1"}
  Here is an example:

  ````
  `r ''````x <- 1+1
  x+2
  ```
  ````
  ```

В этом случае проблема заключается в том, что разрыв строки между 1 + 1 и x + 2 исчезает.

Ответы [ 2 ]

0 голосов
/ 20 апреля 2020

Я не уверен, почему, но работает следующее решение:

```{example, label="ex1"}
Here is an example:

```{r eval=FALSE}
x <- 1+1
x+2

```

Это мое первоначальное предложение, со вторым удаленным `` `.

Недостатком является что весь текст в примере после части `` `{r eval = FALSE} теперь становится дословным.

0 голосов
/ 20 апреля 2020

Решение очень простое и не зависит от вашего выходного формата. Вы можете использовать эту запись для включения фрагментов R.

````markdown
`r ''````{r}
plot(cars)
```
````

Результат:

enter image description here

Полный кредит Натан Stephans

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...