KakuTeX ユーザーマニュアル
KakuTeX ユーザーマニュアル
1. 概要
KakuTeX は、ブラウザだけで動く TeX サブセット用メモアプリです。左にソースを書き、右で即時プレビューを見ます。内部 LaTeX コンパイルは行わず、読みやすさを優先したプレビューを返します。
この版では、.texs の保存と読み込み、.tex の書き出し、右ペインの印刷経由 PDF 書き出し、引数なし \newcommand、ブロック単位 Sync、日本語 / 英語 UI、自動退避と未保存警告、版番号と作者情報を出す情報ダイアログ、HTML / PDF のヘルプ導線、もとに戻す、入力補助ツールバーを使えます。図表、BibTeX、複雑な LaTeX パッケージ、本物の組版再現は扱いません。
2. 起動方法
2.1 ローカル起動
KakuTeX は app/index.html を静的サーバ経由で開くのを推奨します。配布 ZIP を展開したあと、プロジェクトのルートで次を実行してください。
python3 -m http.server 8000
そのあと、ブラウザで次を開きます。
http://127.0.0.1:8000/app/
この方法なら、MathJax の初期化、フォント、保存ダイアログ、印刷ダイアログ、相対リンクの挙動が安定します。初期サンプルも、余計な先頭インデントなしでこのまま読み込まれます。
2.2 file:// 直開きしたとき
app/index.html を Finder やエクスプローラから直接開くと、file:// 直開きになります。この場合でも編集画面は出ますが、数式プレビューや印刷まわりが不安定になることがあります。画面上部に案内が出たら、本節と「10. 既知の制限」を参照してください。
現行版では、file:// 直開き時に「静的サーバ経由で開いてください」という案内を出します。案内バナーのリンクは、HTML ヘルプの「2.1 ローカル起動」へ飛びます。完全な file:// 対応は将来の改善項目です。
3. 画面構成
画面は上部メニュー、必要時だけ出る入力補助バー、左ペイン、中央の矢印 Sync ボタン、右ペインで構成されます。上部メニューは左側に操作ボタン、右側に KakuTeX の名前と版番号を置きます。左ペイン上段が本文ソース、下段が新規コマンド欄です。右ペイン上段がプレビュー、下段がエラーと警告です。状態メッセージは下部バーではなく、プレビュー見出しの右側に出します。情報ボタン、または右上の版番号を押すと、版番号、作者 Akio Tomiya (with ChatGPT5.4)、Web リンク、開発開始日を含むダイアログが開きます。ヘルプボタンは、現在の UI 言語に応じた HTML マニュアルを新しいタブで開き、すぐ使うことの多い「4. 基本操作」へ移動します。HTML 版の先頭には PDF 版へのリンクもあります。
左の本文欄、左下の新規コマンド欄、右上のプレビュー欄、右下の診断欄は、それぞれ内部スクロールします。縦に長い文書を扱うときは、ブラウザ全体ではなく各欄のスクロールバーを使ってください。
左エディタは表示の安定性を優先して通常の textarea を使っています。以前の overlay 型の簡易ハイライトは、ブラウザによって文字が見えにくくなることがあったため、この版では外しています。
4. 基本操作
4.1 新規作成
新規 を押すと初期サンプルに戻ります。未保存の変更がある場合はブラウザの確認ダイアログが出ます。
4.2 .texs を開く
開く .texs から保存済みアーカイブを選びます。初版アプリは、自分で保存した store-only 形式の ZIP ベース .texs を確実に読めます。
4.3 .texs を保存する
保存 .texs は現在の本文、マクロ、UI 設定、メタ情報を 1 つの .texs として保存します。対応ブラウザで https: または localhost / 127.0.0.1 から開いている場合は、ネイティブの保存ダイアログが開き、保存先とファイル名を選べます。対応していない環境では、通常のブラウザダウンロードへフォールバックします。
4.4 .tex を書き出す
書き出し .tex は最小構成の .tex を作ります。英語だけのノートでは軽い前置きのままにし、日本語が本文またはマクロに含まれるときだけ、LuaLaTeX 経路で luatexja を条件付きで入れます。対応ブラウザでは保存先とファイル名を選ぶダイアログが開きます。
推奨コンパイル経路は次です。
lualatex exported_file.tex
代替として、DVI 経路も使えます。
uplatex exported_file.tex
# または
platex exported_file.tex
dvipdfmx exported_file.dvi
pxjahyper は既定では自動挿入しません。あとから自分で hyperref を追加し、しかも (u)pLaTeX 経路を使う場合に限って、必要に応じて組み合わせてください。
4.5 PDF を書き出す
印刷 / PDF は現在のブラウザ画面に対して印刷ダイアログを開きます。印刷時は CSS でソース欄、Sync、診断欄などを隠し、右ペイン中心のレイアウトに切り替えます。そこで「PDF に保存」を選ぶ方式です。したがって、これは LaTeX で組版した PDF ではなく、プレビュー画面の PDF 化です。
4.6 もとに戻す
もとに戻す は、最後に操作していた入力欄に対して 1 段前の状態へ戻します。本文欄と新規コマンド欄で、それぞれ簡易 snapshot 履歴を持っています。現行版は redo までは持ちません。
4.7 入力補助
入力補助 を押すと、上部メニューの下に 2 段目のツールバーが出ます。現行版では、次のスニペットをカーソル位置へ挿入できます。
数式:\begin{align} ... \end{align}分数:\frac{1}{2}和:\sum_{i=1}^{N}積分:\int_{}^{} \mathrm{d}x
もう一度押して シンプル に戻すと、2 段目ツールバーは隠れます。入力補助の表示状態は autosave と .texs の ui.json に保存されます。
4.8 言語切替
初回起動時の UI 言語はブラウザ言語から決めます。ブラウザ側が日本語なら日本語 UI、それ以外は英語 UI で始めます。右上の言語ボタンで、いつでも日本語と英語を切り替えられます。本文とマクロの内容は変わりません。
4.9 情報ダイアログ
情報 ボタン、または右上の版番号を押すと、About 風のダイアログが開きます。ここには現在の版番号、開発開始日 2026-04-19、作者 Akio Tomiya (with ChatGPT5.4)、作者ページへのリンク、免責事項へのリンクが出ます。公開版の確認や配布物の版確認に使ってください。
4.10 ヘルプ
ヘルプ は新しいタブで HTML マニュアルを開きます。日本語 UI のときは日本語版、英語 UI のときは英語版を開きます。リンク先は「4. 基本操作」にアンカーで飛ぶので、起動後すぐ必要になる操作を見つけやすくしています。HTML 版の上部には PDF 版へのリンクもあります。
5. Sync の使い方
中央の → は、左エディタのカーソル位置に最も近いブロックへ右側を移動します。中央の ← は、右側で選択したブロックに応じて左のソース位置へ戻ります。右ペインのブロックを直接クリックしても左へ戻れます。
Sync は文字単位ではなくブロック単位です。段落、見出し、数式ブロック、リストの単位で移動するので、厳密なカーソル位置一致は狙っていません。
6. 対応している TeX サブセット
6.1 見出し
\section{...}\subsection{...}\subsubsection{...}\paragraph{...}
プレビューでは見出し番号を自動で付けます。\paragraph は独立した小見出しとして描画し、番号は付けません。
6.2 テキストコマンド
現行版では、本文中の \LaTeX と \TeX を text command として扱います。これはプレーンテキストの見出しや段落中で自然に見せるための限定対応です。
6.3 数式
インライン数式は $...$ と \(...\) を使えます。ディスプレイ数式は $$...$$、\[...\]、equation、equation*、align、align*、gather、gather* を使えます。
eqnarray と eqnarray* は互換レイヤで align 相当へ変換してプレビューします。古いメモの救済用です。エラー欄には互換表示の情報が出ます。
段落中の \\ は明示改行として扱います。数式の中では従来どおり改行として働きます。\slashed{...} は組み込みマクロとして扱います。
6.4 リスト
itemize と enumerate を使えます。各 \item の中に段落、インライン数式、ディスプレイ数式、入れ子のリストを書けます。
6.5 新規コマンド
新規コマンド欄では、引数なし \newcommand だけを受け付けます。次のような定義を想定しています。
\newcommand{\Tr}{\operatorname{Tr}}
\newcommand{\Det}{\operatorname{Det}}
引数付き \newcommand は初版では警告対象です。\slashed{...} はアプリ内蔵マクロとして扱います。
また、align の中に enumerate や \item を入れるような文書用構文の混入は、プレビューが崩れても無言で流さず、エラーと警告に出します。$\info$ のような未定義コマンド、裸の #、不完全な \frac_、itemize / enumerate の外の \item も、初版ではヒューリスティックに検出して診断欄へ出します。
7. 入力例
本文の例です。初期表示もこの英語サンプルです。
\section{Introduction}
KakuTeX is a web app for a subset of \LaTeX with fast rendering.\\
Hard line breaks work, and inline math such as $E=mc^2$ is supported.
日本語も使えます。
\subsection{Linear algebra}
\begin{align}
\Tr M &= 0 \\
\Det A &= 1 \\
\slashed{D} &= \gamma^\mu A_\mu \\
\int \mathrm{d}x \; \sin x &= -\cos x + C
\end{align}
\begin{itemize}
\item First bullet item
\item Second bullet item
\end{itemize}
\subsubsection{Subsubsection}
\paragraph{Paragraph} This is a short paragraph heading example.
新規コマンド欄の例です。
\newcommand{\Tr}{\operatorname{Tr}}
\newcommand{\Det}{\operatorname{Det}}
8. .texs 形式
.texs は ZIP ベースのコンテナです。初版では次の 4 ファイルを入れます。
body.texmacros.texui.jsonmeta.json
ui.json には locale と inputAssist を入れます。meta.json には形式名、生成器、作成時刻、更新時刻、ファイル名などが入ります。
9. 自動退避と未保存警告
編集内容は localStorage に自動退避されます。ブラウザやタブを閉じるときに未保存の変更があれば警告が出ます。ただし、警告文自体はブラウザ依存で、完全に自由な文章にはなりません。
10. 既知の制限
- 図表、参考文献、BibTeX、複雑な LaTeX パッケージは未対応です。
\newcommandは引数なしだけです。- Sync は文字単位ではなくブロック単位です。
- PDF 出力はプレビュー印刷であり、LaTeX 組版の PDF ではありません。
- 初版の
.texs読み込みは、自アプリで保存した store-only ZIP を優先します。 - 左エディタは表示安定性を優先しており、構文色分けは持ちません。
file://直開きは案内表示つきで動作を継続しますが、完全対応は未了です。安定利用は「2.1 ローカル起動」の手順を使ってください。\slashedの見た目は簡易実装であり、複雑な引数で LaTeX と完全一致はしません。- 保存先とファイル名を選ぶダイアログは、対応ブラウザかつ secure context で有効です。非対応環境ではダウンロードへフォールバックします。
もとに戻すは簡易履歴であり、redo はまだありません。
11. 免責事項
この日本語マニュアルの本節が免責事項です。日本語 UI の情報ダイアログからも、この節へ直接移動できます。
KakuTeX は研究ノートや個人メモのための軽量ツールです。表示内容、数式プレビュー、.tex 書き出し、ブラウザ印刷 PDF は、正確性・完全性・特定目的への適合性を保証するものではありません。重要な研究成果、投稿原稿、業務文書、講義資料などに使う場合は、必ず利用者自身が内容、式、エラー、書き出し後の .tex、コンパイル済み PDF を確認してください。
このアプリは LaTeX 全体を実装するものではなく、対応しているのは限定されたサブセットです。未対応構文、ブラウザ差、MathJax の挙動差、TeX 環境差、ローカルパッケージ不足、保存先ダイアログのブラウザ依存などにより、表示や書き出し結果が期待と異なることがあります。KakuTeX の利用によって生じたデータ損失、誤記、コンパイル失敗、研究・業務上の損害について、作者および開発補助者は責任を負いません。
機密情報や個人情報を入力する場合は、公開場所、ブラウザ、保存先、.texs ファイル、ローカルストレージの扱いを利用者自身で確認してください。KakuTeX は広告、クラウド保存、外部送信を前提としませんが、公開サーバへ設置した場合のアクセス制御や配布管理は設置者の責任です。