



關鍵詞:微積分;在線測試;微信小程序;LaTeX渲染;教學改革
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2024)26-0037-03開放科學(資源服務)標識碼(OSID) :
0 引言
微信小程序憑借其開發便捷、易于維護、成本低廉等優勢,在教育領域得到越來越廣泛的應用[1-5]。然而,傳統的微積分在線考試系統大多采用圖片存儲數學公式,存在著顯示不清、存儲空間占用大等問題,影響了學生的學習體驗和教學效率。LaTeX是一種專業的排版系統,尤其擅長處理復雜的數學公式。采用LaTeX代碼存儲和渲染數學公式,可以有效解決上述問題,并帶來諸多優勢:1) 存儲空間小:以存儲一道微積分題目為例,使用LaTeX代碼所需的存儲空間僅為圖片格式的千分之一,這對于存儲大量數學題目的系統而言意義重大。2) 圖像質量高:LaTeX渲染生成的公式圖像具有更高的清晰度和質量,便于學生查看和理解。3) 格式轉換便捷:LaTeX代碼可以輕松轉換為PDF、SVG、PNG、JPG等多種格式,方便在不同終端和設備上展示。
本文提出了一種基于LaTeX 渲染的微積分在線測試微信小程序解決方案,實現了數學公式的高質量顯示、高效存儲和便捷管理。文章結構如下:第二部分介紹試題管理模塊,第三部分介紹在線測試系統設計,第四部分總結全文并展望未來工作。
1 試題管理
試題管理模塊是該系統的重要組成部分,其主要功能包括:題目查詢、題目預覽、試題添加和試題分頁。
1.1 題目查詢
試題管理模塊提供多種查詢方式,包括:1) 精確查詢:根據題目ID進行精確匹配。2) 模糊查詢:根據題目內容進行模糊搜索。3) 參數篩選:根據年級、學科、題型等參數進行篩選。用戶點擊查詢按鈕后,系統將觸發submitForm事件,并通過POST請求將查詢參數(題目ID、題目類型、所屬年級、學科)發送至服務器。
題目信息存儲在數據庫中,表結構如下。
1.2 題目預覽
在題目預覽功能中,系統將題目加載至自定義組件questionShow中,并調用formatMath()函數對LaTeX 代碼進行渲染。具體流程如下:1) 頁面加載時,引入MathJax庫并進行配置。2) 用戶點擊預覽按鈕后,觸發formatMath函數,將LaTeX代碼發送至MathJax服務器。3) 服務器返回渲染后的SVG格式圖片,并在頁面上顯示。MathJax 庫的配置參數?config=TeX-MMLAM_CHTML用于指定輸出格式為HTML+CSS。題目預覽效果如圖1所示。
1.3 試題添加
系統支持5種題型:單選、多選、填空、判斷和簡答。題型以整數類型存儲在數據庫中,并采用鍵值對的方式進行映射,例如{1:“單選題”}。在添加題目時,用戶需要填寫年級、學科、題干、選項內容等必要信息,并可以設置分數、解析、難度等附加信息,如圖2所示。系統采用Ueditor富文本編輯器,支持圖文混排和HTML代碼的輸入。圖片上傳至七牛云存儲空間,數據庫中僅存儲圖片鏈接,以減少存儲空間占用。
1.4 試題分頁
為方便用戶瀏覽大量題目,系統提供試題分頁功能。分頁功能通過pageIndex和pageSize兩個參數實現,分別表示當前頁碼和每頁顯示的題目數量。用戶可以通過手動選擇頁碼或點擊導航按鈕進行翻頁。頁面加載時,系統會向后端發送POST請求,請求參數包含pageIndex和pageSize。后端接收到請求后,將請求參數封裝成QuestionPageRequestVM 對象,并調用pageList()方法獲取分頁數據。pageList()方法將查詢結果和分頁信息封裝成PageInfo對象,并將每個Ques?tion對象轉換為QuestionResponseVM對象,添加創建時間、題干等信息。最后,系統將PageInfo對象封裝在RestResponse對象中返回給客戶端。
2 在線測試系統
在線測試系統是面向學生端的核心模塊,其主要功能包括:試卷查看、試卷提交和試卷批改。
2.1 試卷查看
用戶點擊試卷列表中的試卷后,系統將跳轉至試卷測驗界面,并向后端發送POST請求,獲取試卷內容。題目和選項內容均采用LaTeX代碼存儲。由于微信小程序的WXML不支持直接渲染HTML,因此無法像網頁端一樣直接使用MathJax進行LaTeX代碼渲染。針對微信小程序渲染LaTeX代碼的問題,本文采用Towxml組件實現。Towxml組件是一款功能強大的Markdown解析庫,支持渲染LaTeX代碼。關鍵代碼如圖3所示。
完成Towxml渲染服務搭建后,在小程序中引入相應配置,并將試卷查看頁面中response數據中的La?TeX代碼進行轉換,最后將轉換結果傳遞給<towxml> 組件進行渲染,實現LaTeX代碼的渲染效果,如圖4所示。小程序搭建Towxml渲染服務的關鍵代碼如下。
2.2 試卷提交
學生完成答題后,點擊提交按鈕提交試卷。為減少數據傳輸量,系統采用“題號+題目ID+題目類型:答案”的格式拼接答案字符串,并上傳至后端進行處理。后端接收到答案數據后,自動批改客觀題,并將結果返回給前端,顯示客觀題得分。試卷查看界面如圖5 所示。
2.3 試卷批改
教師可在管理端查看和批改學生提交的試卷。對于只包含選擇題和判斷題的試卷,系統自動完成批改,教師可查看批改結果。對于包含主觀題的試卷,需要教師手動批改。對含有填空、判斷題的試卷,需要老師進行手動批改。教師可以查看系統自動批改的客觀題結果,了解學生的答題情況,如圖6所示。
3 結束語
本文設計并實現了一種基于LaTeX渲染的微積分在線測試微信小程序,通過將數學公式存儲為La?TeX代碼,并利用LaTeX渲染服務將其轉換為高質量圖片,有效解決了傳統在線測試系統中數學公式顯示不清、存儲空間占用大的問題。相較于傳統的圖片存儲方式,采用LaTeX存儲和渲染數學公式具有顯著優勢:節省存儲空間、提高圖像質量。此外,LaTeX代碼易于編輯和修改,并可以方便地轉換為PDF、SVG、PNG、JPG等多種格式,以滿足不同終端和設備的需求。該小程序能基本滿足對學生進行階段考核的需求,但測試主要運用的是選擇題,并且小程序的試題查看界面和選擇題選項的排版布局仍需進一步美化。未來可以在一些方面作改進,例如:開發更多題型、實現個性化學習推薦等。