Nothing
# create testing example
svg(tempfile("tmp.svg"))
font <- 2:3
format <- matrix(c("", "i", "b", "ib"), nrow = 4, ncol = 2, byrow = FALSE)
size <- matrix(9:9, nrow = 4, ncol = 2, byrow = FALSE)
indent_first <- matrix(c(0, 80), nrow = 4, ncol = 2, byrow = FALSE)
indent_left <- matrix(c(0, 300), nrow = 4, ncol = 2, byrow = FALSE)
tbl1 <- matrix("RStudio is an integrated development environment for R, a programming language for statistical computing and graphics.", nrow = 2, ncol = 2)
tbl2 <- matrix("RStudio", nrow = 2, ncol = 2)
tbl <- rbind(tbl1, tbl2)
tbl <- data.frame(tbl) |>
rtf_page(orientation = "portrait") |>
rtf_title(title = c(
"title here",
"title 2 here",
"here is a very very very very very long title 3 that should be broken to two lines if calculated correctly"
)) |>
rtf_subline(text = c(
"subline 1",
"this is a very long subline that should be broken to 2 lines if calculated correctly by rtf_nrow function"
)) |>
rtf_colheader(
colheader = "a long column 1 header to test line break|col2",
col_rel_width = c(1, 5)
) |>
rtf_footnote(footnote = c(
"footer1",
"this is a very very very very very very very long footer2 that should be broken to 2 lines if calculated correctly by rtf_nrow function"
)) |>
rtf_source(source = c("source here", "source 2")) |>
rtf_body(
text_justification = "l",
col_rel_width = c(1, 5),
text_font = font,
text_font_size = size,
text_format = format,
text_indent_first = indent_first,
text_indent_left = indent_left
)
# tbl |> rtf_encode() |> write_rtf("tmp.rtf")
# rtf_nrow
tbl1 <- rtf_nrow(tbl)
bodys <- attr(tbl1, "rtf_nrow")
titles <- attr(tbl1, "rtf_nrow_meta")$title
sublines <- attr(tbl1, "rtf_nrow_meta")$subline
headers <- attr(tbl1, "rtf_nrow_meta")$col_header
footers <- attr(tbl1, "rtf_nrow_meta")$footnote
sources <- attr(tbl1, "rtf_nrow_meta")$source
# nrow_paragraph
nrowpara_title <- nrow_paragraph(attr(tbl, "rtf_title"), size = 6.25, padding = 0)
nrowpara_subline <- nrow_paragraph(attr(tbl, "rtf_subline"), size = 6.25, padding = 0)
nrowpara_footer <- nrow_paragraph(attr(tbl, "rtf_footnote"), size = 6.25, padding = 0)
nrowpara_source <- nrow_paragraph(attr(tbl, "rtf_source"), size = 6.25, padding = 0)
# nrow_table
nrowtable <- nrow_table(tbl, size = 6.25)
nrowtablefooter <- nrow_table(attr(tbl, "rtf_footnote"), size = 6.25)
nrowtablesource <- nrow_table(attr(tbl, "rtf_source"), size = 6.25)
# rnow_table cell size calculation
pad <- (attr(tbl, "text_indent_left") + attr(tbl, "text_indent_right")) / 1440 + 0.2
rel_width <- attr(tbl, "col_rel_width")
width <- 6.25 * rel_width / sum(rel_width)
cellsize <- matrix(width, nrow = nrow(tbl), ncol = ncol(tbl), byrow = TRUE) - pad
# rtf_nline_vector example
nline_vector <- rtf_nline_vector(
text = c("title 1", "this is a sentence for title 2", NA),
strwidth = c(
strwidth("title 1", units = "inches"),
strwidth("this is a sentence for title 2", units = "inches")
),
size = 0.5
)
# rtf_nline_matrix example
mtx <- matrix("this is a sentence for title 2", nrow = 2, ncol = 2)
mtxstrwidth <- matrix(2, nrow = 2, ncol = 2)
mtxsize <- matrix(5:8 / 10, nrow = 2)
nline_matrix <- rtf_nline_matrix(text = mtx, strwidth = mtxstrwidth, size = mtxsize)
# pageby example
iris[1:2, 1] <- "a long string to test line breaks"
irs <- iris[1:55, ] |>
rtf_title(title = "pageby example") |>
rtf_body(page_by = "Species", new_page = TRUE)
# irs |> rtf_encode() |> write_rtf("tmp.rtf")
irs1 <- rtf_nrow(irs)
irsbodys <- attr(irs1, "rtf_nrow")
irspagebybodys <- attr(attr(irs1, "rtf_pageby_table"), "rtf_nrow")
irspagebyrows <- attr(attr(irs1, "rtf_pageby_row")$Species, "rtf_nrow")
test_that("test if rtf_nline_vector() return to correct numbers", {
# line for first vector
expect_equal(nline_vector[1], 1)
# lines for second vector
expect_equal(nline_vector[2], 6)
})
test_that("test if rtf_nline_matrix() return to correct numbers", {
# maximum lines for first row
expect_equal(nline_matrix[1], 6)
# maximum lines for second row
expect_equal(nline_matrix[2], 5)
})
test_that("test if nrow_paragraph() return to correct number of titles when there are 3 title lines", {
# title lines through rtf_nrow
expect_equal(titles, 4)
# subline lines through nrow_paragraph
expect_equal(sum(nrowpara_title), 4)
})
test_that("test if nrow_paragraph() return to correct number of sublines", {
# subline lines through rtf_nrow
expect_equal(sublines, 3)
# subline lines through nrow_paragraph
expect_equal(sum(nrowpara_subline), 3)
})
test_that("test for nrow_table() when as_table attr is FALSE", {
expect_equal(sum(nrowpara_source), sources)
})
test_that("test for nrow_table() when as_table attr is TRUE", {
expect_equal(sum(nrowtablefooter), footers)
})
test_that("test for nrow_table() if actual column size are calculated correctly", {
# first cell size calculated within nrow_table
expect_equal(round(cellsize[1, 1], 5), round(6.25 * 1 / 6 - 0.2, 5))
if (interactive()) {
# first cell returned lines through nrow_table
expect_true(nrowtable[1] >= 10)
# first cell returned lines through rtf_nrow
expect_true(bodys[1] >= 10)
}
})
test_that("test for rtf-nrow() if 'rtf-nrow' attributes are added correctly for pageby table", {
expect_equal(irspagebybodys[1], 2)
})
test_that("test for rtf-nrow() if 'rtf-nrow' attributes are added correctly for pageby_row table", {
expect_equal(irspagebyrows[1], 1)
})
dev.off()
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.