2007年7月1日 星期日

利用 TeX 編考卷 -- 填充題

在正文開始前,還是要先提一下,我寫這一系列文章的出發點,起因於我自己在一開始學習使用 TeX 時,遇到很大的障礙,尤其是中文的部份。可是當我自己開始使用後,發現其實並沒那麼複雜才對。所以有些部份的使用並不是很正式,只是我自己在使用的過程中 所累積的經驗,目的是為了讓同為家教的人,可以簡單上手來產生自己的考卷。
要學會出填充題,只要學會一件事 --- 畫底線。在 TeX 裡要畫讓學生填空底線並不困難,你有兩種比較簡單的方式:
  1. underline
    這是很標準的畫底線,通常就是你在文件裡看到有一段文字下面出現底線時的作法。他的方法很簡單,就是利用 \underline{...} 把要加上底線的段落框起來。如果我們把中間的字替換成"全形"的空白時,就會產生我們要的效果。
  2. rule
    rule 是用來畫直線的指令,你可以決定直線的位置、長度、以及寬度。簡單的解釋一下他的用法如下: \rule[位置]{長度}{寬度} 在這裡要注意[位置]是用中括號 [] 而不像其他的是用大括號 {},因為他是可選擇的而不是必要的選項。至於在使用上,我們可以使用 pt(點)、cm(公分)、ex(字元大小)當單位。而為了要弄出一個符合填充題所需要的底線,我們可以用這樣子的指令 \rule[-1ex]{2cm}{0.3pt} 也就是在比正常"位置"低一個字元的位置,畫一條"長" 2 公分 "寬" 0.3 點的直線。

另外,應該有人會嫌上次考卷中的 "一、選擇題:" 的位置很討厭,這是因為段落開頭自動縮排的緣故,為了不要再出現這樣的狀況,你可以在最前面加上一個指令,要 TeX 不要縮排 --- \noindent

好了,現在會畫底線了,那就來一份選擇題和填充題都有的考卷吧。把下面的 TeX 建成文稿,並且編譯成 pdf 檔吧。

對了,當你在編這分考卷時候會看到一堆亂碼,那是因為那一行裡用了 rule 結果超過該行的長度,你可以利用 \\ 幫他換行來避免超過行寬。

以下就是文稿的內容


\documentclass{article}
\usepackage{enumerate}
\usepackage{CJK}
\begin{document}
\begin{CJK}{Bg5}{akai}
\noindent 一、選擇題:
\begin{enumerate}[1.]
\item 這是第一題,你還記你為了要用中文,你用了什麼 package 嗎?
\begin{enumerate}[(A)]
\item Chinese
\item CJK
\item translate
\item Mandarin
\end{enumerate}
\item 那一個語言不是 CJK 所支援的語言?
\begin{enumerate}[(A)]
\item Chinese
\item Canada
\item Japanese
\item Korean
\end{enumerate}
\end{enumerate}

\noindent 二、填充題:
\begin{enumerate}[1.]
\item 第一種填充題的底線畫法是 \underline{     }。
\item 第二種也是我比較喜歡是 \rule[-1ex]{2cm}{0.3pt}。
\item TeX 在 win xp 上使用,所需要的程式是\\rrule[-1ex]{2cm}{0.3pt}、\rule[-1ex]{2cm}{0.3pt}、\rule[-1ex]{2cm}{0.3pt}、以及 \\rrule[-1ex]{2cm}{0.3pt}。
% 以下就是換行後的寫法
%\item TeX 在 win xp 上使用,所需要的程式是\rule[-1ex]{2cm}{0.3pt}、\rule[-1ex]{2cm}{0.3pt}、 \
\rule[-1ex]{2cm}{0.3pt}、以及 \rule[-1ex]{2cm}{0.3pt}。
\end{enumerate}
\end{CJK}<>\end{document}

沒有留言: