17 LATEX の exsheets パッケージで解答に飛べるようにする

授業関係の資料を作っていると、練習問題を用意することがしばしばある。 難しい問題については解答を、 簡単でも計算問題については(答え合わせが出来ますように)結果を添える場合がある。 そういう場合に、問題のすぐそばに解答があると演習効果が落ちるので、 例えば巻末とかに解答を並べるのが普通である。

ところで書いている立場からすると、問題を書いた近くに解答を書くのがやりやすい。

そういうことをしやすくするパッケージを探したところ、 見つかった exsheets パッケージを愛用している。

ところで今度は読む側になると、解答に簡単にアクセスしたい。 解答の載っているページ番号を添えても、 正直そのページに移動するのが少し面倒くさい。 クリック一発で飛べるように出来ないだろうか。

というわけで Chappy 君に相談したところ、作ってくれたのが以下の設定 (最後の \SetupExSheets{} がミソだけど、 すぐ使えるように4行足しておいた。)。

\usepackage{exsheets}
\SetupExSheets{headings=runin}
\SetupExSheets{question/name=問}
\SetupExSheets{solution/name=解答}
\SetupExSheets{
  question/pre-hook =
    \hypertarget{question:\CurrentQuestionID}{},
  question/post-body-hook =
    \unskip\nobreak\quad
    \hyperlink{solution:\CurrentQuestionID}{\textgt{解答へ}},
  solution/pre-hook =
    \hypertarget{solution:\CurrentQuestionID}{},
  solution/post-body-hook =
    \par\smallskip
    \hyperlink{question:\CurrentQuestionID}{\textgt{問題へ戻る}}
}

解答のところに、問題のところに飛べるボタンも作ってくれて、 なかなかかゆいところに手が届く。

やってみると、「あ、この問題も解答書いていなかったっけ? 書こうかな。」となって、文書の品質向上に役立ちそうである。



桂田 祐史