Claude Media
ClaudeのLaTeX数式出力をプレーンテキストに固定する方法

ClaudeのLaTeX数式出力をプレーンテキストに固定する方法

Claudeは数式をLaTeX形式で返すのが既定です。プレーンテキストに固定する推奨のプロンプト文と、API・Claude Code・Claude.aiでの書き方の違いをまとめます。

Claudeの現行モデルは、数式や方程式、技術的な説明を既定でLaTeX形式(\frac{}{}$...$のような記法)で返します。a/ba^2のような素のテキスト表記に固定したい場合、Anthropicのプロンプトエンジニアリングガイドが具体的な指示文をそのまま案内しています。この記事ではその指示文の内容と、Claude API・Claude Code・Claude.aiそれぞれでの置き場所の違いをまとめます。

Claudeが数式をLaTeXで返すのは既定の挙動

Claudeの現行モデルは、数式・方程式・技術的な説明を既定でLaTeX形式で返します。何も指示しなければ分数は\frac{1}{2}、指数はx^{2}、インライン数式は$...$のような記法で出力されます。このガイドはClaude Fable 5.1・Claude Mythos 5.1・Claude Fable 5・Claude Mythos 5・Claude Opus 5.5・Claude Opus 5・Claude Opus 4.8・Claude Sonnet 5・Claude Haiku 4.5などの現行モデル群を対象にしており、LaTeX既定の挙動はモデルの違いではなく「Claudeの現行モデル」全体の既定です。

LaTeX記法の組版はチャットでは読みやすい。一方、ターミナルやログにそのまま貼るとバックスラッシュとドル記号が残ります。プレーンテキストのログやLaTeX未対応のUIに出力をそのまま使う場合は、この既定挙動をプロンプト側で明示的に上書きする必要があります。手書きノートを数式付きの教材に変換するような、LaTeXの組版そのものを活用したい用途では、この上書きはむしろ不要です(詳しくはClaudeで手書きノートをLaTeX教材に変換する方法)。

プレーンテキストに固定する推奨のプロンプト

Anthropicが示す指示文は次の内容です。会話・システムプロンプトのどちらに書いても機能します。

Format your response in plain text only. Do not use LaTeX, MathJax, or any markup
notation such as \( \), $, or \frac{}{}. Write all math expressions using standard text
characters (e.g., "/" for division, "*" for multiplication, and "^" for exponents).

この指示文は3つの要素で構成されています。まず「プレーンテキストのみで」という出力形式そのものの指定、次に「LaTeX・MathJax・\( \)$\frac{}{}などの記法を使わない」という禁止の明示、最後に「除算には/、乗算には*、べき乗には^を使う」という代替表記の具体例です。禁止するだけでなく代わりの書き方まで示すと、指示が効きやすくなります。

指示文を入れる前後で出力がどう変わるかを、二次方程式の解の公式で比べると分かりやすくなります。

状態出力例
指示なし(LaTeX既定)出力例$$x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$$
指示あり(プレーンテキスト)出力例x = (-b ± sqrt(b^2 - 4ac)) / (2a)

\frac{}{}\sqrt{}が消え、/sqrt()・括弧だけで表現される形になります。平方根の記法自体は指示文に明示されていないため、sqrt(...)のような書き方になるかの記号のまま残るかは応答によって揺れることがあります。厳密に統一したい場合は、平方根の書き方も指示文に1文加えておくと安定します。

利用形態ごとの書き場所 — API・Claude Code・Claude.ai

同じ指示文でも、どこに書くかは利用形態によって変わります。

利用形態書く場所補足
Claude API書く場所system パラメーター補足リクエストごとに固定できる
Claude Code書く場所CLAUDE.md またはシステムプロンプト補足プロジェクト単位・リポジトリ単位で固定できる
Claude.ai(チャット)書く場所会話・プロジェクトの指示、または個人設定補足個別のメッセージ、プロジェクトの指示、アカウント全体の個人設定のいずれかに書き込む

APIで実装する場合は、systemパラメーターにそのまま指示文を渡します。

curl https://api.anthropic.com/v1/messages \
  -H "content-type: application/json" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-opus-5",
    "max_tokens": 1024,
    "system": "Format your response in plain text only. Do not use LaTeX, MathJax, or any markup notation such as \\( \\), $, or \\frac{}{}. Write all math expressions using standard text characters.",
    "messages": [{"role": "user", "content": "二次方程式の解の公式を教えてください"}]
  }'

Claude Codeでは、CLAUDE.mdに書けばリポジトリを開くたびに指示が引き継がれます。そのタスクだけプレーンテキストにしたい場合は、セッション内のメッセージに直接指示を書く方法も使えます。リポジトリ単位の固定と、会話単位の一時的な上書きを分けておくと、必要な範囲だけに絞って適用できます。

Claude.aiのweb・モバイルアプリには、日付情報の提供やMarkdownでのコードスニペット表示など、Anthropic側が管理する独自のシステムプロンプトが既に適用されています。このシステムプロンプトはユーザー側から書き換えられず、APIのsystemパラメーターのような形では使えません。そのためClaude.aiのチャットでプレーンテキスト数式を固定したい場合は、会話の中やプロジェクトの指示として自分の指示文を明示的に加える形になります。応答言語を固定する場面でもシステムプロンプトへの書き方が問われますが、その考え方はClaudeの応答言語をシステムプロンプトで固定する方法でも扱っています。

会話ごとに貼り直すのが手間な場合は、アカウント全体に適用される個人設定「Instructions for Claude」に指示文を書き込む方法もあります。プロジェクトの指示が対象プロジェクト内に限られるのに対し、この個人設定に書いた内容は新しい会話を始めるたびに反映されるため、特定のプロジェクトに縛られずすべての会話でプレーンテキストの数式を既定にできます。用語の使い方や好みのアプローチをまとめて登録する機能なので、LaTeX抑制の指示文もその一部として書いておくと管理がまとまります。同じ個人設定には、コミュニケーションスタイルや特定タスク向けの専門知識を追加する「Skills」という機能もあります。応答の形式全体を継続的にカスタマイズしたい場合の選択肢ですが、数式の記法だけをプレーンテキストに固定したいなら、Instructions for Claudeに指示文をそのまま書くほうが直接的です。

出力形式を制御する4つの原則を数式にも当てはめる

出力形式を制御する原則は4つあり、LaTeX抑制の指示文にも同じ原則が当てはまります。

原則数式での当てはめ方
禁止ではなく望む形を伝える数式での当てはめ方「LaTeXを使わない」だけでなく「標準的なテキスト文字で書く」まで併記する
XMLタグで出力範囲を区切る数式での当てはめ方<plain_text_math>のような独自タグで対象範囲を挟み、タグの中では/*^だけを使うと指示する
プロンプト自体を出力の見本に近づける数式での当てはめ方プロンプト文中で自分がLaTeXを使わずに数式を書く
書式にこだわる場面ほど詳細にルールを書く数式での当てはめ方除算・乗算・べき乗の記号まで具体的に指定する

数式を含む長い説明の一部だけをプレーンテキスト化したい場合は、XMLタグの方法が特に効きます。全体を一括で縛るより、対象範囲だけをタグで挟んだほうが他の書式まで崩しにくくなります。

これらの原則を組み合わせる際、Claude Fable 5.1では注意が必要です。Fable 5.1は既定で装飾が少ないため、Markdown抑制ブロックを重ねると必要な構造まで消えることがあります。LaTeX抑制の指示文自体は数式の記法だけを対象にしているため直接の問題にはなりませんが、他の書式抑制の指示と一緒に積み重ねるときは、モデルごとの既定の書式傾向も踏まえて調整してください。

指示が効かないときの見直し方

指示文を入れてもLaTeXが混じる場合は、望む出力の書式にできるだけ近づけてプロンプト自体を書き直すと改善します。プロンプト文中に$\frac{}{}のようなLaTeX記法が残っていると、指示の意図と矛盾したサンプルを与えてしまい、応答が指示文よりもプロンプト中の記法に引き寄せられることがあります。プロンプト全体をプレーンテキストの数式表記だけで統一してから再試行すると、指示の一貫性が上がります。

プロンプトによる制御は、出力の傾向を変えるための指示であって、すべてのケースで機械的に保証される仕組みではありません。重要な用途では、実際の出力を見て$\(...\)が混じっていないか確認してください。長い会話では、指示文をユーザーメッセージよりシステムプロンプト側に置くほうが安定します。Claude.aiのチャットで会話単位の指示が途中から効かなくなったと感じたときは、指示文自体をアカウント全体の個人設定に移し、会話内の指示と重複させないようにすると原因の切り分けがしやすくなります。

Claude Desktopの表示バグとは別の問題

この指示文が対象にしているのは、Claudeが生成する数式の記法そのものです。一方でClaude Desktopの一部の面には、Claudeが出力した$...$形式のインライン数式が正しくレンダリングされないという別の既知issueがあり、こちらは生成物ではなく表示側の不具合です。詳しくはClaude Desktopでインライン数式(LaTeX)が表示されない原因と対処法で扱っています。

数式そのものをプレーンテキスト化してしまえば、そもそもレンダリング対象のLaTeX記法が出力されなくなります。結果として、この表示バグの影響も受けなくなります。ただし数式を組版された見た目のまま読みたい場合には向かず、その場合は表示バグ側の回避策(区切り記号を\(...\)に切り替える指示)を使うほうが適切です。どちらの対処法もCLAUDE.mdやシステムプロンプトに書き込む点は共通していますが、目的が「表示を直す」か「そもそもLaTeXを出さない」かで指示文の内容が変わります。

まとめ

Claudeの現行モデルは数式を既定でLaTeX形式で返しますが、指示文をプロンプトに加えれば/*^を使った標準的なテキスト表記に固定できます。書く場所はAPIならsystemパラメーター、Claude CodeならCLAUDE.mdやシステムプロンプト、Claude.aiのチャットなら会話・プロジェクトの指示、あるいはアカウント全体に効く個人設定「Instructions for Claude」に書き込む形になります。指示が効きにくいときはプロンプト自体からLaTeX記法を排除して書き方を揃えると改善します。表記をプレーンテキストに変えても計算結果の正しさまでは保証されないため、重要な計算は専用の数学ソフトウェアや手作業で検算してください(詳しくはClaude数式・計算の精度と検算が必要な理由)。Claude Desktopの数式表示バグは、この指示文とは別の論点です(参照: Claude Desktopでインライン数式(LaTeX)が表示されない原因と対処法)。

この記事を共有:XはてブLinkedIn