blob: b7d7a4759b7d08b7c4413a3222b3a23300b0fae3 [file] [log] [blame]
Hao Zhuc5415632017-02-21 17:16:13 -05001# These functions are imported from knitr/highr as `:::` is not recommended by
2# CRAN
3
Hao Zhuf7994dd2017-02-27 16:58:42 -05004# escape special LaTeX characters
5# @author Yihui Xie
Hao Zhuc5415632017-02-21 17:16:13 -05006escape_latex <- function(x, newlines = FALSE, spaces = FALSE) {
7 x = gsub('\\\\', '\\\\textbackslash', x)
8 x = gsub('([#$%&_{}])', '\\\\\\1', x)
9 x = gsub('\\\\textbackslash', '\\\\textbackslash{}', x)
10 x = gsub('~', '\\\\textasciitilde{}', x)
11 x = gsub('\\^', '\\\\textasciicircum{}', x)
12 if (newlines) x = gsub('(?<!\n)\n(?!\n)', '\\\\\\\\', x, perl = TRUE)
13 if (spaces) x = gsub(' ', '\\\\ \\\\ ', x)
14 x
15}
16
Hao Zhud4630872018-03-26 11:26:36 -040017escape_latex2 <- function(x) {
18 x = gsub('\\\\', '\\\\\\\\textbackslash', x)
19 x = gsub('([#$%&_{}])', '\\\\\\\\\\1', x)
20 x = gsub('\\\\textbackslash', '\\\\\\\\textbackslash{}', x)
21 x = gsub('~', '\\\\\\\\textasciitilde{}', x)
22 x = gsub('\\^', '\\\\\\\\textasciicircum{}', x)
23 x
24}
25
Hao Zhuf7994dd2017-02-27 16:58:42 -050026# escape special HTML characters
27# @author Yihui Xie
Hao Zhu5e4dd502018-04-05 12:01:58 -040028# Added conversion
Hao Zhuc5415632017-02-21 17:16:13 -050029escape_html <- function(x) {
30 x = gsub('&', '&amp;', x)
31 x = gsub('<', '&lt;', x)
32 x = gsub('>', '&gt;', x)
33 x = gsub('"', '&quot;', x)
Hao Zhu5e4dd502018-04-05 12:01:58 -040034 x = gsub('\n', '<br />', x)
Hao Zhuc5415632017-02-21 17:16:13 -050035 x
36}