A single article check

initial_check_article(
  path,
  dic = "en_US",
  pkg,
  ...,
  ask = interactive(),
  logfile = file.path(path, "initial_checks.log")
)

check_filenames(path)

check_structure(path)

check_folder_structure(path)

check_unnecessary_files(path)

check_cover_letter(path)

check_title(path, ignore = "")

check_section(path)

check_abstract(path)

check_spelling(path, dic = "en_US", ...)

check_proposed_pkg(pkg, ask = interactive())

check_pkg_label(path)

check_packages_available(path, ignore)

check_bib_doi(path)

check_csl(path)

check_date(path, file)

get_orcid(path, file = NULL)

Arguments

path

string, path to the directory that contains the .tex file (Ideally, this directory should contain .bib, .Rmd, and .tex with author names and two RJwrapper files: RJwrapper.pdf and RJwrapper.tex)

dic

string, the dictionary used for spelling check. See dict argument in hunspell::hunspell()

pkg

string, optional. The name of the proposed package (if relevant), to be checked for activity on CRAN

...

additional arguments for spelling check with hunspell::hunspell

ask

logical, if TRUE then checks may ask the user for interactive input of missing information.

logfile

a connection for the output log, or a string with the filename of the output log or NULL if no log should be written

ignore

The words to ignore in title check, use c(pkg, pkg, ...) for multiple quoted words

file

string, the file name if multiple files are detected under the path argument

Value

list of all results (see log_error for details). You can use unlist() to get a character vector of the result statuses.

Details

Folder structure checks:

  • check_filenames(): the three files (.bib, .Rmd, and .tex) all present and have consistent names

  • check_structure(): check validity of all filenames and depth of the directory structure

  • check_unnecessary_files(): the template file (i.e., RJtemplate.tex) is not included in the directory

  • check_cover_letter(): a motivational letter

Content checks:

  • check_title(): article title is in title case

  • check_section(): section sections are in sentence case

  • check_abstract(): abstract should be plain text without package markups (CRANpkg, BIOpkg, pkg), math notations($...$), citations, and other formattings (highlight, italic, etc)

  • check_spelling(): potential spelling mistakes

  • check_proposed_pkg(): package proposed in the paper is on CRAN

  • check_pkg_label(): packages marked up with are not available on CRAN or BioConductor

  • check_packages_available(): packages mentioned in the article are available on CRAN

  • check_bib_doi: whether bib entries have DOI or URL included, uncless can't sourced online

  • check_csl: no additional csl file should be used consistent, either in sentence (preferred) or title case

See vignette("create_article", package = "rjtools") for how to use the check functions

Examples

your_article_path <- system.file("sample-article", package = "rjtools")
if (interactive()) initial_check_article(your_article_path)