PlumeQuarto allows you to add or update author data in YAML files or the
YAML header of Quarto documents. The generated YAML complies with Quarto's
author and affiliations schemas. Use this class when working with journal
templates.
Super classes
plume::NameHandler -> plume::PlumeHandler -> plume::StatusSetter -> plume::StatusSetterPlumeQuarto -> PlumeQuarto
Methods
Inherited methods
plume::PlumeHandler$data()plume::PlumeHandler$get_plume()plume::PlumeHandler$get_roles()plume::PlumeHandler$print()plume::PlumeHandler$roles()plume::StatusSetter$set_corresponding_authors()plume::StatusSetterPlumeQuarto$set_cofirst_authors()plume::StatusSetterPlumeQuarto$set_deceased()plume::StatusSetterPlumeQuarto$set_equal_contributor()
Method new()
Create a PlumeQuarto object.
Usage
PlumeQuarto$new(
data,
file,
names = NULL,
roles = credit_roles(),
credit_roles = FALSE,
initials_given_name = FALSE,
dotted_initials = TRUE,
by = NULL
)Arguments
dataA data frame containing author data.
fileA
.qmd,.ymlor.yamlfile to insert author data into.namesA vector of key-value pairs specifying custom names to use, where keys are default names and values their respective replacements.
rolesA vector of key-value pairs defining roles where keys identify columns and values describe the actual roles to use.
credit_roles-
It is now recommended to use
roles = credit_roles()to use the Contributor Roles Taxonomy. initials_given_nameShould the initials of given names be used?
dotted_initialsShould initials be dot-separated?
byA character string defining the default variable used to assign specific metadata to authors in all
set_*()methods. By default, uses authors' id.
Examples
# Create a simple temporary YAML file containing a title
tmp_file <- tempfile(fileext = ".yml")
readr::write_lines("title: Encyclopédie", tmp_file)
# View the temporary file
cat(readr::read_file(tmp_file))
#> title: Encyclopédie
# Create a PlumeQuarto instance using the temporary file
# we've just created
aut <- PlumeQuarto$new(
encyclopedists,
file = tmp_file
)
# And add author data to the YAML file
aut$to_yaml()
cat(readr::read_file(tmp_file))
#> title: Encyclopédie
#> author:
#> - id: aut1
#> name:
#> given: Denis
#> family: Diderot
#> email: diderot@encyclopediste.fr
#> phone: '+1234'
#> orcid: 0000-0000-0000-0001
#> note: born in 1713 in Langres
#> roles:
#> - Supervision
#> - Writing - original draft
#> affiliations:
#> - ref: aff1
#> - id: aut2
#> name:
#> given: Jean-Jacques
#> family: Rousseau
#> email: rousseau@encyclopediste.fr
#> orcid: 0000-0000-0000-0002
#> roles:
#> - Writing - original draft
#> affiliations:
#> - ref: aff2
#> - id: aut3
#> name:
#> given: François-Marie
#> family: Arouet
#> email: arouet@encyclopediste.fr
#> note: also known as Voltaire
#> roles:
#> - Writing - original draft
#> affiliations:
#> - ref: aff2
#> - id: aut4
#> name:
#> given: Jean
#> family: Le Rond d'Alembert
#> email: alembert@encyclopediste.fr
#> orcid: 0000-0000-0000-0003
#> note: born in 1717 in Paris
#> roles:
#> - Supervision
#> - Writing - original draft
#> affiliations:
#> - ref: aff1
#> - ref: aff3
#> affiliations:
#> - id: aff1
#> name: Université de Paris
#> - id: aff2
#> name: Lycée Louis-le-Grand
#> - id: aff3
#> name: Collège des Quatre-Nations
# Running the method again with new data updates the YAML
# accordingly
aut <- PlumeQuarto$new(
dplyr::slice(encyclopedists, 2),
file = tmp_file
)
aut$to_yaml()
cat(readr::read_file(tmp_file))
#> title: Encyclopédie
#> author:
#> - name:
#> given: Jean-Jacques
#> family: Rousseau
#> email: rousseau@encyclopediste.fr
#> orcid: 0000-0000-0000-0002
#> roles:
#> - Writing - original draft
#> affiliations:
#> - ref: aff1
#> affiliations:
#> - id: aff1
#> name: Lycée Louis-le-Grand
# Clean up
unlink(tmp_file)