LaTeXエスケープ
10%_offのままでは、LaTeXは%をコメントの始まり、_を下付き文字の合図として読みます。10\%\_offとエスケープすれば、どちらも書いたとおりに印字されます。元に戻すこともでき、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- Cost is $5 & 10%_off
- 計算モード
- Escape
- 結果
- Cost is \$5 \& 10\%\_off
- 長さ
- 24
- 特殊文字
- 4
自由な文字列をLaTeX文書に貼り付けると、よくある落とし穴にぶつかります。アンパサンドは表セルを終え、パーセントは行末までをコメントにし、ドルは数式モードを開き、アンダースコアは下付きを始め、ハッシュはマクロ引数と衝突し、波括弧はグループを変え、チルダは改行しない空白になり、キャレットは上付きを始め、単独のバックスラッシュは制御列を開始します。このLaTeXエスケーパーは平文を段落・キャプション・ラベル・文献欄に安全に差し込める断片へ変換し、元の文字が必要なときは同じ対応を逆方向に戻します。escapeモードは\&、\%、\$、\_、\#、\{、\}、\textbackslash{}、\textasciitilde{}、\textasciicircum{}など移植性の高いテキストモード列で各TeX特殊文字を書き換えます。
LaTeX特殊文字エスケープの実際の動き
LaTeXはASCIIの一部を印字グリフではなく構文として扱います。バックスラッシュは制御列を始めるため、C:\Usersのようなパスをテキストモードにそのまま書いてはいけません。
アンパサンドはtabularやalignの列区切り、パーセントは行末までのコメント、ドルはインライン数式の切替、アンダースコアとキャレットは下付きと上付き、ハッシュはマクロ引数、波括弧はグループ境界、チルダは改行しない空白の活性文字です。
パイプラインがユーザーの題名・製品コード・ファイル名・URL・CSVセルを.texテンプレートへ注入するとき、これらのどれか一つでも文書の意味を変えたりコンパイルを止めたりします。本機能は入力を1文字ずつ走査します。escapeモードでは各特殊文字を標準のテキストモード列へ置換します。
単純な特殊文字はバックスラッシュ+文字(\&、\%、\$、\#、\_、\{、\})となり、バックスラッシュ・チルダ・キャレットは空の波括弧付きの名前付き形式を使い、続く文字が制御語に飲み込まれないようにします。
unescapeモードでは既知の最長列を先に照合して平文へ戻し、末尾のバックスラッシュ、切れた\textbackslash{断片、不完全な\~や\^、その他の未認識エスケープを拒否し、呼び出し側が静かに壊れた文字列を受け取らないようにします。
送信内容と返却内容
escapeモードは平文をLaTeX安全な文字列へ変換しresultに格納します。unescapeモードはtext内の既知の特殊文字列を逆変換し、復元した平文をresultに返します。応答は常にmodeと元のtextをエコーし、result、結果のlength、双方向で書き換えた特殊文字数specialsを追加するため、UIは作業量を示せます。
検証失敗は前払い残高を消費しません。典型的な確認は、ドル・アンパサンド・パーセントを含む価格行のエスケープ、\_と\textbackslash{}を使う断片の解除、製品SKUの括弧とハッシュの往復、裸のバックスラッシュで終わる文字列の拒否です。
無料のブラウザフォームで素早い確認や授業デモを行い、レポート・請求書・論文バッチ生成時はスクリプトから同一契約を呼び出してください。
LaTeXエスケーパーが効く場面
CRM項目・アンケート回答・表計算セルをLaTeXテンプレートへマージする文書生成器は、書き出し前にすべての自由テキストをエスケープしなければなりません。さもなければ会社名のアンパサンド1つでtabularが壊れ、割引ラベルのパーセントが行の残りをコメントアウトします。
Webフォームから扉・要旨・著者一覧を組み立てる学術・出版パイプラインは、ユーザー提出の見本が有効なTeXのまま残る信頼できるエスケープ経路を必要とします。サポートとローカライズの担当は既にバックスラッシュ・エスケープを含むログ断片やチケット件名を貼り付け、切れた列では文字を捏造せず大きく失敗する解除経路を求めます。
TeX特殊文字を教える教材作者は、検索意図と許可されるエスケープ集合が異なるため、汎用のBase64やHTML実体ツールに埋もれず、文字エスケープ専用の1ページを望みます。
HTML実体、URLパーセント符号化、JavaScript文字列リテラル、文書全体のコンパイルが必要な場合は、このLaTeXエスケープページに載せすぎず、別の検索意図とランディングとして扱ってください。
活用例
生成した.tex内の安全な自由テキスト
タイトル・キャプション・表セル・文献欄をLaTeXテンプレートへ書き込む前にエスケープし、&、%、$、_、\がコンパイルを壊さないようにします。
製品コードとSKUの往復変換
アンダースコア・ハッシュ・ドル・バックスラッシュが混在するSKUやパス風文字列を、請求書や技術報告向けにエスケープと解除します。
よくある質問
どの文字がエスケープされますか?
バックスラッシュ、アンパサンド、パーセント、ドル、アンダースコア、ハッシュ、左右の波括弧、チルダ、キャレットです。テキストモードで文書の意味を変える標準のTeX特殊文字です。
エスケープと解除の両方はできますか?
はい。 modeをescape(既定)にすると平文を符号化し、modeをunescapeにするとLaTeX特殊文字列からテキストを復元します。
バックスラッシュが\\ではなく\textbackslash{}なのはなぜですか?
LaTeXでは\\は改行コマンドであり、印字可能なバックスラッシュではありません。名前付き形式\textbackslash{}がテキストモードでバックスラッシュ文字を示す移植性の高い書き方です。
%のあとの文字が消えてしまうのはなぜですか?
LaTeXは%をコメントの始まりとして扱い、その行の終わりまでを表示しないためです。\%とエスケープすれば普通の%記号として印字され、行の残りも表示されます。
C:\Usersのようなパスはそのまま書けますか?
いいえ。バックスラッシュは命令の始まりとして読まれるため、本文にそのまま置くことはできません。エスケープするとバックスラッシュが\textbackslash{}に置き換わり、パスが書いたとおりに印字されます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/latex-escape \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Cost is $5 & 10%_off"}'const res = await fetch("https://api.kit.forhosting.com/enc/latex-escape", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Cost is $5 & 10%_off"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/latex-escape",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Cost is $5 & 10%_off"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/latex-escape", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Cost is $5 & 10%_off"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Cost is $5 & 10%_off"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/latex-escape", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "Cost is $5 & 10%_off"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.latex_escape",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
unescapeモードはそれらに加え短い\~{}と\^{}も理解し、末尾のバックスラッシュ・不完全な名前付き列・未認識のエスケープでは半端な復号ゴミを作らずinvalid_inputで即座に失敗します。
LaTeX特殊文字エスケープの実際の動き
処理はネットワーク・乱数シード・壁時計を使わない純粋な文字列演算なので、同一入力は常に同一のJSONを返します。成功したAPI呼び出しの料金は公開ベースの$0.002/件であり、検証失敗は前払い残高を消費しません。
送信内容と返却内容
必須の文字列フィールドtextと任意のmodeを送ってください。modeを省略すると既定はescapeとなり、1回のpayloadでも有用な結果が得られます。text欠落、強制できない非文字列オブジェクト、未対応のmode、上限超の文字列、末尾バックスラッシュ、途中で切れた\textbackslash{のような不完全な名前付き形式、不完全なチルダ/キャレット短形式、未認識のエスケープ列はinvalid_inputと、可能な限り位置を示す明確な英語メッセージで失敗します。成功時のAPI料金は公開ベースの$0.002/件です。
LaTeXエスケーパーが効く場面
本機能は純粋なparseエンジンなので、API料金は成功1件あたり公開ベースの$0.002であり、検証失敗は残高を消費しません。
連携の活用例
エスケープ済み断片から平文を復元
テンプレート・ログ・golden fixtureのLaTeX特殊文字列を読みやすい平文へ解除し、不完全なエスケープでは厳しく失敗します。
技術的な質問
エスケープ列が壊れているとどうなりますか?
unescapeはinvalid_inputで失敗し、位置と問題(末尾バックスラッシュや不完全な\textbackslash{など)を示します。検証失敗では課金されません。
料金はいくらですか?
ブラウザツールは無料でローカル実行です。API要求は成功1件あたり$0.002のKIT前払い残高を使い、無効な入力は課金されません。