本文へ移動
Develop Tools
← 使い方ガイドへ戻る

LaTeX数式が表示されない原因|$・\[・数式モードを確認

数式がTextのまま、または空になる場合は、最初に区切りの開始・終了、次にCommandとEnvironmentの対応範囲を確認します。

Text modeとInline・Display数式区切りを比較する図
Text modeとInline・Display数式区切りを比較する図

TeX SourceをBrowser内で簡易確認する

TeXコードまたは単一.texをBrowser内の独自Parserで解析し、限定HTML・MathML Previewと構文診断を確認できます。SourceをDevelopTools Serverへ送信・保存しません。

数式区切りを入力して確認する

結論:簡易Previewと完全LaTeX Compileを分ける

$...$、\(...\)、\[...\]の対を確認し、現行Tool対応のCommandへ絞ります。$$はDisplay構文として保証されません。

標準LaTeXで正しい式でも現行の限定Rendererで未対応の場合があります。

最小例で確認する

Inline: \( \alpha + \beta \)
Display: \[ \frac{a}{b} \]

最小Sourceで区切り・Command・Environmentを一つずつ確認し、問題が消えた段階から元Sourceへ戻します。

表示されない原因を上から除外する

  • Delimiter不足
  • Brace不足
  • 未対応Command
  • 未対応Environment
  • Package・Macro依存
  • 本番Engineとの差

このViewerは独自の簡易TeX解析器である

現行ToolはKaTeX、MathJax、pdfLaTeX、XeLaTeX、LuaLaTeXを実行しません。Repository内のJavaScriptでTeXの一部を解析し、安全なHTMLとMathMLへ変換する簡易Viewerです。TeX LiveやOverleafの完全なDocument Compile、PDF生成、Package実行を再現するものではありません。

方式主な出力現行Tool
独自簡易解析器限定TeXからHTML・MathML採用。Version付き外部Rendererではない
KaTeX対応範囲の数式をHTML・MathML等へ描画未使用
MathJaxTeX Input ProcessorからWeb向け出力未使用
LaTeX Engine文書を組版してPDF等を生成未使用

「Overleafで動く=このViewerでも同じ表示」「Errorがない=本番Compile成功」とは判断できません。提出物は指定Engine、Package、Font、Build手順で最終確認します。

現行TeX・LaTeXプレビューの対応範囲

分類対応現在の境界
入力直接入力、.tex・.txtを1件選択またはDrop、UTF-8・Shift_JIS複数File Project、URL取得、includeには未対応
表示Source/Previewの分割・単独表示、Light・Dark、折返し、サイズ調整PDF Previewや画像Exportには未対応
文書見出し、段落、強調、List、Quote、Verbatim、Tabular、参照の一部Document ClassやPage Layoutを組版しない
数式$...$、\(...\)、\[...\]、equation・align・gatherの限定変換$$...$$をDisplay構文として保証せず、aligned・matrix・cases・arrayは未対応
診断波括弧、単一$、begin/end、未対応Commandを行番号付き表示Missing $ inserted、Undefined control sequence、列数、Overfull hboxを実Compiler同様には診断しない
Package・Macro\usepackageを記述できるがPackageは実行しないnewcommand、def、BibTeX、TikZ、graphicx等を展開しない
出力TeX Copy・保存、Preview HTML保存・別Tab・印刷PDF、SVG、PNG、MathML単体Copyには未対応

画面にない機能を前提に案内しません。未対応CommandのWarningは「無効なLaTeX」の断定ではなく、この独自簡易Rendererの対応外を示します。

数式区切りとEnvironmentを実装範囲で確認する

入力用途現行Tool
$ E = mc^2 $Inline数式対応
\( E = mc^2 \)Inline数式対応
\[ E = mc^2 \]別行数式対応
$$ E = mc^2 $$Plain TeX由来の別行表記Display構文として非対応
equation・align・gather別行・複数行数式限定対応
aligned・matrix・pmatrix・cases・array数式内構造現行Rendererでは未対応
文章中の数式は \( E = mc^2 \) です。

\[
  \sum_{n=1}^{\infty} \frac{1}{n^2}
\]

標準LaTeXの正しい構文、KaTeX・MathJaxの対応構文、現行Toolの対応構文は別です。数式が出ない場合は区切り、Command、Environment、括弧を順に確認します。

Errorと未対応Warningを分けて読む

表示現行Toolが検出する内容判断
Error余分・未閉じ波括弧、未閉じInline $、begin/end不整合入力位置へ移動してSourceを修正
Warningdocument環境なし、未対応Command完全LaTeXで有効か、Tool対応外かを分ける
非対応診断Missing $ inserted、Extra alignment tab、Overfull hbox、File not found等本番EngineのLogで確認

診断には行番号とSource上の開始位置があり、項目を選ぶと該当行へ移動できます。Column番号やCompiler Log全文は表示しません。Errorが出ても入力Sourceは保持され、修正後に再Previewできます。

\begin{align}
  a &= b
\end{equation}

表示される文言は現行解析器の診断です。LaTeX Engineが返すUndefined control sequenceやMissing $ insertedをそのまま再現したものではありません。

Package・画像・Macro・Engineは本番環境で確認する

  • \usepackage{amsmath}等はSourceとして保持されますが、Package Codeは読み込まれません。
  • \includegraphics{figure.png}の画像File、BibTeX、分割Sourceは同時読込されません。
  • \newcommandや\defによるCustom Macroは定義・展開されません。
  • pdfLaTeX、XeLaTeX、LuaLaTeXのEngine選択機能はありません。日本語組版やFont設定も再現しません。
  • Overfull \hboxはCompile停止ErrorではなくBoxのはみ出しWarningですが、現行Viewerは検出しません。
Quick preview: DevelopTools custom parser → HTML / MathML
Final check: project LaTeX engine + packages + fonts + resources → PDF

日本語TextはBrowser FontでHTML表示できますが、日本語LaTeXの組版対応を意味しません。LuaTeX-ja等を使う文書は、そのPackageとEngineを導入した環境で確認します。

入力TeXをBrowser内で安全に扱う境界

TeX Source、数式、著者名、診断対象はBrowser内で解析され、Tool本体にSourceをfetch・sendBeaconで外部送信する処理はありません。LocalStorageへ保存するのはThemeやEditor Size等の設定だけで、Sourceや履歴は保存しません。

  • PreviewはApplication DOMと分離したsandbox付きiframeのsrcdocへ表示します。
  • 生成Previewにはdefault-src noneのContent Security Policyを設定します。
  • Raw HTMLと診断文言をEscapeし、入力scriptを実行しません。
  • \hrefと\urlはhttps、http、mailtoだけをLinkにし、javascript:やdata:をLink化しません。
  • 外部画像やHTML拡張Commandを無条件に許可しません。

Site共通の広告・Analytics、Browser Extension、組織Networkまで含めて「通信が一切ない」と保証する表現は避けます。未公開論文や社内資料は組織Policyを優先してください。

Realtime Preview・大きなSource・Mobileを確認する

Realtime Previewは入力後220ms待って更新し、500,000bytesを超えるSourceでは自動更新を止めて手動更新を促します。Issue表示も最大100件に制限しています。入力は消去せず、修正を継続できます。

  • 1KB、10KB、100KB程度から段階的にRender時間を測ります。
  • 深い波括弧Nestや大量の未対応CommandでもPageが操作可能か確認します。
  • 長い数式はPreview内で横Scrollし、過度に縮小しません。
  • 900px以下ではSourceとPreviewを縦配置し、表示Modeも切り替えられます。
  • Font Size、Editor Height、左右比率を調整してSourceと結果を比較します。

Macro展開自体を実装していないためKaTeXのmaxExpand・maxSize設定は使いません。独自Parserの入力Size、診断件数、DebounceでUI負荷を抑えます。

DevelopTools内で用途を分けて確認する

TeX数式・Sourceの簡易Preview、Markdown文書表示、HTML変換、Text Diff、Unicode参照は別機能です。TeXからMarkdownやHTMLへ完全変換できるとは案内しません。

LaTeX・KaTeX・MathJaxの一次資料を使い分ける

LaTeX構文とEngineはLaTeX Project、PackageはCTANと提供元、KaTeX・MathJaxは各公式Documentationを優先します。現行ToolはどちらのLibraryも利用しないため、Supported Functionsを現行Toolの対応一覧として転載しません。

まとめ

  • 開始・終了Delimiterを対で確認する
  • InlineとDisplayの対応表を見る
  • 有効なLaTeXとTool未対応を分ける

Source、Math Mode、Command、Environment、Renderer、Package・Engineの順で確認すると、入力ErrorとWeb簡易Previewの未対応を混同せずに切り分けられます。

具体例:LaTeX数式が表示されない原因を確認する

問題を再現する最小Source「Inline: \( \alpha + \beta \) / Display: \[ \frac{a}{b} \]」を用意し、Sourceと診断を同時に確認します。

簡易Previewの結果だけで完全LaTeXの成否を決めず、本番EngineのLogと公式Documentationを照合します。

  1. 元Sourceを残し、問題を再現する最小Copyを入力します。
  2. Delimiter、Brace、begin/end、未対応Commandの診断を確認します。
  3. 診断項目から該当行へ移動し、一度に1か所だけ修正します。
  4. Realtime Previewまたは手動更新で変化を確認します。
  5. 修正版を保存し、指定LaTeX EngineとPackageで最終Compileします。

現行ToolはSourceを変更・補完せず、PDFも生成しません。元Sourceを残し、本番BuildのError・Warningを最終判断に使ってください。

よくある質問

KaTeXやMathJax、TeX Liveを使用していますか?
使用していません。Repository内の独自JavaScriptで限定TeXをHTML・MathMLへ簡易変換します。完全なLaTeX Compilerではありません。
Package、画像、Custom Macro、複数texも表示できますか?
表示できません。単一Sourceの基本構文だけを扱い、Package実行、画像File、BibTeX、include、newcommand・defの展開には対応しません。
入力Sourceや診断内容は外部へ送信・保存されますか?
Tool本体は外部送信せず、Sourceや履歴をLocalStorageへ保存しません。保存するのは明示操作したFileと表示設定だけです。