summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/jnuexam/jnuexam.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-06-29 20:55:34 +0000
committerKarl Berry <karl@freefriends.org>2018-06-29 20:55:34 +0000
commitb8cff562d70fbda1bf76ff6d5ff353e60e654fb1 (patch)
tree0ddf7546af01a5dd85ac17141d63ce88f6a5fb1e /Master/texmf-dist/doc/latex/jnuexam/jnuexam.tex
parenta1165a963f66db22ade48394e8504283d09ae49e (diff)
jnuexam (29jun18)
git-svn-id: svn://tug.org/texlive/trunk@48113 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/jnuexam/jnuexam.tex')
-rw-r--r--Master/texmf-dist/doc/latex/jnuexam/jnuexam.tex290
1 files changed, 290 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/jnuexam/jnuexam.tex b/Master/texmf-dist/doc/latex/jnuexam/jnuexam.tex
new file mode 100644
index 00000000000..0266b51a343
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jnuexam/jnuexam.tex
@@ -0,0 +1,290 @@
+% -*- coding: utf-8 -*-
+% !TEX program = xelatex
+
+\documentclass[12pt]{beamer}
+
+\usepackage{arev}
+\usepackage[UTF8,noindent]{ctex}
+\usepackage{ragged2e}
+\usepackage{listings}
+\usepackage{tabu}
+
+\setCJKsansfont{SimHei}
+\setCJKmonofont{SimHei}
+\setlength{\parskip}{7pt plus 1pt minus 1pt}
+
+\justifying
+\let\oldraggedright\raggedright
+\let\raggedright\justifying
+
+\lstset{
+ basicstyle=\ttfamily\color{blue!50!red}
+}
+
+\setbeamersize{text margin left=8mm,text margin right=8mm}
+
+\newenvironment{framex}{\begin{frame}[fragile=singleslide,environment=framex]}{\end{frame}}
+
+\setbeamertemplate{frametitle}{\strut\insertframetitle\strut\par}
+\setbeamertemplate{navigation symbols}{}
+
+\begin{document}
+
+\title{暨南大学试卷 LaTeX 模板}
+\author{吕荐瑞}
+\institute{暨南大学数学系}
+
+\begin{frame}[plain]
+\titlepage
+\end{frame}
+
+\begin{framex}
+\frametitle{简单介绍}
+本文档介绍 \verb!jnuexam! 文档类。这个文档类提供暨南大学考试试卷的 LaTeX 模板。
+\par
+这个模板将格式和内容分开,而且可以从一份 \verb!tex! 文件编译出四份试卷(A卷/B卷/A卷答案/B卷答案),使用方便。
+\par
+这个模板的最新版本可以在下面地址下载:\newline
+ \url{https://lvjr.bitbucket.io/jnuexam.html}
+\end{framex}
+
+\begin{framex}
+\frametitle{编译方式}
+这个文档类要求所有 \verb!tex! 文件都使用 \verb!UTF8! 编码,
+若使用 \verb!GBK! 编码则无法得到正确结果。
+\par
+如果对文件编码不熟悉,可以直接复制例子文件,然后在其中修改,即可正常编译。
+\par
+这个文档类同时支持 \verb!XeLaTeX! 和 \verb!PDFLaTeX! 方式编译。为了得到最好的中文显示效果,
+推荐用较先进的 \verb!XeLaTeX! 编译。
+\end{framex}
+
+\begin{framex}
+\frametitle{试卷结构}
+\begin{lstlisting}
+\documentclass{jnuexam}
+\begin{document}
+......
+\makehead %生成试卷表头
+......
+\makepart{填空题}{题数分值}
+......
+\makepart{单选题}{题数分值}
+......
+\makepart{计算题}{题数分值}
+......
+\makepart{证明题}{题数分值}
+......
+\makedata{可能用到的数据} %附录数据
+......
+\end{document}
+\end{lstlisting}
+\end{framex}
+
+\begin{framex}
+\frametitle{试卷表头}
+\begin{lstlisting}
+\renewcommand{\niandu}{2010--2011}
+\renewcommand{\xueqi}{2}
+\renewcommand{\kecheng}{大学数学}
+\renewcommand{\zhuanye}{经管3学分}
+\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 %生成试卷表头
+\end{lstlisting}
+其中 \verb!\zhuanye! 和 \verb!\shijian! 命令的内容可以为空。
+\end{framex}
+
+\begin{framex}
+\frametitle{填空题目}
+\begin{lstlisting}
+\makepart{填空题}{题数分值}
+
+\begin{problem}
+第一道填空题描述\fillout{答案}。
+\end{problem}
+
+\begin{problem}
+第二道填空题描述\fillout{答案}。
+\end{problem}
+\end{lstlisting}
+\verb!\fillout! 命令将用下划线填满整行。另有个 \verb!\fillin! 命令,只留下最小宽度的下划线。
+\par
+答案必须放在 \verb!\fillout! 或 \verb!\fillin! 命令里面;这样才能在生成空白试卷时隐藏它。
+\end{framex}
+
+\begin{framex}
+\frametitle{选择题目}
+\begin{lstlisting}
+\makepart{单选题}{题数分值}
+
+\begin{problem}
+第一道单选题描述\pickout{答案}。
+\end{problem}
+
+\begin{problem}
+第二道单选题描述\pickout{答案}。
+\end{problem}
+\end{lstlisting}
+\verb!\pickout! 命令将把选择圆括号放在本行最右边。另外有个 \verb!\pickin! 命令,将选择圆括号放在当前位置。
+\par
+答案必须放在 \verb!\pickout! 或 \verb!\pickin! 命令里面;这样才能在生成空白试卷时隐藏它。
+\end{framex}
+
+\begin{framex}
+\frametitle{计算题目}
+\begin{lstlisting}
+\makepart{计算题}{题数分值}
+
+\begin{problem}
+第一道计算题描述。
+\end{problem}
+\begin{solution}
+第一道计算题答案。
+\end{solution}
+
+\begin{problem}
+第二道计算题描述。
+\end{problem}
+\begin{solution}
+第二道计算题答案。
+\end{solution}
+\end{lstlisting}
+\end{framex}
+
+\begin{framex}
+\frametitle{证明题目}
+\begin{lstlisting}
+\makepart{证明题}{题数分值}
+
+\begin{problem}
+第一道证明题描述。
+\end{problem}
+\begin{proof}
+第一道证明题答案。
+\end{proof}
+
+\begin{problem}
+第二道证明题描述。
+\end{problem}
+\begin{proof}
+第二道证明题答案。
+\end{proof}
+\end{lstlisting}
+\end{framex}
+
+\begin{framex}
+\frametitle{其它题型}
+除了上述四种题型之外,其它题型可以用下面方式编写:
+\begin{lstlisting}
+\makepart{某题型}{题数分值}
+
+\begin{problem}
+第一题描述。\answer{第一题答案}
+\end{problem}
+
+\begin{problem}
+第二题描述。\answer{第二题答案}
+\end{problem}
+\end{lstlisting}
+其中题目答案必须放在 \verb!\answer! 命令里面;这样才能在生成空白试卷时隐藏它。
+\end{framex}
+
+\begin{framex}
+\frametitle{附录数据}
+在试卷最后,可以用下面命令增加附录数据部分:
+\begin{lstlisting}
+\makedata{可能用到的数据} %附录数据
+......
+\end{lstlisting}
+附录数据必须放在 \verb!\makedata! 命令后面;否则在从A卷生成B卷时会出问题。
+\end{framex}
+
+\begin{framex}
+\frametitle{空白试卷}
+假设 \verb!exam-a.tex! 是含答案的试卷。新建一个包含以下内容的 \verb!exam-a-print.tex! 文档,
+编译后将得到不含答案的空白试卷。
+\begin{lstlisting}
+\PassOptionsToClass{noanswer}{jnuexam}
+\input{exam-a}
+\end{lstlisting}
+也就是说,给 \verb!jnuexam! 文档类加上 \verb!noanswer! 选项后,编译时将会自动隐藏试卷答案。
+\end{framex}
+
+\begin{framex}
+\frametitle{逆序出题}
+假设 \verb!exam-a.tex! 是含答案的A卷。新建一个包含以下内容的 \verb!exam-b.tex! 文档,
+编译后将得到逆序出题的B卷。
+\begin{lstlisting}
+\PassOptionsToClass{reverse}{jnuexam}
+\input{exam-a}
+\end{lstlisting}
+也就是说,给 \verb!jnuexam! 文档类加上 \verb!reverse! 选项后,编译时将会逆序排列各题型的小题。
+\end{framex}
+
+\begin{framex}
+\frametitle{竖直空白}
+在试卷的各个小题后面,可以留下一些竖直空白。本文档类支持下列这些竖直空白命令:\par
+\renewcommand{\arraystretch}{1.3}%
+\begin{tabu}{XX}
+ \hline
+ \texttt{\string\smallskip} & 竖直小空白 \\
+ \hline
+ \texttt{\string\medskip} & 竖直中空白 \\
+ \hline
+ \texttt{\string\bigskip} & 竖直大空白 \\
+ \hline
+ \texttt{\string\vfill} & 竖直填充 \\
+ \hline
+\end{tabu}
+当然,竖直空白命令可以连续使用多个,以得到所需的空白。
+\end{framex}
+
+\begin{framex}
+\frametitle{分页命令}
+分页命令 \verb!\newpage! 同样可以使用。由于A卷和B卷的小题顺序相反,
+其中的分页位置通常也不同。故这里另外提供 \verb!\newpagea! 和 \verb!\newpageb! 命令,
+分别只对 A 卷和 B 卷有效。
+\par
+\renewcommand{\arraystretch}{1.3}%
+\begin{tabu}{XX[2]}
+ \hline
+ \texttt{\string\newpage} & 分页,对A卷和B卷均有效 \\
+ \hline
+ \texttt{\string\newpagea} & 分页,仅对A卷有效 \\
+ \hline
+ \texttt{\string\newpageb} & 分页,仅对B卷有效 \\
+ \hline
+\end{tabu}
+在试卷中\alert{不要}使用其他分页命令,比如 \verb!\clearpage! 等。
+\end{framex}
+
+\begin{framex}
+\frametitle{分页例子}
+关于分页命令的使用,可以看下面的典型例子:
+\begin{lstlisting}
+\makepart{某题型}{题型分值}
+\newpageb
+\begin{problem}第一题\end{problem}\vfill
+\begin{problem}第二题\end{problem}\vfill
+\newpage
+\begin{problem}第三题\end{problem}\vfill
+\begin{problem}第四题\end{problem}\vfill
+\newpagea
+\end{lstlisting}
+这样编译得到的A卷就是这样的顺序:
+\begin{lstlisting}
+第一题 第二题 分页 第三题 第四题 分页
+\end{lstlisting}
+而编译得到的B卷就是这样的顺序:
+\begin{lstlisting}
+第四题 第三题 分页 第二题 第一题 分页
+\end{lstlisting}
+\end{framex}
+
+\end{document}