Skip to content

Commit 5f552c9

Browse files
author
hornik
committed
Make before/after work as documented.
git-svn-id: https://svn.r-project.org/R/trunk@88480 00db46b3-68df-0310-9c12-caf00c1e9a41
1 parent 0818469 commit 5f552c9

File tree

1 file changed

+37
-11
lines changed

1 file changed

+37
-11
lines changed

src/library/utils/R/citation.R

Lines changed: 37 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2009,26 +2009,52 @@ local({
20092009
year <- year[-suppressauth]
20102010
}
20112011
}
2012-
if (!is.null(before))
2013-
before <- paste0(before, " ")
2014-
if (!is.null(after))
2015-
after <- paste0(" ", after)
2012+
2013+
n <- length(year)
2014+
before <- if(!any(ind <- nzchar(before)))
2015+
rep_len("", n)
2016+
else {
2017+
before[ind] <- paste0(before[ind], " ")
2018+
if(length(before) == 1L)
2019+
c(before, rep_len("", n - 1L))
2020+
else
2021+
rep_len(before, n)
2022+
}
2023+
after <- if(!any(ind <- nzchar(after)))
2024+
rep_len("", n)
2025+
else {
2026+
after[ind] <- paste0(", ", after[ind])
2027+
if(length(after) == 1L)
2028+
c(rep_len("", n - 1L), after)
2029+
else
2030+
rep_len(after, n)
2031+
}
2032+
citesep <- paste0(bibpunct[3L], " ")
20162033
if (textual) {
2017-
result <- paste0(bibpunct[1L], before, year, after, bibpunct[2L])
2034+
result <- paste0(bibpunct[1L],
2035+
before, year, after,
2036+
bibpunct[2L])
20182037
if (mode == "super")
20192038
result <- paste0(auth, "^{", result, "}")
20202039
else
20212040
result <- paste0(auth, " ", result)
2022-
result <- paste(result, collapse = paste0(bibpunct[3L], " "))
2041+
result <- paste(result, collapse = citesep)
20232042
} else if (numeric) {
2024-
result <- paste(year, collapse=paste0(bibpunct[3L], " "))
2025-
result <- paste0(bibpunct[1L], before, result, after, bibpunct[2L])
2043+
result <- paste0(bibpunct[1L],
2044+
paste0(before,
2045+
year,
2046+
after,
2047+
collapse = citesep),
2048+
bibpunct[2L])
20262049
if (mode == "super")
20272050
result <- paste0("^{", result, "}")
20282051
} else {
2029-
result <- paste0(auth, bibpunct[5L], " ", year)
2030-
result <- paste(result, collapse = paste0(bibpunct[3L], " "))
2031-
result <- paste0(bibpunct[1L], before, result, after, bibpunct[2L])
2052+
result <- paste0(bibpunct[1L],
2053+
paste0(before,
2054+
auth, bibpunct[5L], " ", year,
2055+
after,
2056+
collapse = citesep),
2057+
bibpunct[2L])
20322058
}
20332059
result
20342060
}

0 commit comments

Comments
 (0)