Guidedog マニュアル 0.2.0
言語
このページの内容
Guidedog / ドキュメント 0.2.0

数学と証明

関係を調べやすくする数式を使う。記号は使う前に定義し、必要な単位を示す。数式は説明を支え、置き換えない。

インライン数式と独立した数式

短い式には math ロール、独立した式には math ディレクティブを使う。両形式が理解する共通の LaTeX 数式サブセットで書く。

A side of length :math:`s` encloses area :math:`s^2`.

.. math::
   :label: area-square

   A = s^2

The relation is :eq:`area-square`.

一辺の長さが \(s\) の正方形の面積は \(s^2\) である。

(1)\[A = s^2\]

関係式は (1)。ラベル付きの式には安定したターゲットを与える。HTML は MathJax 記法を渡し、PDF は対応する LaTeX サブセットを Typst 数式へ変換する。未対応命令は報告し、任意の LaTeX パッケージは実行しない。

小さな証明

計上済みのバイト数を \(U\)、上限を \(B\)、要求量を \(n\) とする。全て非負で \(U \le B\) と仮定する。

受け入れ規則。 次の条件が成り立つ場合に限り、要求を受け入れる。

(2)\[n \le B - U.\]

命題。 要求を受け入れても \(U + n \le B\) が保たれる。

証明。 (2) の両辺に \(U\) を加えると \(U+n \le B\)。実装は減算形を検査し、整数をあふれさせ得る \(U+n\) を先に計算しない。証明と演算順序は一致する。

境界。 対象は計上したホスト領域で、別の Typst コンパイラー内部は制限しない。証明は明記した範囲内でのみ有効だ。

HTML の設定

これらのプロジェクトは MathJax 3.2.2 と SVG フォントデータを同梱し、数式のあるページだけで読み込む。ビルド後はオフラインで読め、図のスクリプトや Web フォントサービスは不要。

自分のプロジェクトでは、既定で CDN の MathJax を使う。ローカルのコピーを配信するには、_static に置いて次を設定する。

html_static_path = ["_static"]
mathjax_path = "_static/tex-svg-full.js"

Web 数式の組版には JavaScript が必要で、無効時はソースが見える。PDF はブラウザーの JavaScript を必要としない。MathJax コンポーネント契約 を参照。