purl () dentro do erro de etiqueta duplicada knit ()

Estou tricotando um arquivo .Rmd e quero ter duas saídas: o html e um script R purl'ed cada vez que executo o knit. Isso pode ser feito com o seguinte arquivo Rmd:

---
title: "Purl MWE"
output: html_document
---

```{r}
## This chunk automatically generates a text .R version of this script when     running within knitr.
input  = knitr::current_input()  # filename of input document
output = paste(tools::file_path_sans_ext(input), 'R', sep = '.')
knitr::purl(input,output,documentation=1,quiet=T)
```

```{r}
x=1
x
```

Se você não nomear o pedaço, ele funcionará bem e você terá saída html e .R cada vez que executar knit () (ou clicar em knit no RStudio).

No entanto, se você nomear o pedaço, ele falhará. Por exemplo:

title: "Purl MWE"
output: html_document
---

```{r}
## This chunk automatically generates a text .R version of this script when     running within knitr.
input  = knitr::current_input()  # filename of input document
output = paste(tools::file_path_sans_ext(input), 'R', sep = '.')
knitr::purl(input,output,documentation=1,quiet=T)
```


```{r test}
x=1
x
```

Falha com:

Quitting from lines 7-14 (Purl.Rmd) 
Error in parse_block(g[-1], g[1], params.src) : duplicate label 'test'
Calls: <Anonymous> ... process_file -> split_file -> lapply -> FUN -> parse_block
Execution halted

Se você comentar opurl() chamada, ele funcionará com o pedaço nomeado. Portanto, há algo sobre como opurl() chamada também está nomeando pedaços, o que causaknit() pensar que existem nomes duplicados de partes, mesmo quando não há duplicatas.

Existe uma maneira de incluir umpurl() comando dentro de um arquivo .Rmd para que ambas as saídas (html e R) sejam produzidas? Ou há uma maneira melhor de fazer isto? Meu objetivo final é usar o novormarkdown::render_site() para criar um site que atualize a saída HTML e R toda vez que o site for compilado.

questionAnswers(2)

yourAnswerToTheQuestion