# Generated by roxygen2: do not edit by hand

export("%>%")
export(add_footnote)
export(add_header_above)
export(add_indent)
export(collapse_rows)
export(column_spec)
export(group_rows)
export(kable_styling)
export(landscape)
export(magic_mirror)
export(rmd_format)
export(row_spec)
export(scroll_box)
export(usepackage_latex)
importFrom(knitr,knit_meta_add)
importFrom(magrittr,"%>%")
importFrom(readr,read_lines)
importFrom(rmarkdown,latex_dependency)
importFrom(rmarkdown,metadata)
importFrom(rvest,html_table)
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_all)
importFrom(stringr,str_split)
importFrom(stringr,str_sub)
importFrom(stringr,str_trim)
importFrom(utils,read.csv)
importFrom(xml2,"xml_attr<-")
importFrom(xml2,"xml_text<-")
importFrom(xml2,read_html)
importFrom(xml2,read_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)
