【轉(zhuǎn)】標(biāo)準(zhǔn)化試卷標(biāo)記語言

轉(zhuǎn)自王垠 yinwang.org

標(biāo)準(zhǔn)化試卷標(biāo)記語言

(寫另外一篇博文的時候發(fā)現(xiàn)跑題太多,所以現(xiàn)在把它獨立出來另外寫一篇。)

我本科的時候給我爸設(shè)計了一種“標(biāo)準(zhǔn)化試卷標(biāo)記語言”(他是中學(xué)英語老師)。當(dāng)時我寫了一個1000來行的 Perl 腳本,可以把這種簡單的標(biāo)記語言轉(zhuǎn)換成美觀的 LaTeX 格式文檔,并且?guī)в杏押玫?Tk 圖形界面。題目可以包括選擇題,填空題,改錯題,…… 這種語言的特點是,題目和答案都放在一起,所以出題的時候很直觀。經(jīng)過處理之后,答案與題目分離,并且被放到答案表里正確的位置上。這樣出題的人就不會把答案放錯位置,也不用擔(dān)心如何排版。

比如,選擇題的格式是這樣:

# Our teacher told us that there ______ no end to learning.
   A. was    B. is *        C. has            D. had

每道題開頭都是一個 #,正確答案后面加一個 *。在處理的時候這些 # 都會被變成題目編號,而有 * 標(biāo)記的答案選項,會被放到答案表里面。

最有意思的是改錯題。因為改錯題是一個英語段落,某些行有錯,但每行最多只能有一個錯。所以我的設(shè)計是,在普通的段落里插入這樣的記號:

This is an |extraordinary|extrordinary| sentence...

用以“引入錯誤”。左邊是正確的方式,右邊是錯誤的。這里使用 | 是因為這個符號不會在普通的英語文章里出現(xiàn)。| 的左右兩邊都可以是空白,用以表示“插入”與“刪除”。比如:

I don't know how to play |the|| piano.

這樣的題目顯示出來之后是這樣:

I don't know how to play piano.

然后答案里會顯示:

在 play 和 piano 之間加 the

如果兩個都不是空白,那就是“修改”,就像上面的例子。最后我會根據(jù)這些標(biāo)記的位置把段落排版,讓每行上面最多只有一個錯。為了讓段落的行看起來均勻,我使用了一種類似 TeX 的動態(tài)規(guī)劃斷行算法。它先算出多種斷行方案的“難看程度”,然后從中選出最好看的一個。

現(xiàn)在回想起來,我那時候的設(shè)計其實是相當(dāng)先進(jìn)的。怎么就沒想過把它做成產(chǎn)品賣給教育部呢,也許因為覺得這種技術(shù)會制造出更大量的題海,禍害更多的中學(xué)生 :-P 跟我的語言相比,現(xiàn)在一些 blog 系統(tǒng)用的 markup 語言(比如 markdown)真是小巫見大巫了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文本是發(fā)在知乎里的一篇帖子,因為知乎開始限制字?jǐn)?shù),感覺挺不舒服的,現(xiàn)在搬到了簡書上來,感興趣的也可以去知乎上點個...
    張生_Alex閱讀 11,089評論 1 19
  • 走在大街上,如果我們隨便問一個人“你想成功嗎?”都會給出肯定的答案,這其中也許很多人并不明確自己的目標(biāo)是什么,但就...
    貪癡舍閱讀 518評論 3 3
  • 躺床上正醞釀著午休、一陣雨嘩嘩的下來,砸在窗上啪啪的響,小寶蹭的跳下床自言自語的說“看看下雨還打雷嗎?下三天...
    Anne惠閱讀 427評論 0 1
  • 我站錯了位置,看錯了角度。犯了很大錯誤。不應(yīng)該這么聰明,女人應(yīng)該有的糊涂我沒有。一次次的傷心失望為何還不能死心。為...
    情不知所起21閱讀 86評論 0 0

友情鏈接更多精彩內(nèi)容