
우리는 이 MWE처럼 학생들을 위한 텍스트를 풀기 위해 2개의 질문 대신 30개의 질문이 있다고 가정합니다.
\documentclass[leqno,11pt,landscape,a3paper]{extarticle}
\usepackage{multicol,mathtools}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
\begin{multicols}{1}
\begin{enumerate}
\item La velocità di 1,00$\cdot 10^2$ m/s espressa in km/h è:
$\fbox{A}$ 36 km/h.\\
$\fbox{B}$ 360 km/h.\\
$\fbox{C}$ 27,8 km/h.\\
$\fbox{D}$ $3,\!60\cdot 10^{8}$ km/h.\\
$\fbox{E}$ \begin{tabular}{lllllllllllll}
\multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{6}{c}{} \\
\hline
\end{tabular}
\item In fisica nucleare si usa l'angstrom (simbolo: 1\AA=$10^{-10}$ m) e il fermi o femtometro (1 fm= $10^{-15}$ m). Qual è la relazione tra queste due unità di misura?
$\fbox{A}$ 1 \AA = $10^5$ fm.\\
$\fbox{B}$ 1 \AA = $10^{-5}$ fm.\\
$\fbox{C}$ 1 \AA = $10^{-15}$ fm.\\
$\fbox{D}$ 1 \AA = $10^{3}$ fm.\\
$\fbox{E}$ \begin{tabular}{lllllllllllll}
\multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{6}{c}{} \\
\hline
\end{tabular}
\end{enumerate}
\end{multicols}
\end{document}
편집 후에 일부 기술적인 인공물을 사용하여 질문과 답변의 순서를 자동으로 교환할 수 있는 가능성이 있습니까?
답변1
나는 여기서 가능한 방법을 제안합니다:
- 먼저 6개의 인수를 취하는 매크로를 정의합니다
\definequestion
. 첫 번째 인수는 질문을 식별하는 "레이블"입니다. 두 번째는 질문 텍스트입니다. 세 번째부터 여섯 번째까지가 가능한 답변입니다. 질문은 페이지와 글꼴 크기에 따라 조정될 수 있는 고정 너비로t
정렬 됩니다.\parbox
\questionwidth
- 매크로는
\usequestion{label}
해당 질문을 인쇄합니다. - 매크로는 패키지를
\printrandomquestions
사용하여randomlist
의사 무작위 순서로 질문을 인쇄합니다. 선택적 인수는 시드이고, 필수 인수는 쉼표로 구분된 질문 레이블 목록이어야 합니다.
답변이 뒤섞인 버전은 아래를 참조하세요.
\documentclass{article}
\usepackage{amsmath}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{randomlist}
\newlength{\questionwidth}
\setlength{\questionwidth}{6cm}
\makeatletter
\newcommand{\definequestion}[6]{% #1=label; #2: text; #3...#6 multiple choices
\@namedef{question@#1}{%
\parbox[t]{\questionwidth}{%
#2\par\smallskip
\framebox[1.3em]{A}~#3\par
\framebox[1.3em]{B}~#4\par
\framebox[1.3em]{C}~#5\par
\framebox[1.3em]{D}~#6\par
\framebox[1.3em]{E}~\rule{\dimexpr\questionwidth-2em}{0.4pt}
}}
}
\newcommand*{\usequestion}[1]{\@nameuse{question@#1}}
\newcommand*{\printrandomquestions}[2][0]%
{%
\RLsetrandomseed{#1}%
\def\@tempa{}%
\@for\x:=#2\do{%
\edef\y{\noexpand\g@addto@macro\noexpand\@tempa{{\noexpand\@nameuse{question@\x}}}}%
\y
}%
\expandafter\RandomEnumerateList\@tempa
}
\makeatother
\definequestion{v}
{La velocità di $1,00\cdot 10^2$\,m$/$s espressa in km$/$h è:}
{36\,km$/$h}
{360\,km$/$h}
{27,8\,km$/$h}
{$3{,}60\cdot 10^{8}$\,km$/$h.}
\definequestion{A-fm}
{In fisica nucleare si usano l'angstrom (simbolo: $1\,\text{\AA}=10^{-10}$\,m)
e il fermi o femtometro ($1\,\mathrm{fm} = 10^{-15}\,\mathrm{m}$). Qual è la
relazione tra queste due unità di misura?}
{$1\,\text{\AA} = 10^5$\,fm.}
{$1\,\text{\AA} = 10^{-5}$\,fm}
{$1\,\text{\AA} = 10^{-15}$\,fm.}
{$1\,\text{\AA} = 10^{3}$\,fm.}
\definequestion{foo}{Foo}{}{}{}{}
\definequestion{baz}{Baz}{}{}{}{}
\begin{document}
Manually:
\usequestion{A-fm}
\printrandomquestions{v,A-fm,foo,baz}
\printrandomquestions[5]{v,A-fm,foo,baz}
\printrandomquestions[3]{v,A-fm,foo,baz}
\end{document}
출력(명확성을 위해 3개 열이 있는 가로 형식)
편집하다답변의 개편으로.
\documentclass[landscape]{article}
\usepackage[margin=1cm]{geometry} % for preview
\usepackage{multicol}
\usepackage{amsmath}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{randomlist}
\newlength{\questionwidth}
\setlength{\questionwidth}{6cm}
\makeatletter
\newcommand{\definequestion}[6]{% #1=label; #2: text; #3...#6 multiple choices
\@namedef{question@#1}%
{%
\parbox[t]{\questionwidth}%
{%
\NewList{answers}%
\SetList{answers}{{#3},{#4},{#5},{#6}}% extra grouping to protect commas in arguments
#2\par\smallskip
\count@=65
\ForEachRandomItem{answers}{ans}{\framebox[1.3em]{\char\count@}~\ans\par\advance\count@\@ne}%
\framebox[1.3em]{E}~\rule{\dimexpr\questionwidth-2em}{0.4pt}% last one
}%
}%
}
\newcommand*{\usequestion}[1]{\@nameuse{question@#1}} % provided but not quite useful
\newcommand*{\printrandomquestions}[2][0]%
{%
\RLsetrandomseed{#1}%
\def\@tempa{}%
\@for\x:=#2\do{%
\edef\y{\noexpand\g@addto@macro\noexpand\@tempa{{\noexpand\@nameuse{question@\x}}}}%
\y
}%
\expandafter\RandomEnumerateList\@tempa
}
\makeatother
\definequestion{v}
{La velocità di $1,00\cdot 10^2$\,m$/$s espressa in km$/$h è:}
{36\,km$/$h}
{360\,km$/$h}
{27,8\,km$/$h}
{$3{,}60\cdot 10^{8}$\,km$/$h.}
\definequestion{A-fm}
{In fisica nucleare si usano l'angstrom (simbolo: $1\,\text{\AA}=10^{-10}$\,m)
e il fermi o femtometro ($1\,\mathrm{fm} = 10^{-15}\,\mathrm{m}$). Qual è la
relazione tra queste due unità di misura?}
{$1\,\text{\AA} = 10^5$\,fm.}
{$1\,\text{\AA} = 10^{-5}$\,fm}
{$1\,\text{\AA} = 10^{-15}$\,fm.}
{$1\,\text{\AA} = 10^{3}$\,fm.}
\definequestion{foo}{Foo}{a}{b}{c}{d}
\definequestion{baz}{Baz}{$\alpha$}{$\beta$}{$\gamma$}{$\delta$}
\begin{document}
\begin{multicols}{3}
\printrandomquestions{v,A-fm,foo,baz}
\printrandomquestions[5]{v,A-fm,foo,baz}
\printrandomquestions[3]{v,A-fm,foo,baz}
\end{multicols}
\end{document}
답변2
시설을 이용하실 수 있습니다 expl3
. 답변을 순서대로 저장하면 순서를 섞을 수 있습니다.
test
또한 요청한 만큼 테스트 복사본을 만드는 환경 도 정의했습니다 .
\documentclass{article}
\usepackage[a5paper,margin=1cm]{geometry} % just to make smaller images
\usepackage{multicol,mathtools}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{siunitx}
\pagestyle{empty}
\sisetup{output-decimal-marker={,}}
\ExplSyntaxOn
\NewDocumentCommand{\question}{mm}
{
\seq_clear:N \l__sebastiano_question_body_seq
\tl_map_inline:nn { #2 } { \seq_put_right:Nn \l__sebastiano_question_body_seq { ##1 } }
\seq_shuffle:N \l__sebastiano_question_body_seq
\item #1 \\[2ex]
\seq_indexed_map_inline:Nn \l__sebastiano_question_body_seq
{
\fbox { \int_to_Alph:n { ##1 } } ~ ##2 \\[0.5ex]
}
\fbox { \int_to_Alph:n { \seq_count:N \l__sebastiano_question_body_seq + 1 } } ~
\makebox[9em]{\hrulefill}
}
\NewDocumentEnvironment{test}{m+b}
{
\prg_replicate:nn { #1 } { #2 \clearpage }
}
{}
\ExplSyntaxOff
\begin{document}
\begin{test}{4}
\begin{enumerate}
\question{La velocità di \SI{1,00e2}{m/s} espressa in \si{km/h} è:}{
{\SI{36}{km/h}.}
{\SI{360}{km/h}.}
{\SI{27,8}{km/h}.}
{\SI{3,60e8}{km/h}.}
}
\question{In fisica nucleare si usa l'angstrom (simbolo: $\SI{1}{\angstrom}=\SI{1e-10}{m}$)
e il fermi o femtometro ($\SI{1}{fm}=\SI{1e-15}{m}$). Qual è la relazione tra queste due
unità di misura?}{
{$\SI{1}{\angstrom}=\SI{1e5}{fm}$.}
{$\SI{1}{\angstrom}=\SI{1e-5}{fm}$.}
{$\SI{1}{\angstrom}=\SI{1e-15}{fm}$.}
{$\SI{1}{\angstrom}=\SI{1e3}{fm}$.}
}
\end{enumerate}
\end{test}
\end{document}