Class that generates author lists and other author-related information as character strings.
Super classes
plume::NameHandler
-> plume::PlumeHandler
-> plume::StatusSetter
-> plume::StatusSetterPlume
-> Plume
Methods
Method new()
Create a Plume
object.
Usage
Plume$new(
data,
names = NULL,
symbols = NULL,
roles = credit_roles(),
credit_roles = FALSE,
initials_given_name = FALSE,
family_name_first = FALSE,
interword_spacing = TRUE,
orcid_icon = orcid(),
by = NULL
)
Arguments
data
A data frame containing author-related data.
names
A vector of key-value pairs specifying custom names to use, where keys are default names and values their respective replacements.
symbols
A list of key-value pairs defining the symbols to use to link authors and their metadata. Valid keys are
"affiliation"
,"corresponding"
and"note"
. By default, uses digits for affiliations,"*"
for corresponding authors and"†"
,"‡"
,"§"
,"¶"
,"#"
,"**"
for notes. Set a key toNULL
to use numerals.roles
A vector of key-value pairs defining roles where keys identify role 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_name
Should the initials of given names be used?
family_name_first
Should literal names show family names first?
interword_spacing
Should literal names use spacing? This parameter is only useful for people writing in languages that don't separate words with a space such as Chinese or Japanese.
orcid_icon
The ORCID icon, as defined by
orcid()
, to be used.by
A character string defining the default variable used to assign specific metadata to authors in all
set_*()
methods. By default, uses authors' id.
Method get_author_list()
Get author list.
Details
suffix
lets you choose which symbol categories to suffix authors with,
using the following keys:
a
for affiliationsc
for corresponding authorsn
for noteso
for ORCIDs
The order of the keys determines the order of symbol types. E.g. "ac"
shows affiliation ids first and corresponding author mark second, when
"ca"
shows corresponding author mark first and affiliation ids second.
Use ","
to separate and "^"
to superscript symbols.
Use NULL
or an empty string to list author names without suffixes.
Method get_affiliations()
Get authors' affiliations.
Method get_notes()
Get authors' notes.
Method get_orcids()
Get authors' ORCID.
Method get_contact_details()
Get the contact details of corresponding authors.
Usage
Plume$get_contact_details(
format = "{details} ({name})",
email = TRUE,
phone = FALSE,
fax = FALSE,
url = FALSE,
sep = ", "
)
Arguments
format
A
glue
specification that uses the variablesname
and/ordetails
.email, phone, fax, url
Arguments equal to
TRUE
are evaluated and passed to the variabledetails
. By default, onlyemail
is set toTRUE
.sep
Separator used to separate
details
items.
Method get_contributions()
Get authors' contributions.
Usage
Plume$get_contributions(
roles_first = TRUE,
by_author = FALSE,
alphabetical_order = FALSE,
dotted_initials = TRUE,
literal_names = FALSE,
divider = ": ",
sep = ", ",
sep_last = " and "
)
Arguments
roles_first
If
TRUE
, displays roles first and authors second. IfFALSE
, roles follow authors.by_author
Should roles be grouped by author?
alphabetical_order
Should authors be listed in alphabetical order? By default, lists authors in the order they are defined in the data.
dotted_initials
Should initials be dot-separated?
literal_names
Should literal names be used?
divider
Separator used to separate roles from authors.
sep
Separator used to separate roles or authors.
sep_last
Separator used to separate the last two roles or authors if more than one item is associated to a role or author.
Examples
# Create a Plume instance
aut <- Plume$new(encyclopedists)
# Set the desired corresponding authors, using
# authors' id by default
aut$set_corresponding_authors(1, 4)
# Getting authors suffixed by affiliation ids
# and the corresponding author mark:
aut$get_author_list("^a,c^")
#> Denis Diderot^1,\*^
#> Jean-Jacques Rousseau^2^
#> François-Marie Arouet^2^
#> Jean Le Rond d'Alembert^1,3,\*^
# Or maybe with the corresponding author mark
# coming before affiliation ids:
aut$get_author_list("^c,a^")
#> Denis Diderot^\*,1^
#> Jean-Jacques Rousseau^2^
#> François-Marie Arouet^2^
#> Jean Le Rond d'Alembert^\*,1,3^
# Getting more author metadata
aut$get_affiliations()
#> ^1^Université de Paris
#> ^2^Lycée Louis-le-Grand
#> ^3^Collège des Quatre-Nations
aut$get_contributions()
#> Supervision: D.D. and J.L.R.d'A.
#> Writing - original draft: D.D., J.-J.R., F.-M.A. and J.L.R.d'A.
# Use `symbols` to change the default symbols.
# E.g. to use letters as affiliation ids:
aut <- Plume$new(
encyclopedists,
symbols = list(affiliation = letters)
)
aut$get_author_list("^a^")
#> Denis Diderot^a^
#> Jean-Jacques Rousseau^b^
#> François-Marie Arouet^b^
#> Jean Le Rond d'Alembert^a,c^
aut$get_affiliations()
#> ^a^Université de Paris
#> ^b^Lycée Louis-le-Grand
#> ^c^Collège des Quatre-Nations
# It is also possible to output contributions in the
# active voice
aut <- Plume$new(encyclopedists, roles = c(
supervision = "supervised the project",
writing = "contributed to the Encyclopédie"
))
aut$get_contributions(roles_first = FALSE, divider = " ")
#> D.D. and J.L.R.d'A. supervised the project
#> D.D., J.-J.R., F.-M.A. and J.L.R.d'A. contributed to the Encyclopédie