Author Metadata Management and Manuscript Front Matter.
authordown

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
- Title page generation with affiliation numbering and correspondence notes
- Author metadata validation and normalization
- Acknowledgements, conflict of interest, and contribution sections
- Templates to standardize author data entry
- Shiny app for quick preview and export
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)
Recommended workflow for online tables
If you manage authors in an online table, export it locally and then use authordown_read_local():
- Export to CSV or XLSX (or TSV).
- 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
- "Missing required column" means your file does not include required fields such as
FirstNameandLastName. - "Corresponding authors must have an Email" means a row has
Corresponding = TRUEbutEmailis blank. - "ORCID values must use the 0000-0000-0000-0000 format" indicates a formatting error.
License
AGPL-3