Como extrair todos os trechos de código de um arquivo Rnw Sweave?

Recebi um arquivo .Rnw que dá erros ao tentar criar o pacote ao qual ele pertence. O problema é que, ao verificar o pacote usando as ferramentas do RStudio, não recebo nenhuma informação de erro útil. Então eu preciso descobrir primeiro em qual linha de código o erro ocorre.

A fim de descobrir isso, eu escrevi este hack de 5 minutos para obter todos os trechos de código em um arquivo separado. Eu tenho a sensação de que estou perdendo alguma coisa. Qual é a maneira limpa de extrair todo o código em um arquivo Rnw exatamente como você executa um arquivo de script? Existe uma função para extrair tudo ou executar tudo de forma que você possa descobrir em qual linha o erro ocorreu?

Meu hack:

ExtractChunks <- function(file.in,file.out,...){
  isRnw <- grepl(".Rnw$",file.in)
  if(!isRnw) stop("file.in should be an Rnw file")

  thelines <- readLines(file.in)

  startid <- grep("^[^%].+>>=$",thelines)
  nocode <- grep("^<<",thelines[startid+1]) # when using labels.
  codestart <- startid[-nocode]

  out <- sapply(codestart,function(i){
    tmp <- thelines[-seq_len(i)]
    endid <- grep("^@",tmp)[1]  # take into account trailing spaces / comments
    c("# Chunk",tmp[seq_len(endid-1)])
  })

  writeLines(unlist(out),file.out)

}

questionAnswers(1)

yourAnswerToTheQuestion