diff options
Diffstat (limited to 'macros/latex/contrib/jnuexam/jnuexam.tex')
-rw-r--r-- | macros/latex/contrib/jnuexam/jnuexam.tex | 154 |
1 files changed, 85 insertions, 69 deletions
diff --git a/macros/latex/contrib/jnuexam/jnuexam.tex b/macros/latex/contrib/jnuexam/jnuexam.tex index 891c0663ee..e19f1416b6 100644 --- a/macros/latex/contrib/jnuexam/jnuexam.tex +++ b/macros/latex/contrib/jnuexam/jnuexam.tex @@ -106,12 +106,13 @@ \frametitle{试卷结构} 下面是 \verb!jnuexam! 试卷文档的基本结构: \begin{code} -\documentclass{jnuexam} +\documentclass[chinese]{jnuexam} % 导言区 \begin{document} % 正文区 \end{document} \end{code} +试卷包含中文和英文两种模板,必须在文档开头指明。\par 导言区用于设定装订线和草稿纸等等选项。\par 正文区用于填写试卷表头和输入试卷内容。 \end{framex} @@ -120,7 +121,7 @@ \frametitle{装订草稿} 在文档的导言区可以设定装订线和草稿纸。比如: \begin{code} -\setexam{ +\SetExamOption{ binding = 2, % 装订线 scratch = 1, % 草稿纸 } @@ -137,17 +138,17 @@ \documentclass{jnuexam} \begin{document} ...... -\makehead %生成试卷表头 +\examtitle{...} %生成试卷表头,见下页 ...... -\makepart{填空题}{题数分值} +\exampart{填空题}[题数分值] ...... -\makepart{单选题}{题数分值} +\exampart{单选题}[题数分值] ...... -\makepart{计算题}{题数分值} +\exampart{计算题}[题数分值] ...... -\makepart{证明题}{题数分值} +\exampart{证明题}[题数分值] ...... -\makedata{可能用到的数据} %附录数据 +\examdata{可能用到的数据} %附录数据 ...... \end{document} \end{code} @@ -156,34 +157,48 @@ \begin{framex} \frametitle{试卷表头} \begin{code} -\renewcommand{\niandu}{2010--2011} -\renewcommand{\xueqi}{2} -\renewcommand{\kecheng}{大学数学} -\renewcommand{\zhuanye}{理工4学分} -\renewcommand{\jiaoshi}{某某某} -\renewcommand{\shijian}{2011年07月08日} -\renewcommand{\bixiu}{1} % 1为必修,0为选修 -\renewcommand{\bijuan}{1} % 1为闭卷,0为开卷 -\renewcommand{\shijuan}{A} % A/B/C卷 -\renewcommand{\neizhao}{1} % 1打勾,0不勾 -\renewcommand{\waizhao}{0} % 1打勾,0不勾 -\makehead %生成试卷表头 +\examtitle{ + niandu = 2017--2018, + xueqi = 2, + kecheng = 大学数学, + zhuanye = 理工四学分, % 可以为空白 + jiaoshi = {张三,李四}, % 教师姓名 + shijian = 2018年6月28日, + bixiu = 1, % 1 为必修,0 为选修 + bijuan = 1, % 1 为闭卷,0 为开卷 + shijuan = A, % A 或 B 或 C 卷 + neizhao = 1, % 1 打勾,0 不勾 + waizhao = 0, % 1 打勾,0 不勾 +} +\end{code} +其中 \verb!zhuanye! 和 \verb!shijian! 选项的内容可以为空。 +\end{framex} + +\begin{framex} +\frametitle{评分表格} +在 \verb!\examtitle! 后面,可以用 \verb!\gradetable! 命令生成空白的评分表格。比如: +\begin{code} +\gradetable[total=6,strut=2em] \end{code} -其中 \verb!\zhuanye! 和 \verb!\shijian! 命令的内容可以为空。 +其中 \verb!\gradetable! 命令的各个参数含义如下: +\begin{description} + \item[total] 表示试卷总共有多少部分,默认是 \verb!6!。 + \item[strut] 表示空白单元格的支架高度,默认是 \verb!2.5em!。 +\end{description} \end{framex} \begin{framex} \frametitle{判断题目} \begin{code} -\makepart{判断题}{题数分值} +\exampart{判断题}[题数分值] -\begin{problem} +\begin{question} 第一道判断题描述。\tickout{t} -\end{problem} +\end{question} -\begin{problem} +\begin{question} 第二道判断题描述。\tickout{f} -\end{problem} +\end{question} \end{code} 其中 \verb!\tickout{t}! 和 \verb!\tickout{f}! 分别表示打勾(\textcolor{blue}{$\checkmark$})和打叉(\textcolor{blue}{\large$\times$})。 @@ -196,15 +211,15 @@ \begin{framex} \frametitle{填空题目} \begin{code} -\makepart{填空题}{题数分值} +\exampart{填空题}[题数分值] -\begin{problem} +\begin{question} 第一道填空题描述\fillout{答案}。 -\end{problem} +\end{question} -\begin{problem} +\begin{question} 第二道填空题描述\fillout{答案}。 -\end{problem} +\end{question} \end{code} \verb!\fillout! 命令将用下划线填满整行。另有个 \verb!\fillin! 命令,只留下最小宽度的下划线。 \par @@ -214,15 +229,15 @@ \begin{framex} \frametitle{选择题目} \begin{code} -\makepart{单选题}{题数分值} +\exampart{单选题}[题数分值] -\begin{problem} +\begin{question} 第一道单选题描述\pickout{答案}。 -\end{problem} +\end{question} -\begin{problem} +\begin{question} 第二道单选题描述\pickout{答案}。 -\end{problem} +\end{question} \end{code} \verb!\pickout! 命令将把选择圆括号放在本行最右边。另外有个 \verb!\pickin! 命令,将选择圆括号放在当前位置。 \par @@ -248,31 +263,32 @@ \frametitle{答题表格} 在填空题和选择题前面,还可以用 \verb!\answertable! 命令生成空白答题栏。比如: \begin{code} -\answertable[3em]{6}{3} +\answertable[total=6,column=3,strut=3em] \end{code} -其中 \verb!\answertable! 命令的三个参数含义如下: -\begin{itemize} - \item 第一个可选参数表示空白单元格的高度,默认是 \verb!1em!。 - \item 第二个必选参数表示总共有多少个题目。 - \item 第三个必选参数表示每行排版几个题目。 -\end{itemize} +其中 \verb!\answertable! 命令的各个参数含义如下: +\begin{description} + \item[total] 表示总共有多少个题目。 + \item[column] 表示每行排版几个题目。 + \item[strut] 表示空白单元格的高度,默认是 \verb!1em!。 + \item[notice] 表示答题表格前面提示文本的内容。 +\end{description} \end{framex} \begin{framex} \frametitle{计算题目} \begin{code} -\makepart{计算题}{题数分值} +\exampart{计算题}[题数分值] -\begin{problem} +\begin{question} 第一道计算题描述。 -\end{problem} +\end{question} \begin{solution} 第一道计算题答案。 \end{solution} -\begin{problem} +\begin{question} 第二道计算题描述。 -\end{problem} +\end{question} \begin{solution} 第二道计算题答案。 \end{solution} @@ -282,18 +298,18 @@ \begin{framex} \frametitle{证明题目} \begin{code} -\makepart{证明题}{题数分值} +\exampart{证明题}[题数分值] -\begin{problem} +\begin{question} 第一道证明题描述。 -\end{problem} +\end{question} \begin{solution} 第一道证明题答案。 \end{solution} -\begin{problem} +\begin{question} 第二道证明题描述。 -\end{problem} +\end{question} \begin{solution} 第二道证明题答案。 \end{solution} @@ -302,10 +318,10 @@ \begin{framex} \frametitle{解答名称} -通过重新定义 \verb!\solutionname! 命令,可以改变 \verb!solution! 环境的名称。 -比如下面例子将“解答”二字改为“证明”: +通过重定义关键词的翻译,可以改变 \verb!solution! 环境的显示名称。 +比如下面例子将“解”改为“证”: \begin{code} -\renewcommand{\solutionname}{证明} +\SetExamTranslation{solution-Solution = 证} \end{code} \end{framex} @@ -360,15 +376,15 @@ $2+2=4$ \points{8} \frametitle{其它题型} 除了上述四种题型之外,其它题型可以用下面方式编写: \begin{code} -\makepart{某题型}{题数分值} +\exampart{某题型}[题数分值] -\begin{problem} +\begin{question} 第一题描述。\answer{第一题答案} -\end{problem} +\end{question} -\begin{problem} +\begin{question} 第二题描述。\answer{第二题答案} -\end{problem} +\end{question} \end{code} 其中题目答案必须放在 \verb!\answer! 命令里面;这样才能在生成空白试卷时隐藏它。 \end{framex} @@ -377,17 +393,17 @@ $2+2=4$ \points{8} \frametitle{附录数据} 在试卷最后,可以用下面命令增加附录数据部分: \begin{code} -\makedata{可能用到的数据} %附录数据 +\examdata{可能用到的数据} %附录数据 ...... \end{code} -附录数据必须放在 \verb!\makedata! 命令后面;否则在从A卷生成B卷时会出问题。 +附录数据必须放在 \verb!\examdata! 命令后面;否则在从A卷生成B卷时会出问题。 \end{framex} \section{模板选项} \begin{framex} \frametitle{空白试卷} -假设 \verb!exam-a-answer.tex! 是含答案的试卷。新建一个包含以下内容的 \verb!exam-a-empty.tex! 文档, +假设 \verb!exam-a-answer.tex! 是含答案的试卷。新建一个包含以下内容的 \verb!exam-a-blank.tex! 文档, 编译后将得到不含答案的空白试卷。 \begin{code} \PassOptionsToClass{noanswer}{jnuexam} @@ -431,26 +447,26 @@ $2+2=4$ \points{8} \begin{framex} \frametitle{双栏试卷} -假设 \verb!exam-a-empty.tex! 是原来试卷的 TeX 文件。新建一个包含以下内容的文档, +假设 \verb!exam-a-blank.tex! 是原来试卷的 TeX 文件。新建一个包含以下内容的文档, 编译后将得到的 A3 纸张的试卷。 \begin{code} \PassOptionsToClass{a3paper}{jnuexam} -\input{exam-a-empty} +\input{exam-a-blank} \end{code} 也就是说,给 \verb!jnuexam! 文档类加上 \verb!a3paper! 选项后,编译时将会按照 A3 纸张排版出双栏试卷。 \end{framex} \begin{framex} \frametitle{双栏试卷} -假设 \verb!exam-a-empty.pdf! 是原来试卷的 PDF 文件。新建一个包含以下内容的文档, +假设 \verb!exam-a-blank.pdf! 是原来试卷的 PDF 文件。新建一个包含以下内容的文档, 编译后将得到的 A3 纸张的试卷。 \begin{code} \documentclass[a3input]{jnuexam} \begin{document} -\includepdf[pages=-,nup=2x1]{exam-a-empty} +\includepdf[pages=-,nup=2x1]{exam-a-blank} \end{document} \end{code} -%\includepdf[pages=-,nup=2x1,offset=0 0,delta=0 0]{exam-a-empty} +%\includepdf[pages=-,nup=2x1,offset=0 0,delta=0 0]{exam-a-blank} 这种用法直接读入 A4 试卷的 PDF 文件,生成双栏的 A3 试卷,适合没有 TeX 文件时使用。 \end{framex} |