我们的解决方案 - 比方说 - 5 个不同的版本:
使用随机生成的数据(即Intro.Rmd)准备您自己的介绍。我们的Intro.Rmd 还将生成的数据帧保存在名为Databases 的文件夹中。然后由对应循环的每个练习调用 (i)。
将 rmd 文件渲染为 pdf 时,您必须在 rmd 的 yaml 标头中调用正确的 LaTeX 包。我们的案例:
- \usepackage{booktabs}
- \usepackage{longtable}
- \usepackage{array}
- \usepackage{multirow}
- \usepackage{wrapfig}
- \usepackage{float}
- \usepackage{colortbl}
- \usepackage{pdflscape}
- \usepackage{tabu}
- \usepackage{threeparttable}
- \usepackage{threeparttablex}
- \usepackage[normalem]{ulem}
- \usepackage{makecell}
- \usepackage{xcolor}
创建了几个文件夹:
- 一个用于生成的介绍(即
Intros);
- 一个用于exams2nops 生成的PDF(即
nops_pdf);
- 一个用于吐出的文件(即
subsets);
- 一个用于最终合并版本(即
exams)。
循环:
for (i in 1:5) {
rmarkdown::render(input = "Intro.Rmd",output_file = paste0("Intros/Intro_v",i,".pdf"))
exams2nops(questions, n = 1, nsamp = 1, intro = "Leia as questões com atenção e MARQUE TODAS AS SUAS RESPOSTAS NA FOLHA DE RESPOSTAS! Este exame tem a duração de 60 minutos. Boa sorte!", language = "pt-PT", institution = "Análise Estatística II", title = "Época Normal: Métodos Tipo I - ",dir = "nops_pdf", name = paste0("Ex_AEII_MTI_v",i,"_"), date = "2020-12-01",encoding = "UTF-8", blank = 0, nchoice = 5, duplex = T, reglength = 7L, points = 4, replacement = T,schoice = list(eval = ee))
pdf_subset(input = paste0("nops_pdf/Ex_AEII_MTI_v",i,"_1.pdf"),pages = c(1,3),
output = paste0("subsets/subset_",i,"_part1.pdf"))
pdf_subset(input = paste0("nops_pdf/Ex_AEII_MTI_v",i,"_1.pdf"),pages = c(5:pdf_length(paste0("nops_pdf/Ex_AEII_MTI_v",i,"_1.pdf"))),
output = paste0("subsets/subset_",i,"_part2.pdf"))
pdf_combine(input = c(paste0("subsets/subset_",i,"_part1.pdf"),
paste0("Intros/Intro_v",i,".pdf"),
paste0("subsets/subset_",i,"_part2.pdf")),
output = paste0("exams/exams_v",i,".pdf"))
}
Achim,你说Intro.Rmd生成的pdf可以用exams2nops合并,你能举例说明一下吗?