Échappeur LaTeX
Dans 10%_off, LaTeX lirait le signe pour cent comme un commentaire et le tiret bas comme un indice ; échappé en 10\%\_off, tout s'imprime tel quel. Idem pour l'esperluette, le dollar, les accolades et la barre oblique inverse, et l'opération s'inverse. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- Cost is $5 & 10%_off
- Mode de calcul
- Escape
- Résultat
- Cost is \$5 \& 10\%\_off
- Longueur
- 24
- Caractères spéciaux
- 4
Coller du texte libre dans un document LaTeX est un piège classique : l'esperluette termine une cellule de tableau, le pourcent démarre un commentaire qui avale le reste de la ligne, le dollar ouvre le mode mathématique, le souligné commence un indice, le dièse heurte les paramètres de macros, les accolades changent le groupement, le tilde devient une espace insécable, l'accent circonflexe ouvre un exposant et une barre oblique inverse seule commence une séquence de contrôle. Cet échappeur LaTeX transforme le texte brut en un fragment sûr que vous pouvez déposer dans des paragraphes, légendes, étiquettes et champs bibliographiques, et il inverse la même carte lorsque vous devez récupérer les caractères d'origine. Le mode escape réécrit chaque spécial TeX avec des séquences portables en mode texte telles que \&, \%, \$, \_, \#, \{, \}, \textbackslash{}, \textasciitilde{} et \textasciicircum{}.
Comment les échappements de caractères spéciaux LaTeX fonctionnent en pratique
LaTeX traite un petit ensemble de caractères ASCII comme de la syntaxe plutôt que comme des glyphes imprimables. La barre oblique inverse introduit des séquences de contrôle, de sorte qu'un chemin comme C:\Users ne doit pas apparaître brut en mode texte.
L'esperluette est le séparateur de colonnes dans les environnements tabular et align ; le pourcent démarre un commentaire qui masque tout jusqu'à la fin de la ligne ; le dollar bascule les mathématiques en ligne ; le souligné et le circonflexe marquent indices et exposants ; le dièse désigne les paramètres de macros ; les accolades délimitent les groupes ; et le tilde est un caractère actif pour les espaces insécables.
Lorsque votre chaîne injecte des titres d'utilisateurs, codes produits, noms de fichiers, URL ou cellules CSV dans un modèle .tex, n'importe lequel de ces spéciaux changera le sens du document ou interrompra la compilation. Cette capacité parcourt l'entrée caractère par caractère.
En mode escape elle remplace chaque spécial par une séquence standard en mode texte : les spéciaux simples deviennent une barre plus le caractère (\&, \%, \$, \#, \_, \{, \}), tandis que barre, tilde et circonflexe utilisent des formes nommées avec accolades vides pour que la lettre suivante ne soit jamais absorbée dans un mot de contrôle.
En mode unescape elle fait correspondre d'abord la plus longue séquence connue, restaure le caractère brut et rejette les barres finales, les fragments tronqués de \textbackslash{, les formes courtes incomplètes de \~ ou \^ et tout autre échappement non reconnu, afin que les appelants ne reçoivent jamais de corruption silencieuse.
Ce que vous envoyez et ce que vous recevez
Envoyez un champ chaîne obligatoire nommé text et un champ optionnel mode. Lorsque mode est omis, escape est la valeur par défaut et une seule charge utile reste utile. Le mode escape convertit le texte brut en texte sûr pour LaTeX stocké dans result.
Le mode unescape inverse les séquences connues de caractères spéciaux dans text et renvoie la chaîne brute récupérée dans result. La réponse répète toujours mode et le text d'origine, et ajoute result, length du résultat et specials — le nombre de spéciaux réécrits dans les deux sens — afin que les interfaces montrent le travail effectué. Les échecs de validation ne consomment pas le solde prépayé.
Les contrôles classiques incluent l'échappement d'une ligne de prix contenant dollars, esperluettes et pourcents ; le déséchappement d'un fragment qui utilise \_ et \textbackslash{} ; l'aller-retour d'accolades et de dièses d'un SKU produit ; et le rejet d'une chaîne qui se termine par une barre seule. Branchez le formulaire gratuit du navigateur pour des contrôles rapides et des démonstrations en classe, puis le même contrat depuis des scripts lorsque vous générez rapports, factures ou lots d'articles.
Où un échappeur LaTeX prouve sa valeur
Les générateurs de documents qui fusionnent des champs CRM, des réponses d'enquête ou des cellules de tableur dans des modèles LaTeX doivent échapper chaque valeur de texte libre avant l'écriture, ou une seule esperluette dans un nom d'entreprise cassera le tabular et un pourcent dans une étiquette de remise commentera le reste de la ligne. Les pipelines académiques et éditoriaux qui construisent pages de titre, résumés et listes d'auteurs à partir de formulaires web ont besoin d'un chemin d'échappement fiable pour que les échantillons fournis restent du TeX valide.
Les équipes support et localisation collent des fragments de journaux ou des sujets de tickets qui contiennent déjà des échappements par barre et ont besoin d'un déséchappement qui échoue bruyamment sur les séquences tronquées au lieu d'inventer des caractères. Les auteurs de cursus qui enseignent les spéciaux TeX veulent une page dédiée à l'échappement de caractères plutôt que d'enfouir le sujet sous un outil générique Base64 ou d'entités HTML, car l'intention de recherche et l'ensemble d'échappements autorisé diffèrent.
Si vous avez besoin d'entités HTML, d'encodage pourcent d'URL, de littéraux de chaînes JavaScript ou d'une compilation complète de documents, traitez-les comme des intentions de recherche et des pages d'atterrissage distinctes plutôt que de surcharger cette page d'échappement LaTeX.
Cas d’usage
Texte libre sûr dans des fichiers .tex générés
Échappez titres, légendes, cellules de tableau et champs bibliographiques avant de les écrire dans des modèles LaTeX pour que &, %, $, _ et \ ne cassent jamais la compilation.
Aller-retour de codes produits et SKU
Échappez et déséchappez des SKU et chaînes de type chemin qui mélangent soulignés, dièses, dollars et barres pour factures et rapports techniques.
Questions fréquentes
Quels caractères sont échappés ?
Barre oblique inverse, esperluette, pourcent, dollar, souligné, dièse, accolades gauche et droite, tilde et circonflexe. Ce sont les spéciaux TeX standard qui changent le sens du document en mode texte.
Puis-je à la fois échapper et déséchapper ?
Oui. Définissez mode sur escape (par défaut) pour encoder le texte brut, ou mode sur unescape pour récupérer le texte depuis des séquences de caractères spéciaux LaTeX.
Pourquoi la barre s'écrit-elle \textbackslash{} et non \\ ?
En LaTeX, \\ est une commande de saut de ligne, pas une barre imprimable. La forme nommée \textbackslash{} est la voie portable en mode texte pour afficher le caractère barre oblique inverse.
Que se passe-t-il si une séquence d'échappement est mal formée ?
Rien n'est facturé pour les échecs de validation.
Combien cela coûte-t-il ?
L'outil du navigateur est gratuit et s'exécute en local.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
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)Exemple de requête
{
"text": "Cost is $5 & 10%_off"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.latex_escape",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Le mode unescape comprend ces formes plus les variantes courtes \~{} et \^{}, et échoue immédiatement avec invalid_input sur les barres finales, les séquences nommées incomplètes ou les échappements non reconnus plutôt que d'inventer des déchets à demi décodés.
Comment les échappements de caractères spéciaux LaTeX fonctionnent en pratique
Le chemin est un pur travail de chaînes sans réseau, sans graines aléatoires et sans horloge murale, de sorte que des entrées identiques produisent toujours le même JSON. Le tarif des appels API réussis est la base publiée de $0.002 par élément, et les échecs de validation ne consomment pas le solde prépayé.
Ce que vous envoyez et ce que vous recevez
Un text manquant, des objets non chaîne non coercibles, des valeurs de mode non prises en charge, des chaînes plus longues que le maximum documenté, des barres finales, des formes nommées incomplètes telles qu'un \textbackslash{ coupé, des formes courtes incomplètes de tilde ou circonflexe et des séquences d'échappement non reconnues échouent avec invalid_input et un message clair en anglais qui indique la position lorsque c'est possible. Le tarif API en cas de succès est la base publiée de $0.002 par élément.
Où un échappeur LaTeX prouve sa valeur
Comme cette capacité est un moteur parse pur, le tarif API est la base publiée de $0.002 par élément réussi et une validation échouée ne consomme pas le solde.
Cas d'intégration
Retrouver le texte brut depuis des fragments échappés
Déséchappez les séquences de caractères spéciaux LaTeX depuis modèles, journaux et fixtures golden vers un texte lisible, avec des échecs stricts sur les échappements incomplets.