帮帮我!如何在课堂考试中制作不同版本的测试

帮帮我!如何在课堂考试中制作不同版本的测试

我正在写一篇课堂考试的测试并且对问题有解决方案。

我曾经 \NumberOfVersions{3}制作过三个版本,但我可以完成。这是我的代码的一部分

  \documentclass[answers]{exam}

\usepackage[utf8]{vietnam}

\usepackage[top=1cm, bottom=1.5cm, left=1cm, right=1cm]{geometry}

\usepackage{amsmath,amssymb,amsthm}

\usepackage{tikz}

\usetikzlibrary{arrows}

\usepackage{tkz-tab}

\usepackage{tabvar}

 \NumberOfVersions{1}

\usepackage{multicol}

\usepackage{answers}

      \renewcommand{\solutiontitle}{\noindent\textbf{Lời giải:}\enspace}

\begin{document}

\begin{center}

\fbox{\fbox{\parbox{5.5in}{\centering{\large \textbf{Test }} }}}

\end{center}

\begin{questions}

\question compute $\displaystyle \int\limits_{1}^{e}\dfrac{\ln x}{x}dx$ 

\newline

\begin{oneparchoices}

\choice 1

\choice 3

\CorrectChoice $\dfrac{1}{2}$

\choice 0

\end{oneparchoices}

    \question For $\displaystyle \int f(x).\sin x dx= -f(x)\cos x+\int \cos 
x dx$ Find  $f(x)$

    \begin{choices}

        \begin{multicols}{4}

        \choice $f(x)=x$

        \CorrectChoice $f(x)=x+n $ với $n\in \mathbb{R}$

        \choice  $f(x)=x+1$

        \choice $f(x)=x^2-2$ 

        \end{multicols}

        \begin{solution}

        We have  $I=-\int f(x)d(\cos x)=-f(x)\cos x+\int \cos x dx \Longrightarrow f(x)=x+n$

        \end{solution}

\end{choices} 

    \question For $f(x)$ is consecutive function
 $[0,10]$ , known that $\displaystyle \int\limits_{0}^{10} f(x)dx =10$ and  $\displaystyle \int\limits_{2}^{6} f(x)dx=3$. compute $\displaystyle \int\limits_{0}^{2}f(x)dx +\int\limits_{6}^{10}f(x)dx=?$

    \newline

    \begin{oneparchoices}

    \choice 1

    \choice 3

    \CorrectChoice 7

    \choice  8 

    \end{oneparchoices}

    \begin{solution}
    We have: 
    \end{solution}
 \end{questions}


\end{document}

答案1

我今天早上也有同样的问题。以下 Python 代码将实现目标。我仅将我的 复制\question到一个新文件中,%%%在问题之间插入字符串,它将一组打乱顺序的问题写入新文件中,然后我将\input{}其写入 LaTeX 考试之间\begin{questions}...。\end{questions}

import random

with open('original_questions.txt', 'r') as file:
    questions = file.read().split('%%%')
random.shuffle(questions)
with open('shuffled_questions.txt', 'w') as file:
    file.write('%%%'.join(questions))

相关内容