summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/jnuexam/jnuexam.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/jnuexam/jnuexam.tex')
-rw-r--r--Master/texmf-dist/doc/latex/jnuexam/jnuexam.tex125
1 files changed, 92 insertions, 33 deletions
diff --git a/Master/texmf-dist/doc/latex/jnuexam/jnuexam.tex b/Master/texmf-dist/doc/latex/jnuexam/jnuexam.tex
index 35bdcafe375..f41fb784f6c 100644
--- a/Master/texmf-dist/doc/latex/jnuexam/jnuexam.tex
+++ b/Master/texmf-dist/doc/latex/jnuexam/jnuexam.tex
@@ -9,8 +9,23 @@
\usepackage{listings}
\usepackage{tabu}
-\setCJKsansfont{SimHei}
-\setCJKmonofont{SimHei}
+\makeatletter
+
+\providecommand{\beamer@endinputifotherversion}[1]{}
+
+\ifxetex
+ \setCJKsansfont{SimHei} % fix for ctex 2.0
+ \setCJKmonofont{SimHei}
+ \renewcommand\CJKfamilydefault{\CJKsfdefault}%
+\else
+ \@ifpackagelater{ctex}{2014/03/01}{}{\AtBeginDocument{\heiti}} %无效?
+\fi
+
+\makeatother
+
+\renewcommand{\baselinestretch}{1} % ctex 2.4.1 开始为 1,之前为 1.3
+\renewcommand{\arraystretch}{1.3}
+
\setlength{\parskip}{7pt plus 1pt minus 1pt}
\justifying
@@ -21,6 +36,8 @@
basicstyle=\ttfamily\color{blue!50!red}
}
+\lstnewenvironment{code}{}{}
+
\setbeamersize{text margin left=8mm,text margin right=8mm}
\newenvironment{framex}{\begin{frame}[fragile=singleslide,environment=framex]}{\end{frame}}
@@ -63,7 +80,7 @@
这个模板将格式和内容分开,而且可以从一份 \verb!tex! 文件编译出四份试卷(A卷 / B卷 / A卷答案 / B卷答案),使用方便。
\par
这个模板的最新版本可以在下面地址下载:\newline
- \url{https://lvjr.bitbucket.io/jnuexam.html}
+ \href{https://lvjr.bitbucket.io/jnuexam.html?\the\year}{https://lvjr.bitbucket.io/jnuexam.html}
\end{framex}
\begin{framex}
@@ -79,7 +96,7 @@
\begin{framex}
\frametitle{试卷结构}
-\begin{lstlisting}
+\begin{code}
\documentclass{jnuexam}
\begin{document}
......
@@ -96,12 +113,12 @@
\makedata{可能用到的数据} %附录数据
......
\end{document}
-\end{lstlisting}
+\end{code}
\end{framex}
\begin{framex}
\frametitle{试卷表头}
-\begin{lstlisting}
+\begin{code}
\renewcommand{\niandu}{2010--2011}
\renewcommand{\xueqi}{2}
\renewcommand{\kecheng}{大学数学}
@@ -114,13 +131,13 @@
\renewcommand{\neizhao}{1} % 1打勾,0不勾
\renewcommand{\waizhao}{0} % 1打勾,0不勾
\makehead %生成试卷表头
-\end{lstlisting}
+\end{code}
其中 \verb!\zhuanye! 和 \verb!\shijian! 命令的内容可以为空。
\end{framex}
\begin{framex}
\frametitle{填空题目}
-\begin{lstlisting}
+\begin{code}
\makepart{填空题}{题数分值}
\begin{problem}
@@ -130,7 +147,7 @@
\begin{problem}
第二道填空题描述\fillout{答案}。
\end{problem}
-\end{lstlisting}
+\end{code}
\verb!\fillout! 命令将用下划线填满整行。另有个 \verb!\fillin! 命令,只留下最小宽度的下划线。
\par
答案必须放在 \verb!\fillout! 或 \verb!\fillin! 命令里面;这样才能在生成空白试卷时隐藏它。
@@ -138,7 +155,7 @@
\begin{framex}
\frametitle{选择题目}
-\begin{lstlisting}
+\begin{code}
\makepart{单选题}{题数分值}
\begin{problem}
@@ -148,15 +165,44 @@
\begin{problem}
第二道单选题描述\pickout{答案}。
\end{problem}
-\end{lstlisting}
+\end{code}
\verb!\pickout! 命令将把选择圆括号放在本行最右边。另外有个 \verb!\pickin! 命令,将选择圆括号放在当前位置。
\par
答案必须放在 \verb!\pickout! 或 \verb!\pickin! 命令里面;这样才能在生成空白试卷时隐藏它。
\end{framex}
\begin{framex}
+\frametitle{选项排版}
+选择题的四个选项可以用 \verb!abcd! 环境来排版。比如:
+\begin{code}
+\begin{abcd}
+ \item 第一个选项
+ \item 第二个选项
+ \item 第三个选项
+ \item 第四个选项
+\end{abcd}
+\end{code}
+此时 \verb!abcd! 环境将根据各选项长度自动将四个选项分为一行、两行或四行排版,非常方便。
+\end{framex}
+
+
+\begin{framex}
+\frametitle{答题表格}
+在填空题和选择题前面,还可以用 \verb!\answertable! 命令生成空白答题栏。比如:
+\begin{code}
+\answertable[3em]{6}{3}
+\end{code}
+其中 \verb!\answertable! 命令的三个参数含义如下:
+\begin{itemize}
+ \item 第一个可选参数表示空白单元格的高度,默认是 \verb!1em!。
+ \item 第二个必选参数表示总共有多少个题目。
+ \item 第三个必选参数表示每行排版几个题目。
+\end{itemize}
+\end{framex}
+
+\begin{framex}
\frametitle{计算题目}
-\begin{lstlisting}
+\begin{code}
\makepart{计算题}{题数分值}
\begin{problem}
@@ -172,34 +218,47 @@
\begin{solution}
第二道计算题答案。
\end{solution}
-\end{lstlisting}
+\end{code}
\end{framex}
\begin{framex}
\frametitle{证明题目}
-\begin{lstlisting}
+\begin{code}
\makepart{证明题}{题数分值}
\begin{problem}
第一道证明题描述。
\end{problem}
-\begin{proof}
+\begin{solution}
第一道证明题答案。
-\end{proof}
+\end{solution}
\begin{problem}
第二道证明题描述。
\end{problem}
-\begin{proof}
+\begin{solution}
第二道证明题答案。
-\end{proof}
-\end{lstlisting}
+\end{solution}
+\end{code}
+\end{framex}
+
+\begin{framex}
+\frametitle{评分命令}
+计算题和证明题等主观题的排版方法是完全一样的。在编写这些主观题的解答时,
+可以用 \verb!\score! 命令给出各步骤得分。比如:
+\begin{code}
+\begin{solution}
+$1+1=2$ \score{4}
+$2+2=4$ \score{8}
+\end{solution}
+\end{code}
+评分命令 \verb!\score! 也可在 \verb!align*! 等数学环境中使用,此时评分显示在公式编号位置。
\end{framex}
\begin{framex}
\frametitle{其它题型}
除了上述四种题型之外,其它题型可以用下面方式编写:
-\begin{lstlisting}
+\begin{code}
\makepart{某题型}{题数分值}
\begin{problem}
@@ -209,17 +268,17 @@
\begin{problem}
第二题描述。\answer{第二题答案}
\end{problem}
-\end{lstlisting}
+\end{code}
其中题目答案必须放在 \verb!\answer! 命令里面;这样才能在生成空白试卷时隐藏它。
\end{framex}
\begin{framex}
\frametitle{附录数据}
在试卷最后,可以用下面命令增加附录数据部分:
-\begin{lstlisting}
+\begin{code}
\makedata{可能用到的数据} %附录数据
......
-\end{lstlisting}
+\end{code}
附录数据必须放在 \verb!\makedata! 命令后面;否则在从A卷生成B卷时会出问题。
\end{framex}
@@ -227,10 +286,10 @@
\frametitle{空白试卷}
假设 \verb!exam-a.tex! 是含答案的试卷。新建一个包含以下内容的 \verb!exam-a-empty.tex! 文档,
编译后将得到不含答案的空白试卷。
-\begin{lstlisting}
+\begin{code}
\PassOptionsToClass{noanswer}{jnuexam}
\input{exam-a}
-\end{lstlisting}
+\end{code}
也就是说,给 \verb!jnuexam! 文档类加上 \verb!noanswer! 选项后,编译时将会自动隐藏试卷答案。
\end{framex}
@@ -238,10 +297,10 @@
\frametitle{逆序出题}
假设 \verb!exam-a.tex! 是含答案的A卷。新建一个包含以下内容的 \verb!exam-b.tex! 文档,
编译后将得到逆序出题的B卷。
-\begin{lstlisting}
+\begin{code}
\PassOptionsToClass{reverse}{jnuexam}
\input{exam-a}
-\end{lstlisting}
+\end{code}
也就是说,给 \verb!jnuexam! 文档类加上 \verb!reverse! 选项后,编译时将会逆序排列各题型的小题。
\end{framex}
@@ -285,7 +344,7 @@
\begin{framex}
\frametitle{分页例子}
关于分页命令的使用,可以看下面的典型例子:
-\begin{lstlisting}
+\begin{code}
\makepart{某题型}{题型分值}
\newpageb
\begin{problem}第一题\end{problem}\vfill
@@ -294,15 +353,15 @@
\begin{problem}第三题\end{problem}\vfill
\begin{problem}第四题\end{problem}\vfill
\newpagea
-\end{lstlisting}
+\end{code}
这样编译得到的A卷就是这样的顺序:
-\begin{lstlisting}
+\begin{code}
第一题 第二题 分页 第三题 第四题 分页
-\end{lstlisting}
+\end{code}
而编译得到的B卷就是这样的顺序:
-\begin{lstlisting}
+\begin{code}
第四题 第三题 分页 第二题 第一题 分页
-\end{lstlisting}
+\end{code}
\end{framex}
\end{document}