Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
マークシート試験のTeX言語を用いた自動採点について
Search
doratex
August 10, 2026
Education
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
マークシート試験のTeX言語を用いた自動採点について
TeX Conf 2025 での講演「マークシート試験のTeX言語を用いた自動採点について」の発表資料です。
doratex
August 10, 2026
More Decks by doratex
See All by doratex
TeXで変える教育現場
doratex
1
42k
Constructing a Custom TeX Ecosystem for Educational Institutions—Beyond Academic Typesetting
doratex
1
71k
Construction of a Digital Exam Grading System using TeX
doratex
1
390k
PDF加工ツールとしてのTeXの実力とデジタル採点への活用
doratex
12
480k
Other Decks in Education
See All in Education
Dashboards - Lecture 11 - Information Visualisation (4019538FNR)
signer
PRO
1
2.8k
1人 × AI、1か月でここまで作れる ー 数年前の外注換算3.8〜7.4億円・241〜379人月分の作業を、AI費用 約10万円・31日で
frievea
0
330
NDIAS Automotive / IoT CTF 2026 Recap - Keyfob & OSINT
himitu23
0
280
Soluciones al examen de Geografía 2026. JUNIO (Convocatoria Ordinaria)
juanmartin2026
1
8.1k
2026年度春学期 統計学 第6回 データの関係を知る(1)ー 相関関係 (2026. 5. 14)
akiraasano
PRO
0
200
Visionary Initiative: Future Intelligence — Laying the foundations for the future of science, intelligence, and society | Science Tokyo
sciencetokyo
PRO
0
190
Tableau Public入門ハンズオン|Titanicデータで学ぶViz作成とMakeover
hayashi_ds017
0
110
子どものためのプログラミング道場『CoderDojo』〜法人提携例〜 / Partnership with CoderDojo Japan
coderdojojapan
PRO
4
19k
[2026前期火5] 論理学(京都大学文学部 前期 第13回)「走って、止まって、積み上がる」
yatabe
0
160
[2026前期火5] 論理学(京都大学文学部 前期 第12回)「証明を走らせる:カリー・ハワード対応」
yatabe
0
250
焦燥を平穏に変えるエンジニアのための哲学
ichimichi
7
6.4k
면접관 눈에 띄는 데이터 분석 포트폴리오 만드는 법 | 2026년 5월 세미나
datarian
0
990
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
6.2k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
360
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
200
Writing Fast Ruby
sferik
630
63k
Odyssey Design
rkendrick25
PRO
2
750
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
490
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
1.1k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
440
Six Lessons from altMBA
skipperchong
29
4.4k
Transcript
マークシート試験のTeX言語を 用いた自動採点について 2025.11.29 TeXConf 2025 in 仙台 鉄緑会 英語科・情報科 渡邉倖成
[email protected]
自己紹介 わたなべ こうせい 渡邉 倖成 • 慶應義塾大学医学部 • 鉄緑会 英語科・情報科
• 応用情報技術者・ネットワークスペシャリスト • 鉄緑会内部のmacOSアプリを複数開発/Radiusサーバ 構築・ネットワーク保守・運用
目的 共通テスト形式のマークシートを自動で採点する。 • 問題の形式は、単答・完答・順不同 • 従来は、手採点もしくはアプリで マークシートを読み取り、その後 Excelなどを駆使して採点、返却 フォーマットを作成 非効率
ワークフロー 1. 個別化マークシートの作成 2. 問題情報の登録 3. マークシートの読み取り 4. 採点 5.
採点データの集計 6. 答案原本とマージして個別化成績票の作成
実装 ①個別化マークシートの作成 Point②生徒ごとに個別化された答案用紙 Point①指定した問題数分の解答欄を生成 Point③選択肢の種類に応じた形式で出力
実装 ①個別化マークシートの作成 Point①指定した問題数分の解答欄を生成 本体TeXファイル 雑多な試験情報 必要な問題の登録 \個人出力{出席番号}{生徒姓}{生徒名}{セイ}{メイ} が1人分の解答用紙の相当
実装 ①個別化マークシートの作成 Point①指定した問題数分の解答欄を生成 スタイルファイル コンパイル時間節約のため、共通部分を先に描画し、 ボックスに保存 TikZによる動的なマーク欄生成
実装 ①個別化マークシートの作成 Point②生徒ごとに個別化された答案用紙 スタイルファイル remember pictureにより、共通部分とQRコー ドなどの生徒固有のデータを貼り付ける。
実装 ①個別化マークシートの作成 Point③選択肢の種類に応じた形式で出力 本体TeXファイル スタイルファイル \pdfstrcmpと\ifcaseの組み合わせで様々な選択肢の種類に対応 \ooalign{#1}\crcr {#2}によりマークを生成
実装 ②問題情報の登録 解答・配点の登録 \e@namedefを定義 模範解答の登録
実装 ②問題情報の登録 完答問題の登録 完答問題の集合(以下「完答集合」)に含まれる それぞれの問題から完答集合への逆引きを作成
実装 ②問題情報の登録 順不同問題の登録 順不同問題の集合に属する 問題から順不同問題の正解 の選択肢群への写像を作成
実装 ③マークシートの読み取り スキャン答案 DyNAMiKS.app csvファイル
実装 ④TeXによる採点 csvのデータからTeXソースを生成 \読み取り結果{出席番号}{各問題ごとの生徒の解答}: 各生徒の解答を登録 \正誤判定{出席番号}:採点フェーズ \データ集計:全生徒の平均や成績優秀者などの統計 データを計算 \個人成績票{出席番号}:各生徒の成績票を出力
実装 ④TeXによる採点 \読み取り結果 の定義 真の出席番号:欠席者も存在するので、実際に出席した 生徒の通し番号と元々の出席番号の対応付けを行う \e@namedefにより、[出席番号]番の人の解答記入数値[問題番号]に 解答を登録してゆく
実装 ④TeXによる採点 \正誤判定 の定義 それぞれの生徒ごとに、\fornextを使って、各問題の採点を行う。 f \@ifunde ined により、単答/完答/順不同を仕分ける。
実装 ④TeXによる採点 \正誤判定 単答問題の場合 \ifnumにより、各生徒の解答と正解を比較し、一致する場合に配点を与える。 合計点計算のため、正解の場合には、\@tempcntaを配点の分だけ\advance する。 また、正答率計算のため、正解の場合には、正誤フラグを1にする。
実装 ④TeXによる採点 \正誤判定 完答問題の場合 完答集合に属する問題をまとめて採点。 完答集合に属する問題数と正解数が一致したときのみ配点を与える。
実装 ④TeXによる採点 \正誤判定 順不同問題の場合
実装 ④TeXによる採点 \正誤判定 順不同問題の場合
実際には、TeXで採点する必要性は全くない
拡張:Swift+PythonによるmacOSアプリ化
拡張:Swift+PythonによるmacOSアプリ化 問題登録 json形式で書き出し/読み込み可能
拡張:Swift+PythonによるmacOSアプリ化
拡張:Swift+PythonによるmacOSアプリ化
拡張:Swift+PythonによるmacOSアプリ化
拡張:Swift+PythonによるmacOSアプリ化 • 登録した問題セットに対応した解答用紙の生成→採点→分析のプロセス を自動化 • 完答/順不同/順不同かつ完答問題に対応 • 複数の問題セット・クラスの同時処理に対応
Take Home Messages • TeXの活用により、複雑なワークフローを自動化 • 完答/順不同のアルゴリズムの実装がポイント • Swift +
Pythonアプリによるラッピングで全講師が使える形で実装