ぱるちのものおき2.0

主にLaTeXや数学のお話をするブログです。

英単語並び替えメーカー

https://ja.overleaf.com/read/zpjxyjjyvrdx

今度は英単語をいい感じに並べ替えて生徒に嫌われてみよう。
一応texのコードも。

\documentclass[11pt,uplatex,dvipdfmx,autodetect-engine,fleqn]{jsarticle}
\usepackage{tikz}
\usepackage{pgffor}
\usepackage[margin=15truemm]{geometry}
\usepackage{otf}
\usepackage{longtable}
\usepackage{xint,xinttools}
\usepackage{randomshuffle}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\makeatletter
\newcount\problemnum
\newcount\mondaisuu
\def\eitango#1{%
  \advance\problemnum\@ne
  \@namedef{problem\the\problemnum}{#1}%
  \mondaisuu=\problemnum
}
\def\printProblem#1{\@nameuse{problem\shuffled{#1}}}
\makeatother
%%%ここから英単語の登録
\eitango{be}
\eitango{become}
\eitango{begin}
\eitango{bring}
\eitango{build}
\eitango{buy}
\eitango{catch}
\eitango{come}
\eitango{do}
\eitango{eat}
\eitango{find}
\eitango{forget}
\eitango{get}
\eitango{give}
\eitango{go}
\eitango{have}
\eitango{hear}
\eitango{know}
\eitango{leave}
\eitango{make}
\eitango{meet}
\eitango{read}
\eitango{run}
\eitango{say}
\eitango{see}
\eitango{speak}
\eitango{take}
\eitango{tell}
\eitango{think}
\eitango{understand}
\eitango{write}
\eitango{break}
\eitango{cut}
\eitango{draw}
\eitango{drink}
\eitango{grow}
\eitango{hit}
\eitango{hold}
\eitango{keep}
\eitango{lend}
\eitango{lose}
\eitango{mean}
\eitango{put}
\eitango{ride}
\eitango{sell}
\eitango{send}
\eitango{show}
\eitango{sing}
\eitango{sit}
\eitango{spend}
\eitango{stand}
\eitango{swim}
\eitango{teach}
\eitango{throw}
\eitango{wear}
\eitango{win}
%%%ここまで英単語の登録%%%%%%%%%%%%%%
\randomshuffle[name=shuffled]{1}{\problemnum}
\renewcommand{\arraystretch}{1.25}%ここで表の行間スペースを調節できます。デフォルトは1

\begin{document}
\begin{longtable}[c]{p{10zw}p{10zw}|p{10zw}p{10zw}}
 %------ 最初のページの表の最上部 ----
 \hline
 原形 & 過去形と過去分詞形 & 原形 & 過去形と過去分詞形\\
 \hline\hline
 \endfirsthead
 %---------- ここから英単語の記入 ----------
 \xintFor* #1 in {\xintSeq [+2]{1}{\mondaisuu}}\do {%
 \printProblem{#1}& &\ifnum#1=\mondaisuu \else\printProblem{\xintiiAdd{#1}{1}}\fi & \\ \hline}\relax
\end{longtable}
(全部で\the\mondaisuu 問です。)
\end{document}

どんな感じなのかを日本語に起こしてみると,

①\eitango{}コマンドで,英単語を登録する
②doraTeX様のrandomshuffle.styを用いて,英単語の順番を並び替える
③表組をする

って感じです。今のところおかしな挙動は確認してないから大丈夫だとは思う。また生徒に嫌われるんだなぁ。


超参考にしたサイト。
doratex.hatenablog.jp

【追記(2019/05/05)】doraTeX様からツイッターで言及していただきました。