Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added full MARC role support, using the specification at http://www.loc.gov/marc/relators/relaterm.html #662

Merged
merged 4 commits into from Oct 2, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
3 changes: 3 additions & 0 deletions NEWS.md
Expand Up @@ -52,6 +52,9 @@

## Minor improvements and bug fixes

* `person` now supports all [MARC Relator](http://www.loc.gov/marc/relators/relaterm.html)
role codes (#662, @publicus).

* Empty `.Rbuildignore` now handled correctly (#576).

* Tags (including `@alias`) are now de-duplicated and consistently sorted.
Expand Down
264 changes: 261 additions & 3 deletions R/object-package.R
Expand Up @@ -71,16 +71,274 @@ author_type <- function(x) {
}

role_lookup <- c(
"abr" = "abridger",
"act" = "actor",
"adp" = "adapter",
"rcp" = "addressee",
"anl" = "analyst",
"anm" = "animator",
"ann" = "annotator",
"apl" = "appellant",
"ape" = "appellee",
"app" = "applicant",
"arc" = "architect",
"arr" = "arranger",
"acp" = "art copyist",
"adi" = "art director",
"art" = "artist",
"ard" = "artistic director",
"asg" = "assignee",
"asn" = "associated name",
"att" = "attributed name",
"auc" = "auctioneer",
"aut" = "author",
"aqt" = "author in quotations or text abstracts",
"aft" = "author of afterword, colophon, etc.",
"aud" = "author of dialog",
"aui" = "author of introduction, etc.",
"ato" = "autographer",
"ant" = "bibliographic antecedent",
"bnd" = "binder",
"bdd" = "binding designer",
"blw" = "blurb writer",
"bkd" = "book designer",
"bkp" = "book producer",
"bjd" = "bookjacket designer",
"bpd" = "bookplate designer",
"bsl" = "bookseller",
"brl" = "braille embosser",
"brd" = "broadcaster",
"cll" = "calligrapher",
"ctg" = "cartographer",
"cas" = "caster",
"cns" = "censor",
"chr" = "choreographer",
"cng" = "cinematographer",
"cli" = "client",
"cor" = "collection registrar",
"col" = "collector",
"clt" = "collotyper",
"clr" = "colorist",
"cmm" = "commentator",
"cwt" = "commentator for written text",
"com" = "compiler",
"cpl" = "complainant",
"cpt" = "complainant-appellant",
"cpe" = "complainant-appellee",
"cmp" = "composer",
"cmt" = "compositor",
"ccp" = "conceptor",
"cnd" = "conductor",
"con" = "conservator",
"csl" = "consultant",
"csp" = "consultant to a project",
"cos" = "contestant",
"cot" = "contestant-appellant",
"coe" = "contestant-appellee",
"cts" = "contestee",
"ctt" = "contestee-appellant",
"cte" = "contestee-appellee",
"ctr" = "contractor",
"ctb" = "contributor",
"cpc" = "copyright claimant",
"cph" = "copyright holder",
"cre" = "maintainer",
"ctr" = "contractor",
"crr" = "corrector",
"crp" = "correspondent",
"cst" = "costume designer",
"cou" = "court governed",
"crt" = "court reporter",
"cov" = "cover designer",
"cre" = "creator",
"cur" = "curator",
"dnc" = "dancer",
"dtc" = "data contributor",
"dtm" = "data manager",
"dte" = "dedicatee",
"dto" = "dedicator",
"dfd" = "defendant",
"dft" = "defendant-appellant",
"dfe" = "defendant-appellee",
"dgg" = "degree granting institution",
"dgs" = "degree supervisor",
"dln" = "delineator",
"dpc" = "depicted",
"dpt" = "depositor",
"dsr" = "designer",
"drt" = "director",
"dis" = "dissertant",
"dbp" = "distribution place",
"dst" = "distributor",
"dnr" = "donor",
"drm" = "draftsman",
"dub" = "dubious author",
"edt" = "editor",
"edc" = "editor of compilation",
"edm" = "editor of moving image work",
"elg" = "electrician",
"elt" = "electrotyper",
"enj" = "enacting jurisdiction",
"eng" = "engineer",
"egr" = "engraver",
"etr" = "etcher",
"evp" = "event place",
"exp" = "expert",
"fac" = "facsimilist",
"fld" = "field director",
"fmd" = "film director",
"fds" = "film distributor",
"flm" = "film editor",
"fmp" = "film producer",
"fmk" = "filmmaker",
"fpy" = "first party",
"frg" = "forger",
"fmo" = "former owner",
"fnd" = "funder",
"gis" = "geographic information specialist",
"hnr" = "honoree",
"hst" = "host",
"his" = "host institution",
"ilu" = "illuminator",
"ill" = "illustrator",
"ins" = "inscriber",
"itr" = "instrumentalist",
"ive" = "interviewee",
"ivr" = "interviewer",
"inv" = "inventor",
"isb" = "issuing body",
"jud" = "judge",
"jug" = "jurisdiction governed",
"lbr" = "laboratory",
"ldr" = "laboratory director",
"lsa" = "landscape architect",
"led" = "lead",
"len" = "lender",
"lil" = "libelant",
"lit" = "libelant-appellant",
"lie" = "libelant-appellee",
"lel" = "libelee",
"let" = "libelee-appellant",
"lee" = "libelee-appellee",
"lbt" = "librettist",
"lse" = "licensee",
"lso" = "licensor",
"lgd" = "lighting designer",
"ltg" = "lithographer",
"lyr" = "lyricist",
"mfp" = "manufacture place",
"mfr" = "manufacturer",
"mrb" = "marbler",
"mrk" = "markup editor",
"med" = "medium",
"mdc" = "metadata contact",
"mte" = "metal-engraver",
"mtk" = "minute taker",
"mod" = "moderator",
"mon" = "monitor",
"mcp" = "music copyist",
"msd" = "musical director",
"mus" = "musician",
"nrt" = "narrator",
"osp" = "onscreen presenter",
"opn" = "opponent",
"orm" = "organizer",
"org" = "originator",
"oth" = "other",
"own" = "owner",
"pan" = "panelist",
"ppm" = "papermaker",
"pta" = "patent applicant",
"pth" = "patent holder",
"pat" = "patron",
"prf" = "performer",
"pma" = "permitting agency",
"pht" = "photographer",
"ptf" = "plaintiff",
"ptt" = "plaintiff-appellant",
"pte" = "plaintiff-appellee",
"plt" = "platemaker",
"pra" = "praeses",
"pre" = "presenter",
"prt" = "printer",
"pop" = "printer of plates",
"prm" = "printmaker",
"prc" = "process contact",
"pro" = "producer",
"prn" = "production company",
"prs" = "production designer",
"pmn" = "production manager",
"prd" = "production personnel",
"prp" = "production place",
"prg" = "programmer",
"pdr" = "project director",
"pfr" = "proofreader",
"prv" = "provider",
"pup" = "publication place",
"pbl" = "publisher",
"pbd" = "publishing director",
"ppt" = "puppeteer",
"rdd" = "radio director",
"rpc" = "radio producer",
"rce" = "recording engineer",
"rcd" = "recordist",
"red" = "redaktor",
"ren" = "renderer",
"rpt" = "reporter",
"rps" = "repository",
"rth" = "research team head",
"rtm" = "research team member",
"res" = "researcher",
"rsp" = "respondent",
"rst" = "respondent-appellant",
"rse" = "respondent-appellee",
"rpy" = "responsible party",
"rsg" = "restager",
"rsr" = "restorationist",
"rev" = "reviewer",
"rbr" = "rubricator",
"sce" = "scenarist",
"sad" = "scientific advisor",
"aus" = "screenwriter",
"scr" = "scribe",
"scl" = "sculptor",
"spy" = "second party",
"sec" = "secretary",
"sll" = "seller",
"std" = "set designer",
"stg" = "setting",
"sgn" = "signer",
"sng" = "singer",
"sds" = "sound designer",
"spk" = "speaker",
"spn" = "sponsor",
"sgd" = "stage director",
"stm" = "stage manager",
"stn" = "standards body",
"str" = "stereotyper",
"stl" = "storyteller",
"sht" = "supporting host",
"srv" = "surveyor",
"tch" = "teacher",
"tcd" = "technical director",
"tld" = "television director",
"tlp" = "television producer",
"ths" = "thesis advisor",
"trl" = "translator"
"trc" = "transcriber",
"trl" = "translator",
"tyd" = "type designer",
"tyg" = "typographer",
"uvp" = "university place",
"vdg" = "videographer",
"vac" = "voice actor",
"wit" = "witness",
"wde" = "wood engraver",
"wdc" = "woodcutter",
"wam" = "writer of accompanying material",
"wac" = "writer of added commentary",
"wal" = "writer of added lyrics",
"wat" = "writer of added text",
"win" = "writer of introduction",
"wpr" = "writer of preface",
"wst" = "writer of supplementary textual content"
)

itemize <- function(header, x) {
Expand Down