ans() の定義式の右辺の色指定を black に修正すれば,解答が黒字で表示される.もちろん色はそれ以外のものを好きに指定すれば良い.
実際の使い方としては,色を black にした状態で解答を含めて資料を作成した後,最後に忘れずに black の部分を white に書き直して解答を非表示にする,といったものを想定している.
ちなみに,white にして見えなくした状態で PDF 形式でエクスポートしたものを PDF ビューワで開いた際,空欄の箇所を選択してみたが,私が使用したビューワでは白い文字が反転表示されることはなかった.つまり,そこに白い文字で何かが書かれていると認識されなかったということである.PDF の中身がわからないため,どんなビューワでも非表示の部分をうまく覗き見できないのかどうか判断できないので,この方法で作成した解答非表示の PDF ファイルを,解答を知らせたくない場合に学生に配布してしまって大丈夫なのかどうかは自信がない.
HTML だと,バックグラウンドと同じ色の文字を書いた際,ブラウザ上でその部分を選択すると文字色が反転されて読めるようになることは経験上知っているのだが,Typst が生成する PDF ファイルにそういう白文字の情報が含まれているのかどうかが私にはさっぱりわからない.
※ PDF ビューワで表示したものにおいて範囲を選択してテキスト情報をクリップボードにコピーし,テキストエディタに貼り付けたところ,範囲指定がぐちゃぐちゃになったため支離滅裂な文字の並びにはなったものの,伏せておきたかった i×j=k などの右辺の解答がバッチリ表示されてしまっていた.したがって,そのような裏技を心得ている学生相手にここで示した方法は通用しない.改善案としては,解答の部分を box もしくは rect などで真っ白に塗りつぶす検閲方式が思い浮かぶが,それはまだ試していない.そのように「物理的に」塗りつぶしてしまえば PDF 上でのテキストコピペを封じられるのではないかと期待してはいるのだが.