【问题标题】:Introduction page for exams2nops (r-exams)Exams2nops (r-exams) 的介绍页面
【发布时间】:2020-12-08 03:12:43
【问题描述】:

我想使用您出色的 r-exams 软件包来创建具有自动评分功能的纸笔考试。过去我曾使用exams2nops 来解决一系列schoice 和mchoice 问题。

但是,我现在需要一个带有介绍页面的考试,我在其中提供一个包含数据的表格和统计软件的一些输出(比如正态性测试、Levene 等......我可以使用 Rmd 生成它)并告诉关于数据和收集数据所涉及的实验的小历史记录。

所以我的考试结构是:

第 1 页。学生姓名、编号和答题卡的方框

第 2 页。带有数据集的介绍性页面和用于测试假设的选定数据/输出(无问题)

第 3 页。问题 1.1

第 4 页。问题 1.2。 ... 第 k 页:问题 n。

这可能吗。我想新奇的是“介绍”页面......之后只是一个exams2nops文件......

提前感谢您的任何想法或想法...

若昂

【问题讨论】:

    标签: r-exams


    【解决方案1】:

    我们的解决方案 - 比方说 - 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合并,你能举例说明一下吗?

    【讨论】:

      【解决方案2】:

      如何实现这一点取决于介绍页面是否对所有参与者都相同,或者它是否应该包含每个考试的不同数据/图形/信息。

      每个人的信息相同

      您可以使用exams2pdf(..., intro = ...)

      intro:字符。带有 .tex 路径的单个字符串 文件或带有 LaTeX 代码的向量可选 考试第一页上的介绍文字。

      请注意,如果此 LaTeX 代码包含图形(或其他文件),则需要将其包含在完整路径中,因为 LaTeX 代码是在不同的(临时)目录中编译的。

      随机信息

      如果每次考试都应随机生成不同的数据/图形/信息,那么实现此目的的最佳方法是将其放入第一个问题中。您可以通过在第一个练习中构建“问题”环境的内容来强调材料的不同作用,例如:

      • 以粗体“一般信息”开头。
      • 然后是数据/图形/信息。
      • 然后以粗体和/或分页符包含“第一个问题”,例如,通过\newpage
      • 然后是实际的第一个问题。

      如果您这样做,那么与理想结构的主要偏差是第一个逐项点“1”。是在一般信息的开头,而不是实际的第一个问题。但我认为为exams2nops() 设置一种全新类型的“随机介绍文本”并不值得。

      如果您想向参与者强调这一点,以便没有人忽略第一个问题,您可以将其与一般的intro 结合起来,例如:

      intro <- paste(c(
        "\\textbf{\\large Important information}",
        "",
        "Please note that the first question a data set is introduced that is also used in subsequent questions. The actual first question is included below the general introducation.",
        "\\newpage"),
        collapse = "\n")
      exams2nops(..., intro = intro)
      

      【讨论】:

      • 谢谢阿奇姆。是的,5ge 第一页的随机数据...介绍解决方案非常适合 Moodle,但对于考试 2nops,我真的认为创建一个免费的“介绍”环境问题是值得的。另一个解决方案是生成第一个介绍页面使用 Rmd(将生成的数据保存在 rds 文件中,并在以下一系列问题中使用那个),生成 pdf,然后手动将其插入到 nops 生成的 pdf 文件中。但无论如何还是谢谢。
      • 但是除了获得第一个分项“1”之外,所有这些努力还有什么好处。在介绍材料之后的第二页?我在这里错过了什么吗?我知道它会“很好”,但我不确定它是否真的值得付出努力。
      • 我想将整体介绍的描述作为第 1 项会混淆学生在哪里回答问题 1?不?请注意,在我的结构中,介绍中给出了带有实验描述的一般数据集,然后在介绍之后开始“真实”问题。所有考试都有一组针对该数据集的问题。例如,Q1 要求检查变量的正态性,Q2 要求配对学生 t 检验,Q3 要求两个变量之间的 Pearson(在 Intro 数据集中),等等......因此,能够将介绍与问题区分开来对学生来说更容易......
      • 我想如果他们事先被告知这一点,应该不会有太多的困惑。您还可以在 intro 文本中强调这一点(请参阅上面我修改后的答案)。但我的感觉是,对学生来说最重要的线索是“一般信息”和“第一个问题”的第一个练习中的粗体标题。
      • 亲爱的 Achim,您是否为此问题创建了解决方案?