authordown

R-CMD-check

authordown logo

authordown is an R package for managing author metadata and generating manuscript front matter, especially for large author lists.

中文文档

Online app: Open the app ## Features

Installation

From CRAN (once available):

install.packages("authordown")

From GitHub:

# install.packages("devtools")
devtools::install_github("zh1peng/authordown")

End-to-end workflow (offline safe)

1) Start from the bundled template

library(authordown)

# Create a fresh template in a temporary file
template_path <- authordown_template()
authors <- authordown_read_local(template_path)

2) Generate a title page (with degree shown)

title_page <- generate_title_page(
  data = authors,
  title = "Example Paper",
  style = "default",
  show_degree = TRUE
)
cat(title_page)

3) Generate other sections

ack <- generate_acknowledgement(authors, style = "paragraph")
coi <- generate_conflict(authors, style = "paragraph")
contrib <- generate_contribution(authors, style = "bullets")

cat(ack)
cat("\n\n")
cat(coi)
cat("\n\n")
cat(contrib)

4) XLSX input

xlsx_path <- system.file("extdata", "authordown_template.xlsx", package = "authordown")
authors_xlsx <- authordown_read_local(xlsx_path)

If you manage authors in an online table, export it locally and then use authordown_read_local():

  1. Export to CSV or XLSX (or TSV).
  2. Read locally with authordown_read_local().

Supported formats: CSV, TSV, XLSX.

Affiliations

Use Affiliation1, Affiliation2, … AffiliationN columns to list all affiliations for each author. There is no hard limit; add as many columns as needed. The title page numbers affiliations in the order they first appear.

Shiny app

Online app: Open the app

if (interactive()) {
  shiny::runApp(system.file("shiny-app", package = "authordown"))
}

Workflow: download the template, fill it, upload it, preview the parsed data, then generate outputs for copy/paste.

Render sections for copy/paste

If you want rendered HTML for easy copy/paste into a manuscript system, use:

if (requireNamespace("rmarkdown", quietly = TRUE) && rmarkdown::pandoc_available()) {
  template_path <- authordown_template()
  authors <- authordown_read_local(template_path)

  html_path <- render_section_html(
    section_title = "Conflict of Interest",
    content_function = generate_conflict,
    data = authors,
    style = "paragraph"
  )
  # utils::browseURL(html_path)
}

Troubleshooting

License

AGPL-3

mirror server hosted at Truenetwork, Russian Federation.