(1)关于试卷纸张选择及页面设置

      关于纸张,常用的有 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{总分:150and 时间120分钟}
\date{命题人: 某某某}
\maketitle

      大家可以仿照这个自己修改,或者自己重新排版一个标题也行,应该说难度也不大的。
(3) 大题、小题题号的排版

      高中数学试卷一般有三道大题、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 等下写解答题小题内容
\end{enumerate}
\end{document}

      现在,整个试卷的框架基本出来了。
(4) 选择题括号的排版

      我们来想一想,这个括号应该怎样排版呢?

      首先想到的是直接用括号(      )。当然,直接这样写是不行的。当我们按照我前面说的
设计下来的话,第一道小题的 1. 后面可以排下 45 个中文汉字。 如果你的第一题的内容的最后一行
恰好有 43 个汉字的话,那么很不幸的是你将看到你的一半括号在上行,另一半在下行,这
个不是你
希望的,怎么办呢?很简单,改为

\mbox{(      )}

      现在,你的一对儿括号肯定是出现在同一行了。但是,问题还没解决,你如果按照我写的排版
的话,你一定看到的是两个括号挨着的,就像 ( ) 一样。因为 LaTeX 是吃掉多余空格的。怎么办?
你可能会想到在中间加上 (~~~~)或者 \qquad\qquad)等等。我开始也是这么想的,后来
发现这个办法不能使括号真正对齐(想想为什么?  具体原因等我有时间讲到 TeX 排版原理的时候,
可以来解释)。我的解决办法是

\mbox{(\hspace{1cm})}

      我们一般希望在选择题的括号前面加上前导符,所以修改为

\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}
  {$\cdots$}(\hspace{#1 cm})}\\ }

      我为什么加两个 [1] ? 我在最后加了一个换行 \\, 千万注意后面的空格不能省略,想想,
为什么? 这两个问题留给大家自己思考吧。
(5)选择题选项的排版

      这个可能是整个试卷排版最难的一个地方了。敲的太累了,我就不写编写过程了。写下代码,大家
慢慢看吧。

      首先在 \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}
  \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. 以及左右留空,作为选项的最长宽
度。
它和行宽的 1/2 以及 1/4 作比较, 来决定把 4 个选项排成一行、两行或者四行及以上。
(6) 填空题横线的排版

      这个比较简单,直接在 \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小时内删除。