Случайное перемешивание вопросов и вариантов ответов с несколькими вариантами ответов

Случайное перемешивание вопросов и вариантов ответов с несколькими вариантами ответов

У меня есть следующий список перечислений

\begin{enumerate}
    \item question 1
    \begin{enumerate}
        \item option 1
        \item option 2
        \item option 3
        \item option 4
    \end{enumerate}

    \item question 2
    \begin{enumerate}
        \item option 1
        \item option 2
        \item option 3
        \item option 4
    \end{enumerate}
\end{enumerate}

Я думаю о том, чтобы рандомизировать как порядок вопросов, так и варианты. Я попробовал использовать randomlistpackage, и он отлично работает, если я просто перетасую порядок вопросов следующим образом:

\RandomEnumerateList
{question 1
\begin{enumerate}
    \item option 1
    \item option 2
    \item option 3
    \item option 4
\end{enumerate}
}
{question 2
\begin{enumerate}
    \item option 1
    \item option 2
    \item option 3
    \item option 4
\end{enumerate}
}

Но, кажется, это не работает, если поместить еще один \RandomEnumerateListв \RandomEnumerateList. Есть ли способ настроить мой текущий сценарий, чтобы одновременно перетасовать порядок вопросов и вариантов?

решение1

После быстрого эксперимента с randomlist я не знаю, можно ли с его помощью вкладывать списки.Вот краткое доказательство концепциисделать это с LuaLaTeX. После копированияранденум.luaиrandenum.styв каталоге вашего проекта следующее document.texдолжно дать ожидаемый результат:

\documentclass{scrartcl}

\usepackage{randenum}

\begin{document}

\begin{randenum}
    \item question 1
    \begin{randenum}
        \item option 1
        \item option 2
        \item option 3
        \item option 4
    \end{randenum}

    \item question 2
    \begin{randenum}
        \item option 1
        \item option 2
        \item option 3
        \item option 4
    \end{randenum}
\end{randenum}

\end{document}

Затем скомпилируйтес LuaLaTeX:lualatex document

Внимание: в подходе, который я выбрал, есть некоторые оговорки:

  • \begin{randenum}и \end{randenum}должны находиться на своей собственной линии;
  • окружающую randenumсреду невозможно легко включить в другую среду.

Связанный контент