Запуск чанков на основе вывода в RMarkdown - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть большой документ, который я должен скомпилировать как в pdf, так и в docx.В качестве способа объединения обоих выходных данных я хотел знать, возможно ли выполнить код на основе выбранного выходного сигнала.Я сделал наименьший воспроизводимый пример из всех, которые я мог привести.

---
title: MyTest
output:
  word_document:
    fig_caption: yes
    toc: no
  pdf_document:
    latex_engine: xelatex
---


```{r setup_docx, include=FALSE}
library(knitr)
library(captioner)
knitr::opts_chunk$set(fig.path = 'images/',
                      echo = FALSE, 
                      warning = FALSE, 
                      message = FALSE,
                      include = TRUE)
```


# In Office Word the following is required

```{r figs, include=FALSE}
# Figures Required for Word Output
fig_nums <- captioner()
fig_nums("AppleFig", "This is the caption of my AppleFig")
```

These can be seen in `r fig_nums("AppleFig",display="cite")`


```{r, fig.cap=fig_nums("AppleFig")}
knitr::include_graphics("images/AppleFig.png")
```



```{r setup_pdf, include=FALSE}
library(knitr)
knitr::opts_chunk$set(fig.align='center',
                      fig.pos = 'H',
                      fig.path = 'images/',
                      echo = FALSE, 
                      warning = FALSE, 
                      message = FALSE,
                      include = TRUE,
                      out.width=".9\\textwidth")
```

# For LATEX

These can be seen in \ref{fig:AppleFig}

```{r, fig.cap="\\label{fig:AppleFig}This is the caption of my AppleFig."}
knitr::include_graphics("images/AppleFig.png")
```

img

img

В настоящий момент у меня есть 2 документа, в которых выполняется каждая частькод.Есть ли способ для меня, чтобы выбрать, какие чанки запускаются на основе вывода?

Если бы это было возможно, моим следующим шагом было бы попытаться запустить Find + Replace для ref\{figs: до fig_nums("

Любопытно получить некоторую информацию от форума, я думаю, что это будетбыть очень полезным для многих людей, если это возможно.

...