
2026/08/26 7:08
Show HN: ブラウザ上でWASMを使ってpdfTeXを実行するLaTeXエディタ「TeXbrain」
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
TexBrain は、Braian Plaku によって構築された、完全にブラウザ上で動作する、安全で無料かつ MIT ライセンスのオープンソース LaTeX エディタです。その主な利点は完全なデータ主権にあります。.tex ファイルを WebAssembly(SwiftLaTeX)を使用してローカルの環境で PDF へコンパイルするため、機密性の高い原稿は一切デバイス外に出ることもなく、クラウドアカウントも必要としません。Svelte 5 と CodeMirror 6 を使用して構築されており、初期アクセス後にはオフラインでの動作が可能であり、pdf.js を通じたライブ PDF プレビュー、フルな Git 統合、70 以上のコマンドへのシンタックスハイライトなどの機能を提供します。Firefox や Safari でも構成調整を伴う程度のサポートがあり(仮想ファイルシステムにフォールバック)、Chromium ベースのブラウザにはフォルダへの直接アクセスが可能なため最適化されています。ユーザーはアカウントやバックエンドサーバーなしで利用できますが、XeTeX/LuaTeX といった高度なコンパイルエンジンやネイティブな
bibtex/biber サポートは現在未対応である点に留意してください。将来のアップデートでは、現在の固定された TeX Live バージョンを超えてパッケージとの互換性を拡大する予定です。結局のところ、tex.swimmingbrain.dev にて TexBrain は、プライバシーとオフライン能力を最優先とする学術関係者にとって理想的な選択肢であり、未対応のコンパイルエンジンに厳密には依存しない限りにおいてです。本文
texbrain:ブラウザ全体で動作する無料のオープンソース LaTeX エディタ
ブラウザを開くだけで、LaTeX を執筆し PDF を生成できるフルバングなエディタです。アカウント不要、インストール不要、サーバー不要。タブを開いて即座に執筆を始められます。
開発のきっかけは、「本質的に無料であるべき機能に料金を払うことに疲れたこと」でした。以前、修士論文執筆においてツール調整に執筆時間を費やすことが多く、Git の同期制限や環境設定の不整合に悩まされていました。「ただ機能するもの」だけを求めた結果がこれです。
ツールの概要
texbrain はブラウザ内で .tex ファイルを直接 PDF コンパイルできるフルバングなエディタです。
- バックエンドサーバーなし: 処理はすべてクライアント側(ブラウザ内)で行われます。
- 完全ローカル環境: エディター、コンパイラ、Git クライアントなどすべての機能がタブ一つから完結します。
- ワークフロー: ローカルのプロジェクトフォルダを開き → 編集 → PDF 更新確認 → Git にプッシュ。すべてがブラウザ内で行われます。
主な機能
- ブラウザ内の LaTeX コンパイル
(pdfTeX の WebAssembly 移植版)を使用しています。SwiftLaTeX- ファイルはあなたのマシンを離れずに PDF へコンパイルされます。
- オンデマンド読み込み: 使用されたパッケージのみダウンロードされ、キャッシュされます。
- 高速な再コンパイル: プロジェクトの複雑さに応じて 1〜5 秒です。
- CTAN とオンデマンド読み込み
- 一般的なパッケージはアプリ本体に含まれています。
,memoir
,abntex2
など、文書が初めて必要とするパッケージは TeX Live のミラーから自動解決され、ローカルにキャッシュされます(オフライン使用可能)。KOMA-Script
- ライブ PDF プレビュー
- 複数ページの表示・拡大縮小・テキスト選択が可能。
- Git の完全な統合
- クローン、ブランチ作成、ステージング、コミット、プッシュ、プル、マージがブラウザ内で動作します(
を使用)。CLI 不要です。isomorphic-git
- クローン、ブランチ作成、ステージング、コミット、プッシュ、プル、マージがブラウザ内で動作します(
- ローカルファイルシステムへのアクセス
- Chrome や Edge では、
を用いてディスク上のフォルダを直接読み書きできます。File System Access API
- Chrome や Edge では、
- 多ファイルプロジェクト対応
- ファイルツリー表示、タブ切り替え、ドラッグ&ドロップに対応。
,.tex
,.bib
,.sty
等多数形式をサポートします。.cls
- CodeMirror 6 エディタ
- シンタックスハイライト、70 コマンド以上の自動補完、括弧対応、コードフォルディング、スニペット機能、ダーク/ライトテーマに対応。
- コマンドパレット & スニペットピッカー
- キーボードショートカットでの素早いアクションアクセス。
- 数式環境やギリシャ文字などをカテゴリ別に検索可能。
- オフライン動作
- アプリ読み込み後はインターネット不要。コンパイル・編集はすべてローカルで完結します。
- プロジェクトテンプレート
,article
,thesis
,beamer
,report
,CV
などのテンプレートから選べます。minimal
仕組みとアーキテクチャ
魔法はなく、バックエンドもありません。すべての処理はクライアントサイドで行われます。
| 構成要素 | 技術詳細 |
|---|---|
| エディタ | 基盤 + パーサー(LaTeX 文法)、独自補完プロバイダー、テーマシステム。タブ機能により複数ファイル表示とローカル/Git の同期を実装。 |
| コンパイラ | WebAssembly で動作する (pdfTeX)。メモリ上のファイルシステム (MEMFS): コンパイル前にプロジェクトをここに書き込み。 解決フロー: キャッシュされたファイル → アプリバンドルパッケージ → TeX Live ミラー ( など)。プリフェッチ: 最初の成功後、コアパッケージセットを背景で事前読み込みしオフライン対応を強化。 |
| Git | (純粋な JavaScript) + をバックエンドとするメモリ上ファイルシステム ()。ローカルフォルダと Git ワーキングツリー間で同期。 リモート操作: ブラウザが直接 Git プロトコルを扱えないため、CORS プロキシを経由。 |
| PDF ビューア | (Mozilla) を使用。テキスト選択・検索対応の複数ページレンダリング。 |
| ファイルシステム | Chromium ベースブラウザでは で直接アクセス。他ブラウザは Origin Private File System (OPFS) にフォールバック。 |
| フロントエンド | + 静的アダプターを使用。サーバーサイドレンダリング(SSR)や API ルート、サーバーは一切不要。 スタイル管理: 。 |
既知の制限事項
- pdfTeX 専用: XeTeX や LuaTeX は対応しないため、
,fontspec
など特殊な機能は動作しません。polyglossia - bibtex/biber なし: エンジンには含まれていないため、
ファイルから簡易な参考文献リストを生成します。引用スタイルは無視されます(古典的な.bib
フローワークが必要)。.bbl - TeX Live 2020 固定: パッケージはエンジン形式ファイルと同期した時代のバージョンに固定されており、最新バージョンの利用には対応していません。
- CORS プロキシ必要: Git リモート操作のためです。デフォルトは
です。cors.isomorphic-git.org - Chromium 限定の直接アクセス: Firefox や Safari では仮想ファイルシステムへフォールバックするため、ローカルフォルダへの直接読み書きができません。
セキュリティとプライバシー
- 完全なクライアントサイド処理: ファイルは明示的にリモートへプッシュしない限り、あなたのマシンから離れません。
- データ収集なし: テレメトリ、分析トラッキング、アカウント、クッキーは一切使用しません。
- 安全な Git 認証: トークンはブラウザの
に保存され、開発者サーバーにはアクセスしません。localStorage - WebAssembly サンドボックス: コンパイルはサンドボックス内で実行されます。シェルコマンドの実行 (
,pdflatex
,exec
) はありません。spawn - コマンド注入不可能: Git 操作は JavaScript ライブラリを使用しており、CLI コマンドとして実行されません。
- 通信の透明性: バンドルされていないパッケージは公共ミラーから名前のみ取得されます(文書内容は一切送信されず)。ローカルキャッシュで再使用。
技術スタック
| レイヤー | 技術 |
|---|---|
| フレームワーク | Svelte 5 + SvelteKit (静的アダプター) |
| エディタ | CodeMirror 6 + 独自 LaTeX ランゲージ |
| コンパイラ | WebAssembly / pdfTeX (SwiftLaTeX) |
| Git | isomorphic-git + LightningFS |
| pdf.js | |
| スタイル | Tailwind CSS 4 |
| 言語 | TypeScript |
| デプロイ | GitHub Pages |
ローカルでの実行
開発環境を構築し、ローカルで動かす場合は以下の手順で行います。
git clone https://github.com/swimmingbrain/texbrain.git cd texbrain pnpm install pnpm dev
その後、Chrome または Edge で
http://localhost:5173 を開いてください。
ブラウザサポート
- フル機能: Chromium ベースブラウザ(Chrome, Edge, Arc, Brave, Opera)のみ対応します(
必須)。File System Access API - 制限あり: Firefox や Safari でもエディタは利用可能ですが、仮想ファイルシステムフォールバックのためローカルフォルダへの直接読み書きはできません。
ライセンス
MIT
開発者:Braian Plaku