(1)关于试卷纸张选择及页面设置
关于纸张,常用的有 A4 和 8K(B4) 两种。如果你用 8K 的试卷,建议把纸张设置为
B5,因为用 8K 要分栏,给插图和选择题的排版带来一点点障碍。用 B5 打印出来然后拼成 8K
的试卷再制版印刷。
好了,开始写代码了,关于纸张的写上centering
\documentclass[10pt,a4paper]{ctexart}
上面的 10pt 是全篇正文的字号大小,只有 10, 11, 12 三种选择,个人建议使用 10。
好了,下面看页边距,一般设为 2cm, 只要写上
\usepackage[margin=2cm]{geometry}
关于纸张,常用的有 A4 和 8K(B4) 两种。如果你用 8K 的试卷,建议把纸张设置为
B5,因为用 8K 要分栏,给插图和选择题的排版带来一点点障碍。用 B5 打印出来然后拼成 8K
的试卷再制版印刷。
好了,开始写代码了,关于纸张的写上centering
\documentclass[10pt,a4paper]{ctexart}
上面的 10pt 是全篇正文的字号大小,只有 10, 11, 12 三种选择,个人建议使用 10。
好了,下面看页边距,一般设为 2cm, 只要写上
\usepackage[margin=2cm]{geometry}
这样,上下左右的边距都是 2cm,也可以分开指定right, top, ... ,也可以在此处
用 paperwidth 和 paperheight 指定纸张大小等。
(2) 试卷标题的设计
可以自己写,也可以借用论文模板的标题。此处直接借用吧。
\begin{document}
\title{2012年某某中学高三数学测试题}
\author{总分:150分and 时间120分钟}
\date{命题人: 某某某}
\maketitle
大家可以仿照这个自己修改,或者自己重新排版一个标题也行,应该说难度也不大的。
可以自己写,也可以借用论文模板的标题。此处直接借用吧。
\begin{document}
\title{2012年某某中学高三数学测试题}
\author{总分:150分and 时间120分钟}
\date{命题人: 某某某}
\maketitle
大家可以仿照这个自己修改,或者自己重新排版一个标题也行,应该说难度也不大的。
(3) 大题、小题题号的排版
高中数学试卷一般有三道大题、21道左右的小题。我开始排版大题的时候,就自己写了一个
计数器。后来发现,模式都是固定的,没有变化,可以直接写一、二、三就行了。
\begin{enumerate}
\item[一、] 选择题 请把......
\item 等下写选择题小题内容
\item 等下写选择题小题内容
\item 等下写选择题小题内容
\item 等下写选择题小题内容
\item 等下写选择题小题内容
\item 等下写选择题小题内容
\item 等下写选择题小题内容
高中数学试卷一般有三道大题、21道左右的小题。我开始排版大题的时候,就自己写了一个
计数器。后来发现,模式都是固定的,没有变化,可以直接写一、二、三就行了。
\begin{enumerate}
\item[一、] 选择题 请把......
\item 等下写选择题小题内容
\item 等下写选择题小题内容
\item 等下写选择题小题内容
\item 等下写选择题小题内容
\item 等下写选择题小题内容
\item 等下写选择题小题内容
\item 等下写选择题小题内容
\item 等下写选择题小题内容
\item 等下写选择题小题内容
\item 等下写选择题小题内容
\item[二、] 填空题 ......
\item 等下写填空题小题内容
\item 等下写填空题小题内容
\item 等下写填空题小题内容
\item 等下写填空题小题内容
\item 等下写填空题小题内容
\item[三、] 解答题 ......
\item 等下写解答题小题内容
\item 等下写解答题小题内容
\item 等下写解答题小题内容
\item 等下写选择题小题内容
\item 等下写选择题小题内容
\item[二、] 填空题 ......
\item 等下写填空题小题内容
\item 等下写填空题小题内容
\item 等下写填空题小题内容
\item 等下写填空题小题内容
\item 等下写填空题小题内容
\item[三、] 解答题 ......
\item 等下写解答题小题内容
\item 等下写解答题小题内容
\item 等下写解答题小题内容
\item 等下写解答题小题内容
\item 等下写解答题小题内容
\item 等下写解答题小题内容
\end{enumerate}
\end{document}
现在,整个试卷的框架基本出来了。
\item 等下写解答题小题内容
\item 等下写解答题小题内容
\end{enumerate}
\end{document}
现在,整个试卷的框架基本出来了。
(4) 选择题括号的排版
我们来想一想,这个括号应该怎样排版呢?
首先想到的是直接用括号( )。当然,直接这样写是不行的。当我们按照我前面说的
设计下来的话,第一道小题的 1. 后面可以排下 45 个中文汉字。 如果你的第一题的内容的最后一行
恰好有 43 个汉字的话,那么很不幸的是你将看到你的一半括号在上行,另一半在下行,这
我们来想一想,这个括号应该怎样排版呢?
首先想到的是直接用括号( )。当然,直接这样写是不行的。当我们按照我前面说的
设计下来的话,第一道小题的 1. 后面可以排下 45 个中文汉字。 如果你的第一题的内容的最后一行
恰好有 43 个汉字的话,那么很不幸的是你将看到你的一半括号在上行,另一半在下行,这
个不是你
希望的,怎么办呢?很简单,改为
\mbox{( )}
现在,你的一对儿括号肯定是出现在同一行了。但是,问题还没解决,你如果按照我写的排版
的话,你一定看到的是两个括号挨着的,就像 ( ) 一样。因为 LaTeX 是吃掉多余空格的。怎么办?
你可能会想到在中间加上 (~~~~)或者 (\qquad\qquad)等等。我开始也是这么想的,后来
发现这个办法不能使括号真正对齐(想想为什么? 具体原因等我有时间讲到 TeX 排版原理的时候,
可以来解释)。我的解决办法是
希望的,怎么办呢?很简单,改为
\mbox{( )}
现在,你的一对儿括号肯定是出现在同一行了。但是,问题还没解决,你如果按照我写的排版
的话,你一定看到的是两个括号挨着的,就像 ( ) 一样。因为 LaTeX 是吃掉多余空格的。怎么办?
你可能会想到在中间加上 (~~~~)或者 (\qquad\qquad)等等。我开始也是这么想的,后来
发现这个办法不能使括号真正对齐(想想为什么? 具体原因等我有时间讲到 TeX 排版原理的时候,
可以来解释)。我的解决办法是
\mbox{(\hspace{1cm})}
我们一般希望在选择题的括号前面加上前导符,所以修改为
\dotfill\mbox{(\hspace{1cm})}
这样一般不会出问题了,你也会感觉比较漂亮,括号基本出现在右侧。但是,如果选择题的最后
一行恰好是 43-45 个汉字的话,你将看不到前导符,而且括号也跑到下一行的行首去了。所以,我们将
禁止在前导符的前面断行,修改为
\nolinebreak\dotfill\mbox{(\hspace{1cm})}
这样基本美观了,唯一的一个遗憾是,如果最后一行有42个汉字的话,你将看不到前导
我们一般希望在选择题的括号前面加上前导符,所以修改为
\dotfill\mbox{(\hspace{1cm})}
这样一般不会出问题了,你也会感觉比较漂亮,括号基本出现在右侧。但是,如果选择题的最后
一行恰好是 43-45 个汉字的话,你将看不到前导符,而且括号也跑到下一行的行首去了。所以,我们将
禁止在前导符的前面断行,修改为
\nolinebreak\dotfill\mbox{(\hspace{1cm})}
这样基本美观了,唯一的一个遗憾是,如果最后一行有42个汉字的话,你将看不到前导
符,就是
文字后面紧跟括号。如果你不想出现这样的话,可以修改为
\nolinebreak\dotfill\mbox{\raisebox{-1.8pt}{$\cdots$}(\hspace{1cm})}
最后,我们将它设定为一个自定义命令,放到 \begin{document} 之前
\newcommand{\xz}{\nolinebreak\dotfill\mbox{\raisebox{-1.8pt}
{$\cdots$}(\hspace{1cm})}}
这样,以后你只需要在选择题的题干写完后加上 \xz, 就可以看到漂亮的前导符和括号了。如
果你还要修改的话,也可以改为
\newcommand{\xz}[1][1]{\nolinebreak\dotfill\mbox{\raisebox{-1.8pt}
文字后面紧跟括号。如果你不想出现这样的话,可以修改为
\nolinebreak\dotfill\mbox{\raisebox{-1.8pt}{$\cdots$}(\hspace{1cm})}
最后,我们将它设定为一个自定义命令,放到 \begin{document} 之前
\newcommand{\xz}{\nolinebreak\dotfill\mbox{\raisebox{-1.8pt}
{$\cdots$}(\hspace{1cm})}}
这样,以后你只需要在选择题的题干写完后加上 \xz, 就可以看到漂亮的前导符和括号了。如
果你还要修改的话,也可以改为
\newcommand{\xz}[1][1]{\nolinebreak\dotfill\mbox{\raisebox{-1.8pt}
{$\cdots$}(\hspace{#1 cm})}\\ }
我为什么加两个 [1] ? 我在最后加了一个换行 \\, 千万注意后面的空格不能省略,想想,
为什么? 这两个问题留给大家自己思考吧。
我为什么加两个 [1] ? 我在最后加了一个换行 \\, 千万注意后面的空格不能省略,想想,
为什么? 这两个问题留给大家自己思考吧。
(5)选择题选项的排版
这个可能是整个试卷排版最难的一个地方了。敲的太累了,我就不写编写过程了。写下代码,大家
慢慢看吧。
首先在 \begin{document} 之前加上
\usepackage{ifthen}
\newlength{\la}
\newlength{\lb}
这个可能是整个试卷排版最难的一个地方了。敲的太累了,我就不写编写过程了。写下代码,大家
慢慢看吧。
首先在 \begin{document} 之前加上
\usepackage{ifthen}
\newlength{\la}
\newlength{\lb}
\newlength{\lc}
\newlength{\ld}
\newlength{\lhalf}
\newlength{\lquarter}
\newlength{\lmax}
\newcommand{\xx}[4]{\\[.5pt]%
\settowidth{\la}{A.~#1~~~}
\settowidth{\lb}{B.~#2~~~}
\settowidth{\lc}{C.~#3~~~}
\settowidth{\ld}{D.~#4~~~}
\ifthenelse{\lengthtest{\la > \lb}} {\setlength{\lmax}{\la}} {\setlength{\lmax}{\lb}}
\ifthenelse{\lengthtest{\lmax < \lc}} {\setlength{\lmax}{\lc}} {}
\ifthenelse{\lengthtest{\lmax < \ld}} {\setlength{\lmax}{\ld}} {}
\setlength{\lhalf}{0.5\linewidth}
\setlength{\lquarter}{0.25\linewidth}
\newlength{\ld}
\newlength{\lhalf}
\newlength{\lquarter}
\newlength{\lmax}
\newcommand{\xx}[4]{\\[.5pt]%
\settowidth{\la}{A.~#1~~~}
\settowidth{\lb}{B.~#2~~~}
\settowidth{\lc}{C.~#3~~~}
\settowidth{\ld}{D.~#4~~~}
\ifthenelse{\lengthtest{\la > \lb}} {\setlength{\lmax}{\la}} {\setlength{\lmax}{\lb}}
\ifthenelse{\lengthtest{\lmax < \lc}} {\setlength{\lmax}{\lc}} {}
\ifthenelse{\lengthtest{\lmax < \ld}} {\setlength{\lmax}{\ld}} {}
\setlength{\lhalf}{0.5\linewidth}
\setlength{\lquarter}{0.25\linewidth}
\ifthenelse{\lengthtest{\lmax > \lhalf}} {\noindent{}A.~#1 \\ B.~#2 \\ C.~#3 \\ D.~#4 } {
\ifthenelse{\lengthtest{\lmax > \lquarter}} {\noindent\makebox[\lhalf][l]{A.~#1~~~}%
\makebox[\lhalf][l]{B.~#2~~~}%
\makebox[\lhalf][l]{C.~#3~~~}%
\makebox[\lhalf][l]{D.~#4~~~}}%
{\noindent\makebox[\lquarter][l]{A.~#1~~~}%
\makebox[\lquarter][l]{B.~#2~~~}%
\makebox[\lquarter][l]{C.~#3~~~}%
\makebox[\lquarter][l]{D.~#4~~~}}}}
当你排版选择题的时候,你只需输入
\xx{选项 A 的内容}{选项 B 的内容}{选项 C 的内容}{选项 D 的内容}
上面代码的意思是取四个选项的最长宽度,加上 “A.” 以及左右留空,作为选项的最长宽
\ifthenelse{\lengthtest{\lmax > \lquarter}} {\noindent\makebox[\lhalf][l]{A.~#1~~~}%
\makebox[\lhalf][l]{B.~#2~~~}%
\makebox[\lhalf][l]{C.~#3~~~}%
\makebox[\lhalf][l]{D.~#4~~~}}%
{\noindent\makebox[\lquarter][l]{A.~#1~~~}%
\makebox[\lquarter][l]{B.~#2~~~}%
\makebox[\lquarter][l]{C.~#3~~~}%
\makebox[\lquarter][l]{D.~#4~~~}}}}
当你排版选择题的时候,你只需输入
\xx{选项 A 的内容}{选项 B 的内容}{选项 C 的内容}{选项 D 的内容}
上面代码的意思是取四个选项的最长宽度,加上 “A.” 以及左右留空,作为选项的最长宽
度。 将
它和行宽的 1/2 以及 1/4 作比较, 来决定把 4 个选项排成一行、两行或者四行及以上。
它和行宽的 1/2 以及 1/4 作比较, 来决定把 4 个选项排成一行、两行或者四行及以上。
(6) 填空题横线的排版
这个比较简单,直接在 \begin{document} 之前加上
\newcommand{\tk}[1][2.5]{\,\underline{\mbox{\hspace{#1 cm}}}\,}
当编写到填空题的时候,加上 \tk 即可,可以加在一句话中间,也可以加到一句话末尾,当在
末尾的时候,可以在后面加上句号。
横线的默认长度是 2.5cm, 可以使用
\tk[3]
这个比较简单,直接在 \begin{document} 之前加上
\newcommand{\tk}[1][2.5]{\,\underline{\mbox{\hspace{#1 cm}}}\,}
当编写到填空题的时候,加上 \tk 即可,可以加在一句话中间,也可以加到一句话末尾,当在
末尾的时候,可以在后面加上句号。
横线的默认长度是 2.5cm, 可以使用
\tk[3]
将横线改为 3cm。
\def\CTeXPreproc{Created by ctex v0.2.12, don't edit!}%cm\special{pdf:pagesize width 18.4cm height 26cm} %%%%%%%16K纸
\documentclass[12pt,twoside]{article}
\usepackage{CJK}
\usepackage{lastpage}
%\usepackage{times} %use the Times New Roman fonts
\usepackage{color}
\usepackage{placeins}
\usepackage{ulem}
\usepackage{titlesec}
\usepackage{graphicx}
\usepackage{colortbl}
\usepackage{listings}
\usepackage{indentfirst}
\usepackage{fancyhdr}
\usepackage[paperwidth=19.5cm,paperheight=27cm,top=1.5cm,bottom=2cm,right=2cm]{geometry}
%\lstset{language=C,keywordstyle=\color{red},showstringspaces=false,rulesepcolor=\color{green}}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论