subobj <- ifelse(exists("subobj"), subobj, FALSE) # create a subobj letter (1a) newobj <- ifelse(exists("newobj"), newobj, TRUE) # force a new object number (1b-> 2a and 1 -> 2) cnt_chapt_content<-NMFSReports::auto_counter(cnt_chapt_content) cnt_tables <- ifelse(newobj, cnt_tables+1, cnt_tables) font0 <- ifelse(exists("font0"), font0, "Arial Narrow") if (subobj) { # if it contains letters if (newobj) { cnt_tables_sub <- cnt_tables_sub0 <- letters[1] } else { # cnt_tables_sub <- letters[which(letters == # gsub("[^a-zA-Z]", "", list_tables[length(list_tables)][[1]]$number))+1] cnt_tables_sub <- cnt_tables_sub0 <- letters[which(letters == cnt_tables_sub0)+1] } } else { cnt_tables_sub <- "" } if (!(exists("table_raw"))) { table_raw <- NULL } else if (!(exists("table_print"))) { table_print <- NULL } if (!exists("cnt_pre")) { cnt_pre <- "" # } else { # cnt_pre <- paste0(cnt_pre, " ") } # Systematically save your table with this function list_tables<-NMFSReports::save_tables( table_raw = table_raw, table_print = table_print, list_tables = list_tables, header = ifelse(exists("header", mode = "character"), header, ""), footnotes = unlist(ifelse(exists("footnotes", mode = "character"), list(footnotes), "")), alttext = ifelse(exists("alttext", mode = "character"), alttext, header), filename0 = ifelse(exists("filename0", mode = "character"), filename0, nickname), nickname = ifelse(exists("nickname", mode = "character"), nickname, filename0), filename_desc = ifelse(exists("filename_desc", mode = "character"), filename_desc, nickname), cnt_chapt_content = ifelse(exists("cnt_chapt_content", mode = "character"), cnt_chapt_content, "001"), cnt = paste0(cnt_pre, cnt_tables, cnt_tables_sub), path = dir_out_tables)
r ifelse(((indesign_flowin %in% TRUE) | (class(table_print) %in% "flextable")), "", paste0("#### ", list_tables[[length(list_tables)]]$caption))
#, fig.cap=ifelse(indesign_flowin %in% FALSE & (list_tables[[length(list_tables)]]$alttext)!="", list_tables[[length(list_tables)]]$alttext, ""), fig.align='center' # Print or Don't Print Plot in Text # You don't want to print this in the document if this text will be flowed into InDesign. # However, sometimes its nice to see everything all together, so this variable is # something you might like to toggle on and off. # Hense, FALSE = print here, TRUE = don't print here, just make the .pdf (coded above) if (indesign_flowin %in% FALSE) { # print table in text if (exists("table_print")) { if ((class(table_print) %in% c("data.frame", "matrix"))) { list_tables[[length(list_tables)]]$print %>% knitr::kable(row.names = FALSE, booktabs = TRUE) } else if (class(table_print) %in% c("flextable")) { href <- gsub(pattern = "\\}", replacement = "", gsub(pattern = "\\{", replacement = "", x = unlist(regmatches(list_tables[[length(list_tables)]]$header, gregexpr("(\\{.*?\\})", list_tables[[length(list_tables)]]$header))))) # list_tables[[length(list_tables)]]$print <- # list_tables[[length(list_tables)]]$print %>% # # I didn't like how the set_caption looked/operated, so I integrated the caption directly into the table with my table numbering system # flextable::set_caption( # x = ., # caption = as_paragraph("Table ", # flextable::hyperlink_text( # x = list_tables[[length(list_tables)]]$number, # url = href, # props = officer::fp_text(color = "blue", font.family = font0) ), # ". -- ", # list_tables[[length(list_tables)]]$alttext # )) header0 <-# paste0('c("', list_tables[[length(list_tables)]]$alttext #, '")' ) # header0 <- strsplit(x = header0, split = "**", fixed = TRUE) # header0 <- strsplit(x = header0, split = "*", fixed = TRUE) header00 <- header0 header00 <- unlist(strsplit(x = header00, split = "**", fixed = TRUE)) header00 <- unlist(strsplit(x = header00, split = "*", fixed = TRUE)) header00 <- header00[header00 != ""] for (zz in 1:length(header00)) { if (grepl(pattern = paste0("**", header00[zz], "**"), x = header0, fixed = TRUE)) { header00[zz] <- #eval(parse(text = paste0( paste0("flextable::as_b('", header00[zz], "')")#) ) ) } else if (grepl(pattern = paste0("*", header00[zz], "*"), x = header0, fixed = TRUE)) { header00[zz] <- #eval(parse(text = paste0( paste0("flextable::as_i('", header00[zz], "')")#) ) ) } else { header00[zz] <- paste0("'", header00[zz], "'") } } header00 <- paste0('list("Table ", flextable::hyperlink_text(x = list_tables[[length(list_tables)]]$number, url = href, props = officer::fp_text(color = "blue", font.family = font0) ), ". -- ",', paste0(header00, collapse = ", "), ")") # eval(parse(text = header00)) # # bold # header00 <- gsub(pattern = '** ', replacement = ')", "', fixed = TRUE, # x = gsub(pattern = " **", replacement = '", as_b(', # x = header00, fixed = TRUE)) # # # italics # header00 <- gsub(pattern = "*)", replacement = '")", "', fixed = TRUE, # x = gsub(pattern = "(*", replacement = '", as_i("', # x = header00, fixed = TRUE)) # exp0 <- header00 # exp00 <- list() # for (zz in 1:length(header0)) { # if (grepl(pattern = "as_i(", x = exp0[zz], fixed = TRUE) | grepl(pattern = "as_b(", x = exp0[zz], fixed = TRUE)) { # exp0[zz] <- eval(parse(text = exp0[zz])) # } # } # # header00 <- unlist(list("Table ", # flextable::hyperlink_text( # x = list_tables[[length(list_tables)]]$number, # url = href, # props = officer::fp_text(color = "blue", font.family = font0) ), # ". -- ", # header0 # # unlist(exp0) # )) # # eval(parse(text = header0)) # list("Table ", # flextable::hyperlink_text( # x = list_tables[[length(list_tables)]]$number, # url = href, # props = officer::fp_text(color = "blue", font.family = font0) ), # ". -- ", # header0)) list_tables[[length(list_tables)]]$print <- list_tables[[length(list_tables)]]$print %>% flextable::add_header_lines( x = ., top = TRUE, values = "") %>% flextable::compose( x = ., # j = "dummy", part = "header", i = 1, # top = TRUE, value = flextable::as_paragraph( list_values = eval(parse(text = header00))) ) %>% flextable::hline_top(x = ., part = "header", border = officer::fp_border(color="white", width = 3)) %>% flextable::align(x = ., i = 1, part = "header", align = "left") %>% flextable::bold(x = ., i = 1, part = "header", bold = FALSE) %>% flextable::font(x = ., i = 1, part = "header", fontname = font0) #%>% # flextable::style(x = ., i = 1, part = "header", ) list_tables[[length(list_tables)]]$print } else { # list_tables[[length(list_tables)]]$print aaa <- list_tables[[length(list_tables)]]$print if (names(list_tables[[length(list_tables)]]$print)[1]=="header") { list_tables[[length(list_tables)]]$print } else { for (iii in 1:length(aaa)) { print(list_tables[[length(list_tables)]]$print[[iii]]) } } } } else { if ((class(table_print) %in% c("data.frame", "matrix"))) { list_tables[[length(list_tables)]]$raw %>% knitr::kable(row.names = FALSE, booktabs = TRUE) } else { list_tables[[length(list_tables)]]$raw } } } else if (indesign_flowin %in% TRUE) { # for reports that need to be flowed into InDesign Title0 <- ifelse(indesign_flowin %in% TRUE, "", list_tables[[length(list_tables)]]$caption) rmarkdown::render(system.file("rmd/_TableFigureHeader.Rmd", package = "NMFSReports"), quiet = TRUE, output_dir = dir_chapters, output_file = paste0(filename00, cnt_chapt_content,"_Title.docx")) } # make sure you dont mistakenly name other files with these names remove_who <- c() remove_who0 <- c("header", "footnotes", "subobj", "newobj", #"nickname", "filename_desc", "alttext", "table_raw", "table_print", "cnt_pre") for (i in 1:length(remove_who0)){ if(exists(remove_who0[i]) & !exists(remove_who0[i], mode = "function")){ remove_who <- c(remove_who, remove_who0[i]) } } remove(list = remove_who)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.