LaTeX\LaTeX で書いたようにしか見えない HTML

この HTML をブラウザで印刷してみてください。

ブラウザでPDFにすれば、LaTeX\LaTeX で作ったかのような PDF ができるはずです。ブラウザは PC 版の Chrome か Firefox が良いです。iOS とかだと注釈がうまく表示されません。

数式も書けます。

f(x)=limΔx0f(x+Δx)f(x)Δxf{'} \left( x \right ) = \lim_{\Delta x \to 0} \frac{f{\left( x + \Delta x \right )} - f{\left( x \right )}}{\Delta x}

コードブロックもLaTeX風です。

demo.md
---
title: '`katex \LaTeX` で書いたようにしか見えない HTML'
author: まど
date: 2021年 10月 17日
---

## この HTML をブラウザで印刷してみてください。
ブラウザでPDFにすれば、`katex \LaTeX` で作ったかのような PDF ができるはずです。ブラウザは PC 版の Chrome か Firefox が良いです。iOS とかだと注釈がうまく表示されません。

数式も書けます。

```math
f'(x)=lim_{Delta x->0}(f(x+Delta x)-f(x))/(Delta x)
```

日本語の禁則処理もきちんと行われるはずです。

仕組み

paged.js という JavaScript ライブラリが、内容をいい感じに分割してページを作ってくれています。CSS をごりごり書いて、ページの上や下に表示する物を設定すると、こんな感じの LaTeX\LaTeX 風の HTML が出来上がります。ページ番号が振られているのも paged.js のおかげです。

注釈も書けます。日本語の文章であることを前提にしているので、英語の文章を書くのには向いていないと思います。

LaTeX\LaTeX で書いたようにしか見えない HTML

Markdown からの生成

この HTML は Markdown から生成しています。変換には markdown-it というライブラリを使っています。 生成スクリプトは github.com/nanikamado/tex-like-html に置いておきました。興味があれば使ってみてください。とはいえ、これを大学のレポートなどに使うのはおすすめしません。バグや足りない機能が多く、書いている途中でバグに当たって LaTeX\LaTeX で書き直す羽目になるからです。例えば表はまだ LaTeX\LaTeX っぽくなっていませんし、数式に番号を付けたり、参照したりすることもできません。

数式

数式は、AsciiMath か LaTeX\LaTeX で書くことができるようにしました。AsciiMath というのは、書けることを数式に絞るとこで LaTeX\LaTeX を書きやすくしたような言語です。できることはLaTeX\LaTeX より少ないものの、LaTeX\LaTeX よりも簡潔に数式を書くことができます。書き方は asciimath.org から見れます。簡単なレポートであれば、あの忌々しい LaTeX\LaTeX を書く必要がないのです。素晴らしいと思いませんか。

数式を AsciiMath で書きたいときは、次のように AsciiMath を ```math``` で囲んでください。

```math
f'(x)=lim_{Delta x->0}(f(x+Delta x)-f(x))/(Delta x)
```

数式を LaTeX\LaTeX で書きたいときは、次のように LaTeX\LaTeX```katex``` で囲んでください。

```katex
f'\left(x\right)=\lim_{\Delta x\to0}\frac{f\left(x+\Delta x\right)-f\left(x\right)}{\Delta x}
```

インラインの数式を書く場合は、`math ...``katex ...` のように1個の「`」で囲んでください。

katex というのは、LaTeX\LaTeX を HTML に変換するのに使っているライブラリのことです。