From 5dfc936a9901d4cea9793d51d9ca2c52741f5773 Mon Sep 17 00:00:00 2001 From: Robert Krajcik Date: Tue, 14 Nov 2023 08:45:36 -0600 Subject: [PATCH 01/11] fix Package fancyhdr Warning --- inst/report_downloads/reportPdf.Rmd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/inst/report_downloads/reportPdf.Rmd b/inst/report_downloads/reportPdf.Rmd index 444f5ff56..743d656b8 100644 --- a/inst/report_downloads/reportPdf.Rmd +++ b/inst/report_downloads/reportPdf.Rmd @@ -47,7 +47,8 @@ library(plotly) knitr::opts_chunk$set(echo = F, fig.width = 5.5, fig.height = 3.4) cm_ind <- nrow(params$com_metrics) != 0 ``` - + +`r {"\\setlength{\\headheight}{53.61403pt}\\addtolength{\\topmargin}{-38.61403pt}"}` ```{r functions, include=FALSE, message=FALSE, warning=FALSE} outputComments <- function(pkg_name, comments, none_txt = "No comments"){ From 13ead4000f168109bf718b0a9ea14515f68f4828 Mon Sep 17 00:00:00 2001 From: Robert Krajcik Date: Tue, 14 Nov 2023 09:02:11 -0600 Subject: [PATCH 02/11] adjust margins using geometry: in YAML header --- inst/report_downloads/reportPdf.Rmd | 1 + 1 file changed, 1 insertion(+) diff --git a/inst/report_downloads/reportPdf.Rmd b/inst/report_downloads/reportPdf.Rmd index 743d656b8..e5a160063 100644 --- a/inst/report_downloads/reportPdf.Rmd +++ b/inst/report_downloads/reportPdf.Rmd @@ -3,6 +3,7 @@ title: "R Package Risk Assessment" subtitle: "Report for Package: `r params$pkg[['name']]`" author: " `r if('Report Author' %in% params$report_includes) paste0('Author (Role): ', params$user_name, ' (', params$user_role, ')') else ''`" date: " `r if('Report Date' %in% params$report_includes) paste0('Report Date: ', format(Sys.time(), '%B %d, %Y')) else ''`" +geometry: "left=.5in,right=.5in,top=1.5in,bottom=1in" output: pdf_document: latex_engine: xelatex From 9e36768687d3f984172a80da0f2d825b1ef0694f Mon Sep 17 00:00:00 2001 From: Robert Krajcik Date: Mon, 27 Nov 2023 09:44:15 -0500 Subject: [PATCH 03/11] use kableExtra styling options to help condense maint metrics table output --- inst/report_downloads/reportPdf.Rmd | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/inst/report_downloads/reportPdf.Rmd b/inst/report_downloads/reportPdf.Rmd index e5a160063..07f2ad0f0 100644 --- a/inst/report_downloads/reportPdf.Rmd +++ b/inst/report_downloads/reportPdf.Rmd @@ -47,6 +47,7 @@ library(plotly) knitr::opts_chunk$set(echo = F, fig.width = 5.5, fig.height = 3.4) cm_ind <- nrow(params$com_metrics) != 0 +options(tinytex.verbose = TRUE) ``` `r {"\\setlength{\\headheight}{53.61403pt}\\addtolength{\\topmargin}{-38.61403pt}"}` @@ -149,7 +150,8 @@ if('Maintenance Metrics' %in% params$report_includes){ ) ) %>% dplyr::select(`Metric Name`, `Metric Description`, `Metric Value`, `Metric Score`) %>% - knitr::kable(format = 'pandoc') + kableExtra::kbl(booktabs = T, linesep = "", format = "pipe") %>% + kableExtra::kable_styling("condensed", latex_options = "scale_down", full_width = F) } ``` `r if ('Maintenance Metrics' %in% params$report_includes) {"* Metrics whose score is NA will not impact the package {riskmetric} score"}` From 874ba8f0c863d8c913acecd1fe987ed72d4d28d1 Mon Sep 17 00:00:00 2001 From: Robert Krajcik Date: Wed, 29 Nov 2023 10:18:18 -0500 Subject: [PATCH 04/11] some code cleanup, remove dplyr warnings, using format pipe --- inst/report_downloads/reportPdf.Rmd | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/inst/report_downloads/reportPdf.Rmd b/inst/report_downloads/reportPdf.Rmd index 07f2ad0f0..aaa61e018 100644 --- a/inst/report_downloads/reportPdf.Rmd +++ b/inst/report_downloads/reportPdf.Rmd @@ -45,9 +45,9 @@ library(shiny) library(ggplot2) library(plotly) +options(tinytex.verbose = TRUE) knitr::opts_chunk$set(echo = F, fig.width = 5.5, fig.height = 3.4) cm_ind <- nrow(params$com_metrics) != 0 -options(tinytex.verbose = TRUE) ``` `r {"\\setlength{\\headheight}{53.61403pt}\\addtolength{\\topmargin}{-38.61403pt}"}` @@ -136,25 +136,27 @@ if('Maintenance Metrics' %in% params$report_includes){ `Metric Description` = desc, `Metric Value` = dplyr::case_when( value %in% c("pkg_metric_error", "NA", NA) ~ "Not found", - # name %in% c('has_website', 'has_source_control') & nchar(value) > 5 ~ 'Yes', - # stringr::str_wrap(sub("\\s+$", "", gsub('(.{20})', '\\1 ', value)), 20), # text-wrap value %in% c("TRUE","1") ~ 'Yes', !(name %in% c('has_bug_reports_url', 'news_current')) ~ value, TRUE ~ 'No' ), - `Metric Score` = dplyr::case_when(toupper(score) %in% c("NA", "NULL") ~ "NA", + score = na_if(score, "NA"), + score = na_if(score, "NULL"), + `Metric Score` = dplyr::case_when(toupper(score) %in% c("NA", "NULL") ~ NA_character_, # flip the label display of the score to mimic the package score... round(as.numeric(score), 2) == 0 ~ "1.0", round(as.numeric(score), 2) == 1 ~ "0.0", TRUE ~ as.character(round(1 - as.numeric(score), 2)) ) ) %>% - dplyr::select(`Metric Name`, `Metric Description`, `Metric Value`, `Metric Score`) %>% - kableExtra::kbl(booktabs = T, linesep = "", format = "pipe") %>% + # add a space after the .com + dplyr::mutate(`Metric Value` = stringr::str_replace(`Metric Value`, stringr::regex("^(.+\\.com\\/)"), "\\1 ")) %>% + dplyr::select(`Metric Name`, `Metric Description`, `Metric Value`, `Metric Score`) %>% + kableExtra::kbl(booktabs = T, linesep = "", format = "pipe") %>% kableExtra::kable_styling("condensed", latex_options = "scale_down", full_width = F) } ``` -`r if ('Maintenance Metrics' %in% params$report_includes) {"* Metrics whose score is NA will not impact the package {riskmetric} score"}` +`r if ('Maintenance Metrics' %in% params$report_includes) {"Metrics whose score is NA will not impact the package {riskmetric} score"}` ```{r maintenance_metrics_comments} if('Maintenance Comments' %in% params$report_includes){ @@ -186,10 +188,11 @@ if (!cm_ind) { if('Community Usage Metrics' %in% params$report_includes){ params$com_metrics %>% dplyr::mutate( + score = na_if(score, "NA"), `Metric Name` = title, `Metric Description` = desc, `Metric Value` = ifelse(value %in% c("pkg_metric_error", "NA", NA), "Not found", value), - `Metric Score` = dplyr::case_when(toupper(score) %in% c("NA", "NULL") ~ "NA", + `Metric Score` = dplyr::case_when(toupper(score) %in% c("NA", "NULL") ~ NA_character_, # flip the label display of the score to mimic the package score... round(as.numeric(score), 2) == 0 ~ "1.0", round(as.numeric(score), 2) == 1 ~ "0.0", From 4605d9996eb70d2a0b8e4d257c9bfd1ac24a959c Mon Sep 17 00:00:00 2001 From: Robert Krajcik Date: Thu, 30 Nov 2023 12:40:56 -0500 Subject: [PATCH 05/11] some more updates --- inst/report_downloads/reportPdf.Rmd | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/inst/report_downloads/reportPdf.Rmd b/inst/report_downloads/reportPdf.Rmd index aaa61e018..8158b64e9 100644 --- a/inst/report_downloads/reportPdf.Rmd +++ b/inst/report_downloads/reportPdf.Rmd @@ -70,7 +70,6 @@ outputComments <- function(pkg_name, comments, none_txt = "No comments"){ } ``` -
```{r general_pkg_info} tagList( @@ -103,6 +102,7 @@ if('Overall Comment' %in% params$report_includes){ } ``` + ```{r pkg_summary} if('Package Summary' %in% params$report_includes){ tagList( @@ -152,10 +152,10 @@ if('Maintenance Metrics' %in% params$report_includes){ # add a space after the .com dplyr::mutate(`Metric Value` = stringr::str_replace(`Metric Value`, stringr::regex("^(.+\\.com\\/)"), "\\1 ")) %>% dplyr::select(`Metric Name`, `Metric Description`, `Metric Value`, `Metric Score`) %>% - kableExtra::kbl(booktabs = T, linesep = "", format = "pipe") %>% - kableExtra::kable_styling("condensed", latex_options = "scale_down", full_width = F) + kableExtra::kbl(booktabs = TRUE, linesep = "", format = "pipe") } ``` + `r if ('Maintenance Metrics' %in% params$report_includes) {"Metrics whose score is NA will not impact the package {riskmetric} score"}` ```{r maintenance_metrics_comments} @@ -188,7 +188,8 @@ if (!cm_ind) { if('Community Usage Metrics' %in% params$report_includes){ params$com_metrics %>% dplyr::mutate( - score = na_if(score, "NA"), + score = na_if(score, "NA"), + score = na_if(score, "NULL"), `Metric Name` = title, `Metric Description` = desc, `Metric Value` = ifelse(value %in% c("pkg_metric_error", "NA", NA), "Not found", value), @@ -200,11 +201,12 @@ if (!cm_ind) { ) ) %>% dplyr::select(`Metric Name`, `Metric Description`, `Metric Value`, `Metric Score`) %>% - knitr::kable(format = 'pandoc') + kableExtra::kbl(booktabs = TRUE, linesep = "", format = "latex") } } ``` -`r if ('Community Usage Metrics' %in% params$report_includes) {"* Metrics whose score is NA will not impact the package {riskmetric} score"}` + +`r if ('Community Usage Metrics' %in% params$report_includes) {"Metrics whose score is NA will not impact the package {riskmetric} score"}` ```{r community_metrics_plot_title, eval=cm_ind} @@ -253,8 +255,6 @@ if('Community Usage Comments' %in% params$report_includes){ } ``` - - `r if(any(c('Source Explorer Comments') %in% params$report_includes)) {"\\newpage"}` ```{r source_explorer} @@ -279,8 +279,6 @@ if('Source Explorer Comments' %in% params$report_includes){ } ``` - - `r if(any(c('Function Explorer Comments') %in% params$report_includes)) {"\\newpage"}` ```{r function_explorer} @@ -311,7 +309,7 @@ if('Function Explorer Comments' %in% params$report_includes){ tagList(br(), h2('About The Report')) ``` -```{r about_report} +```{r about_report, warning=FALSE} tagList( strong('{riskassessment} App Version:'), br(), getElement(params, 'app_version'), br(), br(), @@ -321,11 +319,9 @@ tagList( ) if('Risk Score' %in% params$report_includes) { - tab_out <- params$metric_weights %>% - knitr::kable(align = c('l','c'), format = 'latex', booktabs = TRUE) - - if (!requireNamespace("kableExtra", quietly = TRUE)) tab_out else tab_out %>% kableExtra::kable_styling(position = "left") + kableExtra::kbl(booktabs = TRUE, linesep = "", format = "latex", align = c('l','c'), centering = F) %>% + kableExtra::kable_styling(position = "left") } ``` From 0f13ce87810b5cd2c8ff0ba68b67b37d77e25d01 Mon Sep 17 00:00:00 2001 From: Robert Krajcik Date: Thu, 30 Nov 2023 16:13:46 -0500 Subject: [PATCH 06/11] use format pipe for maint metrics, latex for the other two --- inst/report_downloads/reportPdf.Rmd | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/inst/report_downloads/reportPdf.Rmd b/inst/report_downloads/reportPdf.Rmd index 8158b64e9..0bef597b9 100644 --- a/inst/report_downloads/reportPdf.Rmd +++ b/inst/report_downloads/reportPdf.Rmd @@ -49,6 +49,7 @@ options(tinytex.verbose = TRUE) knitr::opts_chunk$set(echo = F, fig.width = 5.5, fig.height = 3.4) cm_ind <- nrow(params$com_metrics) != 0 ``` + `r {"\\setlength{\\headheight}{53.61403pt}\\addtolength{\\topmargin}{-38.61403pt}"}` @@ -118,7 +119,7 @@ if('Package Summary' %in% params$report_includes){ } ``` -`r if(any(c('Maintenance Metrics', 'Maintenance Comments') %in% params$report_includes)) {"\\newpage"}` +`r if(any(c('Maintenance Metrics', 'Maintenance Comments') %in% params$report_includes)) {"\\newpage "}` ```{r maintenance_metrics} if(any(c('Maintenance Metrics', 'Maintenance Comments') %in% params$report_includes)) { @@ -129,8 +130,7 @@ if(any(c('Maintenance Metrics', 'Maintenance Comments') %in% params$report_inclu ```{r maintenance_metrics_table, warning=FALSE, message=FALSE, error=FALSE, results='HIDE', echo=FALSE} if('Maintenance Metrics' %in% params$report_includes){ - # maint_out_tab <- - params$maint_metrics %>% + params$maint_metrics %>% dplyr::mutate( `Metric Name` = title, `Metric Description` = desc, @@ -150,9 +150,9 @@ if('Maintenance Metrics' %in% params$report_includes){ ) ) %>% # add a space after the .com - dplyr::mutate(`Metric Value` = stringr::str_replace(`Metric Value`, stringr::regex("^(.+\\.com\\/)"), "\\1 ")) %>% + # dplyr::mutate(`Metric Value` = stringr::str_replace(`Metric Value`, stringr::regex("^(.+\\.com\\/)"), "\\1 ")) dplyr::select(`Metric Name`, `Metric Description`, `Metric Value`, `Metric Score`) %>% - kableExtra::kbl(booktabs = TRUE, linesep = "", format = "pipe") + kableExtra::kbl(booktabs = TRUE, linesep = "", format = "pipe") } ``` @@ -171,7 +171,7 @@ if('Maintenance Comments' %in% params$report_includes){ ``` -`r if(any(c('Community Usage Metrics', 'Community Usage Comments') %in% params$report_includes)) {"\\newpage"}` +`r if(any(c('Community Usage Metrics', 'Community Usage Comments') %in% params$report_includes)) {"\\newpage "}` ```{r community_metrics, warning=FALSE, message=FALSE} if(any(c('Community Usage Metrics', 'Community Usage Comments') %in% params$report_includes)) { @@ -255,7 +255,7 @@ if('Community Usage Comments' %in% params$report_includes){ } ``` -`r if(any(c('Source Explorer Comments') %in% params$report_includes)) {"\\newpage"}` +`r if(any(c('Source Explorer Comments') %in% params$report_includes)) {"\\newpage "}` ```{r source_explorer} if(any(c('Source Explorer Comments') %in% params$report_includes)) { @@ -279,7 +279,7 @@ if('Source Explorer Comments' %in% params$report_includes){ } ``` -`r if(any(c('Function Explorer Comments') %in% params$report_includes)) {"\\newpage"}` +`r if(any(c('Function Explorer Comments') %in% params$report_includes)) {"\\newpage "}` ```{r function_explorer} if(any(c('Function Explorer Comments') %in% params$report_includes)) { @@ -303,7 +303,7 @@ if('Function Explorer Comments' %in% params$report_includes){ } ``` -\newpage +`r {"\\newpage "}` ```{r about_report_title} tagList(br(), h2('About The Report')) From 8729feffdd677484a80e8eaa22196c519974c8e5 Mon Sep 17 00:00:00 2001 From: Robert Krajcik Date: Fri, 1 Dec 2023 10:40:39 -0500 Subject: [PATCH 07/11] add booktabs and tabularx latex packages to header.tex --- inst/report_downloads/header.tex | 2 ++ 1 file changed, 2 insertions(+) diff --git a/inst/report_downloads/header.tex b/inst/report_downloads/header.tex index 1e050a72f..09ffb6873 100644 --- a/inst/report_downloads/header.tex +++ b/inst/report_downloads/header.tex @@ -1,6 +1,8 @@ \usepackage{graphicx} \usepackage{fancyhdr} \usepackage{unicode-math} +\usepackage{booktabs} +\usepackage{tabularx} \fancypagestyle{plain}{\pagestyle{fancy}} \fancyhf{}% Clear header/footer \setlength{\headheight}{15pt} From 6899e3d5be86b0a74eb2248868a0311498f0c8ed Mon Sep 17 00:00:00 2001 From: Robert Krajcik Date: Fri, 1 Dec 2023 10:41:39 -0500 Subject: [PATCH 08/11] maint metrics now using format = latex --- inst/report_downloads/reportPdf.Rmd | 58 ++++++++++++++++------------- 1 file changed, 32 insertions(+), 26 deletions(-) diff --git a/inst/report_downloads/reportPdf.Rmd b/inst/report_downloads/reportPdf.Rmd index 0bef597b9..08cbc2937 100644 --- a/inst/report_downloads/reportPdf.Rmd +++ b/inst/report_downloads/reportPdf.Rmd @@ -128,31 +128,36 @@ if(any(c('Maintenance Metrics', 'Maintenance Comments') %in% params$report_inclu ``` -```{r maintenance_metrics_table, warning=FALSE, message=FALSE, error=FALSE, results='HIDE', echo=FALSE} +```{r maintenance_metrics_table, warning=FALSE, message=FALSE, error=FALSE, results='markdown', echo=FALSE} if('Maintenance Metrics' %in% params$report_includes){ - params$maint_metrics %>% - dplyr::mutate( - `Metric Name` = title, - `Metric Description` = desc, - `Metric Value` = dplyr::case_when( - value %in% c("pkg_metric_error", "NA", NA) ~ "Not found", - value %in% c("TRUE","1") ~ 'Yes', - !(name %in% c('has_bug_reports_url', 'news_current')) ~ value, - TRUE ~ 'No' - ), - score = na_if(score, "NA"), - score = na_if(score, "NULL"), - `Metric Score` = dplyr::case_when(toupper(score) %in% c("NA", "NULL") ~ NA_character_, - # flip the label display of the score to mimic the package score... - round(as.numeric(score), 2) == 0 ~ "1.0", - round(as.numeric(score), 2) == 1 ~ "0.0", - TRUE ~ as.character(round(1 - as.numeric(score), 2)) - ) - ) %>% - # add a space after the .com - # dplyr::mutate(`Metric Value` = stringr::str_replace(`Metric Value`, stringr::regex("^(.+\\.com\\/)"), "\\1 ")) - dplyr::select(`Metric Name`, `Metric Description`, `Metric Value`, `Metric Score`) %>% - kableExtra::kbl(booktabs = TRUE, linesep = "", format = "pipe") +params$maint_metrics %>% + dplyr::mutate( + `Metric Name` = title, + `Metric Description` = desc, + `Metric Value` = dplyr::case_when( + value %in% c("pkg_metric_error", "NA", NA) ~ "Not found", + value %in% c("TRUE","1") ~ 'Yes', + !(name %in% c('has_bug_reports_url', 'news_current')) ~ value, + TRUE ~ 'No' + ), + score = na_if(score, "NA"), + score = na_if(score, "NULL"), + `Metric Score` = dplyr::case_when(toupper(score) %in% c("NA", "NULL") ~ NA_character_, + # flip the label display of the score to mimic the package score... + round(as.numeric(score), 2) == 0 ~ "1.0", + round(as.numeric(score), 2) == 1 ~ "0.0", + TRUE ~ as.character(round(1 - as.numeric(score), 2)) + ) + ) %>% + # add a space after the .com + dplyr::mutate(`Metric Value` = stringr::str_replace(`Metric Value`, stringr::regex("^(.+\\.com\\/)"), "\\1 ")) %>% + dplyr::select(`Metric Name`, `Metric Description`, `Metric Value`, `Metric Score`) %>% + kableExtra::kbl(format = 'latex', booktabs = T, linesep = "") %>% + kableExtra::kable_styling("basic", latex_options = "hold_position", full_width = F, position = 'left') %>% + kableExtra::column_spec(1, width = "1.0in") %>% + kableExtra::column_spec(2, width = "2.0in", latex_valign = "p") %>% + kableExtra::column_spec(3, width = "2.0in", latex_valign = "p") %>% + kableExtra::column_spec(4, width = "0.75in") } ``` @@ -180,7 +185,7 @@ if(any(c('Community Usage Metrics', 'Community Usage Comments') %in% params$repo ``` -```{r community_metrics_table, warning=FALSE, message=FALSE, error=FALSE, results='HIDE', echo=FALSE} +```{r community_metrics_table, warning=FALSE, message=FALSE, error=FALSE, results='markdown', echo=FALSE} if (!cm_ind) { h6(glue::glue("Community Usage Metrics not avaiable for {params$pkg$name}"), style = "text-align: center; color: gray; padding-top: 50px;") @@ -201,7 +206,8 @@ if (!cm_ind) { ) ) %>% dplyr::select(`Metric Name`, `Metric Description`, `Metric Value`, `Metric Score`) %>% - kableExtra::kbl(booktabs = TRUE, linesep = "", format = "latex") + kableExtra::kbl(format = 'latex', booktabs = T, linesep = "") %>% + kableExtra::kable_styling("basic", latex_options = "hold_position", full_width = F, position = 'left') } } ``` From 8ba97bd5cc4e8911da2e6d82d8824cc83e1a166b Mon Sep 17 00:00:00 2001 From: Robert Krajcik Date: Mon, 4 Dec 2023 12:20:52 -0500 Subject: [PATCH 09/11] remove fancyhdr.sty from inst/report_downloads --- inst/report_downloads/fancyhdr.sty | 509 ----------------------------- 1 file changed, 509 deletions(-) delete mode 100644 inst/report_downloads/fancyhdr.sty diff --git a/inst/report_downloads/fancyhdr.sty b/inst/report_downloads/fancyhdr.sty deleted file mode 100644 index fdd33bf62..000000000 --- a/inst/report_downloads/fancyhdr.sty +++ /dev/null @@ -1,509 +0,0 @@ -%% -%% This is file `fancyhdr.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% fancyhdr.dtx (with options: `fancyhdr') -%% -%% This is a generated file. -%% -%% This file may be distributed and/or modified under the conditions of -%% the LaTeX Project Public License, either version 1.3 of this license -%% or (at your option) any later version. The latest version of this -%% license is in: -%% -%% http://www.latex-project.org/lppl.txt -%% -%% and version 1.3 or later is part of all distributions of LaTeX version -%% 2005/12/01 or later. -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{fancyhdr}% - [2022/11/09 v4.1 - Extensive control of page headers and footers]% -% Copyright (C) 1994-2022 by Pieter van Oostrum -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand\if@nch@mpty[1]{\def\temp@a{#1}\ifx\temp@a\@empty} -\newif\iff@nch@check -\f@nch@checktrue -\DeclareOption{nocheck}{% - \f@nch@checkfalse -} -\newif\iff@nch@compatViii -\let\f@nch@gbl\relax -\DeclareOption{compatV3}{% - \let\f@nch@gbl\global - \f@nch@compatViiitrue -} -\newif\iff@nch@twoside -\f@nch@twosidefalse -\DeclareOption{twoside}{% - \if@twoside\else\f@nch@twosidetrue\fi -} -\newcommand\f@nch@def[2]{\if@nch@mpty{#2}\f@nch@gbl\def#1{\leavevmode}\else - \f@nch@gbl\def#1{#2\strut}\fi} -\newcommand{\f@nch@ifundefined}[1]{% - \begingroup\expandafter\expandafter\expandafter\endgroup - \expandafter\ifx\csname #1\endcsname\relax - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi} -\DeclareOption{myheadings}{% - \f@nch@ifundefined{chapter}{% - \def\ps@myheadings{\ps@f@nch@fancyproto \let\@mkboth\@gobbletwo - \fancyhf{} - \fancyhead[LE,RO]{\thepage}% - \fancyhead[RE]{\slshape\leftmark}% - \fancyhead[LO]{\slshape\rightmark}% - \let\sectionmark\@gobble - \let\subsectionmark\@gobble - }% - }% - {\def\ps@myheadings{\ps@f@nch@fancyproto \let\@mkboth\@gobbletwo - \fancyhf{} - \fancyhead[LE,RO]{\thepage}% - \fancyhead[RE]{\slshape\leftmark}% - \fancyhead[LO]{\slshape\rightmark}% - \let\chaptermark\@gobble - \let\sectionmark\@gobble - }% - }% -} -\DeclareOption{headings}{% - \f@nch@ifundefined{chapter}{% - \if@twoside - \def\ps@headings{\ps@f@nch@fancyproto \def\@mkboth{\protect\markboth} - \fancyhf{} - \fancyhead[LE,RO]{\thepage}% - \fancyhead[RE]{\slshape\leftmark}% - \fancyhead[LO]{\slshape\rightmark}% - \def\sectionmark##1{% - \markboth{\MakeUppercase{% - \ifnum \c@secnumdepth >\z@ \thesection\quad \fi##1}}{}}% - \def\subsectionmark##1{% - \markright{% - \ifnum \c@secnumdepth >\@ne \thesubsection\quad \fi##1}}% - }% - \else - \def\ps@headings{\ps@f@nch@fancyproto \def\@mkboth{\protect\markboth} - \fancyhf{} - \fancyhead[LE,RO]{\thepage}% - \fancyhead[RE]{\slshape\leftmark}% - \fancyhead[LO]{\slshape\rightmark}% - \def\sectionmark##1{% - \markright {\MakeUppercase{% - \ifnum \c@secnumdepth >\z@ \thesection\quad \fi##1}}}% - \let\subsectionmark\@gobble % Not needed but inserted for safety - }% - \fi - }{\if@twoside - \def\ps@headings{\ps@f@nch@fancyproto \def\@mkboth{\protect\markboth} - \fancyhf{} - \fancyhead[LE,RO]{\thepage}% - \fancyhead[RE]{\slshape\leftmark}% - \fancyhead[LO]{\slshape\rightmark}% - \def\chaptermark##1{% - \markboth{\MakeUppercase{% - \ifnum \c@secnumdepth >\m@ne \if@mainmatter - \@chapapp\ \thechapter. \ \fi\fi##1}}{}}% - \def\sectionmark##1{% - \markright {\MakeUppercase{% - \ifnum \c@secnumdepth >\z@ \thesection. \ \fi##1}}}% - }% - \else - \def\ps@headings{\ps@f@nch@fancyproto \def\@mkboth{\protect\markboth} - \fancyhf{} - \fancyhead[LE,RO]{\thepage}% - \fancyhead[RE]{\slshape\leftmark}% - \fancyhead[LO]{\slshape\rightmark}% - \def\chaptermark##1{% - \markright{\MakeUppercase{% - \ifnum \c@secnumdepth >\m@ne \if@mainmatter - \@chapapp\ \thechapter. \ \fi\fi##1}}}% - \let\sectionmark\@gobble % Not needed but inserted for safety - }% - \fi - }% -} -\ProcessOptions* -\newcommand\f@nch@errmsg[1]{% - \f@nch@ifundefined{PackageError}{\errmessage{#1}}{\PackageError{fancyhdr}{#1}{}}} -\newcommand\f@nch@warning[1]{% - \f@nch@ifundefined{PackageWarning}{\errmessage{#1}}{\PackageWarning{fancyhdr}{#1}{}}} -\newcommand{\f@nch@forc}[3]{\expandafter\f@nchf@rc\expandafter#1\expandafter{#2}{#3}} -\newcommand{\f@nchf@rc}[3]{\def\temp@ty{#2}\ifx\@empty\temp@ty\else - \f@nch@rc#1#2\f@nch@rc{#3}\fi} -\long\def\f@nch@rc#1#2#3\f@nch@rc#4{\def#1{#2}#4\f@nchf@rc#1{#3}{#4}} -\newcommand{\f@nch@for}[3]{\edef\@fortmp{#2}% - \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}} -\newcommand\f@nch@default[3]{% - \edef\temp@a{\lowercase{\edef\noexpand\temp@a{#3}}}\temp@a \def#1{}% - \f@nch@forc\tmpf@ra{#2}% - {\expandafter\f@nch@ifin\tmpf@ra\temp@a{\edef#1{#1\tmpf@ra}}{}}% - \ifx\@empty#1\def#1{#2}\fi} -\newcommand{\f@nch@ifin}[4]{% - \edef\temp@a{#2}\def\temp@b##1#1##2\temp@b{\def\temp@b{##1}}% - \expandafter\temp@b#2#1\temp@b\ifx\temp@a\temp@b #4\else #3\fi} -\newcommand{\fancyhead}[2][]{\f@nch@fancyhf\fancyhead h[#1]{#2}}% -\newcommand{\fancyfoot}[2][]{\f@nch@fancyhf\fancyfoot f[#1]{#2}}% -\newcommand{\fancyhf}[2][]{\f@nch@fancyhf\fancyhf {}[#1]{#2}}% -\newcommand{\fancyheadoffset}[2][]{\f@nch@fancyhfoffs\fancyheadoffset h[#1]{#2}}% -\newcommand{\fancyfootoffset}[2][]{\f@nch@fancyhfoffs\fancyfootoffset f[#1]{#2}}% -\newcommand{\fancyhfoffset}[2][]{\f@nch@fancyhfoffs\fancyhfoffset {}[#1]{#2}}% -\def\f@nch@fancyhf@Echeck#1{% - \if@twoside\else - \iff@nch@twoside\else - \if\f@nch@@eo e% - \f@nch@warning {\string#1's `E' option without twoside option is useless.\MessageBreak - Please consider using the `twoside' option}% - \fi\fi\fi -} -\long\def\f@nch@fancyhf#1#2[#3]#4{% - \def\temp@c{}% - \f@nch@forc\tmpf@ra{#3}% - {\expandafter\f@nch@ifin\tmpf@ra{eolcrhf,EOLCRHF}% - {}{\edef\temp@c{\temp@c\tmpf@ra}}}% - \ifx\@empty\temp@c\else \f@nch@errmsg{Illegal char `\temp@c' in - \string#1 argument: [#3]}% - \fi \f@nch@for\temp@c{#3}% - {\f@nch@default\f@nch@@eo{eo}\temp@c - \f@nch@fancyhf@Echeck{#1}% - \f@nch@default\f@nch@@lcr{lcr}\temp@c - \f@nch@default\f@nch@@hf{hf}{#2\temp@c}% - \f@nch@forc\f@nch@eo\f@nch@@eo - {\f@nch@forc\f@nch@lcr\f@nch@@lcr - {\f@nch@forc\f@nch@hf\f@nch@@hf - {\expandafter\f@nch@def\csname - f@nch@\f@nch@eo\f@nch@lcr\f@nch@hf\endcsname {#4}}}}}} -\def\f@nch@fancyhfoffs#1#2[#3]#4{% - \def\temp@c{}% - \f@nch@forc\tmpf@ra{#3}% - {\expandafter\f@nch@ifin\tmpf@ra{eolrhf,EOLRHF}% - {}{\edef\temp@c{\temp@c\tmpf@ra}}}% - \ifx\@empty\temp@c\else \f@nch@errmsg{Illegal char `\temp@c' in - \string#1 argument: [#3]}% - \fi \f@nch@for\temp@c{#3}% - {\f@nch@default\f@nch@@eo{eo}\temp@c - \f@nch@fancyhf@Echeck{#1}% - \f@nch@default\f@nch@@lcr{lr}\temp@c - \f@nch@default\f@nch@@hf{hf}{#2\temp@c}% - \f@nch@forc\f@nch@eo\f@nch@@eo - {\f@nch@forc\f@nch@lcr\f@nch@@lcr - {\f@nch@forc\f@nch@hf\f@nch@@hf - {\expandafter\setlength\csname - f@nch@O@\f@nch@eo\f@nch@lcr\f@nch@hf\endcsname {#4}}}}}% - \f@nch@setoffs} -\newcommand{\lhead}[2][\f@nch@olh]% - {\f@nch@def\f@nch@olh{#2}\f@nch@def\f@nch@elh{#1}} -\newcommand{\chead}[2][\f@nch@och]% - {\f@nch@def\f@nch@och{#2}\f@nch@def\f@nch@ech{#1}} -\newcommand{\rhead}[2][\f@nch@orh]% - {\f@nch@def\f@nch@orh{#2}\f@nch@def\f@nch@erh{#1}} -\newcommand{\lfoot}[2][\f@nch@olf]% - {\f@nch@def\f@nch@olf{#2}\f@nch@def\f@nch@elf{#1}} -\newcommand{\cfoot}[2][\f@nch@ocf]% - {\f@nch@def\f@nch@ocf{#2}\f@nch@def\f@nch@ecf{#1}} -\newcommand{\rfoot}[2][\f@nch@orf]% - {\f@nch@def\f@nch@orf{#2}\f@nch@def\f@nch@erf{#1}} -\newlength{\f@nch@headwidth} \let\headwidth\f@nch@headwidth -\newlength{\f@nch@O@elh} -\newlength{\f@nch@O@erh} -\newlength{\f@nch@O@olh} -\newlength{\f@nch@O@orh} -\newlength{\f@nch@O@elf} -\newlength{\f@nch@O@erf} -\newlength{\f@nch@O@olf} -\newlength{\f@nch@O@orf} -\newcommand{\headrulewidth}{0.4pt} -\newcommand{\footrulewidth}{0pt} -\f@nch@ifundefined{headruleskip}% - {\newcommand{\headruleskip}{0pt}}{} -\f@nch@ifundefined{footruleskip}% - {\newcommand{\footruleskip}{.3\normalbaselineskip}}{} -\newcommand{\plainheadrulewidth}{0pt} -\newcommand{\plainfootrulewidth}{0pt} -\newif\if@fancyplain \@fancyplainfalse -\def\fancyplain#1#2{\if@fancyplain#1\else#2\fi} -\headwidth=-123456789sp -\let\f@nch@raggedleft\raggedleft -\let\f@nch@raggedright\raggedright -\let\f@nch@centering\centering -\let\f@nch@everypar\everypar -\newcommand\f@nch@noUppercase[2][]{#2} -\def\f@nch@reset{\f@nch@everypar{}\restorecr\endlinechar=13 - \let\\\@normalcr \let\raggedleft\f@nch@raggedleft - \let\raggedright\f@nch@raggedright \let\centering\f@nch@centering - \def\baselinestretch{1}% - \hsize=\headwidth - \def\nouppercase##1{{% - \let\uppercase\relax\let\MakeUppercase\f@nch@noUppercase - \expandafter\let\csname MakeUppercase \endcsname\relax - \expandafter\def\csname MakeUppercase\space\space\space\endcsname - [####1]####2{####2}% - ##1}}% - \f@nch@ifundefined{@newbaseline} % NFSS not present; 2.09 or 2e - {\f@nch@ifundefined{@normalsize} {\normalsize} % for ucthesis.cls - {\@normalsize}}% - {\@newbaseline}% NFSS (2.09) present - } -\newcommand*{\fancycenter}[1][1em]{% - \@ifnextchar[{\f@nch@center{#1}}{\f@nch@center{#1}[3]}% -} -\def\f@nch@center#1[#2]#3#4#5{% - \def\@tempa{#4}\ifx\@tempa\@empty - \hbox to\linewidth{\color@begingroup{#3}\hfil {#5}\color@endgroup}% - \else - \setlength\@tempdima{#1}% - \setlength{\@tempdimb}{#2\@tempdima}% - \@tempdimc \@tempdimb \advance\@tempdimc -\@tempdima - \setlength\@tempskipa{\@tempdimb \@plus 1fil \@minus \@tempdimc}% - \@tempskipb\@tempskipa - \def\@tempa{#3}\ifx\@tempa\@empty - \addtolength\@tempskipa{\z@ \@minus \@tempdima}% - \fi - \def\@tempa{#5}\ifx\@tempa\@empty % empty right - \addtolength\@tempskipb{\z@ \@minus \@tempdima}% - \fi - \settowidth{\@tempdimb}{#3}% - \settowidth{\@tempdimc}{#5}% - \ifdim\@tempdimb>\@tempdimc - \advance\@tempdimb -\@tempdimc - \addtolength\@tempskipb{\@tempdimb \@minus \@tempdimb}% - \else - \advance\@tempdimc -\@tempdimb - \addtolength\@tempskipa{\@tempdimc \@minus \@tempdimc}% - \fi - \hbox to\linewidth{\color@begingroup{#3}\hskip \@tempskipa - {#4}\hskip \@tempskipb {#5}\color@endgroup}% - \fi -} -\newcommand{\f@nch@headinit}{} -\newcommand{\fancyheadinit}[1]{% - \def\f@nch@headinit{#1}% -} -\newcommand{\f@nch@footinit}{} -\newcommand{\fancyfootinit}[1]{% - \def\f@nch@footinit{#1}% -} -\newcommand{\fancyhfinit}[1]{% - \def\f@nch@headinit{#1}% - \def\f@nch@footinit{#1}% -} -\newcommand\f@nch@vbox[2]{% - \setbox0\vbox{#2}% - \ifdim\ht0>#1\relax - \iff@nch@check - \dimen0=#1\advance\dimen0-\ht0 - \f@nch@warning{% - \string#1 is too small (\the#1): \MessageBreak - Make it at least \the\ht0, for example:\MessageBreak - \string\setlength{\string#1}{\the\ht0}% - \iff@nch@compatViii .\MessageBreak - We now make it that large for the rest of the document.\MessageBreak - This may cause the page layout to be inconsistent, however - \fi - \ifx#1\headheight .\MessageBreak - You might also make \topmargin smaller to compensate:\MessageBreak - \string\addtolength{\string\topmargin}{\the\dimen0}% - \fi - \@gobble - }% - \fi - \iff@nch@compatViii - \dimen0=#1\relax - \global#1=\ht0\relax - \ht0=\dimen0 % - \else - \ht0=#1% - \fi - \fi - \box0} -\newcommand\f@nch@head[5]{% - \f@nch@reset - \f@nch@headinit\relax - #1% - \hbox to\headwidth{% - \f@nch@vbox\headheight{% - \hbox{% - \rlap{\parbox[b]{\headwidth}{\raggedright\leavevmode\ignorespaces#2}}% - \hfill - \parbox[b]{\headwidth}{\centering\leavevmode\ignorespaces#3}% - \hfill - \llap{\parbox[b]{\headwidth}{\raggedleft\leavevmode\ignorespaces#4}}% - }% - \vskip\headruleskip\relax - \headrule - }% - }% - #5% -} -\newcommand\f@nch@foot[5]{% - \f@nch@reset - \f@nch@footinit\relax - #1% - \hbox to\headwidth{% - \f@nch@vbox\footskip{% - \setbox0=\vbox{\footrule}\unvbox0 - \vskip\footruleskip - \hbox{% - \rlap{\parbox[t]{\headwidth}{\raggedright\leavevmode\ignorespaces#2}}% - \hfill - \parbox[t]{\headwidth}{\centering\leavevmode\ignorespaces#3}% - \hfill - \llap{\parbox[t]{\headwidth}{\raggedleft\leavevmode\ignorespaces#4}}% - }% - }% - }% - #5% -} -\f@nch@ifundefined{MakeUppercase}{\def\MakeUppercase{\uppercase}}{}% -\f@nch@ifundefined{@chapapp}{\let\@chapapp\chaptername}{}% -\def\f@nch@initialise{% - \f@nch@ifundefined{chapter}% - {\def\sectionmark##1{\markboth{\MakeUppercase{\ifnum \c@secnumdepth>\z@ - \thesection\hskip 1em\relax - \fi ##1}}{}}% - \def\subsectionmark##1{\markright {\ifnum \c@secnumdepth >\@ne - \thesubsection\hskip 1em\relax \fi ##1}}}% - {\def\chaptermark##1{\markboth {\MakeUppercase{\ifnum - \c@secnumdepth>\m@ne \@chapapp\ \thechapter. \ \fi ##1}}{}}% - \def\sectionmark##1{\markright{\MakeUppercase{\ifnum \c@secnumdepth >\z@ - \thesection. \ \fi ##1}}}% - }% - \def\headrule{{\if@fancyplain\let\headrulewidth\plainheadrulewidth\fi - \hrule\@height\headrulewidth\@width\headwidth - \vskip-\headrulewidth}}% - \def\footrule{{\if@fancyplain\let\footrulewidth\plainfootrulewidth\fi - \hrule\@width\headwidth\@height\footrulewidth}}% - \def\headrulewidth{0.4pt}% - \def\footrulewidth{0pt}% - \def\headruleskip{0pt}% - \def\footruleskip{0.3\normalbaselineskip}% - \fancyhf{}% - \if@twoside - \fancyhead[el,or]{\fancyplain{}{\slshape\rightmark}}% - \fancyhead[er,ol]{\fancyplain{}{\slshape\leftmark}}% - \else - \fancyhead[l]{\fancyplain{}{\slshape\rightmark}}% - \fancyhead[r]{\fancyplain{}{\slshape\leftmark}}% - \fi - \fancyfoot[c]{\rmfamily\thepage}% page number -} -\f@nch@initialise -\def\ps@f@nch@fancyproto{% - \ifdim\headwidth<0sp - \global\advance\headwidth123456789sp\global\advance\headwidth\textwidth - \fi - \gdef\ps@f@nch@fancyproto{\@fancyplainfalse\ps@f@nch@fancycore}% - \@fancyplainfalse\ps@f@nch@fancycore -}% -\@namedef{f@nch@ps@f@nch@fancyproto-is-fancyhdr}{} -\def\ps@fancy{\ps@f@nch@fancyproto} -\@namedef{f@nch@ps@fancy-is-fancyhdr}{} -\def\ps@fancyplain{\ps@f@nch@fancyproto \let\ps@plain\ps@plain@fancy} -\def\ps@plain@fancy{\@fancyplaintrue\ps@f@nch@fancycore} -\let\f@nch@ps@empty\ps@empty -\def\ps@f@nch@fancycore{% - \f@nch@ps@empty - \def\@mkboth{\protect\markboth}% - \def\f@nch@oddhead{\f@nch@head\f@nch@Oolh\f@nch@olh\f@nch@och\f@nch@orh\f@nch@Oorh}% - \def\@oddhead{% - \iff@nch@twoside - \ifodd\c@page - \f@nch@oddhead - \else - \@evenhead - \fi - \else - \f@nch@oddhead - \fi - } - \def\f@nch@oddfoot{\f@nch@foot\f@nch@Oolf\f@nch@olf\f@nch@ocf\f@nch@orf\f@nch@Oorf}% - \def\@oddfoot{% - \iff@nch@twoside - \ifodd\c@page - \f@nch@oddfoot - \else - \@evenfoot - \fi - \else - \f@nch@oddfoot - \fi - } - \def\@evenhead{\f@nch@head\f@nch@Oelh\f@nch@elh\f@nch@ech\f@nch@erh\f@nch@Oerh}% - \def\@evenfoot{\f@nch@foot\f@nch@Oelf\f@nch@elf\f@nch@ecf\f@nch@erf\f@nch@Oerf}% -} -\def\ps@fancydefault{% - \f@nch@initialise - \ps@f@nch@fancyproto -} -\@namedef{f@nch@ps@fancydefault-is-fancyhdr}{} -\def\f@nch@Oolh{\if@reversemargin\hss\else\relax\fi} -\def\f@nch@Oorh{\if@reversemargin\relax\else\hss\fi} -\let\f@nch@Oelh\f@nch@Oorh -\let\f@nch@Oerh\f@nch@Oolh -\let\f@nch@Oolf\f@nch@Oolh -\let\f@nch@Oorf\f@nch@Oorh -\let\f@nch@Oelf\f@nch@Oelh -\let\f@nch@Oerf\f@nch@Oerh -\def\f@nch@offsolh{\headwidth=\textwidth\advance\headwidth\f@nch@O@olh - \advance\headwidth\f@nch@O@orh\hskip-\f@nch@O@olh} -\def\f@nch@offselh{\headwidth=\textwidth\advance\headwidth\f@nch@O@elh - \advance\headwidth\f@nch@O@erh\hskip-\f@nch@O@elh} -\def\f@nch@offsolf{\headwidth=\textwidth\advance\headwidth\f@nch@O@olf - \advance\headwidth\f@nch@O@orf\hskip-\f@nch@O@olf} -\def\f@nch@offself{\headwidth=\textwidth\advance\headwidth\f@nch@O@elf - \advance\headwidth\f@nch@O@erf\hskip-\f@nch@O@elf} -\def\f@nch@setoffs{% - \f@nch@gbl\let\headwidth\f@nch@headwidth - \f@nch@gbl\let\f@nch@Oolh\f@nch@offsolh - \f@nch@gbl\let\f@nch@Oelh\f@nch@offselh \f@nch@gbl\let\f@nch@Oorh\hss - \f@nch@gbl\let\f@nch@Oerh\hss \f@nch@gbl\let\f@nch@Oolf\f@nch@offsolf - \f@nch@gbl\let\f@nch@Oelf\f@nch@offself \f@nch@gbl\let\f@nch@Oorf\hss - \f@nch@gbl\let\f@nch@Oerf\hss -} -\newif\iff@nch@footnote -\AtBeginDocument{% - \let\latex@makecol\@makecol - \def\@makecol{\ifvoid\footins\f@nch@footnotefalse\else\f@nch@footnotetrue\fi - \let\topfloat\@toplist\let\botfloat\@botlist\latex@makecol}% -} -\newcommand\iftopfloat[2]{\ifx\topfloat\empty #2\else #1\fi}% -\newcommand\ifbotfloat[2]{\ifx\botfloat\empty #2\else #1\fi}% -\newcommand\iffloatpage[2]{\if@fcolmade #1\else #2\fi}% -\newcommand\iffootnote[2]{\iff@nch@footnote #1\else #2\fi}% -\newcommand{\fancypagestyle}[1]{% - \@ifnextchar[{\f@nch@pagestyle{#1}}{\f@nch@pagestyle{#1}[f@nch@fancyproto]}% -} -\long\def\f@nch@pagestyle#1[#2]#3{% - \f@nch@ifundefined{ps@#2}{% - \f@nch@errmsg{\string\fancypagestyle: Unknown base page style `#2'}% - }{% - \f@nch@ifundefined{f@nch@ps@#2-is-fancyhdr}{% - \f@nch@errmsg{\string\fancypagestyle: Base page style `#2' is not fancyhdr-based}% - }% - {% - \@namedef{ps@#1}{\let\f@nch@gbl\relax\@nameuse{ps@#2}#3\relax}% - \@namedef{f@nch@ps@#1-is-fancyhdr}{}% - }% - }% -}% -\@ifclassloaded{newlfm} -{ - \let\ps@@empty\f@nch@ps@empty - \AtBeginDocument{% - \renewcommand{\@zfancyhead}[5]{\relax\hbox to\headwidth{\f@nch@reset - \@zfancyvbox\headheight{\hbox - {\rlap{\parbox[b]{\headwidth}{\raggedright\f@nch@olh}}\hfill - \parbox[b]{\headwidth}{\centering\f@nch@olh}\hfill - \llap{\parbox[b]{\headwidth}{\raggedleft\f@nch@orh}}}% - \zheadrule}}\relax}% - } -} -{} -\endinput -%% -%% End of file `fancyhdr.sty'. \ No newline at end of file From 348611f84491db2ebef2819496c308ab4e2c2660 Mon Sep 17 00:00:00 2001 From: Robert Krajcik Date: Tue, 5 Dec 2023 11:27:50 -0500 Subject: [PATCH 10/11] move kableExtra from suggests to imports --- DESCRIPTION | 4 ++-- dev/02_dev.R | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 9a796ae15..3c6a3a967 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -67,11 +67,11 @@ Imports: shinyWidgets, stringr, shinyAce, - sortable + sortable, + kableExtra Suggests: chromote (>= 0.1.1.9001), fontawesome, - kableExtra, knitr, pkgload, rjson, diff --git a/dev/02_dev.R b/dev/02_dev.R index d81a6e6f1..c48a8917f 100644 --- a/dev/02_dev.R +++ b/dev/02_dev.R @@ -40,7 +40,7 @@ usethis::use_mit_license() # usethis::use_package("gt") # # usethis::use_package("shinyBS") usethis::use_package("fontawesome", type = "Suggests") -usethis::use_package("kableExtra", type = "Suggests") +usethis::use_package("kableExtra") usethis::use_package("knitr", type = "Suggests") # usethis::use_package("tinytex", type = "Suggests") # usethis::use_package("pkgdown", type = "Suggests")#, min_version = "1.6.1") From f9add7c893336f1abb91f57da2e64c317cedec1e Mon Sep 17 00:00:00 2001 From: Robert Krajcik Date: Tue, 5 Dec 2023 14:54:17 -0500 Subject: [PATCH 11/11] merge with dev; add NEWS.md entry --- NEWS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/NEWS.md b/NEWS.md index 0694237c1..005e66131 100644 --- a/NEWS.md +++ b/NEWS.md @@ -4,6 +4,7 @@ * Fixes bug where the privileges table was not aligned with the used privileges in the application (#697) * Added introjs for file browser & function explorer( #581) * Added tests for the code and function explorers +* Adjusted page margins and column wrap for pdf outputs (#651) # riskassessment 3.0.0