r
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Noam Ross 3393313fe2 Update redoc() documentation 11 kuukautta sitten
.github Request pandoc + rstudio versions in issue template 1 vuosi sitten
R Set highlight_outputs to FALSE as default. 11 kuukautta sitten
inst Replace RPLACEHOLDERE with nbsp, addresses #49 1 vuosi sitten
man Update redoc() documentation 11 kuukautta sitten
pkgdown Fix broken link in navbar 1 vuosi sitten
tests Use styler to style code 1 vuosi sitten
vignettes Update mixed-workflows-with-redoc.Rmd 1 vuosi sitten
.Rbuildignore Working refactor 1 vuosi sitten
.gitignore Working refactor 1 vuosi sitten
.travis.yml Move GitHub packages to Suggests for faster builds 1 vuosi sitten
DESCRIPTION Set min versions of rmarkdown, officer, diffobj 1 vuosi sitten
LICENSE first real commit 1 vuosi sitten
NAMESPACE Working refactor 1 vuosi sitten
NEWS.md Fix typo in NEWS 1 vuosi sitten
README.Rmd Revert - remove Patreon links 1 vuosi sitten
README.md Revert - remove Patreon links 1 vuosi sitten
appveyor.yml Try old version of Pandoc on appveyor 1 vuosi sitten
codecov.yml first real commit 1 vuosi sitten
redoc.Rproj Handle YAML in header and elsewhere in document 1 vuosi sitten

README.md

redoc - Reversible Reproducible Documents

Build
Status AppVeyor build
status codecov CRAN
status

redoc is a package to enable a two-way R Markdown-Microsoft Word workflow. It generates Word documents that can be de-rendered back into R Markdown, retaining edits on the Word document, including tracked changes.

redoc is not yet stable; its core engine and API are still subject to change. It’s been overhauled a few times already! I welcome your contributions and feedback.

Installation

Install the redoc package with the remotes (or devtools) package:

remotes::install_github("noamross/redoc")

Note that redoc requires a recent version of Pandoc (>= 2.1.2). If you have RStudio version 1.2 or higher, you should have this by default.

Basic Usage

redoc provides an R Markdown output format, redoc(), built on top of rmarkdown::word_document(). You will typically call it via the YAML header in your R Markdown document. You have the option of highlighting the outputs (both chunk and inline) in the Word Document.

---
output:
  redoc::redoc
---

redoc() output resembles typical R Markdown Word output, but has some key differences:

  • Critic Markup edits will be converted to Word tracked changes.
  • By default, parts of the documented generated programmatically will be highlighted. (Change this with highlight_outputs = FALSE)
  • The original .Rmd and all code is stored internally in Word document for later retrieval.

Word files that have been created by redoc() can be reverted to .Rmd with the dedoc() function, even after they are edited. dedoc() will return the path of the de-rendered document.

library(redoc)
print(basename(redoc_example_docx()))
#> [1] "example.docx"
dedoc(redoc_example_docx())
#> [1] "./example.Rmd"

If the Word document has tracked changes, dedoc() will, by default, convert these to back to Critic Markup syntax. However, tracked changes are not necessary. You can view the changes between the original R Markdown file and the de-rendered one using the redoc_diff() function.

redoc_diff(redoc_example_edited_docx())

More details and features can be found in the vignettes for users and developers.

RStudio Integration

redoc has three RStudio Addins to simplify workflow when working with R Markdown documents:

  • “Render and Update” renders an R Markdown Document and the updates the text after round-tripping in to Word format and back. This helps with cleaning up small syntax differences (e.g. white space, line wrapping).
  • “Dedoc to active file” and “Dedoc to new file” de-render a file and place the contents in RStudio editor tabs, and also display a the changes from redoc_diff() in the RStudio viewer.

The package also contains a dedoc R Markdown template.

  • officedown produces rich MS Word documents from R Markdown. We hope for more integration between these packages in the future.
  • diffobj visualizes differences between R objects and drives redoc’s diff view.

Contributing

Want have feedback or want to contribute? Great! Please take a look at the contributing guidelines before filing an issue or pull request.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.