「『サイゼリヤで1000円(略)』をSATySFiで一気に計算して組版する」を誰もやらないので、SATySFiはオワコン👋#satysfi #えっ
— 某ZR🤯 (@zr_tex8r) 2019年5月28日
SATySFiをオワコンにしてしまうのは忍びないので、やってみた。
作ったもの
- SATySFi:「サイゼリヤで1000円あれば最大何kcal摂れるのか」を解くパッケージ (Gist/zr-tex8r)
このsaizeriyaパッケージを使うとSATySFi文書中でサイゼリヤ問題ができるようになる。
[saizeriya-test.saty]
@require: stdja
@require: saizeriya
%saizeriya.satyhをカレントに置く場合は↓を使う
%@import: saizeriya
%------------------------------------------------- メニューデータ
let the-menu = [
(|calorie=130;cost=299;name=`彩りガーデンサラダ`|);
(|calorie=115;cost=349;name=`小エビのサラダ`|);
(|calorie=134;cost=299;name=`やわらかチキンのサラダ`|);
(|calorie=92;cost=299;name=`わかめサラダ`|);
……(中略)……
(|calorie=164;cost=369;name=`トリフアイスクリーム`|);
]
%------------------------------------------------- 本文
in
document (|
title = {\SATySFi;でサイゼリヤ問題};
author = {某ZR(アレ)};
show-title = true;
show-toc = false;
|) '<
+section{問題}<
+p{
予算1000円以内で,サイゼリヤで最大カロリーを摂取するような
注文の仕方を求めよ。
ただしサイゼリヤの料理のメニューは以下の通りとする。
}
%the-menuのメニューを箇条書きで出力する
+saizeriya-listing-menu(the-menu);
>
+section{解答}<
+p{
以下の通り。
}
%サイゼリヤ問題を解いて解答を表組で出力する
+saizeriya-tabular-solution(the-menu)(1000);
>
>
この文書をコンパイルすると次の出力が得られる。
※SATySFiの0.0.3版を使用。


まとめ
というわけで、SATySFiは非オワコンで素敵!