マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

「サイゼリヤで1000円あれば最大何kcal摂れるのか」をSATySFiで解いてみた

SATySFiをオワコンにしてしまうのは忍びないので、やってみた

作ったもの

この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版を使用。

f:id:zrbabbler:20190528215346p:plain
「問題」の出力の冒頭

f:id:zrbabbler:20190528215409p:plain
「解答」の出力

まとめ

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