diff --git a/LeanByExample/Reference/Diagnostic/Html.lean b/LeanByExample/Reference/Diagnostic/Html.lean
new file mode 100644
index 0000000..61d1c2f
--- /dev/null
+++ b/LeanByExample/Reference/Diagnostic/Html.lean
@@ -0,0 +1,111 @@
+/- # \#html
+
+`#html` コマンドは、その名の通り html をインフォビューに表示させるコマンドです。[ProofWidgets4](https://github.com/leanprover-community/ProofWidgets4) というライブラリで定義されています。
+
+[JSX](https://ja.react.dev/learn/writing-markup-with-jsx) によく似た構文を使うことができます。
+-/
+import ProofWidgets.Component.HtmlDisplay
+import ProofWidgets.Component.Recharts
+import ProofWidgets.Component.GraphDisplay
+
+-- JSX ライクな構文が使えるようにする
+open scoped ProofWidgets.Jsx
+
+#html
"ここに HTML を書きます"
+
+-- いろんなHTMLタグを書くことができる
+#html
+
+
"見出し"
+
+ "強調されたテキスト"
+ "斜体のテキスト"
+
+
"リンク"
+
+
+-- 画像も表示できる
+#html
+
+
+/- HTMLタグを使用できるだけでなく、様々なコンポーネントが定義されています。-/
+
+/- ## MarkdownDisplay
+
+`` コンポーネントを使用すると、Markdown や TeX を表示させることができます。
+
+```admonish warning title="注意"
+`MarkdownDisplay` の例は Lean 4 Playground では動作しないようです。VSCode 上で試してみてください。
+```
+-/
+section --#
+
+open ProofWidgets
+
+-- Markdown と TeX を表示する
+#html 0$.
+"}/>
+
+end --#
+/- ## GraphDisplay
+
+`` コンポーネントを使用すると、有向グラフを表示させることができます。
+-/
+section --#
+
+open ProofWidgets Jsx GraphDisplay
+
+/-- `Edge` を作る -/
+def mkEdge (st : String × String) : Edge := {source := st.1, target := st.2}
+
+/-- 文字列として与えられたラベルから `Vertex` を作る -/
+def mkVertex (id : String) : Vertex := {id := id}
+
+-- 有向グラフを表示する
+#html
+
+
+end --#
+/- ## LineChart
+
+ProofWidgets4 には [Recharts ライブラリ](https://recharts.org/en-US) に対するサポートがあり、`` コンポーネントを使用すると、関数のグラフを表示させることができます。
+-/
+section --#
+
+open Lean ProofWidgets Recharts
+
+open scoped ProofWidgets.Jsx in
+
+/-- 与えられた関数 `fn` の `[0, 1]` 区間上での値のグラフ -/
+def Plot (fn : Float → Float) (steps := 100) : Html :=
+ -- `[0, 1)` 区間を `steps` 個に分割する
+ let grids := Array.range steps
+ |>.map (fun x => x.toFloat / steps.toFloat)
+
+ -- データを JSON に変換
+ let y := grids.map fn
+ let jsonData : Array Json := grids.zip y
+ |>.map (fun (x,y) => json% {x: $(toJson x) , y: $(toJson y)});
+
+
+
+
+
+
+
+#html Plot (fun x => (x - 0.3) ^ 2 + 0.1)
+#html Plot (fun x => 0.2 + 0.5 * Float.sin (7 * x))
+
+end --#
diff --git a/booksrc/SUMMARY.md b/booksrc/SUMMARY.md
index e4130be..421b4d2 100644
--- a/booksrc/SUMMARY.md
+++ b/booksrc/SUMMARY.md
@@ -16,6 +16,7 @@
- [#guard_msgs: メッセージのテスト](./Reference/Diagnostic/GuardMsgs.md)
- [#guard: Bool 値のテスト](./Reference/Diagnostic/Guard.md)
- [#help: ドキュメントを見る](./Reference/Diagnostic/Help.md)
+ - [#html: HTMLをインフォビューに表示](./Reference/Diagnostic/Html.md)
- [#instances: インスタンスを列挙](./Reference/Diagnostic/Instances.md)
- [#lint: リンタ実行](./Reference/Diagnostic/Lint.md)
- [#print: 中身を見る](./Reference/Diagnostic/Print.md)