Embaralhamento aleatório de perguntas e opções de múltipla escolha

Embaralhamento aleatório de perguntas e opções de múltipla escolha

Eu tenho a seguinte lista enumerada

\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}

Estou pensando em randomizar a ordem das perguntas e das opções. Tentei usar randomlisto pacote e funciona perfeitamente se eu apenas embaralhar a ordem das perguntas da seguinte maneira:

\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}
}

Mas parece não funcionar ao colocar outro \RandomEnumerateListem um arquivo \RandomEnumerateList. Existe alguma maneira de ajustar meu script atual para embaralhar as ordens das perguntas e das opções ao mesmo tempo?

Responder1

Depois de uma rápida tentativa com randomlist, não sei se é possível aninhar listas com ele.Aqui está uma rápida prova de conceitofazer isso com LuaLaTeX. Depois de copiarrandenum.luaerandenum.stydentro do diretório do seu projeto, o seguinte document.texdeve fornecer o resultado esperado:

\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}

Então compilecom LuaLaTeX:lualatex document

Cuidado: há algumas ressalvas com a abordagem que adotei:

  • \begin{randenum}e \end{randenum}devem estar em sua própria linha;
  • o randenumambiente não pode ser facilmente agrupado em outro ambiente.

informação relacionada