# Generated by roxygen2: do not edit by hand

export("%>%")
export(add_footnote)
export(add_header_above)
export(add_indent)
export(cell_spec)
export(collapse_rows)
export(column_spec)
export(group_rows)
export(kableExtra_latex_packages)
export(kable_as_image)
export(kable_styling)
export(landscape)
export(magic_mirror)
export(rmd_format)
export(row_spec)
export(scroll_box)
export(spec_angle)
export(spec_color)
export(spec_font_size)
export(spec_popover)
export(spec_tooltip)
export(text_spec)
export(usepackage_latex)
importFrom(grDevices,col2rgb)
importFrom(knitr,include_graphics)
importFrom(knitr,knit_meta_add)
importFrom(magrittr,"%>%")
importFrom(readr,read_file)
importFrom(readr,read_lines)
importFrom(rmarkdown,latex_dependency)
importFrom(rmarkdown,metadata)
importFrom(rvest,html_table)
importFrom(scales,rescale)
importFrom(stats,ave)
importFrom(stringr,str_count)
importFrom(stringr,str_detect)
importFrom(stringr,str_extract)
importFrom(stringr,str_extract_all)
importFrom(stringr,str_match)
importFrom(stringr,str_match_all)
importFrom(stringr,str_replace)
importFrom(stringr,str_replace_all)
importFrom(stringr,str_split)
importFrom(stringr,str_sub)
importFrom(stringr,str_trim)
importFrom(utils,read.csv)
importFrom(viridisLite,viridis)
importFrom(xml2,"xml_attr<-")
importFrom(xml2,"xml_text<-")
importFrom(xml2,read_html)
importFrom(xml2,read_xml)
importFrom(xml2,write_xml)
importFrom(xml2,xml_add_child)
importFrom(xml2,xml_add_sibling)
importFrom(xml2,xml_attr)
importFrom(xml2,xml_child)
importFrom(xml2,xml_children)
importFrom(xml2,xml_has_attr)
importFrom(xml2,xml_name)
importFrom(xml2,xml_remove)
importFrom(xml2,xml_text)
