Для этого есть две стратегии:
1. Отдельные файлы упражнений в той же последовательности
Всегда используйте одну и ту же последовательность упражнений, скажем, ex1.Rmd
, ex2.Rmd
, ex3.Rmd
, где ex1.Rmd
создает и описывает настройку, а ex2.Rmd
и ex3.Rmd
просто повторно используйте переменные, созданные внутри ex1.Rmd
. В интерфейсе exams2xyz()
вы должны убедиться, что все упражнения обрабатываются в одной и той же среде, например в глобальной среде:
exams2pdf(c("ex1.Rmd", "ex2.Rmd", "ex3.Rmd"), envir = .GlobalEnv)
Для упражнений .Rnw это необязательно, поскольку они всегда обрабатываются в глобальная среда в любом случае.
2. Замкнутые упражнения
Вместо отдельных файлов упражнений объедините все упражнения в одном «закрытом» упражнении ex123.Rmd
, которое объединяет три подпункта. Для простого упражнения с двумя подпунктами см .: http://www.R-exams.org/templates/lm/
Какую стратегию использовать?
Для exams2pdf()
обе стратегии работают, и это больше вопрос вкуса, предпочитаете ли вы все упражнения вместе в одном файле или разбить на отдельные файлы. Однако для других exams2xyz()
интерфейсов работает только одна или ни одна из этих стратегий:
exams2pdf()
: 1 + 2 exams2html()
: 1 + 2 exams2nops()
: 1 exams2moodle()
: 2 exams2openolat()
: 2 exams2blackboard()
: - exams2canvas()
: -
В принципе, стратегия 1 гарантированно будет работать только для интерфейсов, которые генерируют отдельные файлы для отдельных экзаменов, таких как exams2pdf()
, exams2nops()
и др. c. Однако для интерфейсов, которые создают пулы упражнений для систем управления обучением, таких как exams2moodle()
, exams2canvas()
, et c. как правило, часто нельзя быть уверенным, что для всех трех упражнений проводится одинаковая случайная репликация. (Таким образом, если в упражнении есть две случайные репликации, A и B, участники могут получить не A / A / A или B / B / B, а A / B / A.)
Следовательно, если ex1 / 2/3 - это упражнения с множественным выбором, которые вы хотите распечатать и отсканировать автоматически, тогда вы можете использовать exams2nops()
в сочетании со стратегией 1. Однако стратегия 2 не будет работать, потому что закрывающие упражнения нельзя сканировать автоматически в exams2nops()
.
Напротив, если вы хотите использовать Moodle, тогда exams2moodle()
можно комбинировать со стратегией 2. В отличие от этого, стратегия 1 не будет работать (см. Выше).
Как вас интересует Экспорт холста: В Canvas не работает ни одна из двух стратегий. Это не поддерживает упражнения на закрытие. И, насколько мне известно, непросто убедиться, что упражнения взяты «в син c».