
Tạo đề thi trắc nghiệm với
L
A
T
EX
DongPhD
http://dongphd.blogspot.com
DongPhD L
A
T
E
X Userguide Series
Tóm tắt
Làm đề thi trắc nghiệm là một “mốt” ? Nhiều phần mềm miễn phí lẫn có phí thay nhau
ra đời. Tài liệu này tập trung vào việc làm đề thi trắc nghiệm với L
A
T
EX (hoàn toàn miễn
phí) với gói dethi kết hợp với lớp examdesign, gói answers với Ex_Test và lớp DongPhD.
MỤC LỤC
1 Gói dethi 2
1.1 Cài đặt gói lệnh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Hướng dẫn sử dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 Mẫu khai báo và giải thích . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 Các loại câu hỏi trắc nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Kếtluận................................................ 6
2 Gói lệnh answer và Ex_Test v1.2 6
2.1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Hướng dẫn sử dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1 Mẫu khai báo và giải thích . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.2 Trộn đề và các lưu ý . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3 Lớp DongPhD 10
3.1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2 Hướng dẫn sử dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.1 Mẫukhaibáo......................................... 11
3.2.2 Các loại câu hỏi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3 Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Tài liệu tham khảo 14
1

1 Gói dethi
Đây là một gói trắc nghiệm được viết bởi Nguyễn Hữu Điển
nhằm khuyến khích mọi người sử dụng VietTex. Đây là một sự
Việt hóa gói lệnh examdesign của Jason Alexander. dethi.sty bao
gồm các lệnh tạo ra đề thi mà lớp examdesign1không có và
Nguyễn Hữu Điển phải định nghĩa lại. Tải về gói dethi tại đây.
Download dethi.sty
1.1 Cài đặt gói lệnh
1.2 Hướng dẫn sử dụng
1.2.1 Mẫu khai báo và giải thích
Phần đầu
\documentclass[11pt]{examdesign}%DongPhD
\usepackage{amsmath,amsxtra,latexsym, amssymb, amscd}
\usepackage[utf8]{vietnam}
\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage{ifthen}
\usepackage{dethi} %Gói lệnh cho đề thi
\usepackage{enumerate}
\Fullpages %Định dạng trang đề thi
\ContinuousNumbering %Đánh số liên tục các bài thi
\ShortKey
%\OneKey % Lệnh chỉ in ra 1 bản đáp án
%\NoKey %Lệnh không in ra phần đáp án
\NumberOfVersions{20} %20 là số bài thi khác nhau được in ra
\SectionPrefix{\relax }%\bf Phần \Roman{sectionindex}. \space}
\tentruong{Tên trường}
%\tenkhoa{Tên Khoa}
\loaidethi{ĐỀ CHÍNH THỨC}%{ĐỀ THI HẾT HỌC KỲ}%
\tenkythi{Tên kì thi}
\tenmonhoc{Môn thi: TÊN MÔN THI}
\madethi{152}
\thoigian{Thời gian làm bài: 90 phút}
\tieudetracnghiem
%\tieudethiviet
\tieudedapan
%\tieudetren
\tieudeduoi
%\daungoac{[}{]}%Dấu quanh phương án trả lời: {(}{)};{}{.};{}{)}
%\chuphuongan{\alph}%Ký tự cho các phương án
%\chuphuongan{\arabic}%\Roman%\roman%kể cả số cho các phương án
\chucauhoi{Bài} %Chữ trước các số câu hỏi
%\mauchu{red}
\socauhoi{40}
\sotrang{5}
\setlength{\baselineskip}{12truept}
1This file has version number v1.1
2

\def\v#1{\overrightarrow{#1}}
\def\ktrang{\makebox[1.5cm]{\hrulefill}}
%\NoRearrange
Phần nội dung
\begin{document}
\begin{multiplechoice}[title={\bf Bôi đen phương án đúng},
rearrange=yes,keycolumns=2] % Tiêu đề phần trắc nghiệm
% rearrange = yes (Cho phép trộn đề thi)
% keycolumns = 2(số cột được tạo ra trong đáp án)
\begin{question}
Nội dung câu hỏi...
\datcot[2]% Các phương án
% được chia làm 2 cột, có thể thay đổi.
\bonpa %bốn phương án
{\Đáp án phương án 1 {Nội dung phương án 1...}}
{\Đáp án phương án 2{Nội dung phương án 2...}}
{\Đáp án phương án 3{Nội dung phương án 3...}}
{\Đáp án phương án 4{Nội dung phương án 4...}}
%Tấtnhiênlàcó1đápánđúngtrong4đápántrên.
\end{question}
\end{multiplechoice}
\end{document}
Chú thích:
Tên lệnh Chức năng và ý nghĩa sử dụng
\tentruong tên bộ hoặc tên trường bạn
\tenkhoa Tên khoa, nếu không đưa vào bỏ trắng.
\loaidethi Đề chính thưc, Kiểm tra giữa kì, ...
\tenkythi Tên kì thi tốt nghiệp, hay thử
\tenmonhoc Tên môn học
\madethi Mã đề thi bắt đầu, sau đó được cộng thêm1
\thoigian Thời gian thi
\tieudetracnghiem Tiêu đề dành cho đề trắc nghiệm
\tieudethiviet Tiêu đề tự luận
\tieudedapan Tiêu đề của đáp án
\tieudeduoi Tiêu đề dưới mỗi trang
\daungoac Dấu ngoặc cho đáp án: []()<>.) và tùy ý
\chuphuongan Chữ cho phương án: A, a, 1, I,
\chucauhoi Có thể là Bài, Câu
\mauchu Màu chữ: red, blue, yellow, ...
\socauhoi Số lượng câu hỏi trong đề thì
\sotrang Số trang đề thi.
Một điều tuyệt vời là khi các bạn dùng gói lệnh \usepackage{fancybox}
và lệnh \cornersize*{3.6mm} với \daungoac{\Ovalbox}{} hoặc
\daungoac{\fbox}{} thì sẽ có khoanh tròn hoặc vuông quanh kí
hiệu.
1.2.2 Các loại câu hỏi trắc nghiệm
Câu hỏi ghép nối
3

\begin{matching}[title={ Câu ghép nối}]
Đề bài
\pair{Nội dung 1}{Đáp án 1}
\pair{Nội dung 2}{Đáp án 2}
\pair{Nội dung 3}{Đáp án 3}
\pair{Nội dung 4}{Đáp án 4}
\end{matching}
Câu hỏi đúng sai
\begin{truefalse}[title={\bf Câu đúng sai}]
\begin{question}
\examvspace*{0.7\baselineskip}
\answer{Đúng/Sai} Nội dung 1....
\end{question}
\begin{question}
\examvspace*{0.7\baselineskip}
\answer{Đúng/Sai} Nội dung 2...
\end{question}
\end{truefalse}
Câu hỏi nhiều lự chọn
\begin{multiplechoice}[title={\bf PHẦN CHUNG CHO TẤT
CẢ THÍ SINH (số câu, từ câu 1 đến câu n):} ,
rearrange=yes, keycolumns=6]
\begin{question}
Nội dung câu hỏi
\datcot[2]
\bonpa %Bốn phương án
{\dung{Đáp án đúng }}
{\sai{Đáp án sai}}
{\sai{Đáp án sai }}
{\sai{Đáp án sai}}
\end{question}
\end{multiplechoice}
Chú thích:
1. title là tiêu đề phần nội dung chung cho các câu hỏi; re-
arrange=yes có đảo đề và no khong đảo đề. keycolumns=6
đáp án chia làm sáu cột để liệt kê kết quả đúng.
2. Lệnh \datcot không có tùy chọn là để mặc định cho chương
trình thu xếp. Khi thấy 4 phương án trả lời đều 4 cột,
4

hoặc hai cột, hoặc 3 cột ngang nhau thì không cần đặt
thêm gì chương trình tự thu xếp đẹp nhất. Trường hợp 4
phương án có độ rộng không đều ta có thể đặt độ rộng bằng
phương án dài nhất chiếm bao nhiêu cột. Ví dụ \datcot[2]
là xác định mỗi phương án rộng 2 cột, tương tự như vậy với
\datcot[3],\datcot[4],\datcot[5].
3. Các lệnh về phương án câu hỏi: Tùy vào bài có các lệnh
\haipa lệnh hai phương án, \bapa lệnh ba trương án trả lời
\bonpa bốn phương án và \nampa
4. Nội dung bốn phương án thứ tự cho vào trong ngoặc nhọn
\bonpa{{\sai{A}}{{\dung{B}}{{\sai{C}}{{\sai{D}}. Bao
quanh mỗi phương án phải là lệnh \đúng hoăcl \sai
5. Lệnh về phương án đặc biệt với các đối số và cách thức
tương tự chỉ có khác lệnh một chút
•\bonpak{{\sai{A}}{{\dung{B}}{{\sai{C}}{{\sai{D}}
phương án của câu hỏi không đảo thứ tự A, B, C, D;
nhưng vẫn đảo thứ tự câu hỏi.
•\bonpab{{\sai{A}}{{\dung{B}}{{\sai{C}}{{\sai{D}}
Phương án thứ tư luôn luôn cố định không đổi.
Câu hỏi tự luận
\begin{shortanswer}[title={\bf I. Phần tự luận}, rearrange=no]
\begin{question}
Đề câu 1 phần tự luận....
\begin{answer}
Đáp án câu 1 phần tự luận...
\end{answer}
\end{question}
\begin{question}
Đề câu 2 phần tự luận...
\begin{answer}
Đáp án câu 2 phần tự luận...
\end{answer}
\end{question}
\end{shortanswer}
5

