Automate Reproducible 'Quarto' Manuscripts Ready for Submission

Creates and builds reproducible scientific manuscripts written in 'Quarto'. create_paper() writes a project that holds only the paper: its sections as separate files, its references and journal style as a CSL (Citation Style Language) file, the setup of the analysis and the data. The functions of the package then render it for any journal, check citations and cross-references before every render, export figures to PNG, JPEG and TIFF at 600 dpi, give the supplementary material a document and a bibliography of its own, and build the submission folder: the manuscript split for double-blind review, together with a data and code compendium ready for a data repository. Every render records the versions of the packages it used, 'easypaper' included, with 'renv', so the manuscript can be rebuilt years later. Every render also sets the scientific names of the reference list in italics, checking genera and species against the Global Biodiversity Information Facility (GBIF) Backbone Taxonomy ; italicize_species() does the same for any other bibliography.


easypaper easypaper website

Project Status: Active – The project has reached a stable, usable state and is being actively developed. Lifecycle: experimental R CMD check pkgdown Website License: MIT

Focus on your research: easypaper builds the project around your paper and gets it ready for submission.

Write it in Quarto, one section per file, with the analysis inside it. easypaper renders it for any journal, checks it before every render, and builds the folder you send.

  • 📄 One source, every output. The journal's .docx, a .pdf for the preprint server, a working .html and the supplement, each in the citation style of the journal you name.
  • 🕶️ Double-blind review, done for you. A title page and an anonymous main text, figures at 600 dpi, a cover letter, and a copy of the data and code that names nobody, for the reviewers.
  • 🌿 Scientific names checked against GBIF. In italics in the reference list, where citeproc leaves them in roman, and reviewed in the text: italics, first mention, authority.
  • ✅ Checks before every render. Citations with no entry, figures nobody cites, data nobody reads, packages nobody installed, and the word counts a submission form asks for.
  • 📦 Data and code ready to deposit. Open formats, metadata filled in from the manuscript, renv.lock included, and the DOI reserved on Zenodo before you publish.

Quick start

# install.packages("remotes")
remotes::install_github("danielsangarci/easypaper")

library(easypaper)
create_paper("my_paper")

Open the .Rproj it creates, write in _sections/, and:

set_paper(".")           # once a session: the project to work on

# while you write
render_html()            # the manuscript, in seconds
preview()                # live: reloads every time you save

# documents to read, in output/
render_docx()            # the .docx, in the journal's style
render_pdf()             # the .pdf
render_supplementary()   # the supplement, with its own references
render_all()             # the three above, and the analysis code

# what you send, in submission/
make_preprint()          # the preprint and its data deposit
make_submission()        # the journal's folder, double-blind

render_*() makes documents to read, as often as you like; make_*() assembles what you send, a few times per paper. They write only into the project you name, with set_paper() once a session or with path in a call -- render_all(path = ".") -- never into whatever the working directory happens to be. get_paper() says which project is named.

To see a finished paper first, create_example_paper("example_paper") writes the same project with a small study in it, ready to render.

Next: Get started walks through a paper from the first line to the submission, and ?easypaper lists every function.

Requirements

R >= 4.1 and Quarto, which ships with RStudio and Positron. The .pdf also needs LaTeX: tinytex::install_tinytex() is enough.

Citation

citation("easypaper")

Sanchez-Garcia, D. (2026). easypaper: Automate Reproducible Quarto Manuscripts Ready for Submission. R package version 0.1.0. https://github.com/danielsangarci/easypaper

Licence

MIT for the code. The projects it writes carry MIT for their code and CC BY 4.0 for their text, figures, tables and data, the pairing most journals and data repositories expect.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("easypaper")

0.1.0 by Daniel Sanchez-Garcia, 8 hours ago


https://github.com/danielsangarci/easypaper, https://danielsangarci.github.io/easypaper/


Report a bug at https://github.com/danielsangarci/easypaper/issues


Browse source code at https://github.com/cran/easypaper


Authors: Daniel Sanchez-Garcia [aut, cre, cph] (ORCID:


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports dataspice, flextable, haven, here, jsonlite, knitr, magick, quarto, ragg, readxl, renv, rmarkdown, rstudioapi, tools, utils, yaml, zip

Suggests curl, testthat, trackdown, vegan

System requirements: Quarto command line tool (<https://quarto.org>)


See at CRAN