Я знаю, что на этот вопрос уже был дан ответ в StackOverflow .
Однако я попытаюсь четко объяснить свою ситуацию.
- Я пишу 3 отдельных документа, используя RStudio и RMarkdown. На самом деле, я не включаю никаких фрагментов, так что это может быть чисто синтаксис Markdown.
- Эти три документа (
.Rmd
) имеют общие разделы, которые идентичны в трех из них. - Среди них есть и другие разделы.
Чтобы писать эффективно , я хотел бы написать общие разделы с использованием синтаксиса Markdown в отдельных файлах из трех упомянутых мною документов.
Таким образом, я хотел бы включить и связать эти общие разделы в трех документах (в их соответствующих местах).
В связи с этим я бы хотел, чтобы knitr
при преобразовании в HTML PDF или DOCX учитывал синтаксис отдельных и общих разделов. Я имею в виду, если есть подзаголовки, выделенные жирным шрифтом, курсивом и т. Д., Которые необходимо правильно идентифицировать и преобразовывать .
Есть идеи, как это сделать?
1 ответ
Это можно сделать разными способами. Вот первые два, которые мне пришли в голову:
Использование readLines
:
Это в основном подход из вопроса, на который вы указали, но вам нужно добавить параметр фрагмента results="asis"
:
```{r results="asis"}
cat(readLines('somefile.txt'), sep = '\n')
```
Использование read_chunk
:
Вы также можете прочитать несколько фрагментов кода из внешнего сценария, а затем использовать механизм asis
для отображения фрагментов, на которые вы ссылаетесь с помощью ref.label
:
Ваш файл RMD:
```{r}
knitr::read_chunk("mychunks.R")
```
```{asis, ref.label="firstchunk"}
```
```{asis, ref.label="secondchunk"}
```
Файл
## ---- firstchunk
Text
# Header
Text
## ---- secondchunk
Text2
# Header2
Text2
Похожие вопросы
Связанные вопросы
Новые вопросы
r
R — это бесплатный язык программирования с открытым исходным кодом и программная среда для статистических вычислений, биоинформатики, визуализации и общих вычислений. Пожалуйста, используйте минимально воспроизводимые примеры, которые другие могут запустить с помощью копирования и вставки. Показать желаемый результат полностью. Используйте dput() для данных и укажите все небазовые пакеты с помощью library(). Не вставляйте изображения для данных или кода, вместо этого используйте блоки кода с отступом. Для вопросов по статистике используйте https://stats.stackexchange.com.