使用 LaTeX 制作考试试卷
前言
先介绍一下 uestc-course ,最近在 GitHub 上建立了一个资源分享仓库,目标是为电子科技大学的学生免费提供各种课程和考研的复习资料。大家感兴趣的可以给个 Star,或者贡献一些自己的资源。
在收集资料的时候,我发现一些历年试题是学生用手机拍摄的,显示效果很不好,占用空间也比较大,于是我就想把这些试题重新转制为 PDF,因为平时也在用 LaTeX,就试了一下,感觉还可以,发在这里供大家参考。可以点击 样例 看看效果。
完整的文档请阅读 这篇指南 [1](全英文132页,我还是看了大半,读者如果有定制化的需求可以参考参考)。
LaTeX 代码
PS: 编译器应使用 XeLaTeX 。
一步一步来:
\documentclass[answers]{exam}\documentclass{exam}
如果使用了[answer]
参数,那么最终编译出来的 PDF 中会显示试题的答案,如果没有,则会自动把答案隐藏。后面介绍\begin{solution}
的时候会用到。
\usepackage{xeCJK} % 写中文要用到
\usepackage{zhnumber} % 可以把题号变为中文
\usepackage{graphicx} % 插入图片
\usepackage{hyperref} % 插入链接
\usepackage{amsmath} % 数学符号
\usepackage{booktabs} % 表格样式
上面是一些常用的包,不多说了。
定义页眉和页脚
\pagestyle{headandfoot}
\firstpageheadrule
\firstpageheader{电子科技大学}{随机过程与排队论}{期末考试}
\runningheader{电子科技大学}
{随机过程与排队论}
{期末考试}
\runningheadrule
\firstpagefooter{}{第\thepage\ 页(共\numpages 页)}{}
\runningfooter{}{第\thepage\ 页(共\numpages 页)}{}
分别定义第一页和其余页的页眉页脚,效果如下:
页眉:
页脚:
然后定义题的分数的样式:
\pointname{ 分}
\pointformat{(\thepoints)}
显示效果为(10 分)
,其他类型的样式读者可以按需定义,例如
\pointname{ points}
\pointformat{(\thepoints)}
的显示效果为(10 points)
。
解、答
\renewcommand{\solutiontitle}{\noindent\textbf{答:}}\renewcommand{\solutiontitle}{\noindent\textbf{解:}\par\noindent}
显示答案的时候,显示解
或者答
,或者你想定义的任何字符。
题号
\renewcommand{\thequestion}{\arabic{question}}
\renewcommand{\questionlabel}{\thequestion .}
\renewcommand{\thepartno}{\arabic{partno}}
\renewcommand{\partlabel}{(\thepartno)}
\renewcommand{\thesubpart}{}
\renewcommand{\subpartlabel}{\thesubpart.}
\renewcommand{\thesubsubpart}{}
\renewcommand{\subsubpartlabel}{\thesubsubpart)}
\renewcommand{\thechoice}
\renewcommand{\choicelabel}{\thechoice.}
%\arabic \alph \Alph \roman \Roman \greeknum
定义多级题号,例如一、
, (1)
这些。
然后就可以开始文档了:
\begin{document}...\end{document}
可以写一些考试科目、考试时间、注意事项一类的话在前面。
题目
\begin{questions}\question[10] 为什么天是蓝的?\question[10] LaTeX 是最好的语言吗?如果不是,请说明理由。\end{questions}
效果如下:
二级题目
\question[20] 假如$x+y=3, x-y=1$,试求:
\begin{parts}
\part $x$
\part $y$
\end{parts}
效果如下:
选择题
\question[10] 你擅长\fillin。\begin{oneparchoices}
\correctchoice 唱
\correctchoice 跳
\correctchoice RAP
\choice 篮球
\end{oneparchoices}\question[90] 只有\fillin,才能。\begin{choices}
\choice 1主义
\choice 2主义
\correctchoice 3主义
\choice 4主义
\end{choices}
效果如下:
填空题
\question[10] \fillin[Xovee][2cm]是世界上最帅的人。
留空
\vspace{12cm}
% 直接留空%%%
\vspace{\stretch{1}}
% 在页面给给多个问题平均留空,例如:
\question[10] Example One
\vspace{\stretch{1}}
\question[10] Example Two
\vspace{\stretch{1}}
\newpage
%%%\newpage
% 换下一页
答案
\documentclass[answers]{exam}
中的[answers]
参数控制着答案的显示与否。
答案写在\begin{solution} \end{solution}
环境里:
\question[10] 1+1=?
\begin{solution}
2
\end{solution}
效果如下:
密封线(2019年6月20日更新)
看到很多人在搜如何用 LaTeX 制作试卷的密封线,读者可以参考这个页面 [2],里面介绍了三种在 LaTeX 中添加垂直线的方法。
模板
\documentclass[addpoints,answers]{exam}
% \documentclass[addpoints]{exam}\usepackage{xeCJK}
\usepackage{zhnumber}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{amsmath}
\usepackage{booktabs}\pagestyle{headandfoot}
\firstpageheadrule
\firstpageheader{电子科技大学}{}{期末考试}
\runningheader{电子科技大学}
{}
{期末考试}
\runningheadrule
\firstpagefooter{}{第\thepage\ 页(共\numpages 页)}{}
\runningfooter{}{第\thepage\ 页(共\numpages 页)}{}% no box for solutions
% \unframedsolutions\pointname{ 分}
\pointformat{(\thepoints)}\totalformat{共\totalpoints 分}\setlength\linefillheight{.5in}\renewcommand{\solutiontitle}{\noindent\textbf{答:}}
% \renewcommand{\solutiontitle}{\noindent\textbf{解:}\par\noindent}\renewcommand{\thequestion}{\zhnum{question}}
\renewcommand{\questionlabel}{\thequestion .}
\renewcommand{\thepartno}{\arabic{partno}}
\renewcommand{\partlabel}{\thepartno .}
%\renewcommand{\thesubpart}{}
%\renewcommand{\subpartlabel}{\thesubpart.}
%\renewcommand{\thesubsubpart}{}
%\renewcommand{\subsubpartlabel}{\thesubsubpart)}
%\renewcommand{\thechoice}
%\renewcommand{\choicelabel}{\thechoice.}
%\arabic \alph \Alph \roman \Roman \greeknum\begin{document}\begin{questions}\question[10] 你擅长\fillin。\begin{oneparchoices}
\correctchoice 唱
\correctchoice 跳
\correctchoice RAP
\choice 篮球
\end{oneparchoices}\question[80] 只有\fillin,才能。\begin{choices}
\choice 1主义
\choice 2主义
\correctchoice 3主义
\choice 4主义
\end{choices}\question[10] What?\begin{solution}
自强
\end{solution}\question[10] \fillin[Xovee][2cm]是世界上最帅的人。\end{questions}\end{document}
Reference
- P. Hirschhorn. (2017). Using the exam document class. Retrieved from http://www-math.mit.edu/~psh/exam/examdoc.pdf
- LaTeX: How to make a fullpage vertical rule on every page? (June 20, 2019). Retrieved from https://stackoverflow.com/questions/2986240/latex-how-to-make-a-fullpage-vertical-rule-on-every-page
使用 LaTeX 制作考试试卷相关推荐
- 计算机课件制作笔试试题,多媒体课件制作考试试卷
<多媒体课件制作考试试卷>由会员分享,可在线阅读,更多相关<多媒体课件制作考试试卷(7页珍藏版)>请在人人文库网上搜索. 1.学院函 授课程考试试卷课程名称:多媒体课件制作考试 ...
- 计算机网络试卷模板,用Word制作真实试卷模板(下)
离寒假已近,老师们可能也开始考虑制作考试试卷了.因而今天咱们就来教大家如何用Word制作一个试卷模板. 相关文章:用Word制作真实试卷模板(上) 三.制作分栏页码 试卷分两栏打印,每栏下面都应有页码 ...
- 用Word制作真实试卷模板(转)
用Word制作真实试卷模板(转)[@more@] 离寒假已近,老师们可能也开始考虑制作考试试卷了.因而今天咱们就来教大家如何用Word制作一个试卷模板. 一.设置页面 试卷通常使用B4纸.横向.分两栏 ...
- Axure教程:用中继器制作调查问卷/考试试卷
今天教大家用中继器制作调查问卷或考试试卷,包括了单选.多选和填空题. 制作完成后,以后使用方便,仅需简单填写中继器的内容,即可自动生成调查问卷或考试问卷,所以强烈推荐给各位使用. 原型预览及下载地址: ...
- html网页期中考试操作题,《网页制作》期中考试试卷
<网页制作>期中考试试卷 姓名__________班级________学号_____ 一.选择题(每题1.5分,共24题)(*答案写在答题卡上) 1.Dreamweaver是一种功能强大的 ...
- HTML实战案例2:制作模拟考试试卷页面
实战案例2:制作模拟考试试卷页面 一.完整的页面效果图 二.文本素材 HTML在线考试试题 1.HTML中,换行使用的标签是(). A.<br /> B.<p> C.< ...
- 2012年上海市高等学校计算机等级考试试卷,2012年上海市高等学校计算机等级考试A试卷...
2012年上海市高等学校计算机等级考试试卷 一级(2012版考纲A卷) 所有的样张都在"C:\样张"文件夹中,考试系统中[样张]按钮可直接打开此文件夹.(一)Windows操作(共 ...
- 2017年对口招生c语言及答案,2017年计算机专业对口考试试卷及答案.doc
2017年计算机专业对口考试试卷及答案 2017年计算机专业对口考试试卷及答案 一.单项选择题 1.以下软件中,是系统软件. ..x.x. 2.计算机能直接识别的语言是. A.汇编语言 B.自然语言 ...
- 2017计算机湖北对口试题答案,2017年计算机专业对口考试试卷及答案
2017年计算机专业对口考试试卷及答案 一.单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内.每小题2分,共80分) 1.以下软件中,( )是系统软件. A. ...
最新文章
- python3安装cocos2d_(3)在Windows7上搭建Cocos2d-x
- String直接赋字符串和new String的区别
- MYSQL升级5.7.10后GROUP BY语句出错解决方法
- c#怎么调用oracle存储过程,c# 调用oracle 存储过程、方法简易例子
- 高仿国美在线底部代码实现
- VS Code 变身约会利器!以码会友,轻松找到心仪的TA!
- cmake BUILD_SHARED_LIB变量
- MTK 驱动开发(5)---bootloader
- centos下安装Anaconda
- 智能优化算法:纵横交叉算法-附代码
- 智能建筑--常见协议
- C运行时库(CRT)
- 期望之后的失望-小评侯捷的《Word排版艺术》
- 最新简库软件库工具箱综合iApp安卓源码
- git可视化管理工具sourcetree
- 舆情监控系统python开源_舆情监测系统开源
- 【新手基础教程】 硬件加速的图像处理
- 程序员前景一片灰暗?网友:不行找个班上吧
- 小米关机一直显示android,小米手机一直卡在fastboot怎么办
- 如何查看python安装了哪些模块_Python模块如何安装 并确认模块已经安装好?